区块链:a16z:为什么说无状态区块链不可能存在

随着区块链支持更多用户和更频繁的交易,验证器为验证交易而存储的信息量(“状态”)也在增长。例如,在比特币中,状态由一组未使用的交易输出(utxo)组成。在以太坊中,状态由每个账户的账户余额以及每个智能合约的代码和存储组成。

对于拥有足够账户或UTXO来支持大部分人真正日常交易的区块链来说,这种存储负担将变得难以处理,从而使其难以成为验证者并对去中心化构成威胁。人们很容易将密码学作为一种解决方案,像默克尔树和零知识证明这样的工具已经帮助我们实现了以前难以置信的目标。

这正是“无状态区块链”的目标。但是,尽管在这方面做出了大量的工作,它们仍然远未实用。但事实证明,这种进展上的滞后是固有的——这些结构与实用性之间的差距永远无法弥合。我们最近的工作表明,如果没有额外的措施来管理状态,任何无状态的区块链方案,无论多么智能,都是不可行的。正如我们在这篇文章的末尾所展示的那样,这种不可能的结果不应该令人沮丧。

无状态的状态

如今,状态规模虽庞大但可控。例如,比特币节点存储大约7GB的数据,以太坊节点存储大约650GB的数据。但是,全节点的存储负担与链的吞吐量大致呈线性增长,而目前的吞吐量低得令人无法接受。根据当前的设计,真正支持日常交易所需的状态将变得难以处理,需要使用几TB甚至PB的存储空间。

a16z、区块链协会均致函质疑美SEC拟议的收紧加密货币托管规则:5月9日消息,美国证券监管机构提出的一项收紧加密货币托管规则的提议遭到了至少两名业内支持者的反对。5月8日,加密行业倡导机构区块链协会(Blockchain Association)向SEC提交了一封信,批评其修改其监管规则的提议。3天前,Web3风险投资基金Andreessen Horowitz(a16z)也发出了一封类似的信函。区块链协会政策律师Marisa Tashman Coppel于5月8日在推特上表示,SEC拟议的规定将“大幅减少对数字资产的投资”,并声称以目前的形式,该规定是“非法的”。在信中,区块链协会提供了十几个单独的论据来反驳SEC。在其他声明中,它表示该规则超出了SEC权限,将禁止顾问与加密货币交易所进行交易,并使投资者的资产面临更大的风险。同一天,a16z总法律顾问Miles Jennings在推特上发布了其致SEC的信函,称该公司“没有含糊其词”,并称SEC的提议是“对加密货币发动战争的误导和明显的企图。”a16z在其信中详述了与区块链协会类似的论点,但更侧重于其对注册投资顾问的影响,即顾问将被禁止使用加密货币,并且这些规则可能违反SEC对此类公司的注意义务。[2023/5/9 14:51:45]

这促使人们寻找技术方法来大幅减少验证者所需的状态量——无状态的区块链,它将要求验证者仅存储一个恒定大小的状态,而不管交易吞吐量如何。这种轻量级的存储要求将使得运行验证者节点更加容易;乐观地讲,每个人都可以在他们的手机上运行一个节点。由于增加验证者的数量将增加链的安全性,降低验证者的准入门槛非常重要。

a16z过去24小时向SolidLizard和Solidly V2两个协议注入资金:金色财经报道,据链上分析师@0xsurferboy在社交媒体上发布的数据显示,a16z在过去24小时内一直在向SolidLizard和Solidly V2两个协议注入资金。1天前,a16z的投资组合中SolidLizard的锁定资金为200万美元,Solidly为0美元,就在约14小时前,a16z买入并在WETH-USDC池中又增加了150万美元,APR为58%-145%,695枚SLIZ被锁定,APR约为130%。而在大约4小时前,a16z又向USDC-USDT Solidly V2池中增加了520万美元,这一系列操作迅速将SolidLizard锁仓量推升到6030万美元并跻身Arbitrum链上锁仓量排名前十,而一周前SolidLizard锁仓量仅为1200万美元,目前增幅达到400%。[2023/2/20 12:18:00]

尽管对无状态区块链进行了大量研究(例如Todd,Buterin,Boneh等人,Srinivasan等人),但它们远非实用,据我们所知,没有一个被部署。所有已知的无状态区块链的根本问题是,它们要求用户存储称为证人的额外数据,以帮助验证者验证涉及其账户的交易。例如,这个见证可能是一个Merkle包含证明,表明用户的帐户及其余额包含在全局状态承诺中。当用户进行交易时,他们将此见证提交给验证者,表明他们的帐户有足够的余额。

加密投资公司Asymmetric获10亿美元融资,a16z、Solana等创始人参投:金色财经报道,前微软战略部门高管 Joe McCann 创立的新投资公司 Asymmetric 已筹集了 10 亿美元的资金,a16z创始人及合伙人 Marc Andreessen 和 Chris Dixon、 Solana 联合创始人 Anatoly Yakovenko 和 Raj Gokal、CMS Holdings 负责人兼联合创始人Dan Matuszewski、Coinbase 前总裁 Asiff Hirji、 Brevan Howard 前投资组合经理 Chris Cecere、Aurate 创始人 Bouchra Darawazh、Drizly 创始人 Brett Beller等参与支持。

Asymmetric 将设置两种投资工具:风险投资基金和流动性基金,前者将负责代币交易分配,后者将利用最复杂的算法分析工具进行投资。McCann 表示,该公司是更注重技术的投资公司,他表示:我们对加密货币持非常技术性的看法,谈到开源工具,这实际上就是我建立业务的基础”。(The Block)[2022/4/27 5:14:02]

与存储永远不需要更改的私钥不同,这些见证经常更改,即使对于不积极进行交易的用户也是如此,这给用户带来了不切实际的负担。类似地,想象一下,如果你必须持续监视全球范围内的所有其他信用卡交易,并相应地更新一些本地数据才能使用你自己的信用卡。为了使区块链实用,用户必须能够保持离线状态,只有在提交交易时才能与区块链交互。在许多情况下,比如硬件钱包,更新见证不仅不方便,而且不可能。

a16z合伙人:NFT 让艺术、音乐、写作、游戏和其他创意内容更加丰富:金色财经报道,Web3支持者、a16z合伙人ChrisDixon发推表示,NFT 让艺术、音乐、写作、游戏和其他创意内容更加丰富,而不是更加稀缺。很多 NFT 的批评者声称相反——NFT 限制了对创意内容的访问。这不是对 NFT 的批评。这是对评论家梦想中的 NFT 虚构漫画的批评。NFT 增加了一个新的价值层——数字所有权——这在 NFT 之前是不存在的。这种独立于版权的所有权概念在离线世界中被广泛理解。一件艺术品或其他文化艺术品可以有很多副本。随着对原作的描述被更广泛地分享,拥有原作变得更有价值。最具前瞻性的 NFT 项目使内容本身成为公共领域。您复制和共享的内容越多,项目就越受欢迎,从而增加了 NFT 变得有价值的可能性。互联网是一个巨大的模因传播机器。NFT 与互联网合作而不是对抗互联网,增加了创意作品的丰富性,同时也让创作者能够为他们的作品获得适当的报酬。此外,尽管短期内令人沮丧,但从长期来看,这是一个非常积极的信号,表明对 NFT 的主要批评是基于错误的前提。最终真相会大白于天下。[2022/1/2 8:19:51]

这就引出了一个自然的研究问题:我们能否构建一个不需要更新见证(或者很少需要更新见证)的无状态区块链?为回答这一问题,我们开发了一个新的理论框架(可撤销的证明系统),它概括了无状态区块链。使用这一框架,我们证明了一个结论性的不可能结果:简洁的全局状态和频繁的见证更新之间的权衡是根本性的。我们的证明技术是信息论的,这意味着未来的计算机不会强大到足以解决这个问题:无状态区块链结构和实用性之间的差距将永远无法弥合。

风投a16z:2017年ICO繁荣之后的高质量项目会推动第四个加密周期:硅谷顶级风投机构Andreessen Horowitz(a16z)发文称,加密行业已走过三个周期,加密周期的一个关键特征是每个周期都播下种子,这些种子随后会长出并驱动下一个周期。新项目最终激发更多人,并最终在下一个周期达到顶峰。例如,以太坊是在2013年周期中创建的,并成为推动2017年下一个周期的ICO繁荣的基础。展望未来,a16z预测, 2017年周期在许多领域催生了许多激动人心的项目,包括支付、金融、游戏、基础设施和Web应用程序。其中许多项目会在不久的将来启动,可能推动第四个加密周期。(Coindesk)[2020/5/18]

研究背景

为帮助建立对不可能结果的直觉,我们将首先使用Merkle树描述无状态区块链的自然但低效的构造。我们的目标是让验证器确定用户提交的交易是否有效——例如,用户是否有足够大的账户余额来进行交易。在无状态区块链方案中,验证器存储恒定大小的状态。当用户进行交易时,他们必须在交易中包含一个见证。验证器可以使用当前状态和用户提交的(交易、见证)对来验证该用户是否有足够的账户余额来进行交易。

我们首先构建一个Merkle树,其中每个对都作为叶子包含在内。验证器存储的恒定大小的状态V是该树的根,它充当对帐户余额对集的承诺。每个用户都维护其对的Merkle包含证明作为其见证人。叶子(a,b)的Merkle包含证明由沿着其到树根的路径上的伙伴节点(v1,…,vk)组成。给定用户使用帐户a进行的交易并声明余额b,验证器可以检查b通过检查(a,b)的证明(v1,…,vk)与其当前状态V,确实是帐户a的余额。如果是这样,验证器将执行交易并必须相应地更新帐户余额。Merkle树的一个便利属性是,给定叶子的Merkle包含证明,当该叶子发生更改时,很容易计算生成的根。换句话说,验证者可以轻松计算更新后的状态V',该状态V'在交易执行后捕获帐户a的新余额。

默克尔树方案有两个主要缺点。首先,用户的见证数量相对较大,在系统中账户总数中呈对数增长。理想情况下,它们应该是恒定大小的,我们可以使用RSA累加器(Boneh等人在无状态区块链的背景下研究)等方案来实现。

第二个缺点更难以避免:每当其他用户进行交易时,帐户-余额对的证明就会更改。回想一下,叶子的证明由从该叶子到树的根的路径上的伙伴节点组成。如果任何其他叶子发生变化,这些节点中的一个就会发生变化,从而在实践中出现问题。大多数区块链用户希望被动地将他们的代币保存在钱包中,只有当他们想要进行交易时才登入。然而,在这种无状态区块链的实践中,用户必须不断监控其他人的交易,以使他们的见证保持最新状态。(虽然第三方可以代表用户进行这种监控,但这偏离了标准的无状态区块链模型。我们将在本文的最后讨论这个问题。)实际上,这对于无状态区块链来说是一个不可逾越的挑战,给用户带来了沉重的负担。

我们的结论:无状态是不可能的

这种现象并不是Merkle树结构所特有的——所有已知的无状态区块链方案都要求用户频繁更新他们的见证。我们在本文中说明了这一点。更准确地说,我们表明,必须更新其见证的用户数量与所有用户进行的交易总数大致呈线性增长。

这意味着,即使用户Alice没有进行任何交易,她的见证也可能需要随着其他用户的交易而更改。只要验证器存储的简洁状态太小而无法捕获完整状态(即所有帐户余额的集合),那么增加简洁状态的大小就没有什么帮助。我们按照下面的定理绘制了这种关系,以及不同吞吐量的区块链每天所需的见证人更改数量。这些图显示了见证人需要更改以获得最佳无状态区块链的次数。这里,数据域指的是帐户(在帐户模型中)或UTXO(在UTXO模型中)的总数。

我们证明的核心是信息论论证。ClaudeShannon提出的信息理论的一个核心原则是,如果Alice从一个大小为2n的集合中随机选择了一个对象,并希望告诉Bob她选择了哪个对象,她必须向他发送至少n位。如果存在一个无状态的区块链方案,用户很少更新他们的见证,那么Alice可以用少于n比特的时间告诉Bob她选择了哪个对象——Shannon证明这是不可能的。因此,这种无状态区块链是不可能存在的。

为了简单起见,我们将在这里描述一个稍弱的陈述的证明:不可能存在用户永远不需要更新其见证的无状态区块链。关键思想是Alice使用无状态区块链方案将她的消息编码给Bob。最初,Alice和Bob都知道所有n个用户的完整帐户余额对。假设每个账户至少有一枚币。Alice和Bob也都知道无状态区块链的简洁状态V和所有账户余额对(ai,bi)的见证人wi。Alice和Bob还就消息和帐户集之间的映射达成了一致。Alice会选择与她的消息对应的一组A账户,然后她会从这些账户中花费代币。她将使用无状态区块链与Bob沟通她选择的集合,而他可以从该集合中了解她的消息是什么。

编码:Alice从A的每个账户中花费一枚代币。使用无状态区块链方案,Alice计算更新后的状态V'并将V'发送给Bob。

解码:对于每个i,Bob检查是否Verify(wi,(ai,bi))。Bob输出账户集合B,使得Verify(wi,(ai,bi))=false。

Bob成功地输出了与Alice选择的相同集合:B=A。首先,观察到如果Alice从帐户ai中花费了一枚代币,则不应再接受其旧余额的见证-否则,Alice将能够加倍花费。因此,对于A中的每个账户ai,Verify(wi,(ai,bi))=false,并且Bob会将该账户包含在B中。另一方面,Bob绝不会在B中包含Alice所识别的账户。没有_花一枚代币,因为这些账户的余额保持不变,并且他们的见证人永远不会改变。因此,B完全等于A。

最后,通过计算Alice应该发送给Bob的比特数来解决矛盾。她可以选择的账户子集有2n种可能,根据Shannon定律,她至少应该发送n比特给Bob。然而,她只发送了常量大小的状态V',远远比n比特要短。

(熟悉密码学的读者可能会注意到,我们在这里掩盖了一些细节;例如,Bob的解码失败的概率可以忽略不计。我们的论文包括完整的证明。)

虽然我们用无状态区块链描述了我们的证明,但Alice和Bob可以使用各种其他经过身份验证的数据结构(例如累加器、向量承诺)执行类似的过于高效的通信。我们使用一种新的抽象来形式化这类数据结构,我们称之为可撤销证明系统。

结果带来的影响

我们的结果表明,你不能“加密状态”——没有灵丹妙药式的方案允许我们构建一个用户永远不必更新他们的见证的无状态区块链。状态并没有消失,而是从验证器转移到用户身上,以频繁更新见证的形式推送给用户。

确实存在一些潜在的解决方案,但这些解决方案脱离了严格的无状态区块链模型。该模型允许第三方(既不是用户也不是验证者)负责存储完整的状态。这一方被称为证明服务节点(由Srinivasan等人进行了最严格的检查),它使用完整状态来代表用户生成最新的见证。然后,用户可以使用这些见证进行交易,就像在常规的无状态区块链中一样,其中验证器仍然只存储一个简洁的状态。该系统的激励机制,特别是用户如何补偿证明服务节点,是一个有趣的开放研究方向。

虽然到目前为止我们的讨论主要集中在L1区块链上,但我们的结果也会对L2系统(如rollup服务器)产生影响。rollup(无论是optimistic的还是ZK的)通常采用一个大的状态并使用存储在L1上的一个小值来提交它。此状态包括L2上每个用户的帐户。我们希望这些用户能够通过发布其当前账户余额的见证来直接在L1上提取资金。此设置也是我们模型中可撤销证明系统的一个实例。事实上,有人可能会说无状态区块链已经以L2rollup的形式在实践中得到了实施。

不幸的是,这意味着我们的不可能性结果直接适用。用户的rollup取款见证必须经常更改,否则几乎整个L2状态都必须写入L1。因此,今天的集合通常假设有一个数据可用性委员会(有时称为“有效性委员会”),其功能类似于“证明服务节点”,在用户准备退出时帮助他们计算新的见证。我们的研究结果表明,以太坊文档中对用户的警告——“如果无法访问交易数据,用户无法计算证明资金所有权和执行提款所需的默克尔证明。”——将永远适用。

随着区块链系统的发展,开发更有效的方法来管理区块链状态将变得更加重要。尽管我们排除无状态区块链的结果似乎是消极的,但不可能的结果对区块链设计者来说是有用的,因为它们告诉我们将研究重点放在其他地方,理想情况下可以帮助我们更快地找到可行的解决方案。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-8:699ms