1.1 简介

XuperUnion是超级链体系下的第一个开源项目,是构建超级联盟网络的底层方案。 其主要特点是高性能,通过原创的XuperModel模型,真正实现了智能合约的并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优化。 在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而支持丰富的合约开发语言。在网络能力方面, XuperUnion具备全球化部署能力,节点通信基于加密的P2P网络,支持广域网超大规模节点,且底层账本支持分叉管理,自动收敛一致性,TDPOS算法确保了大规模节点下的快速共识。在账户安全方面,XuperUnion内置了多私钥保护的账户体系,支持权重累计、集合运算等灵活的策略。

1.2 模块

模块 特性
存储 XuperUnion的底层存储基于KV数据库,存储的数据包括区块数据、交易数据、账户余额、DPOS投票数据、合约账号数据、智能合约数据等,上链的数据全部持久化到底层存储。不同的链,存储独立。底层存储支持可插拔,从而可以满足不同的业务场景。
网络 负责交易数据的网络传播和广播、节点发现和维护。以P2P通信为基础,实现全分布式结构化拓扑网络结构,数据传输全程加密。局域网穿透技术采用NAT方案,同一条流保持长连接且复用。多条链复用同一个p2p网络。
共识 共识模块用于解决交易上链顺序问题,过滤无效交易并达成全网一致。XuperUnion实现了更加高效的DPOS共识算法。支持可插拔,从而可以支持不同的业务场景。
密码学 用于构造和验证区块、交易的完整性,采用非对称加密算法生成公私钥、地址。匿名性较好。支持可插拔,从而可以支持不同的业务场景。
智能合约 自研并实现了一套智能合约虚拟机XVM,支持丰富的开发语言,智能合约之间并发执行,支持执行消耗资源,避免恶意攻击。
提案 一种解决系统升级问题的机制。比如修改区块大小,升级共识算法。提案整个过程涉及到发起提案、参与投票、投票生效三个阶段。
账号与权限 为了满足合约调用的权限控制,保证XuperUnion网络的健康运转,自研并实现了一套基于账户的去中心化的合约权限系统。支持权重累计、集合运算等灵活的策略,可以满足不同的业务场景。

1.3 智能合约

自研并实现了一套智能合约虚拟机XVM。特点如下:(1)合约状态数据与合约代码运行环境分离,从而能够支持多语言虚拟机且各种合约虚拟机只需要做纯粹的无状态合约代码执行;(2)支持执行消耗资源,避免恶意攻击;(3)支持丰富的智能合约开发语言,比如go,Solitidy,C/C++,Java等;(4)利用读写集确保普通合约调用支持并发执行,充分利用计算机多核特性;

1.4 权限系统

实现一个去中心化,区块链内置的合约账户权限系统。特点如下:(1)支持多种权限模型,比如背书数、背书率、AK集合、CA鉴权、社区治理等;(2)支持完善的账号权限管理,比如账号的创建、添加和删除AK、设置AK权重、权限模型;(3)支持设置合约调用权限,添加和删除AK、设置AK权重、权限模型;

1.5 隐私和保密

XuperUnion支持多种隐私保护和保密机制,包括但不限于:(1)数据在p2p网络中采用ECDH协商连接会话密钥以及对称加密算法,做到一话一密,保障区块链数据的安全性;(2)通过助记词技术,在用户私钥丢失的情况下可以恢复;(3)多私钥保护的账户体系;(4)基于椭圆曲线算法的公私钥加密和签名体系;

1.6 性能

交易处理速度:异步模式达到6万TPS(1)默认采用DPOS作为共识算法;(2)交易处理充分利用计算机多核,支持并发执行;(3)智能合约通过读写集技术能够支持并发执行;

1.7 总结

XuperUnion是百度自研的一套区块链解决方案,采用经典的UTXO记账模式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善的账户与权限体系,具有可插拔共识机制。