侧链并不具备广大的以太坊社区所期待的安全性。
引言
Layer-2对以太坊的重要性与日俱增,而且已成共识。
但是,“Layer-2”是个不精确的标签。有些人说起“Layer-2”时,仅仅指的是“不在以太坊Layer-1”。但实际上,方案到底怎么跟以太坊Layer-1交互,是非常重要的。同属“Layer-2”名目下的不同方案,特性可以有天壤之别。可以争议“Layer-2”应该专指具备特定属性的某些东西。不过,这不是我这里要讲的主题。
我在这里要讨论的是侧链的属性。
侧链的基本含义是:由一组验证者,把一条链的最新状态提交给一个智能合约,如此推进的一类系统。这些检查点可被一个桥接合约使用,以支持用户的存款和取款。一般来说,在该组验证者之间也会有一个领袖选举流程,来决定某时某刻由谁来创建侧链区块;例如PoA权威证明算法和PoS算法。
美股区块链概念股涨跌互现,SOS涨4%:行情显示,美股区块链概念股涨跌互现,SOS涨4%,英伟达涨2%;嘉楠科技、亿邦国际跌超2%,Riot Blockchain跌1.9%。[2021/7/22 1:10:01]
侧链在以太坊生态中也扮演着重要的角色。在研究人员还未开发出更好的方案之前,它们是可扩展性和可用性的临时解决方案。像xDai这样的产品,也点出了大家对更好的用户体验的需求,并使之扩散了开来。
但是,侧链并不具备广大的以太坊社区所期待的安全性。这不是说永远不该使用侧链这种方案。如果人们完全知情,但是愿意用,那是他们自己的选择,也可能是值得的。但如果人们是不知情的,那就危险了。本文是希望提供一些信息。如果每个人都已经完全知晓了这些特性,那我这再写一篇也无伤大雅。但如果这文章能帮助大家意识到自己的误解,那就算做了好事了。
那么侧链到底缺少了哪些安全特性?几乎所有的侧链,都不能够提供:
审查抗性终局性资金所有权保证如果这些特性你全都要,那你可能得另找方案来代替侧链了。当然,也有可能在维持侧链核心架构的前提下改进具体方案在这些维度上的表现。
声音 | 欧洲议会议员Alfred Sant:目前不应匆忙为区块链技术制定欧洲法律框架:据Independent消息,马耳他前总理、欧洲议会议员Alfred Sant告诉欧洲议会,马耳他在通过国家层面建立的监管框架推动区块链技术方面处于领先地位。Alfred Sant表示,他同意法国Le Maire部长关于区块链技术在广泛领域的积极影响,特别是对消费者和公民的影响。他补充说,欧洲法律框架应考虑到所有现有的国家体系。我们必须考虑到这样一个事实,即区块链技术仍需要时间来进一步发展,目前不应匆忙建立一个欧洲框架,因为这会危及发展和创新进程。[2019/4/18]
我觉得开放性的讨论对大家都有好处。
显然,侧链的审查抗性比区块链要弱。不然,那也根本不需要区块链了。但这里我们挖得再深一些。
动态 | IBM区块链中国区业务总监透露其区块链布局战略:据火讯财经消息,IBM区块链中国区业务总监马世韬接受谈时表示,IBM区块链战略重点总结为,1. 继续投资:与Linux基金会不断投入、深化与社区合作,确保超级账本项目是一个开放标准、开源平台和开放治理的区块链技术协议联盟,进而推动企业级区块链快速稳定发展。2. 通过IBP,在安全的区块链平台云上提供开发服务和产品级特性,助力企业和行业用户快速构建并管理运营区块链商业网络。3. 通过咨询服务团队,提供解决方案来帮助行业用户进行业务流程变革,助力行业构建和运营企业级商用区块链网络。4. 通过咨询服务、培训支持和提供合作服务进而构建区块链繁荣的生态系统。[2018/10/27]
如果某条侧链有N个验证者,而只要有M个验证者一致同意就可以审查任意一笔交易,那么只需要(N-M)个验证者联合起来,就可以审查一个区块。这就导致了一个有趣的两难:要让审查交易变得更难,就会让审查区块变得更简单。因为审查交易和审查区块都是糟糕的事情,所以侧链就在根本上不能获得强健的审查抗性。
行情 | A股开盘:区块链板块开跌1.94%:A股开盘,区块链板块整体下跌1.94% 。84只概念股中,5只上涨,77只下跌,2只平盘。涨幅前三为:航天信息(+0.66%),先进数通(+0.36%),嘉泽新能(+0.26%);跌幅前三为:东旭蓝天(-7.50%),汇金科技(-6.67%),信息发展(-4.09%)。[2018/10/19]
这种担忧在使用PoS时也依然存在,甚至按权益来计算出块权重会让它变得更糟糕,因为达成阈值的独立实体数量可能会更低。
数据可得性保证
假设只要(N-M)个验证者就可以创建一个区块。再假设所有其他验证者需要拥有整个状态的数据才能够验证新状态。那么,只要(N-M)个验证者是恶意的,他们可以:
创建一个新区块拒绝与诚实验证者共享区块数据本质上就是将N-(N-M)=M名诚实验证者移出了共识过程,因此完全掌控了整个系统这种情况发生的可能性有多大呢?显然需要更具体的细节才能下结论,但我们可以这样开始思考:一个理性的验证者,要跟其他人共享数据的激励在哪里呢?在传统的权威证明机制中,不这样做可能对声誉有损。但是,其实声誉机制也很难起作用,因为实际上并没有办法证明数据被扣起来了,除非其他人把所有数据都放到了链上。觉得这个解决方案听起来像是optimisticrollup?没错,就是如此。这也意味着,带有更好安全性的侧链,本质上就“退化”成了optimisticrollup。
中国2017年区块链技术专利申请数量居世界第一:据金融时报报道,世界知识产权组织(WIPO)在2017年收到的区块链技术专利申请中,中国申请量最多。汤森路透从该组织收集的数据显示,2017年406项专利中有一半以上来自中国:该国提交了225项区块链专利,其次是美国(91)和澳大利亚(13);区块链专利排名前9位申请人中,中国公司占6位。[2018/3/26]
在大多数侧链方案中,验证者可以因为自己的工作而获得某种形式的支付。对于诚实的验证者,奖励会在N个验证者之间共享。对于不诚实的验证者,同样多的奖励只会在N-(N-M)=M个验证者之间共享,所以验证者完全有激励不跟其他人分享更新后的状态。
在这里,有一个根本性的难题:很难辨别数据可得性攻击。对于诚实验证者来说,很难分辨出,到底是有人发动了攻击,还是自己遇到的同步问题。
假设状态转换的流程如下:
state1=>state2=>state3
而每一次的转换都需要一些交易在已有的状态上生效从而改变状态。而终局性就是说,交易一旦生效,就不能撤销。
侧链的检查点,经过侧链验证者的共识之后发送到以太坊区块链上,并根据以太坊的共识机制被固化下来。有些人可能因此就认为,侧链的终局性等同于以太坊的终局性;要回滚侧链的区块,你也需要回滚以太坊的区块。但这完全搞错了。
因为终局性是说不能回滚交易,不是说不能用新状态来替代旧状态。只要(N-M)个验证者同意,他们可以执行如下的状态转换:
state1=>state2=>state1
侧链资金所有权保证
假设现在的state1={Alice:1000,Bob:0}。即Alice有1000块,而Bob啥也没有。那如果Bob是恶意的,而且控制着POA验证者中的绝大多数,他可以怎么做?
他可以执行一个状态转换,state1=>state2,而state2={Alice:0,Bob:1000}。也就是偷走Alice所有的钱并交给Bob。
因此,侧链的防御就减弱为,不会有(N-M)个验证者同意去执行这样的非法状态转换。
这已经是众所周知的事,但我认为还是有必要提醒大家。你对一条侧链的信心,只能是相信验证者中的大多数不会干这样的事情。对侧链的大部分安全分析都应该关注这一点。
可能还是有某些人你可以在某种程度上信任他们。就像我们中的许多人都中心化的服务提供商。有时候这种牺牲是值得的。重要的是,你得清楚这是一种权衡。
使用治理程序作为防御手段的问题
有一种说法是:”我们可以使用治理程序来解决上面提到的所有问题“。这种方法是有缺陷的,因为整个系统会退化为一个治理流程。这种说法格外使我担心的一个理由是,它意味着侧链的其他属性是剧院。举个例子,如果治理流程才是防范上述问题的最终手段,那也就意味着,什么PoS、PoA,统统都不重要。系统的治理流程才是真正的PoA。而且,很明显,对系统的治理流程,同样可以发动一模一样的攻击。
侧链的特性在哪里可能特别有用?
除了侧链的一些附加属性,比如更快的区块时间,确实有一些场合,是侧链的特点可以大放异彩的。比如:
你就是想要N-M个验证者就能执行任意状态转换。希望有一个高级控制权限的企业应用就是一个例子。M=0,且N个验证者可以执行任意状态转换的情况。例如,一个四方参与的游戏。不过问题是,1个验证者就可以关停这条链。结语
曾经,侧链是在保持一定水平的以太坊可组合型和互操作性的前提下,唯一可用的方案。现在,随着别的一些Layer-2扩展方案的成熟,是时候考虑侧链如何与其他方案更好地结合了。
有一些属性,很适合让侧链加以整合:
实现不收费的大规模迁移,保证用户不会因为费用而被卡住,无法退出。将领袖选举机制替换为其他具备更强审查抗性的方案需要协调器来处理链上两个状态的差异。加入错误性证明来防止非法的状态转换。随着optimisticrollup和optimisticVM技术的成熟,项目的权衡范围也会改变,因此,现在是反思侧链属性及其相关取舍的好时机。
文:以太坊爱好者
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。