首(shǒu)页 百科 查看内(nèi)容(róng)
  • 15985
  • 0
  • 分享到

百(bǎi)度超级链(liàn)(XuperChain)网络(luò)介绍

2018-9-26 15:46

来源: 链门(mén)户

XuperChain简(jiǎn)称(chēng)超(chāo)级链(liàn),是一个支持平行(háng)链和侧链(liàn)的区(qū)块链网络。在XuperChain网络中,有一(yī)条(tiáo)特殊的链——Root链。Root链管理XuperChain网络的其它平行(háng)链,并提供跨(kuà)链服务。其中基于Root链诞生的超(chāo)级燃料是(shì)整个(gè)XuperChain网路运行消耗的燃料(liào)。Root链有以下功能:

(1)创建独立(lì)的一条链;
(2)支持(chí)与(yǔ)各个(gè)链(liàn)的数据交换;
(3)管理(lǐ)整个XuperChain网络的运行参数。

XuperChain是一个能包容(róng)一(yī)切区块(kuài)链技术(shù)的(de)区块链网(wǎng)络,其(qí)平(píng)行链可以支持XuperChain的解决方案,也同时支持其(qí)它开源区块链网(wǎng)络技(jì)术方案(àn)。

共(gòng)识(shí)机制

1、可插(chā)拔共识(shí)机(jī)制

在当前的技(jì)术背景下,没有(yǒu)哪(nǎ)一种共识机制是完美(měi)无缺(quē)的,每一(yī)种共识机制都有其优点和缺点,不同的应用场景可能需要(yào)不(bú)同共(gòng)识机制。为(wéi)了应(yīng)对不同的应用需(xū)求,XuperChain设计了一套可插拔(bá)的(de)共识机制,所谓可插拔主要体现在两个方面:一方(fāng)面,XuperChain不同的平行链允(yǔn)许采用不同的共识机制,以(yǐ)此来满足不同的共识应(yīng)用需求,用户可(kě)以通(tōng)过API创建自(zì)己的(de)区块链,并(bìng)指(zhǐ)定初始的共识(shí)机制。另(lìng)一方面,XuperChain还(hái)支持在任意时刻通(tōng)过投票表决机制实现共识的升(shēng)级(jí),从而实现共(gòng)识机制的(de)热升级。

XuperChain的共(gòng)识机制包括但不(bú)限于POW、POS、PBFT、中(zhōng)心化共识(Raft)等(děng)。

2、DPOS共(gòng)识算(suàn)法创新—TDPOS共(gòng)识

基于POS基础上衍生出了很多改进算法,DPOS就是其中一种。DPOS算法是用户(hù)通(tōng)过投票(piào)选出代表(biǎo)进行(háng)区块的生产。

XuperChain自主研发实现了一套DPOS共识,我们称之为(wéi)TDPOS。依据这种算法(fǎ),全(quán)网持有通证(zhèng)的人都(dōu)可以给候选人投票。

TDPOS的参数包括每轮的proposer个数、出块(kuài)间隔(gé)、节点每轮出(chū)块(kuài)个数等,在创建平(píng)行链的时候可以指定,也可以(yǐ)通过提案机制(zhì)升级。通过GPS和(hé)原(yuán)子钟保证时钟同(tóng)步。例(lì)如,如果配置的(de)参数(shù)为每(měi)轮21个(gè)节(jiē)点、出块间隔为3s、每个节点每轮出块个数为200个,则每轮的时间(jiān)为3.5h。

3、自定义共识机(jī)制

如果DApp开发(fā)者觉得系统默认的共识机制都无法满足自(zì)身的业务(wù)需求,可以通过智能合约和(hé)共识机制的编程(chéng)接口,编写(xiě)自己的共识,并(bìng)以智能合约的形式发布到(dào)XuperChain中。XuperChain在启动用户创建的这(zhè)条链的时候,会注入自定义共(gòng)识(需(xū)要取一个唯一(yī)名字(zì)),成为该链的共识机(jī)制。

超级节点

超级节点(diǎn)是一(yī)种分(fèn)布式计算技术,保证每个节点的存储和计算是可以扩(kuò)展的。从而(ér)为(wéi)区块链网络(luò)提供源源不(bú)断的存储和(hé)计(jì)算支持(chí)。

1、存储支(zhī)持

超级节点会存储(chǔ)所有的历史事务的完整信息,如何支(zhī)撑PB级别的(de)容量(liàng)非常具有挑战。

XuperChain底层KV存储引擎(qíng)主要有以下几个特(tè)点:

1)事(shì)务(wù)性表格系统:通过前缀编码的平展化,支(zhī)持多链(liàn)+多表,且能保证跨链(liàn)事务(wù)的原子(zǐ)性;

2)多盘技(jì)术:实现(xiàn)KV存储引擎到底(dǐ)层文件系统的虚拟映(yìng)射层,支持单机多(duō)盘存储,从而支撑大容量数据存储;

3)混盘技术:实现冷热数据自(zì)适应调度,将低频数据存储在SATA介质(zhì)或者云存储,高频数据存储(chǔ)在SSD介质;

4)云优(yōu)化:实现DFS适配层,支(zhī)持分(fèn)布式文件系(xì)统,存(cún)储容量理论上(shàng)可以扩展到PB级别。结合(hé)混盘(pán)调(diào)度,保证性能最优。

2、计算支(zhī)持(chí)

在非POW的共识机制下,超(chāo)级节点的主要计算量(liàng)为交易上链和合约执行。很多(duō)区(qū)块链软件对交易(yì)的执(zhí)行以及合约的执行都是(shì)串(chuàn)行执行的,优化到极致也只能使用单核,对(duì)硬件(jiàn)的利用率很(hěn)低。超级节点采用多核并行(háng)计算与分布式计(jì)算相结(jié)合的方式以提升计(jì)算效率。

1)多核并行计算:XuperChain通过(guò)智(zhì)能合约(yuē)的依赖关系将待打包的事(shì)务构造出N个(gè)DAG。每(měi)个DAG的交易和(hé)合约执行都是并行跑在多个CPU核上,DAG内部(bù)无路径依赖的节点也可以并(bìng)行执(zhí)行,从而可以最(zuì)大(dà)化CPU的利用率,突破系统吞(tūn)吐瓶颈。平(píng)行链和可回归侧链技术也(yě)能有效的利(lì)用多核并发(fā);

2)分布式计算:XuperChain未来构建事务执行的分布式调度集群,链内并(bìng)行事务(wù)和多链(liàn)事务可分发给调度(dù)集群执行(háng),从而利用分布式计算的扩展能(néng)力。

智能合约

1、UTXOBase的智(zhì)能(néng)合约模(mó)型

我们认(rèn)为UTXO(UnspentTransactionOutput)相对于Account余额模型(xíng),并发性能更好,对热门账户的(de)性能也更(gèng)优秀。超(chāo)级(jí)链(liàn)底(dǐ)层是基于UTXO模型,因此(cǐ)任何针对比特币系统的优(yōu)化(huà)都适用于XuperChain。

XuperChain在UTXO的基础(chǔ)上做了智(zhì)能(néng)合约的扩展,在扩展区可加载(zǎi)各(gè)种不(bú)同的合约虚拟机,每个合约机需(xū)要实现运行合(hé)约和回滚合约两(liǎng)个(gè)接口。回滚机制是为了应付分叉设计的,我(wǒ)们在合约回滚方面进行(háng)三个方(fāng)面的优化,用户可以选择其中之一(yī)去实现:

1)自定义(yì)回滚逻辑;

2)利用(yòng)区块链数据操作日志,生成反向回(huí)滚日志,自动生成回滚逻辑;

3)引入MPT,分叉无(wú)需回滚支持,但是(shì)暂时只(zhī)有KV存储能力。

2、智(zhì)能合约兼容

1)XuperChain内嵌(qiàn)合约机制内嵌合约机制,规定智能合约编写的接口(kǒu),可(kě)直接(jiē)用当前语(yǔ)言(Go,C++,Java等)编(biān)写智(zhì)能合约放(fàng)到XuperChain里(lǐ)面(miàn)。当前XuperChain的KernelAPI和共(gòng)识机制算法都是用这种方(fāng)式(shì)实现的。

开发者(zhě)可(kě)以(yǐ)直接写新(xīn)的智能合约,放入(rù)到XuperChain网(wǎng)络中,XuperChain给(gěi)予一定的(de)安全隔离和保护。一般这种模式只建议联盟链部署(shǔ)的(de)时候(hòu)使用,因为(wéi)公开的(de)节点会因(yīn)为安全问题拒绝为该(gāi)链(liàn)提供算力。

未来会引(yǐn)入智能合约Store和对智能合约的安全审计,保(bǎo)证发布的智能合约是安全的,从而让公开(kāi)节点放心支持。

2)第三方兼容XuperChain直接支持以太坊的(de)Solidity语言(yán)。以太坊(fāng)的智(zhì)能合(hé)约代码(mǎ)可以在XuperChain部(bù)署和执行。XuperChain同时支(zhī)持WebAssembly,并通过其支持任意语(yǔ)言。理(lǐ)论上XuperChain支持任(rèn)何虚拟机的运(yùn)行。

立(lì)体网络技术

1、链内并(bìng)行技术(shù)

百度超级(jí)链XuperChain网络介绍

图1链内并行技术示意图

当(dāng)下区块链技术的实现是将所有(yǒu)事物打(dǎ)包(bāo)后顺序执行。随(suí)着智能合约越来越复杂,如果顺序执(zhí)行智能(néng)合约,高(gāo)并发度(dù)将难(nán)以实现,而且也不能充分利用(yòng)多核和分布式的计算能力。

为了让(ràng)区块里面的智能合约能够并行执行(háng),XuperChain将(jiāng)依赖事务挖掘形成DAG图(tú),并(bìng)由DAG图来控制事务的(de)并(bìng)发执(zhí)行。

2、可(kě)回归侧链技术

百度超级链XuperChain网络介绍(shào)

图2可(kě)回归侧链技术示(shì)意图

在很多(duō)场(chǎng)景下,并不(bú)需要把所有的事务都(dōu)集中(zhōng)在主链上(shàng)运行。比如(rú)一个运营活动,完全可以把资源放(fàng)到一个侧链(liàn)上(shàng)去(qù),然后(hòu)通过智能合(hé)约(yuē)执(zhí)行逻辑,执行完成后一次(cì)性(xìng)合并回主链。通过把复杂的(de)智能合约在侧链执(zhí)行,可以实现利用其(qí)它的并行计算资源去执行而不消耗主链的资源。当满(mǎn)足侧链回归条件的时(shí)候,主动(dòng)引发侧链合并。

3、平行链技术

首页_JDB(中国)电子_官方网站

图3平行链技术(shù)

在XuperChain的立体网络里面,有大(dà)量的区块(kuài)链存在。这些链通过Root链管理起(qǐ)来,这些链就(jiù)是平行(háng)链,从(cóng)而(ér)形成一个真实(shí)、独(dú)立存(cún)在(zài)的区块链体系。我(wǒ)们把这个(gè)网络叫做立体网络。立体网络上通(tōng)过Root链创建的平行链,可(kě)以选择是公开链,也可选择是联盟链(仅成(chéng)员可(kě)见)。

轻量级节点技术

XuperChain在设计的时候就(jiù)支持轻(qīng)量级节点(diǎn)技术。轻(qīng)节点仅同(tóng)步少量数据就可以完成(chéng)数据(jù)的访问和校验。轻量级客(kè)户端可以部署在(zài)PC、手(shǒu)机(jī)、嵌入式设备等设(shè)备上,不需要算力和存储支撑就能有(yǒu)效的访问区(qū)块(kuài)链网络数据。

可升级系统

1、提案和投票机制

百(bǎi)度(dù)超级链XuperChain网络(luò)介绍(shào)

图4提案和投票机制(zhì)示意(yì)图

提案和投票机制是区块链系统实(shí)现自我进化的关键。系统首(shǒu)次上线后难免遇到(dào)很多(duō)问题,我们提供(gòng)提(tí)案(àn)/投票(piào)机制为区(qū)块链的社区治理提供便利的工具(jù),以保证未来(lái)系统的可持续发(fā)展。具体实现方法如下:

Step1:提案(àn)者(proposer)通(tōng)过发起一个事务声明一个(gè)可调(diào)用的合约,并约定提案(àn)的投票截止高度,生效高度;

Step2:投(tóu)票者(zhě)(voter)通过发(fā)起一个事务(wù)来对提案投票(piào),当(dāng)达到(dào)系统约(yuē)定的投票(piào)率并且账本达到(dào)合约的生效高度(dù)后,合约(yuē)就会自(zì)动被调用;

Step3:为(wéi)了(le)防止机(jī)制(zhì)被滥(làn)用,被投票的事务(wù)需(xū)要(yào)冻结参与者(zhě)的一笔燃料(liào),直到合约生效后解冻。

2、共识可(kě)升级

百度超级链XuperChain网络介(jiè)绍(shào)

图5XuperChain提(tí)案机(jī)制(zhì)进行(háng)共(gòng)识升(shēng)级

XuperChain提供(gòng)可插拔共识机制,通过提案(àn)和投票机制,升级共识算法或者参数。图5简(jiǎn)要说明(míng)了如何使用XuperChain的(de)提案机制进行共识升级。

3、系(xì)统(tǒng)参数可升级通过提案和(hé)投票机(jī)制,区块链自身的(de)运行参(cān)数(shù)也是可升级的(de)。包括:block大小、交(jiāo)易大小、挖矿奖(jiǎng)励金(jīn)额(é)和衰减(jiǎn)速度等(děng)。

隐私保护(hù)和安全

超级链支持(chí)多种主流(liú)的隐私(sī)保护和(hé)安全机(jī)制,包括但(dàn)不限于:

(1)通(tōng)过获取用户设备上产生的随(suí)机熵(shāng),来生成随机数种子,再通过密钥衍生(shēng)推(tuī)导函数来加强随机性,最后生(shēng)成ECC的公钥私钥(yào)对;

(2)引(yǐn)入分层加密(mì)技术来(lái)降低(dī)密钥被泄(xiè)露和(hé)破解的可能性。也(yě)防(fáng)范(fàn)了通过交易记录猜测个人隐私的可能;

(3)为了防止地址碰撞和输入错(cuò)误,使(shǐ)用高(gāo)强度的(de)散列和摘要算法(fǎ)以(yǐ)及校验(yàn)码来保证地址合法性;

(4)引(yǐn)入语(yǔ)言亲和性的助记(jì)词技(jì)术(shù),用户只要记住助记(jì)词,就可以恢复(fù)自己的数字(zì)钱包。

首页_JDB(中国)电子_官方网站
版权申明(míng):本(běn)内容来(lái)自(zì)于互联网,属第三(sān)方汇集推荐平台。本文的版(bǎn)权归原作者所有,文章言(yán)论不代表链门(mén)户的观(guān)点(diǎn),链门户不承担任何法律(lǜ)责任(rèn)。如有侵权(quán)请联系QQ:3341927519进行反馈(kuì)。
相关(guān)新(xīn)闻
发(fā)表评论

请(qǐng)先(xiān) 注(zhù)册/登录(lù) 后参与评论

    回(huí)顶部

    首页_JDB(中国)电子_官方网站

    首页_JDB(中国)电子_官方网站