科普 | Layer-2 中的有效性证明与错误性证明
引言
在本文中,我们将从错误性证明(Fraud Proof)与有效性证明(Validity Proof)的区别出发,分析和比较不同的 Layer-2 可扩展性方案。我们断言,相较之下,有效性证明在根本上具有优势,因为有效性证明方案保证了只有合形式的状态转换才会被接受。
背景
在最近几个月,基于证明的以太坊可扩展性方案——比如 Truebit、Gluon Plasma、dFusion、Roll-Up 以及 Ignis 这样的项目——开始浮出水面,让人颇为激动。这些项目背后的理念很简单:与其给区块链写入很多交易,不如产生一个证明(例如一条哈希值),可以简洁地表示这些交易,进而表示出新的状态。
上面提到的所有项目都是 Layer-2 方案:它们定义了一种运行在 Layer-1 上的协议(和逻辑),并且基于这些协议来提供多种服务:存储资金/取出资金、一个根据链下状态时时更新的账本,并作为一种 “全局时钟” 而运作。重要的是,这些协议没有嵌入 Layer-1,因此 Layer-1 也无法强制执行任何 Layer-2 的逻辑。
在此,我们想展开一种框架来比较这些方案,尤其是关注 “错误性证明” 与我们所谓的 “有效性证明” 之间的区别。错误性证明和有效性证明不是 Layer-2 的专利,在 Layer-1 上也可以存在,但当前大家仅在 Layer-2 上做尝试,因此我们的分析也都基于 Layer-2 方案。
错误性证明即表示某个状态转换不正确的证据。这种方案反映了一种乐观的态度:假设 区块上表示的 Layer-2 状态都是正确的,除非有人能证明不是。实际上,提交到链上的区块也很有可能包含着一次不合逻辑的状态转换。
有效性证明即表示某个状态转换正确的证据。这种方案的态度更为消极:当且仅当某个状态是正确的,区块才应该包含代表相应 Layer-2 状态的值。
在继续推进分析之前,有必要强调的是:证明系统(例如 SNARK、STARK)既可以被用作错误性证明,也可以用作有效性证明。我们不应该混淆证明的方式(例如,SNARK、STARK)和证明的目的(错误或是有效)。
深度分析
错误性证明
错误性证明的主要优点是无需为每一次状态转换都提供证明,只在系统需要中断的时候提供。因此,错误性证明方案需要的计算资源更少、更适合可扩展性受限的环境。这种方案的主要缺点则来源于其非交互性:它定义了多方之间的 “会话”。一次会话要求各方——尤其是断言状态转换有误的一方——必须在线(系统要具备活性),并且允许其它方用多种方式打断会话。但问题的核心是:协议会将沉默(即挑战者的缺席)视为默示的同意。实际上,攻击者完全可以尝试用 DDoS 攻击制造出表面的沉默。
概念上,错误性证明方案可以表述如下:因为区块有可能包含不正确的状态转换,错误性证明协议设定了一个时间框架——纠纷时间窗口(DTF)——来处理不正确的状态。这一窗口的长度也是用区块数量来定义的。如果在纠纷时间窗口内无人提交错误性证明,相应的 Layer-2 状态转换就会被认为是有效的。如果有人向智能合约提交了错误性证明,而且经证明是正确的(即,在窗口期内提交,并且证明了某个状态转换是不合逻辑的),则(至少)智能合约会将 Layer-2 状态回滚到最后一个正确状态。除此之外还可能实施对作恶一方的惩罚,等等。
DTF 时间长度的选择很重要:DTF 时间越长,发现错误状态转换的几率就越高——听起来很棒。但同时,时间越长,用户需要等待的时间也越长(比如需要取款的时候),这就是一个副作用了。
有效性证明
有效性证明总体上说更为简单:向一个智能合约发送一些链下计算已然发生的证据。智能合约仅在一个新值被证明为正确之后才更新区块链。有效性证明的主要优点是区块链上总是能反映出一个正确的 Layer-2 状态,而且一个新状态可以即时使用。而主要缺点就是每个、每次状态转换都需要一个证明,不单单是状态转换受到质疑时才需要提交证明,这就影响到了其可扩展性。
51% 攻击
在多种可能的攻击方法中,我们主要关注 Layer-1 上的 51% 攻击。最近 51% 攻击频发,连以太坊经典也未能幸免。那么错误性证明和有效性证明如何应付这种攻击呢?
错误性证明:一场 51% 攻击会在区块链中引入一个欺诈性的状态,比如从交易所中 “偷取” 一些资金。细节如下:
攻击者用一个欺诈性的状态转换创建了区块 BlockFr。例如,区块中包含了一笔交易,将交易所中所有的资金转移到攻击者的账户。 在 BlockFr 之后,他们还会接上 DTF 区块,以一个包含取款交易的区块告终(取款交易会取出攻击者从 BlockFr 区块中得到的所有资金)。 然后他们在 DTF 区块后面继续生成区块,直到超过当前链成为更长的链。他们能这么做是因为他们掌握了 51% 的算力 难搞的是,发动这样一场攻击的运营成本跟 “奖金” 规模(即受攻击的交易所控制的金额)无关(在撰文此时似乎相当低:在以太坊上发动攻击只需每小时 10 万美元)。这就意味着,随着密码学货币交易所的体量上升,攻击交易所会越来越有吸引力。
我们提议的解决方案
结论
(完)
(文内提供了许多超链接,请点击阅读原文到 EthFans 网站上获取)
原文链接:
https://medium.com/starkware/validity-proofs-vs-fraud-proofs-4ef8b4d3d87a
作者: Avihu Levy & Uri Kolodny
翻译: 阿剑
你可能还喜欢: