「区块链」移除区块头,能优化网络吗?| 三分钟入门Neo3

原创 半岛弥音  |  文章来源:币圈达人发布时间:2020-05-24 01:45  阅读 138 次 评论 0 条
众人帮 趣闲赚 牛帮
摘要:

「状态根」系列已正式完结。今天的「三分钟入门Neo3」将开启「区块同步」系列,深入「网络优化」主题,介绍 Neo3 中优化区块同步的实施思路。区块同步
区块同步是指全节点从区块链网络中请求并接收区块数据的过程。由于全节点只有在完全同步后才能

「状态根」系列已正式完结。今天的「三分钟入门Neo3」将开启「区块同步」系列,深入「网络优化」主题,介绍 Neo3 中优化区块同步的实施思路。

区块同步

区块同步是指全节点从区块链网络中请求并接收区块数据的过程。由于全节点只有在完全同步后才能验证并与网络进行交互,因此这种机制往往能够决定全节点运行方对该链的初体验。

与大多数区块链一样,当前 Neo 网络上的节点使用区块头优先的方法同步新区块。即在请求任何区块数据之前,节点可以通过共享区块头信息获取关于所请求区块的同一页信息。区块头存储着有用信息,如版本信息、区块索引、上一个区块的哈希以及共识节点公钥信息等。

区块头优先同步模式

通常,大多数区块链网络都依赖于工作量证明机制(PoW)或者权益证明机制(PoS)。该机制在任何时候都可能发生区块链的多个版本(即分叉)。判断哪一条分叉链是正确的或者真实的,通常取决于区块的高度——最长链胜利原则。

区块头优先同步模式对这些可能分叉的区块链上节点是非常有利的,因为它们可以使用区块头中的信息来确定最长的区块链,由此确定要获取哪些区块数据。如果没有这一步,他们可能会浪费时间在处理分叉上,而这条分叉链可能在网络共识后成为一条孤链。

由于 Neo 不会发生分叉,这一优势也就没有用武之地了。在 Neo 核心开发者张铮文提出的「取消区块头优先同步」提案中,指出了移除该方案的潜在好处:

Neo 所使用的的 dBFT 共识机制,保证了其不会发生分叉。即意味着区块头优先同步模式的优势也将无法显现。如果取消这一方案,用于区块头同步的网络开销将减少许多。

移除区块头

取消「区块头优先同步」提案还建议完全移除区块头。由于共识节点的公钥等重要信息可以从前一个区块状态中计算得出,NGD 开发工程师 张涛指出移除区块头可以显著减少区块链的大小。

目前有 7 个共识节点,因此每个区块会有7个公钥信息,也就是 7*33=231 字节。如果我们把共识节点增加到 100 个,那么每个区块的公钥信息大小就可达 100*33=3300 字节。

尽管有这些好处,但在「移除区块头」的测试中还是产生了不确定的结果。结果指出区块头对于跨链交互以及简单支付验证还是非常有用的,如对公钥进行聚合签名等。

基于这些测试和讨论的结果,决定暂时搁置「移除区块头」提案,但优化区块同步的相关研究仍在继续。

在下一篇「三分钟入门Neo3」文章中,将介绍 Neo3 开发中的另一种优化方案:索引同步。

历史上的今天:

本文地址:https://www.u5881.com/7357.html
版权声明:本站推荐的部分活动具有时效性,老淘本人并不能保证当您看到本文时,该项活动是否仍在继续。

发表评论


表情