STA:侧链虽好 最好与其他方案搭配使用

声明:此处表达的看法仅仅是我的个人意见,并不代表我的雇主或者其他人也是一样的看法。

感谢AlbertNi的阅读和评论。

引言

Layer-2对以太坊的重要性与日俱增,而且已成共识。

但是,“Layer-2”是个不精确的标签。有些人说起“Layer-2”时,仅仅指的是“不在以太坊Layer-1”。但实际上,方案到底怎么跟以太坊Layer-1交互,是非常重要的。同属“Layer-2”名目下的不同方案,特性可以有天壤之别。可以争议“Layer-2”应该专指具备特定属性的某些东西。不过,这不是我这里要讲的主题。

我在这里要讨论的是侧链的属性。

侧链的基本含义是:由一组验证者,把一条链的最新状态提交给一个智能合约,如此推进的一类系统。这些检查点可被一个桥接合约使用,以支持用户的存款和取款。一般来说,在该组验证者之间也会有一个领袖选举流程,来决定某时某刻由谁来创建侧链区块;例如PoA权威证明算法和PoS算法。

以太坊侧链Gnosis Chain集成Balancer:3月23日消息,以太坊侧链Gnosis Chain的生态系统团队Gnosis Builders宣布集成DeFi协议Balancer。这一集成为Gnosis Chain带来了深度流动性,并将允许用户使用Balancer App和DeFi收益率助推器Aura等应用程序部署资金。

GnosisDAO与Karpatkey合作推动了集成,并将成为流动性池的第一个采用者。(PR Web)[2023/3/23 13:20:26]

侧链在以太坊生态中也扮演着重要的角色。在研究人员还未开发出更好的方案之前,它们是可扩展性和可用性的临时解决方案。像xDai这样的产品,也点出了大家对更好的用户体验的需求,并使之扩散了开来。

但是,侧链并不具备广大的以太坊社区所期待的安全性。这不是说永远不该使用侧链这种方案。如果人们完全知情,但是愿意用,那是他们自己的选择,也可能是值得的。但如果人们是不知情的,那就危险了。本文是希望提供一些信息。如果每个人都已经完全知晓了这些特性,那我这再写一篇也无伤大雅。但如果这文章能帮助大家意识到自己的误解,那就算做了好事了。

mStable已集成以太坊侧链扩容方案Polygon:4月17日消息,稳定币聚合协议mStable发推称,mStable已集成至以太坊侧链扩容方案Polygon。

注:mStable是一个可以通过注入其他稳定币(如DAI、USDT、USDC),以铸造mStable协议中稳定币(如mUSD)的智能合约系统,使用者也可以销毁mUSD以赎回其他稳定币,并付出一部分赎回费。[2021/4/17 20:31:29]

那么侧链到底缺少了哪些安全特性?几乎所有的侧链,都不能够提供:

审查抗性

终局性

资金所有权保证

如果这些特性你全都要,那你可能得另找方案来代替侧链了。当然,也有可能在维持侧链核心架构的前提下改进具体方案在这些维度上的表现。

我觉得开放性的讨论对大家都有好处。

审查抗性

显然,侧链的审查抗性比区块链要弱。不然,那也根本不需要区块链了。但这里我们挖得再深一些。

比特币侧链Liquid联盟新增6个新成员:1月12日消息,比特币侧链Liquid联盟Liquid Federation已新增6个新成员,分别为比特币网络钱包Coinos、加密托管机构Komainu、网络隐私公司Nym、区块链开发公司Vulpem Ventures、经纪商Watchdog Capital和Liquid网络结算平台sidewap。截至目前,Liquid Federation拥有59个成员(Cointelegraph )。[2021/1/12 15:58:16]

如果某条侧链有N个验证者,而只要有M个验证者一致同意就可以审查任意一笔交易,那么只需要(N-M)个验证者联合起来,就可以审查一个区块。这就导致了一个有趣的两难:要让审查交易变得更难,就会让审查区块变得更简单。因为审查交易和审查区块都是糟糕的事情,所以侧链就在根本上不能获得强健的审查抗性。

这种担忧在使用PoS时也依然存在,甚至按权益来计算出块权重会让它变得更糟糕,因为达成阈值的独立实体数量可能会更低。

加密游戏CryptoWars不再使用Loom运营的Plasma侧链:金色财经报道,Experimental Games的加密游戏CryptoWars已不再使用Loom运营的Plasma侧链。该公司首席执行官Matias Nisenson表示,在CryptoWars推动的活动下,Loom多次崩溃。Loom前首席执行官Matthew Campbell则表示,CryptoWars在Loom上运行良好,平台对其进行了很好的处理,[2020/4/28]

数据可得性保证

假设只要(N-M)个验证者就可以创建一个区块。再假设所有其他验证者需要拥有整个状态的数据才能够验证新状态。那么,只要(N-M)个验证者是恶意的,他们可以:

创建一个新区块

拒绝与诚实验证者共享区块数据

本质上就是将N-(N-M)=M名诚实验证者移出了共识过程,因此完全掌控了整个系统

这种情况发生的可能性有多大呢?显然需要更具体的细节才能下结论,但我们可以这样开始思考:一个理性的验证者,要跟其他人共享数据的激励在哪里呢?在传统的权威证明机制中,不这样做可能对声誉有损。但是,其实声誉机制也很难起作用,因为实际上并没有办法证明数据被扣起来了,除非其他人把所有数据都放到了链上。觉得这个解决方案听起来像是optimisticrollup?没错,就是如此。这也意味着,带有更好安全性的侧链,本质上就“退化”成了optimisticrollup。

动态 | EOS多链生态随着侧链的推出将会更加繁荣:IMEOS在面向全球 EOS Token 持有者的在线直播大会上发表“EOS多链生态繁荣”主题演讲。

当前EOS的分叉可以分为两类:主链分叉和代码分叉,其中基于EOSIO代码分叉已经有多条,并且在不断持续增加。而对于侧链技术,目前社区正在等待官方的更多细节,侧链将会承认EOS持有者的所有权益并且由同一组BP维护;侧链最大的特征是双向锚定(two-way-peg)技术,它使得在侧链流通的Token价格总是与EOS价格保持一定比例或者直接采用EOS。

我们更应该关注链的使用价值而非价格,随着侧链技术、跨链通讯的推出,EOS的多链生态会更加繁荣。[2018/8/15]

在大多数侧链方案中,验证者可以因为自己的工作而获得某种形式的支付。对于诚实的验证者,奖励会在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技术的成熟,项目的权衡范围也会改变,因此,现在是反思侧链属性及其相关取舍的好时机。

原文链接:

https://ethresear.ch/t/understanding-sidechains/8045

作者:?barryWhiteHat

翻译:?阿剑

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

地球链

[0:0ms0-0:605ms