科普 | Layer-2 中的有效性证明与错误性证明_GMT:区块链

引言

在本文中,我们将从错误性证明与有效性证明的区别出发,分析和比较不同的Layer-2可扩展性方案。我们断言,相较之下,有效性证明在根本上具有优势,因为有效性证明方案保证了只有合形式的状态转换才会被接受。

背景

在最近几个月,基于证明的以太坊可扩展性方案——比如?Truebit、GluonPlasma、dFusion、Roll-Up?以及?Ignis?这样的项目——开始浮出水面,让人颇为激动。这些项目背后的理念很简单:与其给区块链写入很多交易,不如产生一个证明,可以简洁地表示这些交易,进而表示出新的状态。

上面提到的所有项目都是Layer-2方案:它们定义了一种运行在Layer-1上的协议,并且基于这些协议来提供多种服务:存储资金/取出资金、一个根据链下状态时时更新的账本,并作为一种“全局时钟”而运作。重要的是,这些协议没有嵌入Layer-1,因此Layer-1也无法强制执行任何Layer-2的逻辑。

动态 | 链客社区联合北京交通广播推出区块链技术科普节目:12月11日15:15—16:00,区块链技术社区——链客区块链技术社区将联合北京交通广播FM103.9从零开始为大众科普解码区块链技术,蜻蜓FM及北京广播网同期进行全球直播。首期做客嘉宾为链客区块链技术社区创始人郄建军和百度区块链产品负责人于雅楠。[2019/12/11]

在此,我们想展开一种框架来比较这些方案,尤其是关注“错误性证明”与我们所谓的“有效性证明”之间的区别。错误性证明和有效性证明不是Layer-2的专利,在Layer-1上也可以存在,但当前大家仅在Layer-2上做尝试,因此我们的分析也都基于Layer-2方案。

错误性证明即表示某个状态转换不正确的证据。这种方案反映了一种乐观的态度:假设?区块上表示的Layer-2状态都是正确的,除非有人能证明不是。实际上,提交到链上的区块也很有可能包含着一次不合逻辑的状态转换。

动态 | 区块链技术入选科普杂志《科学美国人》2019十大突破性技术榜单:据新浪网今日新闻报道,美国科普杂志《科学美国人》公布 2019 十大突破性技术榜单。区块链技术因在保障食品安全中的作用而上榜。 入选榜单具体原因:区块链技术的发展应用将显著改善食品污染源数据追踪的困境。利用区块链云端系统,食品制造商可以依次在计算机储存各类过程的信息。[2019/9/29]

有效性证明即表示某个状态转换正确的证据。这种方案的态度更为消极:当且仅当某个状态是正确的,区块才应该包含代表相应Layer-2状态的值。

在继续推进分析之前,有必要强调的是:证明系统既可以被用作错误性证明,也可以用作有效性证明。我们不应该混淆证明的方式和证明的目的。

深度分析

错误性证明

错误性证明的主要优点是无需为每一次状态转换都提供证明,只在系统需要中断的时候提供。因此,错误性证明方案需要的计算资源更少、更适合可扩展性受限的环境。这种方案的主要缺点则来源于其非交互性:它定义了多方之间的“会话”。一次会话要求各方——尤其是断言状态转换有误的一方——必须在线,并且允许其它方用多种方式打断会话。但问题的核心是:协议会将沉默视为默示的同意。实际上,攻击者完全可以尝试用DDoS攻击制造出表面的沉默。

声音 | 中科院姚建铨:要加快推进区块链与物联网融合的科普 培训:据新华网消息,日前,在区块链与物联网融合发展峰会上,中国科学院院士姚建铨说,关注区块链技术里面的大数据,跟区块链技术结合起来进行测量和检测,能更好地提升激光清洗技术。姚建铨建议,无锡今后要加快推进区块链与物联网融合的科普、培训,正确引导广大人民群众对技术的认知;同时,建立专业、权威,但又普适、成套的理论体系和标准,以此切入区块链的实际应用。[2018/9/18]

概念上,错误性证明方案可以表述如下:因为区块有可能包含不正确的状态转换,错误性证明协议设定了一个时间框架——纠纷时间窗口——来处理不正确的状态。这一窗口的长度也是用区块数量来定义的。如果在纠纷时间窗口内无人提交错误性证明,相应的Layer-2状态转换就会被认为是有效的。如果有人向智能合约提交了错误性证明,而且经证明是正确的,则智能合约会将Layer-2状态回滚到最后一个正确状态。除此之外还可能实施对作恶一方的惩罚,等等。

声音 | 火星人朋友圈科普RAM:火星人在朋友圈发文称,“什么是RAM?简单来说就是EOS这个国家的土地,所有的经济行为都离不开土地。只要EOS的BP们能投票形成一个稳定的供给预期,并且不改变目前的Bancor算法,那么RAM后续的价格有可能会像北上广深的房价走势。房价下跌不行,房价过快上涨也不行,EOS的生态越来越像某国了,真有意思。”[2018/7/6]

DTF时间长度的选择很重要:DTF时间越长,发现错误状态转换的几率就越高——听起来很棒。但同时,时间越长,用户需要等待的时间也越长,这就是一个副作用了。

有效性证明

有效性证明总体上说更为简单:向一个智能合约发送一些链下计算已然发生的证据。智能合约仅在一个新值被证明为正确之后才更新区块链。有效性证明的主要优点是区块链上总是能反映出一个正确的Layer-2状态,而且一个新状态可以即时使用。而主要缺点就是每个、每次状态转换都需要一个证明,不单单是状态转换受到质疑时才需要提交证明,这就影响到了其可扩展性。

中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]

51%攻击

在多种可能的攻击方法中,我们主要关注Layer-1上的51%攻击。最近51%攻击频发,连以太坊经典也未能幸免。那么错误性证明和有效性证明如何应付这种攻击呢?

错误性证明:一场51%攻击会在区块链中引入一个欺诈性的状态,比如从交易所中“偷取”一些资金。细节如下:

攻击者用一个欺诈性的状态转换创建了区块BlockFr。例如,区块中包含了一笔交易,将交易所中所有的资金转移到攻击者的账户。

在BlockFr之后,他们还会接上DTF区块,以一个包含取款交易的区块告终。

然后他们在DTF区块后面继续生成区块,直到超过当前链成为更长的链。他们能这么做是因为他们掌握了51%的算力

难搞的是,发动这样一场攻击的运营成本跟“奖金”规模无关。这就意味着,随着密码学货币交易所的体量上升,攻击交易所会越来越有吸引力。

总而言之,问题的根源在于Layer-2解决方案定义了自己的逻辑,而且允许一个区块包含欺诈性的的状态转换。这样一来,攻击者偷盗资金之后的账本状态也会被认为是一个合法的状态!甚至都没有什么双重花费,只是出现了一桩欺诈。

有效性证明:51%攻击只能遮蔽已有的账本历史,可能可以提供另一种历史;但重要的是,这一新的历史也是完全合形式的。这里所说的攻击范围仅限于在Layer-1上可能发动的攻击。在币币交易所中,覆写历史的勾当有时候是一本万利的:例如,一个卖家,可能会很乐于遮蔽掉一笔时候来看成交价位于谷底的交易,但是,在给定区块链上的交易所中,没有办法可以直接吞掉对方的钱。

我们提议的解决方案

如果有这么明显的劣势,错误证明型系统还会作为一个选项?

主要原因就是提供有效性证明迄今为止都仍是非常昂贵而且繁琐的。

在使用证明系统以前,免许可系统中唯一一种“有效性证明”就是简单重复运算,因此可扩展性大为受限;而且,这种重复计算直至今天仍在Layer-1上使用,虽然众所周知它是可扩展性的一个障碍。证明系统则提供了一种非常有吸引力的特性,叫做?简洁性:为了验证一个状态转换操作,你只需要验证一个证明,而且验证的开销是完全独立于状态转换的计算量大小的关系)。

Ignis/Roll-up都基于SNARK,需要一个受信任的初始设定,并且相较于STARK,需要证明者使用更多的计算资源。StrakWare正在努力部署StarkDEX,为去中心化交易所提供可扩展性方案;他会使用STARK来实现有效性证明,我们预计会在2019年第一季度末部署到测试网上。

结论

本文比较了错误性证明和有效性证明作为Layer-2可扩展性方案的工具价值。我们强调了有效性证明应对51%攻击的内在优势。而STARK,因为证明时间更快,而且验证简单、无需受信任的初始设定,是一种生成有效性证明的有力工具。

感谢DanRobinson、LindaXie、AlexeyAkhunov以及GeorgiosKonstantopoulos审读本文的初稿。

原文链接:?https://medium.com/starkware/validity-proofs-vs-fraud-proofs-4ef8b4d3d87a作者:?AvihuLevy&UriKolodny翻译:?阿剑

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

金智博客

[0:0ms0-3:966ms