初链的技术架构
image.png混合共识
以fabric为首的很多联盟链采用bft类算法,例如pbft、rbft、cbft等等,这些算法要求某一伦次共识时明确区块链中节点,但在公有链场景这种要求明显不适合。
所以很多厂家选用组合共识的方式来满足公有链的场景,例如:DPoS + BFT共识。(例如EOS、BitShare采用的DPoS选举共识组。)
初链选择使用fPoW进行选举、监督流程,选择出来共识的节点使用bft进行共识。这对于组网要求较高,bft需要多轮次投票,如果采用比特币网络的组网模式,需要各节点协助广播共识效率低下。采用fabric的组网方式将大大提高共识效率,但占用的网络IO增加。所以一般选举的共识组节点数量不会很多。
分片
V神前一段时间提出shading方法,通过分片来提高共识效率。初链也是采用该种方式来解决性能问题,初链对此进行优化、提高共识效率。对于分片技术真正的难点在于跨链,例如:A给B转账10块,B给C转账10元,这两笔交易在两个不同的分片上,同时这两个交易之间相互耦合。这样将产生跨链操作,这种操作将十分影响产品性能。最近也在阅读初链的代码,后续给大家分析一下初链的共识机制。
虚拟机
初链的智能合约运行在TVM上,是对EVM的一个修改升级。虚拟机中支持多种编程语言。目前支持的编程语言都是图灵完备的,原则上可支持一切可想到的逻辑。
网友评论