ArbitrumOne已经在主网开放,我们计划推出一系列的文章,讲解Arbitrum的内部构件。本文摘自InsideArbitrum,该原文深入讲解了Arbitrum的工作原理。
围绕optimisticrollups,最主要的设计抉择是,如何解决争议。假设Alice断言Rollup会的运行会产生某个结果,而Bob不同意,那协议该如何定夺,选择谁提交的结果呢?
处理的方法基本可分两类:交互式证明,或者重执行交易。Arbitrum选择了交互式证明,我们认为这种办法效率更高,也更灵活。Arbitrum的其它设计也基本上遵循这个原则。
从2014年以来,我们一直在开发交互式欺诈证明。基本的机制我们写在了2018年出版的论文里,虽然现在我们又做了大量的升级。
观点:数字美元终会到来:金色财经报道,Digital Dollar Project政策研究主管Michael Greco表示,更多的问题是何时而不是是否会在美国建立中央银行数字货币(CBDC)。
Greco表示,美国的数字美元“未来几年有潜力”,但美联储正在等待国会颁布立法,然后才能向前推进。他预计国会明年不会通过这样的法律,但表示他预计将会在2023年取得进展,尤其是在隐私方面”。[2022/12/29 22:13:46]
交互式证明
交互式证明的思路是让Alice和Bob参与一个由L1合约引导的回合制协议,使用任何L1合约所需的最小开销来解决他们之间的分歧。
Arbitrum的方法基于对争议的剖析。如果Alice的断言涉及了N个执行步骤,那就让她曝光出两个各涉及N/2个步骤的断言,然后让Bob选择一个来挑战。这样一来,争议的规模就缩小了一半。这个过程持续进行,每一回合都将争议的规模缩小一半,直到争议的范围变成一个执行步骤。注意,直到此时为止,L1引导合约都不必考虑实际上执行了什么。仅当争议被缩小到单个执行步骤时,L1引导合约才需要理解这一步要执行什么指令,以及Alice对该步的断言是否为真,以此解决争议。
观点:与2019年相比 印度颁布加密禁令的几率较低:此前,印度财政部发布了一份“通知”,要求各部门就加密货币法规进行磋商,这一消息在印度加密界引发了恐慌。印度加密货币交易所CoinSwitch的创始人兼首席执行官Ashish Singhal表示,与2019年相比,印度政府全面禁止数字货币的可能性大大降低。他称,2019年该草案提出时,由于缺乏印度央行对加密技术的支持,禁止加密的可能性似乎很高。但是今年情况有所不同。今年3月,印度最高法院撤销了对印度央行的银行禁令,随后印度央行澄清,不再禁止金融机构向加密相关实体提供服务,这表明印度对加密的看法发生了变化。他说:“目前,这项拟议的法案通过的可能性很低。政府中聪明的人会采取正确的步骤,而不是完全禁止加密。”(Cointelegraph)[2020/6/29]
交互式证明背后的关键原理是,如果Alice和Bob有所争议,Alice和Bob应尽可能做链下的工作来解决争议,而不是让L1合约承担负担。
观点:区块链在供应链大有潜力 可帮助减缓数据失控的感觉:5月5日消息,世界经济论坛区块链和数字货币项目负责人Nadia Hewett在接受采访时表示,区块链确实具备帮助供应链建立弹性和透明度的品质。在数据分享方面,区块链作为一种供应链技术有着巨大的潜力。可以以一种保护隐私的方式共享数据,这在以前是不可能的。有许多供应链的利益相关者,包括公共部门和私营部门的利益相关者,会发现他们对数据失去了控制。这是一个巨大的障碍,区块链技术可以帮助缓解这种失控的感觉。当供应链组织部署区块链解决方案时,他们有真正的灵活性来确保解决数据保护和隐私问题。但也必须意识到这仍然存在的法律和监管障碍。为了解决这个问题,需要国际合作。(Cointelegraph)[2020/5/5]
重执行交易
观点:韩国不明确的加密法规导致加密产业产生混乱:韩国ICON基金会Min Kim表示,韩国加密交易还没有得到金融当局的明确指示,这导致了该领域产生了许多混乱。他称,和其他国家一样,韩国从一开始就对加密货币有很多困惑。然而,随着加密货币的合法化,很多规则将围绕着交易所,尤其是KYC和消费者保护进行。同时他认为韩国政府将出台明确的法规,这些法规将会证明对该行业有利。有了这些明确的路径,新项目就不必在韩国以外的地方设立实体。(AMBCrypto)[2020/5/2]
另一个方案是,让一个Rollup区块在区块内每一笔交易后附带一个状态哈希值断言。然后,在争议情形中,L1引导合约将模拟一整笔交易的执行,看结果是否与Alice的断言一致。
为什么说交互式证明更好?
我们坚决认为,交互式证明是个更好的方法,理由如下。
在乐观情形下,交互式证明效率更高。因为交互式证明可以解决大于一笔交易的争议,因此,一个rollup区块可以仅包含一个断言,断言整条链在这一个区块的所有内容执行完之后的结果状态。相反,重执行方法需要区块内的每个交易后面都附带一个状态断言。如果一个rollup区块里面有成百上千笔交易,这两种方法在对L1区块的空间占用上将出现显著的区别——而这种占用正是rollup成本的主要部分。
在悲观情形下,交互式证明的效率也更高:如果出现了争议,L1引导合约只需检查Alice和Bob的操作“在往正确的方向走”,比如Alice确实把N步骤的断言拆成了两个针对一半步骤的断言。只需要重新执行一个指令。相反,在重执行交易模式下,L1引导合约需要模拟一整笔交易的执行。
更高的交易级gaslimit:交互式证明可以摆脱以太坊对单笔交易GasLimit的限制;即使一笔交易gas消耗量太大、无法放进以太坊区块内,也仍有可能可以放进Arbitrum的区块内。Rollup的GasLimit当然也不可能是无限的,但仍可以做到比以太坊主链所容许的大得多。就以太坊而言,大gas容量的Arbitrum交易的唯一缺点是它可能需要运行更多的交互步骤。相反,重执行模式下的rollup交易,gaslimit必须小于以太坊的区块GasLimit,否则就没法在一笔以太坊交易内模拟执行完这笔交易了。
合约大小没有限制:交互式证明无需为每一个L2合约创建一个以太坊合约,所以也不要求合约符合以太坊合约的限制。对于Arbitrum的争议合约来说,在L2上部署一个合约的操作也是一系列计算过程的组合,与别的操作没有区别。相反,重执行模式下,L2合约的大小比以太坊主链上所能容许的还要小,因为要模拟一个合约的执行需要能够仿制这个合约,而仿制的代码必须能够放进一个以太坊合约内。
更大的实现弹性。交互式证明允许实现上的更大灵活性,举个例子,加入EVM中还不存在的指令。必要的功能无非是能在以太坊上验证一个单步执行的证据。而重执行模式就严格受限于EVM。
交互式证明方法是Arbitrum的设计核心
Arbitrum的大部分设计都是由交互式证明方法所开启的机会驱动的。如果你在学习Arbitrum的特性时疑惑于为什么这种它们要存在,这里有两个简单的思考方向:“这个特性是用来支持交互式证明的吗?”以及“这个功能是是如何利用交互式证明得以实现的”?大部分关于Arbitrum的“为什么”都跟交互式证明有关。
想了解更多?看看InsideArbitrum。
原文链接:
https://medium.com/offchainlabs/interactive-fraud-proofs-arbitrums-secret-sauce-debc3b019418
作者:OffchainLabs
翻译:阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。