找回密码
 立即注册

扫一扫,登录网站

首页 区块链生态 查看内容
  • 16316
  • 0
  • 分享到

万向区块链蜂巢学院——贾瑶琪:Web3.0落地的必由之路—区块链的可扩展性和互操作性

2020-2-14 22:09

来源: 万向区块链

区块链如何避免这样的攻击呢?


首先,要设立很高的门槛,让攻击者不容易加入到网络中,防止女巫攻击。一个方法就是工作量证明,需要使用特定的矿机做足够时间的计算,才能作为节点提交区块。第二个方法,权益证明。

一旦有了一百个听众(或节点),进行随机分组可以保证听众分到不同的小组。我们需要根据一个什么样的随机数进行分组呢?一种方法是用上一个工作量证明的结果作为随机数将大家分到不同的小组。另外一个方法,在权益证明中,使用随机数生成协议(如VRF),让大家分到不同的分片里面。

如果已经有了比较合理的分组,且每个分组能保证正常节点占绝大多数,那么之后就是如何将上面提到的一千个问题分给不同组。为了保证不同的分片或者整个系统的数据一致性及有效性,我们需要一个方法来防止同一个交易被不同分片处理多次或者同一个数据被改变多次。常用解决方案是用两段式提交协议保证数据一致性。

刚刚讲到网络分片,节点可以安全的分到不同的分片或者链里面,之后的交易也可以分到不同的分片里,然后来进行交易处理,同时保证数据的有效性及一致性。如果做状态分片例如ETH2.0,每个分片有自己的数据存储,不同的分片存储不同的数据,这样会有单个分片数据丢失的风险。

比较直观的解决方法,首先就是通过一些权益奖励,鼓励节点长期在线,而且要做大量交易验证和共识协议来保证不会受到惩罚。如果长期掉线会被移出分片,而且抵押的权益会被系统拿走。当我们有了健壮的分片系统,那么我们可以整合多个分片或者链的吞吐量,从而极大地提升整个系统的吞吐量。

有了分片和多链的方法之后,我们更多想的是对于单链有哪些方法可以进一步提高它的吞吐量呢?更快的解决方法就是通过更改共识协议。目前比特币或者以太坊使用中本聪共识协议,节点通过工作量证明,每过一段时间生成一个区块,并将区块广播给其它节点,其它节点看到这个区块的时候,会选择拥有最长链的区块来进行确认。中本聪共识协议的优点是去中心化和异步。即使有上万个节点在网络里面,而且有不同的网络延迟,中本聪共识协议还是可以很好的在全网达成共识。当然缺点就是吞吐量太低。

拜占廷共识协议(BFT),是学术界产业界常用的共识协议。简单来讲,比如现在我要去买一张票,我要保证现场一百个人中的绝大多数都知道我要买票,大家都同意我买票。我的做法是广播给所有人,我要去买票的信息。其他人收到这样一个消息之后,同意这个信息,再把这个信息广播出去。当每个人收到2/3节点的确认信息之后,再广播一个自己收到绝大都数人确认的确认信息。当每个人收到2/3节点的最终确认信息之后,就确定了全网已经同意并确认买票的这个消息。

版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部