在许多情况下,为了提升可扩展性而提议的Layer-1改进方案和Layer-2改进方案,其实都在做相同的事。这篇帖子将通过一些例子和直觉知识来考虑这些案例。
无状态客户端
请参阅TheStatelessClientConcept了解无状态客户端的背景知识。概括一下,无状态客户端的工作方式是:让全节点仅存储状态的根哈希值,使用与区块一起发送的默克尔分支,来证明状态读写已经正确地执行了。但是无状态客户端可以有两种实现方式,一种是对区块链协议的修改),或者是对特定合约做点改变,用代码来保证合约只有一个哈希值作为其状态,任何对状态的改变都需要有默克尔证据。值得注意的是,在这两种情况下,用来改进可扩展性的行为都是一样的,只是实现不同,一个是对区块链全节点行为的改变,一个是作为可选的应用层改变。
Vitalik Buterin:由于安全问题只用少量ETH质押:金色财经报道,以太坊联合创始人Vitalik Buterin由于担心安全问题和保持安全的复杂性,他只用少量的ETH质押。Buterin在Bankless Podcast上表示,他并没有把他所有的以太坊质押,只是 \"相当小的一部分\",因为在网络上安全投资需要多重签名,这仍然是一个棘手的过程。如果你把你的ETH质押,访问它的钥匙必须在某个在线系统上公开。为了安全起见,它必须是一个多重签名,而用于抵押的多重签名仍然相当难以设置,它在很多方面都变得很复杂。[2023/6/30 22:10:38]
错误性证明
Optimisticrollup的工作方式是:让系统存储一系列的历史状态根;添加了一个新的状态的一段时间后才将新状态最终敲定。当一个新的、包含一些交易的“包”被提交至rollup合约,交易不会在链上被验证;相反,只是把状态根添加到列表中。然而,如果外部观察者发现有的包是无效的,他们可以提交一个挑战。当且仅当如此,包才会在链上实际执行;如果包被证明是无效的,那么这个包及其后面的状态都会回滚。上述模式即是所谓的“错误性证明”。错误性证明的工作方式是:默认情况下,客户端不验证状态,而是去接受区块;只有当客户端收到网络中的消息,其中包含默克尔证明,表明特定的某个区块是无效的时候,才会拒绝区块。显然,相同的机制可以在Layer-2方案中使用,也可以在Layer1中作为对客户端效率的改进。然而要注意一点:想让Layer-1的错误性证明和rollup拥有一样的特性,对数据的共识和对状态的共识需要是分离的过程。否则,创造区块的节点在发布其区块之前,需要自己验证最近的所有区块,这可能会限制可扩展性的增益。
制药巨头辉瑞正申请加入VitaDAO并将捐赠50万美元:金色财经报道,据医药生命研究去中心自治组织VitaDAO透露,制药巨头辉瑞(Pfizer)正在积极拥抱区块链技术并对延长生命的药物研究表达了强烈兴趣。为此,Pfizer Ventures执行董事兼合伙人Michael Baran和Early-Stage External Scientific Networks负责人Linda Lohr在VitaDAO社区发起了一项提案,旨在向VitaDAO捐款50万美元并加入VitaDAO治理,辉瑞计划支持VitaDAO的方式包括:访问交易流、支持知识产权孵化和IP商业化、以及发展社区。截至目前100%的选票支持辉瑞加入VitaDAO,如果一切顺利,这家制药巨头将在今年10月中旬加入。[2022/9/13 13:27:24]
签名聚合
现场 | Vitalik:公链的价值来自于不同应用的链接:金色财经现场报道,10月27日,第六届区块链全球峰会于上海开幕,峰会的圆桌讨论环节,以太坊创始人Vitalik Buterin分享表示,我们的加密技术生态系统重要的是整个生态系统的发展,我们的价值来自于不同应用的链接,以及不同区块链间的交互。
针对链的升级,我认为解决方式在于在协议上,此外我们要优化不同层的性能,通过技术融合我们做一些改变,针对隐私保护,零知识证明是一个重要的技术方式,但对于隐私保护来说,有些信息需要公开,有些需要保护,需要具体场景具体考虑。
此外,如果想把传统的金融服务迁移到公链上,是很多公链无法做到,从安全角度来看,系统也需要检验,这是需要时间的。[2020/10/27]
像BLSsignatureaggregation这样的技术可以让很多签名被压缩成一个,极大地节省了数据和一些计算开销。这些技术可以用在链上,将一个区块内的所有交易组合成一笔交易。这些技术也可以用在应用层,通过交易打包机制,让许多交易打包成一个包来提交,一个签名检查器根据所有交易的哈希值和交易中声称的发送方的公钥来验证签名,然后再独立执行交易。
Vitalik:以太坊2.0或需多年才能解决扩容问题:以太坊联合创始人Vitalik Buterin表示,以太坊基础层可扩展性还有很长路要走,很可能在很多年之后都无法实现区块链基础层扩容。按照Vitalik说法,基于应用程序基础层扩容或许会在以太坊2.0最后一个主要阶段完成之后才会出现,所以可能需要等待几年。Vitalik表示,他鉴于当前情况建议将以太坊扩容工作全部放在二层Layer 2解决方案上,同时他建议一旦「以太坊1.5阶段」完全通过权益证明,那么基本上就不会关注扩容问题了。如果用户不确信「以太坊1.5阶段」能够解决容量问题,那么还可以采取折衷方法,即:拥有少量执行分片(比如4-8个)和更多数据分片。Vitalik建议在钱包中直接构建二层协议,比如MetaMask或Status,他也强调在「跨二层协议传输」方面需要做更多工作,二层解决方案可以某种方式成为协议本身一部分,而以太坊1.0则可以用作为Optimistic Rollup客户端。[2020/10/3]
SNARK/STARK
现场 | Vitalik Buterin:区块链可以被视作是一种促进各种经济协调的工具:金色财经现场报道,今日,由金色财经提供战略媒体支持的以太坊产业发展峰会在香港举办,会上以太坊创始人Vitalik Buterin及其团队接受了包括金色财经在内的中外媒体采访。在回答“区块链究竟能给我们这个社会带来些什么”这一问题时,Vitalik Buterin表示:“我认为你可以把区块链看作是一种促进各种经济协调的工具,就像其他不同种类的经济机制一样,人们可以在互联网上合作制作内容,然后再各自获得报酬,这样就会鼓励人们更具有责任心,他们在制作新闻的时候也会更负责,不会出现虚假新闻。现阶段,人们正在提出各种不同的工具、或是不同的经济机制,鼓励大家以更广泛的受益形式来工作。传统支付方式很难满足这种协作工作模式,因此区块链能够创建全新的经济机制。我写论文的时候,也得到了开发者们的支持。”[2018/9/8]
SNARK和STARK可以解除客户端重新执行长时间计算的需要,因为其验证只需一个简单的证明。这个同样可以在layer1上或者在layer2上完成。
在layer1实现vs在layer2实现
在Layer1上实现有以下优势:
它对链“保留可识别性”,因为默认的基础设施能够理解可扩展性解决方案,并且解释发生了什么
它降低了Layer-2解决方案的碎片化风险
它允许网络围绕解决方案去组织基础设施,例如,为响应新的区块,自动地更新证明;交易可抵抗DoS攻击;等等
在需要有所牺牲的情况下,它为节点提供了更多的选择自由,节点可以考虑自己的需要。例如,一些客户端可能存储所有的状态,并最小化带宽,然而其他的客户端可能无状态地验证区块,并接受这样做带来的带宽损失。作为一种选择,一些客户端可能会使用基于错误性证明的验证方式去节省花销,而另一些客户端可能会验证所有状态去最大化他们的安全等级。
在layer2上实现有以下优势:
它给未来可能出现的创新保留了空间,不需要硬分叉区块链
可以最小化共识层的复杂性,尤其是在不同场景需要多种方案时,这是很大的优势
用户可以因此从拥有很强假设的应用中受益,而不必在共识安全性构造中引入这些假设
需要权衡的时候,它为应用提供了更多的选择自由,应用可以按自己的需要挑选方案。一些应用可以在链上运行,而另一些可以在rollup中运行
其他的关键点
从依赖于相同底层行为的Layer1和Layer2上获得的可扩展性增益一般是不能结合的。例如,使用错误性证明得到的可扩展性增益与使用rollups得到的可扩展性增益不会彼此叠加,因为他们根本上是实现了相同的机制,因此如果使用rollups在基础层得到了10000tx/sec,使用错误性证明达到1000tx/sec是安全的,只使用错误性证明在相同的基础层上得到10000tx/sec也是安全的。在Layer1和Layer2上做相同的事会导致不必要的基础设施膨胀,因此经常在两者中选择一个是比较合理的。例如,如果不管不顾地使用Layer2的无状态合约,那么这也会使Layer-1的状态极其昂贵,而不能去有效地实施layer-2的方案,因此,要保持较小的状态,免得layer1也需要构建无状态客户端。同样的需要注意的是,数据可用性是唯一一件可以在Layer1上可以解决、但在Layer-2上则只能依靠大幅放松的安全假设来提供的事。这是因为在数据可用性证明或者其它可用别的块和纠删码来重构一个块的替代性系统中,区块重构在很大程度上依赖于客户端一侧的随机性,而对于不同的客户端这个随机性又是不一样的,且在链上不能重复。
结论
在Layer2进行持续创新的愿望是一个很重要的论点,这驱使我自己倾向于对eth2提供一个重量级的Layer-2设计,即最小化Layer1提供的特性。然而,因为一些需要,我们想在Layer1提供一个显式的工具。根据前述理由,最重要的一件事应该就是在通用可扩展区块链的Layer1中的数据可用性,这也是为什么要完全实现eth2,而不是对已存的eth1链构建一个重量级Layer-2的路线图的主要原因。
原文链接:https://ethresear.ch/t/cases-where-the-same-thing-can-be-done-with-layer-1-and-layer-2-techniques/6111作者:Vitalik翻译&校对:haiki&阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。