作者:DMacOnArweave,来源: PermaDAO
本文将谈论 Arweave 的机制如何运作。我们将讨论如何扩展 Arweave 以及比特币到 Arweave 的链上历史扩展。为此,我们将深入探讨在区块链上存储人类历史的过程,解锁链上数据,并探索我们接下来的发展方向。
区块链上存储人类历史的过去
人类的历史始终是区块链的一部分。想要了解这一点,我们必须要回溯到首个去中心化的区块链的第一个区块,那就是比特币的创世区块。比特币的创世区块中有一个交易,被称为币基交易(coinbase transaction)。这个特殊的交易在协议中奖励了区块的生产者区块奖励。在这种情况下,它奖励了中本聪(Satoshi Nakamoto)50 个比特币。币基交易的另一个特殊属性是它允许区块的生产者向区块链写入 100 字节或 100 个字符的信息。在这种情况下,中本聪利用这次机会写下了以下引文:“2009 年 1 月 3 日泰晤士报,财政大臣即将为银行实施第二轮救助。” 通过这样的方式,他将人类的历史镌刻到了首个区块链的第一个区块中。
比特币于 2009 年 1 月启动,并随后进行了许多更新和改进。甚至在这段时间里,中本聪本人也从该协议中退了出来,这些更新和改进一直持续到了大约 2015 年为止。在此期间,比特币社区内部开始产生一场争论。社区内一半的人想要增加区块大小,以便在比特币中进行更多的交易,而另一半人则想保持它的小型性,以保持网络的去中心化特性。这场争论导致有关比特币的所有开发工作处于停滞状态,这种状态维持了大约两年,这段期间被称为区块大小之战。这场战争以大区块的支持者分离出去并创建了一个名为比特币现金的新链作为结束,而比特币的现有主线则继续进行了一个名为隔离见证(SegWit)的软分叉。
那么,SegWit 到底做了什么呢?如您在下图的左边可以看到,在 SegWit 出现之前,比特币的区块有它们的币基交易,然后是一系列从一个地址移动到另一个地址的交易,以及它们的签名。
在 SegWit 出现之后,他们竟然通过一个软分叉做到了这一点,这意味着它与现有的挖矿软件向后兼容(那里有某种魔法)。SegWit 将所有的交易移动到了区块的顶部,并增加了整体的区块大小,同时仍将交易部分限制在 1 兆字节,保留了协议的原始意图。它做的是将签名数据和元数据移动到了见证数据中,增加了比特币可以存储的非纯交易数据的信息量。这最终导致了一些非常有趣的事情,比如在比特币区块链的见证数据中添加了压缩很小的图像。
回溯到 2017 年,一个名叫 Sam Williams 的博士生正在阅读一些非常让人感到压抑的书籍,如《古拉格群岛》和《1984》。他看的得非常投入,并决定创建一个区块链来永久保存世界的知识。他阅读这些书是关于如何由于权威主义政权通过操纵历史来操纵他们的社会。所以,Sam 在 2017 年的某个时候组建了一个团队,一年后,Arweave 主网发布了。如果你以为我说 Sam Williams 看这些这些令人压抑的书是开玩笑的,但实际上,Arweave 在 2018 年 6 月发布的时间正好是乔治·奥威尔的《1984》出版的第 39 周年纪念日。
当 Arweave 发布时,它有着令人印象深刻的统计数据性能。每个区块有 1000 笔交易,且每个区块用时为 2 分钟。每笔交易大小可达 5.8 兆字节。这意味着单一的 Arweave 交易可以存储整个比特币区块 —— 包括见证数据和交易数据。Arweave 在接下来的几年里就像比特币一样都在进行更新和改进,此次更新和改进一直持续到 2020 年 3 月。
在那个时候,Arweave 解锁了很大的交易额。最大的交易额大小变成了 2 的 256 次方减 1,这是一个理论上的限制,仅受已知宇宙中的原子数量的限制。从协议的角度来看,此次改进是一个重要的扩展。然而,由于矿工提供给网络的数据量和可用带宽存在实际限制,现有的带宽确实限制了规模。但从协议的角度来看,它可以扩展以容纳非常大的交易。
那么,他们是如何实现这一点的呢?好吧,没有动画演示的话,这里可能解释起来有点复杂。为了理解 Arweave 是如何做到的,我们需要查看两种不同的安全机制。其中之一是共识,网络中的所有参与者在协议中都需要就协议的当前状态达成一致。另一个机制是挖矿,传统上是由个人矿工进行的,在比特币中有名的工作是工作证明,这只是为了能够参与网络。
所以我们可以在这里看到,对于比特币而言,共识机制就是最长链,这是网络中的参与者如何就比特币区块的当前状态和见证数据达成协议的方式。并且众所周知,挖矿机制是工作证明,所以他们计算很多 SHA-256 哈希值。因此,这是最长链的一个例子。由于挖矿中的随机性,两个区块偶尔可以同时生成,在这个时候,网络中的参与者需要决定使用哪一个区块。他们做决策的方式是等待其中一个链变得比另一个更长,然后使用那个更长的链作为网络的官方状态。
非常有趣的是,我们这里有我们的比特币区块;它们有它们小小的币基交易。您可以看到位于顶部的灰色区块的交易数据,以及位于底部蓝色区块的见证数据,它们的大小都在 4 兆字节左右。
在比特币上发生的情况是,您可以看到它逐渐消失,但是一旦节点,矿工,使用了见证数据来验证交易,他们可以直接丢弃它。他们没有理由在处理区块的第一次之后再保留它,这是故意设计的。这是为了保持运行节点的系统要求较低,这样 Arweave 或比特币上就可以有很多节点。但我们正在解决这个问题。对于一个想要存储人类,比如,您知道的,所有世界知识的协议,它需要有更强的激励来存储数据,对吧?
那么 Arweave 是如何解决这个问题的呢?有什么变化?Arweave 的关键创新之一是它改变了挖矿机制。Arweave 不仅仅是盲目地使用哈希,而是使用了所谓的 SPoRa,即 “同步随机访问证明”。这是矿工做的一种密码学证明,用来证明他们正在存储 Arweave 数据的小块,每次 256 千字节。这允许协议将安全性从数据以及从需要网络中的每个人都拥有的共识机制移动到挖矿机制,这意味着矿工都可以单独证明他们正在存储数据,从而大大改善了系统。
这是 Arweave 区块的一个例子,您可以看到区块的数据部分大小不一。Arweave 上的每一个区块都可以存储不同量的数据。Arweave 协议所做的是每秒钟协议都会发生一次变化;它为矿工提供了一个新的挖矿范围。所以这就是数据部分中的这些小蓝色矩形,他们每秒钟都有一个新的数据范围用于检查证明。就像我们在这里看到的,偶尔有一个小粉红色的块是允许矿工生成新块的证明。当矿工获得一个胜利的证明时,它会生成一个新的块并获得区块奖励。
您可以看到其中的问题,或者不是问题,但值得注意的有趣之处是,网络对交易达成了共识,但数据还没有到位,这有点令人惊讶。
所以您可以看到这是一个灰色的框,随着时间的推移,随着挖矿的继续,数据开始从网络的不同区域流入,每产生一个新的区块,矿工都会与其他矿工交易以获得那些数据并全部填充进去。
可以看到,随着新数据的流入,Arweave 上的挖矿机制开始允许矿工从那些新数据中生成证明。
所以当区块被添加时,您可以看到第三个区块现在已经被添加,矿工能够完全挖掘那些数据。当新的区块被添加时,您还可以看到数据会开始在新的区块上流入。
在所有规模上解锁链上数据
这样做的目的是激励矿工之间进行数据交易,因为这允许他们进行更多的证明并有更好的机会获得奖励,所以他们都想要新的数据。因此,由于挖矿机制的原因,添加到 Arweave 的数据在整个网络中被复制了数百次。
所以这就是 Arweave 如何在所有规模上解锁链上数据。它还激励数据的复制,使 Arweave 的数据和交易能够抵御审查。所以你可能会说,“看,DMac,我之前用过 Arweave;我只是发布交易,然后它就被发送给其他矿工。我不懂你说的分离交易数据以及其他类似的事件。”
实际上,您可能是将您的交易发布到了像 arweave.net 这样的网关,该网关为了给于您方便,它在后台帮您进行了相关步骤。该网关将交易发布到一个新的区块,一旦被挖出,它就将数据发送给网络中的所有矿工,虽然这很不错,但这也引入了被审查的可能性。
假如网关不喜欢这笔交易,它看到您的数据中的某些内容并认为:“我不想发布这个。”,网关可以直接将其删掉。如果以上就是 Arweave 的整个运行方式,那么其就会存在一个对其协议的中心化的监督人,而这样的运行方式并不是完全去中心化的。但是好消息是, Arweave 是去中心化的,因此你可以跳过网关并且不必使用它。你可以直接将你的交易发布到网络,一旦你的交易被包含在一个区块中,你就可以添加数据,它将在整个网络中被复制。
我们的未来在何方?
这个过程非常重要,因为它确保建立在 Arweave 之上的网关和服务都保持诚信。因此 Arweave 的开发需要继续进行,并在大型交易推出一个月后,Arweave 推出了 ANS-102 捆绑包(抱歉图片上被遮挡住了一部分信息)。推出捆绑包的目的是允许这些非常大额的交易涵盖许多其他交易。因此,Arweave 开始从两个方面进行扩展:大额交易和大量交易,这样做虽然很有用,但直到一年后 ANS-104 出现为协议带来了巨大的进展。因为该协议优化了 ANS-102 标准,提高了捆绑包的性能、它们的空间效率以及创建它们所需的计算。
ANS-104 捆绑包在 Solana 的 NFT 夏季左右发布,当时人们正在上传包含 10,000 个 NFT 的大型收藏数据,并使用捆绑包来做到这一点。从那时起,您就可以看到 Arweave 数据集的增长。
因此这才成就我们的今天。我想说,我们离 Arweave 的 2.7 升级只有几周的时间了。再次强调,该更新将包括优化捆绑包以及降低生产计算成本,并且还为捆绑包引入了与区块交易一样的抵抗机制来抵御审查。
那么,我认为我想在这里强调的一点是,自从引入捆绑包和大额交易以来,Arweave 的数据模型在过去三年中一直保持稳定。我们看到的 Arweave 的更新都是关于提高性能、抵抗审查和最终协议的去中心化。
让我们回顾一下,记录人类历史这件事自区块链诞生之初就成为其一部分,但现在,这个前沿凭借其可扩展的链上数据,真正地从比特币转移到了 Arweave。从 2020 年四月开始,凭借捆绑包和大额交易,Arweave 已经能够在多个维度上扩展,成为链上数据的终极位置。展望未来,我期望看到更多的同样的对 Arweave 性能和去中心化的增量更新。非常感谢!