一篇文章看透百度XuperChain系统架构

2019-08-21 12:45 栏目:经验之谈 来源: 查看()
在本期中,“百度超级连锁学院”邀请高级研发工程师为开发人员带来超硬核解释。百度的XuperChain系统的架构是什么? 背景 百度XuperChain于2019年5月底正式宣布开源。开源后,它很快引起了开发者和区块链媒体的广泛关注。 XuperChain是由百度独立开发的区块链系统。在向Github开源之后,它仍在积极升级代码。它发布了V3.1和V3.2两个版本。 10%的代码由外部开发人员提供。 目前,国内外的区块链系统更像是清江。对于区块链开发者来说,如何选择区块链系统进行连续深层培养是一个问题。项目选择过程中需要考虑许多问题。例如,功能是否完整,性能是否满足业务压力,以及是否可以有效支持开发过程中遇到的问题?百度超级链条已通过工业和信息化部的标准测试,在功能,安全性和性能方面远远超过同类产品。超级链也建立了一个活跃的开发者微信群,越来越多的开发者正在学习超级链并通过超级链来登陆他们的项目。 本文将介绍百度超链的架构,并简要分析其独特的关键技术。读者通常会理解为什么超链可以实现高性能,如何在架构上进行插件等等。在后续工作中,我们还将推出一系列文章来解释各种知识点。 系统结构 通常,区块链系统有三个主要组件:分布式账本,合约引擎和共识处理器。 分布式分类帐解决了数据存储的问题,例如数据如何持久存储到存储介质,数据的组织方式,数据的验证,更新和查询。 合同引擎通过将数据和合同字节码从分类帐加载到虚拟机中来解决计算问题,并且在操作之后,将结果数据更改写入分类帐。

共识处理器解决了一致性问题,因为区块链是P2P网络集群,并且传输具有延迟,不稳定和节点恶化。最终,它需要由共识处理器保证:集群中所有节点存储的数据是一致的,并且计算结果也是一致的。

一篇文章看透百度XuperChain系统架构

在超级链的架构设计中,这三个组件是可插拔的。 在合同引擎中,通过抽象虚拟机接口设计,可以集成各种丰富的虚拟机,如:XVM,Wavm,SolidityVM(非开源)等。 在分布式总账中,我们设计了高并发的事务管理模型XuperModel,并通过抽象的Key-Value接口设计,它可以集成各种底层存储引擎,如:Leveldb,Baddger,Rocksdb,只要执行Put即可,Get,Iterator等接口可以集成第三方存储引擎。 在共识处理器中,抽象的共识界面设计可以集成各种丰富的共识算法。超链主要由两种常见算法TDPos和Pow开源。开发人员可以根据自己的需求开发自己的共识算法。

一篇文章看透百度XuperChain系统架构

高性能关键技术 超链的性能优化主要来自两个方面,一个是立体网络,另一个是链内并行。 简单来说,三维网络通过根链导出N个并行链,根据业务划分,以便事务完全并行。如有必要,通过根链的哈希锚定来实现交叉链接。此外,还有一种回归侧链技术,它可以在完成一段时间的计算运行后动态生成侧链并释放侧链。立体网络技术暂时不是开源的。 链内并行是指单链情况下的性能优化技术。提高单链性能主要来自两个方面:加快块的速度和稳定性,并验证事务是否完全并行。 一方面,超链采用TDPOS共识,优化块时间片调度机制,可以稳定快速地弹出块。另一方面,超链使用独特的XuperModel模型来完全并行化验证事务。该模型源自经典的UTXO模型,它将智能合约的执行分为两个不同的阶段:预执行阶段和提交阶段,并通过类似于MVCC的机制避免整体锁定,这与一般不同一。读写集机制,超链中事务的读集引用不需要绑定块高,也可以引用未确认事务的输出,进一步提高了性能测试的整体吞吐量。 此外,在工程实施方面已经进行了很多优化。例如,底层KV存储支持多磁盘存储,以避免IO瓶颈,通过内存缓存降低内存访问成本,并通过线程避免机制保证及时阻止。 社区建设 超链的代码是https://github.com/xuperchain的开源代码,当前的每周开发进度与社区同步。我们也欢迎大家提交代码,并在Github上提供Issue和Pull Request的启动模板。到目前为止,外部开发商提交的提案数量已占到10%。我们的社区建设目标是逐步提高这一比例,使超级链条真正成为一个开放和共建的生态。 为了便于反馈和及时回答问题,我们还建立了微信组(见文章末尾)。集团值班的工程师将全天候为开发人员提供服务。 后续计划 在后续工作中,超级链将进一步提高性能和易用性,并努力提高区块链开发人员的影响力。此外,每个人都知道,XuperChain只是超链“雪儿”家族产品之一。我们将遵循边缘计算,大数据,多方安全计算等开源超链集成解决方案,敬请关注。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发