首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

币话题:谈一谈以太坊的分片技术

以太坊的创始人Vitalik Buterin(VB)今天在以太坊博客上宣布以太坊基金将出资赞助独立团队和以太坊团队合作在两个方向上开发提高以太坊可扩展性的项目。一个是建立分层结构(Layer 2),把不必要的交易从最底层的主链分离到附属结构上,我们上次看的比特币的闪电网跟随的就是这个思路。另一个方向叫分片技术(Sharding),这项技术着眼于改进主链本身的协议来提高它的性能。今天我们着重看一下这方面的进展。

VB指出现在典型的区块链之所以这么慢是因为每一个节点(矿工)都要处理系统里的每一笔交易。这样系统的处理能力就被限制在一个节点的处理能力上。分片技术的构想是每一笔交易只让一小部分节点看到和处理,所有的节点可以同时平行处理更多的交易。一个好的分片技术协议应该只需要在去中心化和安全性上做出极小的牺牲。

我觉得VB推荐的以太坊的分片技术FAQ是一个很好的技术贴。它的网址在https://github.com/ethereum/wiki/wiki/Sharding-FAQ。

我们一起来学习一下。最简单的分片技术就是把系统切分成独立的数片,每片有专门的节点来维护,但这就相当于数个独立的区块链,真正的分片技术必须有片间的交流。一种设计思路是系统里有不同层次的节点。超级完全节点储存和处理所有的交易记录和系统状态。顶级节点处理所有的顶级区块,里面包含每个分片的记录汇总(Collation),但不包括具体的交易细节,顶级区块依靠每个分片里的汇总员(Collator)的共识来确定汇总的可靠性。单片节点除了行使顶级节点的功能还负责记录一个分片里的所有交易。最有就是轻节点,只处理顶级区块的头文件。

要让系统真正运行起来,在这个设计里还需要考虑片间交流,防范对单片的攻击,欺诈检测等问题。以太坊明显需要更多的头脑来帮他们解决这些问题,所以有这次的科研资助项目。

在这个介绍里还专门讨论了Metcalfe定律,虽然不是直接相关但很有意思。Metcalfe定律说一个网络的价值和用户数的平方成正比,V = N x N。理由是每个用户可以受益于和N个其他用户的交流,对于一个用户来说网络的价值和N成正比。所以对于N个用户网络的总价值是N x N。但是简介的作者认为这只对不太大的N成立,对于大的N一个更好的经验公式是N x log N。原因有二,一个是每个用户的紧密连接是有限的,(按《人类简史》的说法,人脑只能记住一两百个熟人),松散连接的价值和紧密连接时不能比的。另一个原因是替代效应递减,选择从没有变成1个是本质变化,从1个到2个也可能效用翻倍,但从100个增加到200个效益的增加其实就很有限了。所以作者认为N log N是一个对庞大的密码币生态体系价值更好的描述,而不是N x N。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180105B0QVNF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券