作者:EdFelten
翻译&校对:闵敏&阿剑
来源:以太坊爱好者编者注:原标题为《观点|17万个以太坊和40万个ENS域名》
Rollup是近年来在智能合约可扩展性方面最火爆的想法之一。这个想法已经提出有一段时间了,但是直到最近才有几个团队,其中也包括我们OffchainLabs团队,才开始大力推进。接下来让我们花个几分钟时间,来谈谈什么是rollup,以及不同的方案之间有什么相关性。
Rollup是一种可以对开放式合约进行扩容的通用方法。在Rollup上,对合约的调用及其argument都是作为调用数据写在链上的,但是合约的实际计算和存储都是在链下完成的。有人会在链上发布一个assertion,断言合约将要执行的一系列操作以及执行完成之后合约状态的哈希值。可以认为,这个发布上链的断言将所有的调用和结果都“卷起来”成为单笔发送上链的交易。
不同的Rollup系统有所区别的地方在于确保assertion正确性的方式。这里有三种基本方法:非交互型rollup、一轮交互型rollup和多轮交互型rollup。
Reddit宣布成立Reddit X,将致力于构建区块链等新功能:5月11日消息,Reddit宣布成立Reddit X。Reddit X是致力于为该平台创造新功能的团队,包括音频、聊天、区块链和其他优质产品。Reddit还宣布Adriel Frederick担任Reddit X产品管理副总裁。(Bandt)[2022/5/11 3:05:55]
非交互型Rollup
非交互型rollup依赖于简洁的有效性证明。每个assertion都会附有一个易于验证的证明,以此表明assertion里的计算和结果都是正确的。例如,ZK-Rollup系统使用的是ZK-SNARKs,即,一种易于验证的零知识证明系统。这对于矿工和其他观察者来说很友好,因为验证证明的成本较低,可以立即核实assertion的正确性。但是,零知识证明系统也有一个很大的缺点:除非要断言的交易非常简单,否则创建证明的成本会高得离谱。因此,ZK-Rollup非常适用于支付交易,但是对于复杂一点的智能合约执行来说,效果就没那么好了。
用于智能合约的Rollup
对于复杂的智能合约来说,我们必须采用一种交互式方法。也就是说,如果要将assertion发布到链上,asserter必须缴纳保证金,并且会开放一个时间窗口,如果验证者认为该assertion不正确,可以在窗口期内挑战它。有时这被称为“错误性证明”。如果asserter发布了错误的assertion,就会失去自己的保证金。
声音 | 中国工程院院士方滨兴:区块链的本质决定其应用场景受限:据东方财富网消息,中国工程院院士、中国电子信息产业集团首席科学家方滨兴近日在发表演讲时称,新技术的发展对于网络安全而言既有赋能效应又有伴生效应,因此人们既要应对新技术系统及其承载数据因自身脆弱性而引发的内生安全,也要应对新技术系统及其承载数据的应急,以及威胁外部世界而来的衍生安全问题。方滨兴以区块链技术为例,他表示:“区块链的思想是放弃中心,在一个无中心的环境下,它可以助力安全,但反过来在一个以监管中心为核心的体系里面,它就会助力攻击。现在人们为了真正应用上区块链在全力解决区块链缺乏监管的问题,但是在解决的时候有可能把区块链机制改造成中心制了,而改造成中心制就不叫区块链了,这是区块链天生的缺陷。”[2019/8/22]
一轮交互型rollup又称为“optimisticrollup”,不过这么说有点用词不当,因为所有交互型rollup都是乐观主义的设计。在一轮交互型rollup中,assertion包含每次调用的结果,挑战者会指出assertion中对哪个调用给出的结果是错的。链上合约会模拟执行被挑战的调用,并验证asserter关于这个调用的声明是否有误。如果真的有误,则取消整个assertion,并罚没asserter的保证金。如果一个assertion到挑战期结束为止还没有被挑战成功的话,就会被接受并得到最终确定。
动态 | 中央财经大学联合互链脉搏推出区块链经理人指数 3月份区块链行业整体向好:据新浪财经消息,近日,中央财经大学共识经济学课题组联合互链脉搏共同推出区块链经理人指数——BMI( Blockchain Manager Index),以及配套指数体系。3月份BMI为62.7,大幅高于荣枯线,表明区块链行业整体向好。[2019/4/8]
在多轮交互型rollup中,也设有挑战窗口期,挑战者可以在此期间缴纳保证金,并声明该assertion是错误的。接下来就会触发asserter和挑战者之间的往复交互型协议,并由一个链上合约来充当该协议的仲裁方。最后由仲裁方来决定哪一方有误,并罚没其保证金。这种设计是为了将解决争议所需的链上工作量降至最低,即,在链上仲裁方据实评估合约行为之前,先通过交互型协议尽可能缩小双方之间的争议范围。
一轮交互型Rollupvs.多轮交互型Rollup
归根结底,一轮交互型Rollup和多轮交互型Rollup之间的选择就是在解决争端所需的链上成本和时间之间作出权衡。一轮交互型Rollup需要在链上模拟一次完整的调用,成本可能会非常高——因此,合约所执行的调用会受到以太坊的全局gaslimit的限制。多轮交互型Rollup则不受此限制,它会进一步缩小争议范围,直到可以以较低成本在链上解决该争议为止。通常情况下,多轮交互型Rollup还可以在链上编写较少的数据。
金色财经现场报道CLand联合创始人:区块链技术是一个很大的机遇:金色财经6月3日现场报道,在今天的以太坊技术及应用大会“探索-以太坊与行业生态”圆桌讨论上,CLand联合创始人&CTO Graham Li号召大家来做社区,他说:“我也与其他人聊过,不论是国籍、性别、产业背景,都表现出极大的热情,对区块链技术非常热衷,希望参与到新技术浪潮中。我跟其他的消费者和公司同事聊到区块链时,他们都展现出非常大的热情,希望学习、研究区块链技术,这给我们所有人很大的机遇,让这个事物成为现实,让技术拓展到世界的每个角落,进入行业的每一个分区。”[2018/6/3]
写到链上的内容
一轮交互型Rollup和多轮交互型Rollup都需要编写所有对合约的调用及其数据到链上,这些就是调用数据。但是,二者之间的区别在于,需要放到链上作为assertion的数据不同。通常来说,assertion包含对多个对合约的调用。一轮交互型Rollup需要把每一步哈希值添加到assertion内。如此才能使得每一次调用都可以被单独挑战。相比之下,多轮交互型Rollup只需要在assertion的最后添加整个合约状态的哈希值即可。这样一来,多轮交互型Rollup的链上数据成本会略低一些。
IBM区块链副总裁:IBM正筹备运行着400多个区块链项目:IBM区块链副总裁Jerry Cuomo在14日的美众议院听证会上称,目前IBM正在筹备运行着超过400个区块链项目,横跨了供应链、政府部门医疗保健事务、交通运输业、保险业、化工石油等领域。他还对美国国会应用开发区块链技术提出建议,认为尽管目前在全球范围内,美国的企业在区块链技术开发商占据了领先的地位,但美国政府还需做得更多,去引导区块链。[2018/2/17]
一轮交互型Rollup中的挑战期和最终确定性
在任意类型的交互型Rollup中,系统都必须具备抵御审查攻击的能力。令人担忧的是,攻击者可能会提交一个错误的声明,然后发起审查攻击来阻止所有针对这个声明的挑战被公布到链上,直到挑战期结束,错误的声明被接受为止。对此的解决方案是,确保挑战期比审查攻击的持续时间更长。
鉴于上文对审查攻击的设想,挑战期可能需要很长一段时间。例如,有些系统将挑战期设为一周时间。也就是说,交易被提交之后,需要等待整整一周时间才能得到Rollup协议的确定——直到那时,通过交易完成的付款才算已经发生在链上。
这会造成很大的问题吗?可能比你想象的要少。要想了解原因的话,我们先假设一个有效的assertion已经被发布到了链上,并且正在等待确认。你或是其他任何人都可以核实这个assertion的正确性。而且你知道Rollup协议最后会对有效的assertion进行确认。因此,即使Rollup协议还没有确认某个assertion,但是每个关注它的人都知道这个assertion将会被确认,可以把它当作“已确认过”。他们都知道被确认是迟早的事,因此可以继续推进下去。
举例来说,如果你将会通过这类交易收到一笔付款,且每个人都能够确定这笔付款肯定会发生,因此可以签署这笔付款并将其转让给其他人,被转让人也能确定自己将来肯定会收到这笔付款。这几乎就跟现金一样,唯一的差别是,因为是延迟确认,其价值会等于面值减去一小笔利息。
关键在于,即使在被确认之前,一个有效的交易也可以获得“免信任确定性”。也就是说,任何人都能够确定这个交易会得到确认。
多轮交互型Rollup中的挑战期和最终确定性
在多轮交互型Rollup中也是如此:该协议在设计上可以让有效的assertion具备免信任确定性,因此任何人都可以确定这个assertion一定会得到确认。区别在于,为了确保交易得到确认,你必须准备好参与到该协议中来保护assertion——只要你愿意这样做,你一个人就可以让有效的assertion得到最终确认。
(这里还需要纠正一个误区,即,只要有争议存在,多轮交互型Rollup协议就必须“暂停整个网路”,也就是说,如果有恶意参与方愿意损失押金,就可以一直阻止网络进程。在最新版本的协议中并非如此。各方可以继续发布新的assertion,无论争议是否继续,新的assertion可以获得免信任确定性。只是协议的正式确认被拖慢了而已——这需要攻击者付出巨大代价。)
在多轮交互型Rollup协议中,确认一个assertion需要多久?在通常情况下,如果一个有效的assertion发布之后没人挑战的话,在确认之前就只会经历一个挑战期,就像一轮交互型Rollup那样。
如果出现了特殊情况,即assertion有效但依然遭到了挑战,最终确认会在多轮争议协议的影响下被推迟。挑战者注定会输,并失去保证金,但是会将最终确认的时间推后。这不会影响assertion的免信任确定性,因为所有人一开始就可以判断出该assertion是有效的,还可以在必要之时强制确认有效的assertion。整个网络会继续像往常那样安全运行下去,所有人都知道这种恶意挑战最终会输。
哪种Rollup更适合你?
那么,你应该采用那种Rollup系统呢?如果仅仅用于支付,或是很简单的智能合约,像ZK-Rollup这样的非交互型系统比较合适。
如果你想运行比较复杂的智能合约,就需要从一轮交互型和多轮交互型Rollup系统中进行选择。在通常情况下,这两种系统都需要等待较长一段时间才能对assertion进行最终确认,而且会为有效的assertion提供即时的免信任确定性。一轮Rollup系统的优点是可以抵御“推迟确认”攻击,作恶者无法通过放弃保证金的方式推迟assertion的最终确认。多轮Rollup系统的优点是通常情况下占用的链上空间较小,并且可以处理计算量和存储量较大的合约,不受以太坊gaslimit的限制。
我们OffchainLabs团队认为大多数人都会喜欢链上成本较低且适用性较广的多轮Rollup系统,如ArbitrumRollup,而且多轮Rollup系统的劣势也可以通过增加挑战所需的保证金来补足,以此抵御推迟确认攻击。
我们还认为,多轮Rollup系统很容易正确实施。这就是为什么我们希望接下来的几个月在测试网上提供ArbitrumRollup的功能版本。
记者谢江珊来源:时代周报摘要:未来到底会怎样,现在还不好说。数字货币如果真的发行成功,并且能发挥支付、计价和储值三大功能,肯定就不像今天讨论的这么简单了。数字货币吸引全世界目光.
1900/1/1 0:00:00作者:潘致雄来源:链闻因为专业挖矿设备全面入侵加密货币和区块链平台,越来越多人开始担心所谓的「去中心化」岌岌可危.
1900/1/1 0:00:00MikeBelshe文本文由币信研究院原创编译,原文链接:https://blog.bitgo.com/multi-sig-vs-mpc-which-is-more-secure-699ecef.
1900/1/1 0:00:00撰文:HaseebQureshi,区块链投资机构DragonflyCapital合伙人编译:詹涓剥茧抽丝,一步步说明为什么竞争性的借贷市场对PoS的安全性具有重大影响.
1900/1/1 0:00:00文|新加坡国立大学客座教授与李白金融学院院长白士泮转自:新加坡主流华文报章--联合早报新加坡金融管理局对金融业倾向于平衡与原则监管,创造了一个开放、包容、稳定的金融环境.
1900/1/1 0:00:00作者:白士泮;丁昌选;闫黎编者注:本文原载于新加坡《联合早报》。新加坡《智慧国家2025发展规划》,将新加坡金融业的未来发展描绘成全球领先的创新型智慧金融中心.
1900/1/1 0:00:00