1、运营架构
联盟链是一个支持平行链和侧链的区块链网络。在联盟链网络中,有一条特殊链——零链。零链管理联盟链网络的其他平行链并提供跨链服务。其中,基于零链的超级燃料联盟链是整个联盟链网络运行所消耗的燃料。零链具有以下功能:
(1)创建独立链;
(2)支持与各链的数据交换;
(3)管理整个联盟链网络的运行参数。
联盟链是一个可以容纳所有区块链技术的区块链网络。其平行链可以支持联盟链解决方案,也支持其他开源区块链网络技术解决方案。
2. 共识机制
(1) 可插拔的共识机制
在目前的技术背景下,没有一个共识机制是完美的。每种共识机制都有其优点和缺点。不同的应用场景可能需要不同的共识机制。为了应对不同的应用需求,联盟链设计了可插拔的共识机制,主要体现在两点:
1、联盟链的不同平行链允许使用不同的共识机制,满足不同的共识应用需求。用户可以通过API创建自己的区块链并指定初始共识机制。
2联盟链还支持随时通过投票机制进行共识升级,从而实现共识机制的热升级。
联盟链的共识机制包括但不限于POW、POS、PBFT、中心化共识(Raft)等。
(2)DPOS共识算法创新
基于POS衍生出许多改进算法,DPOS就是其中之一。 DPOS算法是用户通过投票选出代表来生产区块。
联盟链在现有DOPS算法的基础上自主创新开发了一套DPOS共识,我们称之为CDPOS。根据这个算法,全网任何持有通证的人都可以为候选人投票。
CDPOS的参数包括每轮提案者数量、出块间隔、每轮节点出块数量等,这些参数可以在创建平行链时指定,也可以通过提案机制升级。通过GPS 和原子钟确保时钟同步。
(3) 自定义共识机制
用户可以通过智能合约和共识机制的编程接口编写自己的共识,并以智能合约的形式发布到联盟链上。联盟链启动用户创建的链时,会注入自定义共识,成为该链的共识机制。
3、主节点
主节点是一种分布式计算技术,保证各个节点的存储和计算具有可扩展性。这为区块链网络提供了持续的存储和计算支持。
(1)存储支持
主节点将存储所有历史交易的完整信息,支持PB级容量非常具有挑战性。
(2)计算支持
非POW共识机制下,主节点的主要计算量是交易上传和合约执行。许多区块链软件串行执行交易和合约。即使优化到极致,也只能使用单核,导致硬件利用率很低。主节点采用多核并行计算和分布式计算相结合的方式,提高计算效率。
4. 智能合约
(1)UTXO基础的智能合约模型
我们认为UTXO(Unspent Transaction Output)比账户余额模型有更好的并发性能,并且对于热门账户有更好的性能。
联盟链底层基于UTXO模型,因此任何针对比特币系统的优化都适用于联盟链。
联盟链基于UTXO扩展了智能合约。扩展区可以加载各种合约虚拟机。每个合约机需要实现两个接口:运行合约和回滚合约。回滚机制是为了应对分叉而设计的。用户可以选择以下优化来实现:
1)自定义回滚逻辑;
2)利用区块链操作日志生成逆回滚日志,自动生成回滚逻辑;
3)引入MPT,分叉不需要回滚支持。
(2) 智能合约兼容性
1)联盟链内嵌合约机制
嵌入式合约机制规定了智能合约编写的接口,可以直接用编程语言使用
(Go、C++、Java等)编写智能合约并放入联盟链中。目前联盟链的Kernel API和共识机制算法都是这样实现的。
未来将引入智能合约存储和智能合约安全审计,确保发布的智能合约安全,让公共节点放心支持。
2) 第三方兼容
联盟链直接支持以太坊的Solidity语言。以太坊的智能合约代码可以在联盟链上部署和执行。联盟链还支持WebAssembly,通过它支持任何语言。理论上,联盟链支持任意虚拟机的运行。
作者:香港国际新经济研究院;来自链得得的开放内容平台“得得好”。本文仅代表作者观点,不代表ChainDD官方立场。 “德豪”所有文章均为原创、真实。投稿者保证,稿件如有抄袭、伪造等行为,法律后果由投稿者本人承担。如有侵权、违规或其他不当言论内容,敬请关注。一经确认,平台将立即下线。如果您对文章内容有任何疑问,请发送至邮箱:linggeqi@chaindd.com