1. 首页
  2. 文档
  3. 白皮书
  4. Arweave – 一种类区块链的区块编织结构(Lightpaper)

Arweave – 一种类区块链的区块编织结构(Lightpaper)

Arweave Lightpaper

作者:Samuel Williams, William Jones
翻译:IPFS点滴资讯

摘要

经典的区块链在数据存储方面存在几个众所周知的主要问题。这些问题需要将新的第三方协议集成到现有区块链的上层,因为费用太高,无法进行链上存储。因此,对于经典的区块链来说,访问内容始终会产生成本,而且内容永远不会永久存储­。随着对数据存储的需求呈指数增长,对可扩展的分布式低成本数据存储协议的需求是必要的。

在这项工作中,我们介绍Arweave——一种类区块链的区块编织结构。区块编织是一个平台­,致力于首次以经济高效的方式提供可扩展的链上存储。随着系统中存储的数据量的增加,达成共识所需的哈希值减少,从而降低了存储数据的成本。该协议现有的REST API使得在区块编织上层构建去中心化的应用程序­十分简单,反映了Arweave对开发者社区的关注及其推动采用新兴和新颖协议的能力。

在本文中,我们还介绍了新颖的概念­诸如「区块阴影(block-shadowing)」——一种灵活的交易区块分配算法——­改进了其他区块链的现有“分片”技术­优化网络拓扑,并带来新的共识机制,称为访问证明(Proof of Access)。

1 导语(Introduction)

在这个信息时代,我们常常屈服于一种幻想,即信息被读取­可用,它永远不会被更改或丢失。从根本上讲这是不正确的[7]。在互联网上,我们建立了一个巨大的去中心化信息传播系统­信息,我们还没有建立一个对应的­永久知识存储系统。现代历史有非常多的例子——­从图书馆和档案馆的大火[9,10,3,8]到专制国家的书籍燃烧(焚书坑儒)[12,11],重要信息的构建和丢失。当我们在互联网上查询信息时­,我们依赖于被允许访问被集中存储的该数据。­拥有此信息的服务器的访问­所有者可以随时撤消该许可。同样,由于在Internet上提供信息需要支付服务器费用和维护费用,因此当资金不足时,网站通常会轻易地消失。

更进一步,许多政府正在采取越来越多的步骤来审查和删除对互联网上政治敏感信息的访问[13、5、4]。与媒体和新闻机构一样,我们曾经拥有实体和不可撤销的副本,现在我们­单纯地访问信息,然后将其丢弃。随着时间的推移,媒体组织更新其文章的内容已变得司空见惯。虽然这提供了一些­与以前的系统相比,它具有许多优点,最显着的是,它可以传播有关展开情况的实时更新,还可以使重要的上下文丢失或变得模糊。

2 背景(Background)

所有区块链创新都站在巨人的肩膀上,包括比特币本身,数据结构交响曲,分布式网络工作和密码学。我们也试图扩大空间,解决现有区块链网络的特定缺点,即存储,并采用一种新颖的交易速度方法。如今,大多数区块链技术都坚持认为,“全节点”必须维护整个区块链的副本以验证未来的交易,而使之成为可能的Merkle数据结构本身就是一项了不起的壮举,并增加了无与伦比的安全性,我们认为围绕此过程的一些性能增强可以减轻整个节点的同步负担,在第4节中介绍了解决块,节点和钱包同步的几种技术。

当涉及到存储数据时,完整的区块链要求可能甚至是现有区块链技术的障碍。在以太坊(一种去中心化的世界计算机)的情况下,使用其本机令牌的存储成本令人难以置信。 Arweave的主要动机是以与以太坊中表示的方式相同的方式实现永久,不变的存储。但是,高昂的费用使这种存储变得越来越不切实际。虽然可以在以太坊上存储数据,但是由于数据存储成本,先前的尝试是不切实际的。

其他区块链技术专注于改善节点之间的共识算法,特别是Stellar Lumens和APo和Neo等dPos架构。尽管这可以提高事务处理速度,但存储负担仍然是许多此类网络将面临的长期障碍。通过首先专注于解决存储问题,我们体验了一些性能增强功能,这些性能增强功能可用于促进高吞吐量货币交易。

3 激励(Motivation)

我们已经设计并实现了一个区块链网络,其中永久性的低成本存储已成为现实。将存储访问权纳入共识,并结合新颖的交易捆绑方法和任意大小的块,可创建高吞吐量的加密货币,该加密货币将比其他加密货币(如比特币[10]和以太坊[12])有所改善。过去,档案(互联网或其他方式)通常由单个机构(甚至是个人)维护,因此容易受到两种主要形式的操纵。首先是通过在文档存储过程中修改文档[2]。第二个问题是,文档在进入存储之前可能已经被伪造或修改过[1]。例如,许多归因于苏格拉底的作品被认为是他的门徒们写的[6]。 Arweave解决了这两个问题。一旦将文档存储在组织上,就将其与组织上的每个其他块加密链接。这确保了任何尝试更改文档内容的尝试都会被网络检测到并拒绝。以这种方式,不可能破坏组织上的信息。 Arweave是Internet上可浏览的姊妹网络,可提供Internet迫切需要但目前缺乏的长期,永久数据存储功能。

Arweave系统的关键组件旨在让开发人员轻松构建与网络数据交互,创建和使用的应用程序。这些使用与语言无关的REST API构建的应用程序将充当网络中侦听网络的节点。这些应用程序的功能将是广泛而多样的,从分散和不变的社交网络到讨论网站和新闻聚合器。为了向编织提交信息,将需要少量令牌。这些代币将用于支付矿工在维护组织和网络方面的工作,以及抑制垃圾邮件的传播。这代表了对典型集中式存储系统的极大改进。同样,它使个人有能力确保自己关心的信息能够长期存在。随着网络和文档将增强令牌的价值,维持织法的动机也会增加。随着这些影响的加剧,我们期望Arweave代币将成为信息时代的宝贵资产。与大量重要文件密不可分且内在联系。

4 技术(Technology)

Arweave建立在四项核心技术的基础上,这些技术可以共同在新的区块链上创建低成本,高吞吐量的永久存储。 这些创新是:

  • 区块编织(Blockweave)
  • 访问证明(Proof of Access)
  • 野火(Wildfire)
  • 区块阴影(Blockshadows)

虽然这些技术相互交织,但是每种技术在创建适用于快速事务处理和低成本永久性存储的新型网络方面都发挥着关键作用。

4.1 区块编织(Blockweave)

大多数区块链的一个众所周知的特性是,必须存储每个区块以作为“完整节点”参与验证交易。 Arweave并非如此。

取而代之的是,Arweave引入了两个新概念,这些概念允许节点在不拥有整个链条的情况下完成关键的网络功能。这些概念中的第一个是块哈希列表,它是所有先前块的哈希的列表。这样可以验证旧块,并有效评估潜在的新块。这些概念的第二个是钱包列表,这是系统中所有活动钱包的列表。这样就可以在不占用最后一次交易使用的区块的情况下验证交易。使用这些由网络同步并可以由矿工下载的区块链列表和钱包列表,节点几乎可以立即加入网络并参与对组织的挖掘。

此外,Arweave使用“持续验证”系统,而不是让每个矿工在进入网络时都验证从基因块到当前块的整个块结构。当矿工加入Arweave网络时,他们将下载当前区块并从当前区块中检索区块哈希和钱包列表。由于这些区块链和钱包列表已通过每个区块的持续进行进行了连续验证,因此新矿工可以立即开始参与,而无需验证整个组织。当然,完全编织验证可用于希望执行该验证的任何节点。通过这种方式,矿工无需查找与钱包相关联的先前交易即可验证新交易。取而代之的是,矿工将只需要验证交易是否已由钱包拥有者的私钥正确签名。为了防止召回块伪造攻击,块哈希表的哈希将与每个新块一起分发。

Arweave - 一种类区块链的区块编织结构(Lightpaper)
图1:blockweave数据结构的示意图,展示了到前一个区块和回调区块的链接。

4.2 访问证明(Proof of Access)

Arweaves共识机制基于访问证明(PoA)和工作证明(PoW)。虽然典型的PoW系统仅依赖于前一个块才能生成每个连续的块,但PoA算法会合并来自随机选择的前一个块的数据。结合区块编织数据结构,矿工不需要存储所有区块(形成一个区块链),而是可以存储任何先前的区块(由PoA和野火推动),从而形成区块编织,即区块编织。通过获取当前块的哈希值并计算其相对于当前块高度的模数,可以选择要合并到下一个块中的“调用块”。

调用块中的事务与在当前块中找到的事务一起进行哈希处理,以生成下一个块。当矿工找到合适的哈希后,他们会将新块与回调区块一起分发给网络的其他成员。这使网络的其他成员,即使没有自己的回调区块副本的那些成员,也可以独立地验证新块是否有效。

4.3 野火(Wildfire)

作为数据存储系统,Arweave不仅需要存储大量信息的能力,而且还需要以最方便的方式提供对该数据的访问。此外,Arweave系统的重要组成部分是在请求时对数据进行无成本的访问。随后,Arweave增加了一层激励措施,以鼓励矿工自由共享数据。

Wildfire是一种系统,它通过使网络上数据请求的快速满足成为参与的必要部分,从而解决了分散式网络中数据共享的问题。 Wildfire通过在每个节点本地创建一个排名系统来进行工作,该排名系统确定新块和事务向对等对象分发的速度如何,基于它们对请求进行响应并接受来自其他对象的数据的速度。对等体按其等级顺序服务,而性能不佳的对等体则被从网络中黑名单中删除。从经济上激励同伴,使他们在彼此的排名中保持良好的位置,以便他们可以花费最大的时间进行有效的挖掘。

Arweave - 一种类区块链的区块编织结构(Lightpaper)
图2:野火系统示意图。 每个节点根据这些对等点之前对它们的表现进行评估,对其对等点进行排名。

这极大地鼓励系统中的节点以对其他对等方尽可能最友好的方式运行,而不会给正在接收数据的人,甚至可能是一次性请求的那些人带来代价。 更进一步,它创建了一种网络拓扑,该拓扑适合于最有效的全局路由,因为首选了允许在系统中快速传输新数据的连接。 实际上,野火机制构建了一个网络拓扑,该拓扑映射了Internet的底层物理连接基础,以适应其架构随时间的变化。 总体而言,野火系统可确保新块的高速分发,并以较短的延迟保持数据可用。

4.4 区块阴影(Blockshadows)

在传统的区块链系统中,当挖掘一个新块时,无论一个节点已经拥有多少块数据,每个完整的块都会分配到网络中的每个节点。这不仅浪费大量数据,而且极大地降低了网络就块达成共识的速度。因此,Arweave引入了一种新技术,即块影子,它不仅可以最大程度地减少数据浪费,而且可以实现快速的块共识和巨大的事务吞吐量。

Blockshadowing的工作原理是部分取消来自块的事务,并且仅在节点之间发送最小的块“影子”,该影子允许对等方重建完整的块,而不是传输完整的块本身。这些区块影子专门包含钱包列表和哈希列表的哈希,并且代替区块内的交易,仅包含交易哈希的列表。根据这一信息(可能只有几千字节),一个已经在该区块中拥有所有交易的节点以及一个最新的哈希和钱包列表可以重建几乎任意大小的整个区块。为了促进这一点,节点还将立即彼此共享事务,但是只有在它们高度确定网络中的其他节点也具有事务处理后,才尝试将事务放置在一个块中。

这个区块集散系统的结果是一个快速,灵活的区块分配系统,该系统可以使交易以尽可能快的速度在网络上分布,并且可以以接近网络的速度达成共识。此外,该系统可确保当网络使用率很高时,交易费用不会显着增加,并且乐观的100mbps网络上的交易吞吐量的理论限制为每秒约5000笔交易。

4.5 民主内容政策(Democratic Content Policy)

为了支持网络中各个参与者的自由以控制他们存储的内容,并允许整个网络以民主方式拒绝受到广泛谴责的内容,Arweave软件提供了一个黑名单系统。每个节点主节点都有一个(可选)黑名单,其中包含例如它不希望存储的某些数据的哈希值或子字符串,并且永远不会写入与此匹配的磁盘内容。这些黑名单可以由个人建立,也可以通过协作建立,也可以从其他来源导入。

在本地级别,这些黑名单允许节点控制自己的内容,但是这些本地拒绝的总和也会创建网络范围的内容拒绝。超过一半以上的网络拒绝的内容不仅会被这些单个节点中的每一个拒绝,而且还将被整个网络整体拒绝。这创建了一个民主的全网络内容拒绝系统,该系统可以将各种文化和观点中的黑名单合并为一个普遍删除的微小的特定内容黑名单。这个接近普遍,民主的黑名单使网络不受少数行为者的干扰,同时仍允许其以民主方式保护自己的自由。

4.6 讨论(Discussion)

4.6.1 存储池(Storage Pools)

对Arweave的一种潜在的理论攻击已经变得非常大,那就是矿工可能会合作维护一个组织的单个副本,他们都可以使用这些副本来检索召回块。 虽然这种行为乍看起来似乎是问题,但事实并非如此。 如果此类“存储池”被大部分矿工雇用,那么其他矿工存储稀有矿块的动机就会增加。 这是因为,如果集中存储区不可用,则当将来该稀有块成为撤回块时,具有稀有块副本的矿工将很可能获得奖励。 这种自私的行为为网络提供了风险抵销功能,该功能会随着数据丢失(由集中存储池引起)的可能性增长而扩展。

5 构建App(Building Apps)

可以使用简单的REST API构建使用组织的应用程序。 REST端点是HTTP,可以直接访问网络,因此任何Arweave钱包都可以读取和写入数据。 客户只需要通过Chrome扩展程序或具有Arweave钱包集成功能的本机应用程序将其Arweave钱包带入网站,即可从网络读取数据或向网络写入数据。 可以在组织之上构建几种体系结构。

5.1 客户端-服务器架构(Client-Server Architecture)

传统的Web或本机应用程序具有客户端-服务器体系结构。在云上运行的服务器将被“启用Arweave”,与一个或多个Arweave节点进行交互,代表客户端读取和写入数据。这些服务可以是将客户端作为访问者的网站,也可以是将客户端请求传递给开发人员操作的服务器的本机应用程序。这些服务器将需要维护AR令牌的浮动,以确保可以处理写入数据的请求。使用该架构从编织读取数据仍然是免费的。

该架构的获利潜力很简单。开发人员将需要通过广告,每月订阅或直接付款来获得更大的价值,而不是使用其为存储提供动力的AR令牌数量。永久性不可变存储有许多应用。例如,存储抗量子,加密的法律案例文件,身份或医疗记录。尽管某些法规需要适应敏感信息的存储,地理范围和被遗忘的权利,但也可以通过加密和密钥管理来缓解这种情况。几个创收模型可以在组织的顶部分层,其主要价值主张是链上永久不可变的存储。

5.2 无服务器架构(Serverless Architecture)

客户端可以通过启用Arweave的浏览器访问应用程序,而应用程序可以自身运行。由于浏览器的普及和Web技术的普及,使用HTML / CSS / JS将这些应用程序存储为标准前端Web应用程序是最有意义的。但是,如果客户端的本机应用程序包含针对不同语言(例如LLVM字节码)或脚本语言(如Python)的解释器/解析器,则它们可以在客户端上运行,并且可能会受益于Web应用程序中的相同可升级性。

开发人员不仅可以将无服务器的应用程序部署到Arweave,而且这些应用程序还可以将持久性和可证明状态写入网络。由于Arweave没有施加特定的数据结构,因此开发人员可以自由地以对他们来说最有意义的格式存储数据。如果该应用程序最好通过高度优化的Merkle结构(例如以太坊虚拟机(EVM)中找到的结构)来满足,则可以轻松地将其实现。如果开发人员正在寻找更多的文本Blob样式存储,那么这也是微不足道的。

无服务器应用程序非常有趣,因为它们可以写入自己的数据。例如,基于分布式计算将允许训练神经网络存储其结果,并可能与其他网络共享其结果模型。

5.3 基于事件的(Event Based)

在Twitter成立之初,便有了蓬勃发展的家庭手工业应用程序生态系统,而开发人员则在“ firehost” API的基础上开发,这些API将推文流化为任何愿意付费访问的人。 情况已不再如此,在Facebook Cambridge Analytica惨败之后,这些向客户提供数据分析的服务的许多“可信赖的合作伙伴”都被任意关闭。

Arweave是一个分散的公共数据网络,因此,除了被民主拒绝的内容外,它永远不会审查数据访问或数据本身。 这意味着开发人员可以自由地在Arweave之上进行构建,并且可以使用REST API侦听传入的数据。 触发事件后,侦听器将触发订阅了这些事件的客户端的相应函数调用。 开发人员不必担心会受到限制或关闭,因为网络受到激励以向他们提供对数据馈送的可靠访问。

5.4 无信任和可证明(Trustless and Provable)

可以对应用程序体系结构进行设计,以便轻松实现需要存储并保证防篡改的信息。 此外,可证明公平的运行时代码可以存储在组织上,并由客户端直接解释。 客户端使用内容的事务ID,可以在计算之前验证编织中的有效负载,并确保它们运行的代码既不受信任又可以证明是公平的,即与其他客户端运行的代码相同。 这为服务于其他区块链网络的无信任随机数生成器和其他基于oracle的服务开辟了有趣的可能性。

6 用例(Use Cases)

永久存储有几个用例。 具体而言,法规要求将文件存档长达一定年限。 可证明的媒体报道,学术研究和不变的记录在我们回声室和假新闻泛滥的现代世界中变得越来越重要。

6.1 真实性(Authenticity)

法律体系常常与文件真实性的诉讼纠缠在一起。 Arweave通过提供来自作者的任何数字内容的不确定且可验证的存储来解决此问题。 2017年,特拉华州裁定在法院诉讼程序中可以接受区块链证据。 这些记录可能会大大加快有关艺术归属和知识财产之争的争议。 对于创意经济而言,效果是双重的,使艺术家可以将自己的作品立即转让给他人,并避免琐碎的诉讼。

7 结论(Conclusion)

我们提出了一个新的区块链网络,该网络支持低成本的不可变数据存储和高吞吐量的加密货币。通过使用一种称为blockweave的类似于区块链的新数据结构,可以实现Arweave协议。通过区块隐藏灵活的大小交易区块分配;一种新的共识机制,即减少对工作证明的依赖度,称为访问证明;以及称为Wildfire的自我优化网络拓扑。就像比特币网络一样,我们在隔离方面的技术进步并不是十分复杂。但是,当结合起来形成整个网络时,紧急行为非常强大。从测试网的结果可以看出,在公共的,无许可的和分散的网络协议上,安全,可靠和不变的数据存储是可能的。除了数据存储期限外,任意大小的块都使安全的高吞吐量加密货币成为可能,而无需诉诸复杂的共识机制,例如dBFT或dPoS。

Arweave通过其REST API紧密地连接到Internet的结构中,并且正在使用Arweave主网建立一些创收业务。 Arweave与其他流行的加密货币之间的桥梁,安全的计算和智能合约协议将使低成本和永久性的数据存储轻松集成到分散式应用程序的技术堆栈中。一个全面全球化的信息和金融交流世界需要永久记录。通过结合加密技术和分布式系统,我们为这些永久记录提供了基础。我们希望Arweave将成为现有互联网协议(例如,万维网)的必要伴侣。与他人合作,建立更加开放和透明的未来。

这篇文章对你有帮助吗? 4

我们要如何帮助您?