主页 > imtoken国内版下载 > 长篇大论:IPFS 与区块链的关系

长篇大论:IPFS 与区块链的关系

imtoken国内版下载 2023-10-27 05:13:18

前言

既然提到IPFS,就必须提到区块链,那么区块链和IPFS是什么关系呢?在介绍两者的关系之前,我们需要先了解一下区块链。

区块链基础

那么什么是区块链?早期,区块链仅被认为是比特币的底层技术之一,一种不可篡改的链式数据结构。经过几年的发展,区块链已经被越来越多的人所熟悉,也从简单的数据结构转变为分布式账本一系列技术的总称。它集成了加密、共识机制和点对点网络等技术。近年来,区块链的非账本应用逐渐兴起,人们开始将区块链描述为一个分布式数据库区块链最早是谁提出来的,认为它是一个价值传递网络,并逐渐被赋予了更多的内涵。

从技术上讲,区块链是一个分布式数据库,旨在维护数据库在互不信任且不可篡改的节点之间的一致性。信用和记录存储在区块链上,每个新区块都包含前一个区块的数字指纹、该区块的信用和记录以及新区块的时间戳。如此一来,区块链将不断壮大,不易被篡改。一旦区块链上任何一个区块的信息被修改,后续区块的数字指纹都将失效。

链式数据结构使得区块链的历史难以篡改,需要共识机制来保持互不信任的节点之间的数据一致性。共识机制是网络预先设定的规则,用来判断每条记录和每一个区块的真实性。只有那些被判断为真的区块才会被记录在区块链中。反而无法通过共识机制。新区块将被网络丢弃,区块中记录的信息将不再被网络识别。目前常见的共识机制有PoW(Proof of Work)、PoS(Proof of Stake)、PBFT(Practical Byzantine Fault Tolerance)等。

区块链最早是谁提出来的

比特币、以太坊、比特币现金和大多数加密货币都使用 PoW 工作量证明。维护比特币账本的节点称为矿工。矿工每记录一个新区块,都会获得一定数量的比特币作为奖励。因此,矿工们会为自己的利益争取尽可能多的新区块记账权,获得全网的认可。工作证明要求新的块哈希必须有一定数量的前导零。矿工不断用新的随机数对交易信息进行哈希运算,计算出区块的哈希值。一旦哈希值具有所需数量的前导零,则该块有效,矿工将其广播到整个网络以供确认。当其他矿工收到这个新区块时,他们会检查这个区块的有效性。如果合法,新区块会写入矿工自己的账本中。

PoS 权益证明不需要证明者执行一定数量的计算工作,而是要求证明者提供一定数量的加密货币的所有权。权益证明机制的工作方式是,当一个新区块被创建时,矿工需要创建一个“币权”交易,该交易将一些币以预先设定的比例发送给矿工。权益证明机制根据每个节点拥有代币的比例和时间,根据算法,按比例降低节点的挖矿难度。这种共识机制可以加速共识,并且由于矿工不再继续争夺算力,网络能耗会大大降低,但也有专家指出,PoS 权益证明牺牲了部分网络的去中心化程度。

目前,PoW和PoS是加密数字货币的主流算法,其他几种常见的共识机制是DPoS和PBFT。

区块链的发展

1976 年是区块链加密基础奠定的一年。这一年,Whitfield Diffie 和 Martin Hellman 首次提出了 Diffie-Hellman 算法,并证明了在使用非对称加密时是可行的。与对称算法不同,非对称算法有两个密钥——一个公钥和一个私钥。公钥和私钥是一对。如果数据用公钥加密,则只能用对应的私钥解密。

区块链最早是谁提出来的

如果数据使用私钥加密,则只能使用相应的公钥解密。这是后期比特币加密算法的核心之一。当我们使用比特币钱包生成私钥和地址时,我们使用椭圆曲线加密算法生成一对公钥和私钥。有了私钥,我们可以对转账进行签名,而公钥可以验证交易是由比特币钱包的所有者签名的,并且是合法的。通过散列公钥,我们可以计算出我们的钱包地址。

1980 年,Martin Hellman 的学生 Merkle Ralf 提出了 Merkle Tree 数据结构和生成算法。默克尔树率先建立了数字签名证书的公共目录,可以保证在点对点网络中传输的数据块是完整的,没有被篡改过。正如我们前面提到的,在比特币网络中,每个区块都包含交易信息的哈希值。这个哈希值并不是直接将交易顺序串联起来再计算它们的哈希值,而是通过默克尔树生成的。 Merkle 树如图所示。 Merkle 树生成算法会对每笔交易进行一次哈希处理,然后将计算出的哈希值两次哈希处理,直到计算出 Merkle 根。而这个默克尔根包含了所有的交易信息。这样可以大大节省钱包占用的空间。比如在轻钱包中,我们只需要下载我们钱包对应的交易信息即可。当需要验证时,我们只需要找到从交易信息的叶子节点到根节点的哈希路径,不需要下载区块。链的所有数据。在 IPFS 项目中,也借鉴了 Merkle 树的思想。数据存储在有向无环图中的块中。如果数据被修改,只需要修改对应​​的默克尔有向无环图中的节点数据,无需将整个文件重新更新到网络上。值得一提的是,在默克尔提出默克尔树的时候,分布式技术还没有形成,更不用说数字货币了,他当时就能够检测到并提出这样的方法,真是了不起。

真正尝试将加密技术用于数字货币要晚得多。数字货币起源于 1990 年的 Cyber​​Punk 运动,由一群热爱互联网的极客推动。大多数赛博朋克都是密码学专家,向往个人隐私,希望建立一个独立于真实状态和等级制度的空间。最典型的代表之一是 David Chaum,他首先提出了盲签名技术并将其应用到 Digit Cash 项目(也称为 Ecash)中。盲签名是一种保护隐私的签名方法,其中签名者对他们签名的消息是不可见的。例如,用户需要签署转账信息,而该信息需要银行签名。为了保护隐私,如果用户不想让银行看到他的具体转账对象,可以使用盲签名。在他的论文中,大卫提出了实现一种带有盲签名的匿名货币的想法。具体方式是用户将现金以数字格式存储在本地电脑的Ecash程序中,然后发送到银行进行盲签。这个系统和当时的银行系统非常接近,几乎成功了。但是Digit Cash总是需要集中的银行服务器支持。后续没有银行愿意支持他的项目,项目失败了。数字朋克运动中诞生的系统和关键人物如表M所示。

区块链最早是谁提出来的

在数字现金失败后的几年里,数字现金的想法几乎被放弃了。只有少数数字朋克继续学习。一个名为 Hashcash 的想法是 1997 年由当时也是赛博朋克的博士后研究员 Adam Back 独立发明的。 Hashcash 的想法很简单:它没有后门,也没有中央第三方,它只是使用哈希函数而不是数字签名。 Hashcash 基于一个简单的原则:哈希函数在某些实际用途中表现为随机函数,这意味着找到哈希到特定输出的输入的唯一方法是尝试各种输入,直到产生所需的输出。而且,为了找到这样一个合格的输入,唯一的方法是尝试再次对不同的输入进行哈希处理。因此,如果您要尝试查找哈希的前 10 位为 0 的输入,则必须尝试大量输入。这是工作量证明的早期来源,也是矿工每天重复做的事情。他甚至对技术设计进行了一些更改,使其看起来更像一种货币。但显然,他的方案无法检验节点是否作弊,也不能作为真正的数字现金。

还有两位杰出的数字朋克,Hal Finney 和 Nick Szabo,他们重新考虑了他们的技术整合。 Nick Szabo 不仅是计算机科学家,而且精通法律。受到 David Chaum 的启发,Szabo 提出了使用加密协议和安全机制的数字合约的想法。数字合约可以使用程序在网络上验证和执行合约,而不需要依赖第三方的协助,这比传统合约更安全,减少了繁琐的通信成本。这对加密数字货币的后续设计产生了很大的影响。比特币网络可以提供非图灵完备的脚本语言来实现一些智能合约功能;以太坊进一步在EVM上运行Solidity语言,提供图灵完备的智能合约环境,也为后续的分布式应用开发奠定了基础。 .

尼克的贡献不仅仅是发明了智能合约。 2008年,他发起了Bit Gold项目。在项目计划中,Nick 描述的 Bit Gold 架构与现在的比特币完全一样。它也是一种工作量证明机制和链式网络结构。同一个新区块包含旧区块的数字指纹,包括时间戳等诸多特征。然而,最终比特金项目并没有顺利完成。目前,比特黄金唯一能搜索到的来源是比特币论坛的帖子,后续可验证的信息很少。一些比特币爱好者曾经认为萨博就是中本聪本人,不仅是因为比特黄金和比特币的相似之处,而且在词汇和语法方面,中本聪的比特币论文和比特黄金论文也有相似之处。而在尼克家不远处,有一位名叫中本聪的日本人。所有人都猜到这是尼克为了隐藏自己的身份而故意隐瞒自己的身份。尼克本人否认这一点,并认为这是一个搞笑的八卦。当然,这也成为了数字货币最大的谜团。中本聪是谁?

之后,在 2009 年,中本聪发表了比特币论文。他提议使用一整套加密协议,而不仅仅是加密货币。比特币使用计算机程序控制货币的发行,总共发行了 2100 万枚。比特币的账本记录在数千台电脑上,黑客无法入侵。每个账户都是一个加密地址,你不知道谁在花钱,但每一个流通中的比特币都被记录下来,你知道它来自哪里,去往哪里。比特币是第一个实现上述所有想法的项目,融合了30多年的技术积累。

比特币在设计时,考虑到网络的稳定性和抵御恶意攻击,使用了非图灵完备的脚本语言(主要不能使用循环语句)。 2013 年,Vitalik Buterin 认为比特币需要一种图灵完备的脚本语言来支持多样化的应用程序开发。这个想法没有得到比特币社区的支持,因此 Buterin 考虑开发一个具有更通用脚本语言的新平台,即后来的以太坊。

区块链最早是谁提出来的

以太坊在总体思路上类似于比特币,在账户状态、UTXO、地址形式上做了一些优化。它最大的亮点是开发了 Solidity 智能合约编程语言和以太坊虚拟机(EVM),即以太坊智能合约的运行时环境,以运行与预期相同的代码。由于 EVM 和 Solidity,区块链的平台应用(DAPP)正在迅速兴起。以太坊平台提出了许多新用途,包括那些不可能或不可行的用途,例如金融、物联网服务、供应链服务、电力采购和定价以及游戏。如今,基于DAPP的各种应用仍在快速发展,新的市场和需求正在被进一步发掘。未来区块链会如何发展,我们拭目以待。

IPFS 给区块链带来了哪些变化

区块链的诞生是为了实现去中心化,在没有中央机构的情况下达成共识,并将其共同维护为一个账本。它不是为高效率、低功耗或可扩展性而设计的(如果追求效率、低功耗和可扩展性区块链最早是谁提出来的,集中式程序可能是更好的选择)。 IPFS 和区块链协同工作,弥补了区块链的两大缺陷:

1、区块链存储效率低,成本高。

2、跨链需要各个链之间协调,很难协调。

区块链最早是谁提出来的

对于第一个问题,区块链网络要求所有矿工维护同一份账本,每个矿工都需要在本地保存一份账本备份。那么,为了保证存储在区块链中的信息不被篡改,还需要在每个矿工手中保留一份备份,这是非常不经济的。想象一下,现在全网有 10,000 名矿工。即使我们想在网络上保存 1MB 的信息,整个网络消耗的存储资源也将是 10GB。目前,也有一些妥协来缓解这个问题。

在构建去中心化应用DAPP时,广泛采用的方法是只将哈希值存储在区块链中,将需要存储的信息存储在中心化数据库中。这样一来,存储就成为了去中心化应用中的一个短板和网络中一个易受攻击的环节。 IPFS 提出了另一种解决方案:可以使用 IPFS 存储文件数据,并将唯一永久可用的 IPFS 地址放入区块链交易中,而无需将数据本身放在区块链上。对于第二个问题,IPFS 可以协助各种区块链网络传输信息和文件。比特币和以太坊的区块结构不同,通过IPLD可以定义不同的分布式数据结构。此功能仍在开发中。目前的IPLD组件已经通过IPFS实现了以太坊智能合约代码的存储,只需要在以太坊交易中存储这个链接即可。

Filecoin:基于 IPFS 技术的区块链项目

Filecoin 是 IPFS 的激励层。为了让 IPFS 网络稳定运行,用户需要贡献自己的存储空间和网络带宽。如果没有合适的奖励机制,巨大的资源开销将难以维持网络的长期运行。受比特币网络的启发,使用 Filecoin 作为 IPFS 的激励层是一种解决方案。

对于用户来说,Filecoin可以提高访问速度和效率,可以带来去中心化等应用;对于矿工来说,贡献网络资源可以获得不错的收益;对于业务合作伙伴,例如数据中心,也可以贡献其闲置的计算资源以获得一定的奖励。 Filecoin 将用于支付网络中的存储、检索和交易。与比特币类似,其代币总量为2亿枚,其中70%将通过网络挖矿奖励贡献给矿工,15%由开发团队持有,10%给投资者,其余5%将是 Filecoin 基金将持有的。投资者和矿工获得的代币按照区块发行,而基金会和开发团队的代币按照6年的时间周期线性发行。可见Filecoin和比特币的挖矿机制是完全不同的。

为了避免攻击,比特币使用 PoW 工作量证明机制,要求矿工挖出下一个满足哈希值多个前导 0 的新区块。这个过程需要大量的散列。 Filecom 使用的复制证明 (RoRep)。复制证明是形成矿工算力证明的主要方法。证明矿工实际将数据存储在自己的物理存储设备上,可以防止恶意矿工的各种攻击。网络中的验证节点会随机检查矿工是否作弊。如果矿工无法提供正确的复制证明,则会被扣除一定数量的 FIlecoin 作为惩罚。与PoW机制带来的算力竞争相比,poRep更加环保。

结束

精彩的评论: