区块链作为数字经济的可信基础设施,为实现数据可信、资产可信、合作可信发挥了至关重要的作用。随着区块链技术被写入“十四五”规划,国家明确了以联盟链为重点发展区块链服务平台的目标。更多场景的深度探索和应用,对区块链这项新兴技术提出了更高维度的要求与挑战。
对于联盟链的需求以及未来发展趋势可以分为以下几类:
三大一小:组网数量大,存储数据量大,合约规模大,交易延迟小
此类需求都是由于区块链作为可信基础设施衍生出来的,随着“新基建”的不断深入探索,用于承载可信数据的区块链平台的业务模式也会更加复杂,导致智能合约逻辑多且复杂,业务数据量呈指数级增加。更为重要的一点是,联盟链是一个多方协作的网络,参与的机构和企业会越来越多,由此造成区块链节点网络部署将会更加复杂,网络延迟以及丢包率也会进一步扩大,从而导致区块链性能大幅度降低。因此,“组网数量大,存储数据量大,合约规模大,交易延迟小”是对下一代联盟链最基础的要求之一。
一高一低:易用性高,接入成本低
对于区块链而言,现在最大的问题就是,接入成本过高,且易用性不强。目前大量的非区块链应用程序均采用传统的关系型数据库,以及传统基于JDBC相关的JavaWeb相关技术,并且现在大量的软件开发工程师也已经拥有这样的技术栈。现有的利用Solidity,Go,Rust等进行业务逻辑编码的相关区块链虚拟机在编码逻辑,数据存储方式上都不是特别贴近现有的软件开发思维。这也是导致现有“区块链+”难以开展的原因之一。
高强保护:安全性高,强隐私保护
区块链作为一个多中心化的分布式系统,在普遍情况下,都存在多家机构同时参与整个应用生态构建的情况,对于数据安全与隐私保护也有十分高的要求。隐私安全以细粒度级别为标准划分为链级别,合约级别,交易级别,且需要分别从网络、执行、存储等几个维度去考虑区块链系统的隐私保护能力。
软硬结合:硬件数据自动采集,软件可信数据处理
数据真实的第一公里问题,是困扰区块链的最大问题之一。对于区块链作为“可信基础设施”的定位,不少人会质疑上链数据真实性的问题。因此,对于区块链而言,结合IoT等硬件设备进行数据自动化采集与校验也是未来必不可少的一环。另外,对于区块链节点本身而言,充分发挥区块链软件的灵活性、硬件的极速计算以及软硬件的高安全特性是至关重要的,在设计实现区块链专用硬件与软硬协同体系时,也能让区块链本身的性能与安全性提升到一个更高的层次。
因此,区块链作为未来的可信基础设施与下一代价值互联网的基石,需要面临更大的挑战,趣链区块链平台也需要做更多的技术升级与迭代来满足未来“新基建”提出的重大需求。
全新的区块链网络架构:多层级异构区块链并行网络模型
区块链作为一个庞大的可信数据基础设施,需要支持大规模组网模型。我们认为,整个区块链网络需要同时支持“横向”与“纵向”的扩展。
在此网络模型与架构下,能够实现多级异构(同构)子链的扩展与管理,实现多链之间的互联互通,更加合适去做业务的拓展以及隔离,更加符合“基础设施”的相关需求。另外,针对每条平台节点,可以做到按照节点种类进行划分,实现多类型区块链节点的分层组网模型,形成一个大规模可治理的区块链网络。因此从这两个维度来看,我们能够实现“横向与纵向”的扩展方式,形成一个新的多链异构并行的架构。
这样做的最大的好处是,在“新基建”的扩展方案中,我们可以灵活的实现“新链”的接入与管理,并且不同业务链之间完全有可能实现链与链之间的可信互通,实现多链模型下的监管与治理;同时,针对业务扩展过程中的“新伙伴”加入,也能够依据节点类型提供相应的准入模型,实现更细粒度的权限管理与控制,有利于做业务的大规模扩展。
所以,我们认为未来发展过程中一定是多元化的技术并存,区块链要发挥价值,也必须实现不同业务场景的互动,更重要的是需要有更多的合作伙伴加入才能够实现“价值互联网”的构建。区块链也不会只是单单的一条链,而是一个基础网络的载体,能够具备更强的可扩展性与兼容性。
专用的区块链存储引擎:新一代高效混合存储模型
与公链不同的是,联盟链的业务开展速度、业务数据量、业务复杂程度相对更加复杂。比如之前我们做的公积金的相关业务,目前的累积数据已经达到了200亿条,这个其实对于区块链本身的压力也是相当之大,传统单一化的区块链存储模型,利用通用的单机RocksDB、LevelDB之类的也无法满足这一数据库模型,但如果直接采用像TiKV、Aerospike等分布式数据库,虽然能解决数据量存储的问题,但是在读写十分频繁的情况下会扩大交易延迟,由此也会大大的降低区块链的执行性能。
经过分析,我们认为区块链本身存在较为独特的存储模型,可以为其设计更为专用的存储架构来适应存储需求。所以,从2019年开始,我们就已经开始对趣链区块链平台的存储架构进行了迭代升级。
迭代升级的基本思路还是参照传统数据库的优化思路“分库分表”的模型进行展开,按照本身的数据特征进行分库仓储,但更为重要的是,在分库存储之后也需要针对其数据特征进行数据库的设计与研发,从数据库层面就应该能够适配其本身的存储模式,打造区块链专用的存储引擎。
我们在趣链区块链平台的混合存储模型中,单独设计了几个重要的组件与引擎:
基于文件的连续型数据存储引擎Filelog
适用于区块、交易回执、交易Journal等连续型数据存取的存储数据库,能够实现高效的数据读写、回滚、归档等服务。
状态数据的多级缓存
面向于读写均衡且随机性很强的区块链状态数据的多级缓存,集读写缓存于一体,能够帮助区块链实现异步的批量的状态数据写入,能够实现快速的不同类型的数据库快速接入。
状态数据专用存储引擎VIDB
针对状态数据读写较为均衡的情况,设计了基于对存储优化好的新型默克尔树结构的存储模型,进行“存储和计算的融合”,减少读写放大,能够实现更为平衡的状态数据存取,同时更容易实现分布式扩展。
一键链改:易用的区块链执行引擎
众所周知,区块链作为一个基础软件,跟业务最耦合就是智能合约,而让使用者能够直观感受到区块链是否易用的也是智能合约部分,所以,作为智能合约的载体虚拟机就显得尤为重要。
我们始终认为,一个好的虚拟机不仅仅是拥有很好的性能、可扩展,更为重要的是它的易用性,它需要对业务开发者和使用者更加友好。经过总结分析,所谓的易用性主要有几个方面:
1.编程语言的通用性,对于开发而言,不需要额外的学习一种新的语言,并且这种语言要有很好的生态;
2.数据存储结构的多样性,能够按照业务逻辑提供更为多样的数据结构,使其更贴近业务;
3.对于业务系统框架对接的便利性,希望能够实现快速的业务系统的对接,降低业务系统开发的成本。
因此,在趣链区块链平台的之前版本中,很早就已经推出过我们的自研的基于Go实现的Java虚拟机,性能较EVM也得到了较大的提升,另外利用Java语言本身的开发生态,为开发者提供便利,对于存储的数据结构方案,也提供了Map,List以及Table等多种类型的数据存储架构。
基于此,近期我们也将对我们的虚拟机做进一步升级,主要会聚焦在对于已有业务系统的对接成本降低方面。基于已有K/V的状态数据库存储模型,借鉴Google的《F1:A Distributed SQL Database That Scales》的思路,在区块链上实现高效的SQL解析和执行,我们会在区块链上实现SQL的编译处理以及将SQL转化到键值对存储引擎的技术组件,在保证原有的Merkle Tree计算情况下,提供了对业务更加易用的调用模式。但是需要注意的是,并不是所有的需求都适合于区块链,例如基于非索引的查询在目前的区块链系统中就显得很不合理,这也需要存储引擎的配合。
更进一步,对于业务系统而言,单单的支持SQL执行以及表数据存储结构是远远不够的,需要能够支持更便捷的业务系统对接,例如如何在传统的SSH、SSM等 JavaWeb框架中快速对接区块链,一般在Mybatis或者Hibernate中实现对于SQL语言的封装和执行,然后再通过JDBC实现数据库的访问和调用,而我们也需要实现类似的区块链JDBC接口帮助开发者实现快速的数据存取,实现更加友好的业务调用模式。
因此,趣链区块链平台能够在一定程度上实现对于业务系统的“一键链改”,大幅度降低区块链的开发的门槛和使用成本。
天然的隐私保护与并行计算模型
近年来,隐私保护也是区块链领域最热的话题之一,不少的区块链平台也推出了自己独有的隐私方案,不论是基于密码学算法的,还是基于TEE的,各类的方案都是比较完善的。在趣链区块链平台的旧版本里,我们也推出过不同类型的隐私保护方案,基于TEE的,基于分区共识的等等,但此类方案,在使用层面还是开发层面还是有比较大的限制。我们认为,造成这种情况的根本原因是,现有的区块链的共识-执行-存储的计算架构,不适合去做隐私保护,所有的共识节点都需要冗余的计算存储,也是造成隐私保护难的原因之一。
所以,只有做到执行、验证、存储分离,才可能做到更好的隐私保护,实现数据“可用可验不可见”,而在做到了执行验证存储分离之后,也更容易做到区块链的并行计算。如下图所示,平台在未来会实现,区块链的计算与验证分离,充分发挥基于TEE或ZKP的可验证计算能力,实现链下计算,链上验证,在架构层面做到链上链下的高效协同。
同时,更为重要的是,借助趣链区块链平台的分片架构,能够实现链上验证的并行处理,实现共识节点的横向扩展,更适合未来区块链的对于高性能的要求。我们认为,在此种计算模型下,区块链能够同时兼顾可扩展性、隐私性与高性能。新一代趣链区块链平台也将能实现复杂业务情况下性能的进一步提升。
全链路的软硬一体化方案
软硬一体化方向,是我们从Hyperchain面世以来始终贯彻的理念,我们认为应当充分的发挥硬件的高安全与极速计算的能力,结合区块链软件本身的特性打造区块链的专用硬件,实现安全性、隐私性、性能的进一步突破。主要的方向我们认为有三个:
区块链专用芯片/模组:区块链小型化、芯片化,形成分布式存储与计算的软硬件基础设施 ,加速网络转发能力、共识计算能力、高效存储能力,整个区块链数据的采集、分发、计算、存储形成了完整的安全生态闭环;
一体机设备:符合政务领域对安全性有严格要求的场景下软硬一体机设备,集成区块链密码卡、网络共识加速器、可信执行环境等硬件设备与技术,实现软硬件一体化的安全自主可控;
区块链加速设备:提供区块链专用硬件加速整体解决方案,充分挖掘SSD、FPGA、网卡等硬件潜力,提升计算效率实现并行多核高效运算,突破区块链性能瓶颈;
去年,我们发布了与中科曙光合作的区块链一体机,实现了多个专用设备的联动,助力验签、网络、存储等多个维度的加速。此外,依赖于硬件本身的可信执行服务,能够实现细粒度的隐私保护策略,保证数据在执行、存储、传输过程中的全方位加密。
最后,我们认为区块链软硬一体化不应只局限于在服务器端,更需要考虑的是全链路数据可信,这也是我们一直在做的事情。未来,我们将会秉持更加开放的生态观,持续开放趣链区块链全功能试用版本供更多开发者开发区块链应用,构建出一个更具活力的区块链生态。
文章框架速读: