数字货币行情-比特币行情价格_专注数字货币行业大数据分析

科普 | Layer-2 中的有效性证明与错误性证明

更新时间:2021-07-20 22:26点击:

结论

错误性证明

错误性证明的主要优点是不需要为每一次状况转换都提供证明,只在系统需要中断的时候提供。因此,错误性证明策略需要的计算资源更少、更合适可扩展性受限的环境。这种策略的主要缺点则源自其非交互性:它概念了多方之间的 “会话”。一次会话需要各方——特别是断言状况转换有误的一方——需要在线(系统要拥有活性),并且允许其它方用多种方法打断会话。但问题的核心是:协议会将沉默(即挑战者的缺席)视为默示的赞同。事实上,攻击者完全可以尝试用 DDoS 攻击制造出表面的沉默。

定义上,错误性证明策略可以表述如下:由于区块大概包含不正确的状况转换,错误性证明协议设定了一个时间框架——纠纷时间窗口(DTF)——来处置不正确的状况。这一窗口的长度也是用区块数目来概念的。假如在纠纷时间窗口内无人提交错误性证明,相应的 Layer-2 状况转换就会被觉得是有效的。假如有人向智能合约提交了错误性证明,而且经证明是正确的(即,在窗口期内提交,并且证明了某个状况转换是不合逻辑的),则(至少)智能合约会将 Layer-2 状况回滚到最后一个正确状况。此外还可能推行对作恶一方的惩罚,等等。

DTF 时间长度的选择非常重要:DTF 时间越长,发现错误状况转换的几率就越高——听起来非常棒。但同时,时间越长,用户需要等待的时间也越长(譬如需要取款的时候),这就是一个不良反应了。

深度剖析

在近期几个月,基于证明的ETH可扩展性策略——譬如 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)和证明的目的(错误或是有效)。

有效性证明

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

51% 攻击

在多种可能的攻击办法中,大家主要关注 Layer-1 上的 51% 攻击。近期 51% 攻击频发,连ETH经典也未能幸免。那样错误性证明和有效性证明怎么样应对这种攻击呢?

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

攻击者用一个欺诈性的状况转换创建了区块 BlockFr。比如,区块中包含了一笔买卖,将交易平台中所有些资金转移到攻击者的竞价推广账户。

在 BlockFr 之后,他们还会接上 DTF 区块,以一个包含取款买卖的区块告终(取款买卖会取出攻击者从 BlockFr 区块中得到的所有资金)。

然后他们在 DTF 区块后面继续生成区块,直到超越目前链成为更长的链。他们能这么做是由于他们学会了 51% 的算力

难搞的是,发动如此一场攻击的运营本钱跟 “奖金” 规模(即受攻击的交易平台控制的金额)无关(在撰文此时好像相当低:在ETH上发动攻击仅需每小时 10 万USD)。这就意味着,伴随密码学货币交易平台的体量上升,攻击交易平台会愈加有吸引力。

总而言之,问题的根源在于 Layer-2 解决方法概念了我们的逻辑,而且允许一个区块包含欺诈性的的状况转换。如此一来,攻击者偷盗资金之后的账本状况也会被觉得是一个合法的状况!甚至都没什么双重花费,只不过出现了一桩欺诈。

有效性证明:51% 攻击只能遮蔽已有些账本历史,可能可以提供另一种历史;但要紧的是,这一新的历史也是完全合形式的(correct)。这里所说的攻击范围仅限于在 Layer-1 上可能发动的攻击。在币币交易平台中(特别是那些所有资产都记录在同一条链上的交易平台),覆写历史的勾当有时是一本万利的:比如,一个卖家,可能会非常乐于遮蔽掉一笔时候来看成交价坐落于谷底的买卖,但,在给定区块链上的交易平台中,没方法可以直接吞掉他们的钱。

大家建议的解决方法

假如有这么明显的劣势,错误证明型系统(比如 Gluon Plasma 和 dFusion)还会作为一个选项?

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

在用证明系统以前,免许可系统中唯一一种 “有效性证明” 就是容易重复运算(replay),因此可扩展性大为受限;而且,这种重复计算直到今天天仍在 Layer-1 上用,虽然大家都知道它是可扩展性的一个障碍。证明系统则提供了一种很有吸引力的特质,叫做 简单性(succinctness):为了验证一个状况转换操作,你仅需验证一个证明,而且验证的开销是完全独立于状况转换的计算量大小的(更准确地说,它与状况转换操作的大小是多对数(polylogarithmic)关系)。

Ignis/Roll-up 都基于 SNARK(简单的非交互式常识证明),需要一个受信赖的初始设定,并且相较于 STARK,需要证明者用更多的计算资源。StrakWare 正在努力部署 StarkDEX,为去中心化交易平台提供可扩展性策略;他会用 STARK 来达成有效性证明,大家预计会在 2021 年首季末部署到测试网上。

上一篇:理解 CKB 的 Cell 模型 下一篇:没有了

相关阅读

官方微信公众号