十、分片的难题 —— 交易有效性
还有个分片难题是交易有效性。交易有效性问题就是防止无效交易进入区块,成为
区块链维护的历史真相的一部分。
举
比特币的例子,假如我是超级大矿工,掌握了大部分算力。我想伪造一笔交易,把别人地址上的比特币转给我,能不能做到呢?答案是做不到。
因为这笔交易没有地址对应的私钥签名,是无效的,包含这笔交易的区块也是无效的,不会被其他节点所接受。即便我掌握了大部分算力,可以挖出最长的链,但也只是构建了一个很长的分叉。
众多的比特币钱包、交易所都不会认可我这个分叉。所以 51% 攻击,并不能把谁的
btc 偷走,或者凭空创造出比特币。最多是双花攻击,双化不展开谈了。总而言之,比特币网络不存在交易有效性问题。
那么这样一个十年前就被完美解决的问题,怎么又会出现呢?原因是 btc 等公链的节点都拥有全部数据,因此能完全独立地验证交易有效性。现在变成了多个分片,节点只存储部分数据,也就无法独立验证交易有效性。
我们看左侧的图,有两个分片,分片 1 已经被恶意的验证人所控制,在 B 区块里打包了无效交易,例如给自己的地址上凭空创造了很多通证。在下一个区块 C,攻击者发起跨片交易,要把通证转到分片 2 上的 DApp,可能是去中心化交易所。分片 2 看到的 C 区块里面的交易都没有问题,而且分片 2 也没有 C 区块之前的数据,所以无法验证交易有效性。
下面我们介绍一个在分片环境下解决交易有效性的方案,叫举报奖励。其实还有别的方案,但跟主题无关,就略去不提。
看右侧图,分片 1 虽然被恶意验证人控制了,但是还有至少一个诚实的验证人。分片 2 不能验证跨链交易的有效性,就选择相信分片 1,打包了跨链交易。这时候分片 1 里的诚实节点可以要跳出来举报,说区块 B 是非法的,我有证据。
系统接受了举报,就会惩罚分片 1 里的恶意验证人,没收他们质押的通证,并向举报者提供奖励。所以为什么有的区块链,验证人要收回质押的通证,都需要等几个月。主要的原因就是给举报和证实举报留出足够的时间。
以上我们介绍了四个分片的难题,和相应的解决方案。
本文为刘毅博士演讲《万字长文说透 Polkadot 架构》的一部分,本文做了节选
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。