目前,为了在区块链上执行交易,网络中的所有计算机或节点都必须验证交易或执行智能合约。智能合约就是网络中存储的一段等待执行的代码,该代码描述了交易需要符合的条件。如果所有节点的验证结果相同并达成一致,则交易就得到确认。不难想象,这个过程需要时间。而分片通过多个联网机器的并行处理能力运行,这些机器分担了验证交易的工作。它会自动将网络划分成较小的部分,也就是“分片”,每个分片都运行一个小规模的共识协议。这种网络可以并行处理,每个分片每秒能够处理数百笔交易,这样该网络每秒处理的总交易就达到了上千笔。随着更多节点的加入,这种网络在验证交易时会越来越快。一旦该网络的规模达到以太坊的程度,它每秒就能够处理非常多的交易了,比Visa更快更便宜。如果这样的系统速度快到可以承担现有银行系统的工作量,且不会牺牲分布式网络免许可的特性,那么各种类型的dApp(从拍卖到支付)都将能够在其稳健、安全且高效的协议上运行了。分片可能有助于在解决区块链可扩展性危机方面实现重大突破。
以太坊的创始人VitalikButerin(VB)在以太坊博客上宣布以太坊基金将出资赞助独立团队和以太坊团队合作在两个方向上开发提高以太坊可扩展性的项目。一个是建立分层结构(Layer2),把不必要的交易从最底层的主链分离到附属结构上,我们上次看的比特币的闪电网跟随的就是这个思路。另一个方向叫分片技术(Sharding),这项技术着眼于改进主链本身的协议来提高它的性能。
关于分片介绍说明地址:
https://github.com/ethereum/wiki/wiki/Sharding-FAQ
现阶段进展:
最简单的分片技术就是把系统切分成独立的数片,每片有专门的节点来维护,但这就相当于数个独立的区块链,真正的分片技术必须有片间的交流。一种设计思路是系统里有不同层次的节点。超级完全节点储存和处理所有的交易记录和系统状态。顶级节点处理所有的顶级区块,里面包含每个分片的记录汇总(Collation),但不包括具体的交易细节,顶级区块依靠每个分片里的汇总员(Collator)的共识来确定汇总的可靠性。单片节点除了行使顶级节点的功能还负责记录一个分片里的所有交易。最有就是轻节点,只处理顶级区块的头文件。
要让系统真正运行起来,在这个设计里还需要考虑片间交流,防范对单片的攻击,欺诈检测等问题。以太坊明显需要更多的头脑来帮他们解决这些问题,所以有这次的科研资助项目。
Metcalfe定律:
在这个介绍里还专门讨论了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。
LOLA
Beijing
2018.1.6
以上文字汇总来源于网络,如果侵权,请联系我删除。