超级链概览¶
XuperChain是超级链体系下的第一个开源项目,是构建超级联盟网络的底层方案。
其主要特点是高性能,通过原创的XuperModel模型,真正实现了智能合约的并行执行和验证,通过自研的WASM虚拟机,做到了指令集级别的极致优化。
在架构方面,其可插拔、插件化的设计使得用户可以方便选择适合自己业务场景的解决方案,通过独有的XuperBridge技术,可插拔多语言虚拟机,从而支持丰富的合约开发语言。
在网络能力方面,XuperChain具备全球化部署能力,节点通信基于加密的P2P网络,支持广域网超大规模节点,且底层账本支持分叉管理,自动收敛一致性,TDPOS算法确保了大规模节点下的快速共识。在账号安全方面,XuperChain内置了多私钥保护的账号体系,支持权重累计、集合运算等灵活的策略。
XuperChain架构¶
模块
模块 |
特性 |
|---|---|
存储 |
XuperChain的底层存储基于KV数据库,存储的数据包括区块数据、交易数据、账号 余额、DPOS投票数据、合约账号数据、智能合约数据等,上链的数据全部持久化到底 层存储。不同的链,存储独立。底层存储支持可插拔,从而可以满足不同的业务场景 |
网络 |
负责交易数据的网络传播和广播、节点发现和维护。以P2P通信为基础,实现全分布式 结构化拓扑网络结构,数据传输全程加密。局域网穿透技术采用NAT方案,同一条流保 持长连接且复用。多条链复用同一个p2p网络 |
共识 |
共识模块用于解决交易上链顺序问题,过滤无效交易并达成全网一致。XuperChain实 现了更加高效的DPOS共识算法。支持可插拔,从而可以支持不同的业务场景 |
密码学 |
用于构造和验证区块、交易的完整性,采用非对称加密算法生成公私钥、地址。匿名性 较好。支持可插拔,从而可以支持不同的业务场景 |
智能合约 |
自研并实现了一套智能合约虚拟机XVM,支持丰富的开发语言,智能合约之间并发执行, 支持执行消耗资源,避免恶意攻击 |
提案 |
一种解决系统升级问题的机制。比如修改区块大小,升级共识算法。提案整个过程涉及 到发起提案、参与投票、投票生效三个阶段 |
账号与权限 |
为了满足合约调用的权限控制,保证XuperChain网络的健康运转,自研并实现了一套 基于账号的去中心化的合约权限系统。支持权重累计、集合运算等灵活的策略,可以满足 不同的业务场景 |
可信账本
超级链可信账本基于超级链和百度Mesatee技术,实现了合约数据加密存储及链上密文运算等功能。具备性能高、编程复杂度低等特点。
密文存储:可信账本提供数据加解密功能,用户可将数据加密存储在合约中。
权限管理:支持数据拥有者对数据所属权和使用权的细粒度管理。
基本运算:支持密文加法,减法以及乘法,比较运算等,统一称为 隐私计算 算子。同时可以使用mesatee-core-standalone快速扩展算子,这些基本运算几乎可以满足用户对任何复杂计算功能的需求。
隐私和保密
XuperChain支持多种隐私保护和保密机制,包括但不限于:
数据在p2p网络中采用ECDH加密传输,保障区块链数据的安全性;
通过助记词技术,在用户私钥丢失的情况下可以恢复;
多私钥保护的账号体系;
基于椭圆曲线算法的公私钥加密和签名体系;
权限模型
实现一个去中心化,区块链内置的合约账号权限系统。特点如下:
支持多种权限模型,比如背书数、背书率、AK集合、CA鉴权、社区治理等;
支持完善的账号权限管理,比如账号的创建、添加和删除AK、设置AK权重、权限模型;
支持设置合约调用权限,添加和删除AK、设置AK权重、权限模型;
性能
交易处理速度:达到9万TPS
默认采用DPOS作为共识算法;
交易处理充分利用计算机多核,支持并发执行;
智能合约通过读写集技术能够支持并发执行;
总结
XuperChain是百度自研的一套区块链解决方案,采用经典的UTXO记账模式,并且支持丰富的智能合约开发语言,交易处理支持并发执行,拥有完善的账号与权限体系,采用DPOS作为共识算法,交易处理速度可达到9万TPS。