风险提示:请理性看待区块链,树立正确的货币观念和投资理念,不要盲目跟风投资,本站内容不构成投资建议,请谨慎对待。 免责声明:本站所发布文章仅代表个人观点,与CoinVoice官方立场无关

Polkadot 系列谈之八 | 如何防止侧链作恶?

加密谷Live
2019年07月02日

Polkadot 是被誉为“以太坊隐形大脑”的 Gavin Wood 领军的项目,是 Web3.0 版图上不可或缺的板块。

Polkadaot 独特的跨链机制旨在将当下各自独立的区块链网络串联起来,让不同链间可以进行通信和数据传递,或将成为下一代价值互联网的基石。

除了更为宏大的区块链技术框架,在实现更公平的点对点数字交易等方面,Polkadot 都意义非凡。

加密谷长期关注 Polkadot 项目,此前曾从不同维度对其进行过深度介绍。我们将持续关注项目发展进程,陆续刊载系列文章,敬请期待。

“系列谈”此前篇目请见:

《独家编译 | 区块链互操作性深度解读:Cosmos vs.
Polkadot (上)》

《独家编译 | 区块链互操作性深度解读:Cosmos vs.
Polkadot (下)》

《独家深度 |
一文读懂七大区块链项目基金会运作模式》

《Polkadot 系列谈之一 |
「地表最强」跨链项目的缘起与沿革》

《Polkadot 系列谈之二 | 一文读懂 Cosmos 和 Polkadot
五大差异》

《Polkadot 系列谈之三 |
跨链机制或将引发去中心化应用的第三次浪潮》

《Polkadot 系列谈之四 | NPoS 创新共识下的 Staking
经济》

《Polkadot 系列谈之五 | 波卡创始人 Gavin Wood
眼中的加密世界》

《Polkadot 系列谈之六 |
波卡白皮书深度解读:
一种异构多链架构的畅想》

《Polkadot 系列谈之七 |
波卡平行链的插槽设计》

跨链治理

  • Cosmos

根据 Cosmos 官方资料,主网启动之初,网络状态和安全性无法得到足够的保障,在启用通证转账之前,如果 Cosmos Hub
中存在错误或漏洞,有可能会出现状态回滚或者重启网络。

在主网足够稳定安全之后,Cosmos
Hub 中通证 ATOM 的持有者将会投票决定是否开启 ATOM 链上转移,这一部分也会通过区块链上投票治理的方式实现。如果第二阶段开启后,用户将可以转移 ATOM,同时交易所也将可以对 ATOM
进行充提,更多的人可以购买 ATOM,并参与到委托验证人出块的环节。

待 IBC (链间通讯)协议完成测试并发布后,ATOM 持有者同样需要链上治理来进行投票是否将其整合到 Cosmos-SDK 中。目前,IBC 还没有在 Cosmos 主网真正实施,有待进入第三阶段。因此,IBC
现在还是一个验证性的原型,需要更多地优化。在进行网络环境测试时,还需要认真严谨地对复杂的分布式环境进行验证,才能真正投入到主网上使用。

  • 波卡 Polkadot

在 Polkadot 架构中,主链叫做中继链(Relaychain,相当于 Cosmos 生态里的 Hub ),网络中基于 Polkadot
发行的链,叫做平行链(Parachain),其安全和治理都由 Polkadot 的中继链来支持,而 Cosmos 各链都由自己独立治理。

相比于大多数 PoS 公链中只有委托人与验证者两个角色,Polkadot
设置了“验证人(validator)”、“提名人(nominator)”、“校对人(collator)”
和“渔夫(fishermen)”四种角色。新增的校对人与验证人互相辅助,生成有效的平行链区块。

此外,校对人还需对未封装的块进行零知识证明,并将其提供给一个或多个负责向中继链提交平行链区块的验证人。渔夫则是赏金猎人,监督验证人与校对人的作恶行为,通过举报寻求大笔奖励。

Polkadot 的治理机制相对复杂。除了全民公投以外,还引入了一个链上“委员会”的概念。这个委员会很可能从大约 6 人开始,并会在 9 个月内增加到 24
人(大概每两周增加一个人)。所有成员都有固定任期(12 个月),每个成员都通过批准投票选出。

  • 本体 Ontology

本体的多链设计采用双层结构,Ontology
作为当前的主链,负责侧链的注册以及资产抵押等事项。侧链既可以是与主链架构相同的同构链,也可以是异构链。侧链需要向主链进行注册,等待主链治理委员会审核通过后,即可激活与主链或者其它侧链间的跨链交互。

本体侧链在向主链注册时,需要抵押一定量的 ONG 资产防止其作恶,并需要提交该侧链的创世块区块头等基本信息。从注册伊始,直至侧链需要从主链退出时,本体
Relayer
都会实时监听侧链的情况,若监听到当前区块头的 StatesRoot 与实际运行的 StatesRoot 不符,可立即提交该证明到主链中,获得相应的激励。

Ontology 主链、各条同构侧链及异构侧链形成整个链网体系,在这个体系中,使用 ONG 作为统一的燃料手续费和矿工费。

侧链注册时,需要抵押一定量的 ONG 资产。在侧链初始化时,需要向主链发起注册请求,并提交侧链的区块头信息,该信息中包含验证人等要素。若共识周期切换验证人信息发生变更时,侧链需要提交包含新验证人集合的周期切换区块头信息,来对旧的验证人信息进行变更。同理,其他异构链的跨链也可以采用同步某些关键区块的方式完成更新。

在本体主链的共识治理模型中,网络每隔一定数量的区块更换一次共识节点,但在一个共识周期内,验证者集合保持不变。因此,如果侧链是同构链,那么链区块头同步过程不需要同步所有区块,只需要同步关键区块和跨链交易发生的区块即可。

主链与侧链的跨链交互:当 dApp 来处理主链与侧链的跨链交互时,dApp 合约先处理其在源链上的逻辑,需要跨链时才调用跨链管理合约的接口。Relayer 将状态信息的证明同步给目标链后,dApp 将继续处理其在目标链上的逻辑。

举个例子,若 A 链发起了一笔跨链交易到 B 链,则用户需要锁定一定的 ONGx 作为矿工费在 A 链的跨链管理合约中。Relayer 在完成跨链操作后,就可拿到 B
链的成功跨链记录。

这种保证金方式、交易过程中的监听程序、侧链退出时设立挑战期等机制,其实和我们在网上通过第三方平台购物的规则类似:交易前押金、交易中监控、交易后验证。可见,本体在跨链交易的安全性方面做了很多考虑。

** 如何防止侧链作恶**

跨链交互中涉及一个重要问题,就是如何防止侧链验证人集体作恶,这事关整个区块链的安全。

在 Cosmos 中,侧链是各链自治,侧链验证人的选举由侧链自己决定;在 Polkadot
中,侧链验证人的管理由主链“中继链”决定。但无论验证人选举是自治还是统一,都面临一个根本性的挑战:这些侧链验证人不一定都可靠。如果跨链交互的资产实际价值大于验证人抵押的实际价值,他们就会有足够的动力去作恶。

例如,某个 dApp 的开发者同时在主链和侧链上部署了智能合约,希望进行跨链的资金交互。当该 dApp
的用户将一部分资产转移到侧链后,侧链验证人可以直接将这部分资产转移到自己的名下,然后转移到主链上去,并在交易所卖掉这部分资产。

当然,在这种情形下,侧链验证人在主链抵押的保证金会赔付给用户。但是,如果侧链验证人抵押的保证金小于转移的这部分资产的价值,侧链验证人很有可能会采取集体作恶的方式来获得这部分的额外收益。

  • 作恶方式

现有的跨链方案大都采用梅克尔树证明的方式:即侧链在每一个区块中生成当前区块中所有交易产生状态的 States Root,侧链验证人会对该 States
Root 进行签名。

当有跨链交易发生时,通过验证该 States Root
即可验证跨链状态的合法性。如果侧链验证人发现用户跨链交互的资产实际价值大于这些验证人抵押资产的实际价值,那么侧链验证人可以基于当前区块伪造一个 States
Root,即无视当前区块的执行结果,强行构造一个对自己有利的 States Root,从而窃取用户锁定在主链上的资产。

那么,是否可以实现,即使侧链被恶意矿工或节点控制,用户依然可以利用主链的安全机制来保证自身安全呢?

** 防止侧链作恶的机制探索**

验证人作恶是通过集体在当前区块构造虚假的 States Root,区块中的交易因为无法伪造用户签名并不能被改变。

我们可以看到,在 Cosmos 中,Hub 的矿工不对 Zone
的安全负责,或者说不对整个系统的安全负责。这会导致一个问题,如果跨链交互的过程两条链交互的资产价值大于某一条链抵押的价值,会发生验证人集体作恶而窃取资产的情况发生。所以,Cosmos 可能更适合可信的公链间的信息交流。

而在 Polkadot 中,有“验证人”、“提名人”、“校对人”
和“渔夫”四种不同的角色在维持网络安全。在一个可能的实现里,验证人可能会被拆分成“基础验证人”和“可用保证人(guarantor)”,各分片的验证人由主链统一分配。但因为各分片的验证人需要有所有分片的全量账本,数据的存储量会比较大。此外,如果跨分片交互的过程中,两个分片交互的资产价值大于该分片的验证人在主链上抵押的价值,还是会发生验证人集体作恶而窃取资产的情况。

针对验证人作恶,本体提出的解决方案是设置一个“挑战期”。在挑战期内,若发现某一笔交易作恶,Relayer
可以提交该交易状态的上一个状态、当前区块交易、合约源码去虚拟机中运行,通过比较运行结果的 States Root 与区块中包含的 States
Root,验证该 States Root 是否合法。同时,不管是否有跨链交易发生,Relayer
都会实时监听侧链状态,如果监听到当前区块头的 StatesRoot 与实际运行的 StatesRoot 不符,可立即提交该证明到主链中,获得相应的激励。

当然,该方案的验证过程比较复杂,特别是对于异构链而言,而且挑战期机制妨碍了用户体验。本体应该会在这一设想的基础上继续研究更为高效、可行的解决方案。

防止侧链作恶这一问题对区块链跨链至关重要,但当前还未找到完美的解决方案。我们相信,随着技术实践和探索,业界会逐步摸索出轻量级、低耦合、安全可靠的多链体系和跨链解决方案。

Sonny Sun 作者


Roy 排版

内容仅供参考 不作为投资建议 风险自担

版权所有 未经允许 严禁转载


☟ ☟☟


声明:本内容为作者独立观点,不代表 CoinVoice 立场,且不构成投资建议,请谨慎对待,如需报道或加入交流群,请联系微信:VOICE-V。

评论0条

加密谷Live

简介:分享区块链领域专业、前沿、有趣的内容

专栏

更多>>