闫莺:蚂蚁区块链商业化征途中的核心技术探索

6月1日,在2019中国区块链技术与应用高峰论坛上,蚂蚁金服区块链技术总监,阿里达摩院区块链实验室资深技术专家闫莺发表《蚂蚁区块链商业化征途中的核心技术探索》主题演讲,重点分享了蚂蚁区块链在服务实体产业中如何解决性能、分布式协作、隐私安全方面的挑战。新型存储,突破性能瓶颈通常,人们将TPS视为决定区块链性能的关键指标,共识算法被认为是提升TPS的主要手段。闫莺认为,在很多联盟链场景里,由于是可编程的数字资产,合约的逻辑比较复杂,所以很多时候的瓶颈不在于共识算法,而在于合约如何高效执行。而影响合约执行的一个非常重要的瓶颈在于IO。为了突破IO瓶颈,蚂蚁区块链研发了新型的存储架构。该架构的优点是:一是创新的数据模型,让区块链合约应用开发更自然;二是创新存储结构和算法;三是分布式的存储架构,具备横向和纵向扩展能力;四是冷热数据分层处理,存储成本更加优化。

图片 1

京东区块链白皮书分析了区块链在企业级应用上的场景,以及技术发展目前的短板,编写者文字功底深厚,是一份优秀的区块链资料概括,可以认为是京东在Baas即Blockchain
as service方面的规划和布局,不过缺少京东在区块链方面的创新策略介绍。

对于“区块链”的狂热追逐好似一场大风迅猛而过,最终沉淀下来的企业和开发者也许才是真正执着于其技术价值的。尤其是从
2018
年初到现在,投机和炒作的干扰越来越小,而随着区块链相关政策和标准的陆续出台,技术研发和应用的氛围则越来越浓厚,属于区块链开发者们的黄金时代正拉开大幕。

京东拥有全渠道零售和端到端供应链的高质量大数据,区块链技术天然可以解决京东业务场景中多个主体的信息记录与分享,可信数据交换与传递的业务诉求。

作为首家达到百万 TPS
性能的底层区块链技术平台,迅雷链已经运行一整年,其卓越的技术性能和开放的行业生态,吸引了近三十家政企机构和开发者们,堪称区块链
3.0 时代的开路者。这篇文章中,我们以案例研究的方式对迅雷链进行了分析。

点击下载京东区块链白皮书

从共享计算到“迅雷链”区块链技术

白皮书指出京东的目标是以区块链为“链接器”,结合自身在云计算、大数据、人工智能、物联网等新技术上积累的经验,构建一体化的智慧供应链体系、零售网络和金融科技。

跟“互联网信徒”划分 Web1.0、Web2.0、Web3.0
的思路有些相似,区块链在行业内也被分成了三个阶段。

一、京东如何看待区块链技术

区别于 1.0 时代的数字货币和 2.0 时代的智能合约,区块链 3.0
的本质是将现有区块链技术真正应用到实体经济中去,解决那些原有技术无法完美解决的具体问题和场景。

1.区块链技术如何引领数字经济变革

但是在 2018 年之前,大部分底层主链的技术性能还停留在两位数 TPS
的程度,一个几千用户的区块链应用就无法承受,更无法在大规模的商业级应用中落地。性能差、效率低、扩展性有限,成为制约区块链
3.0 时代到来的关键因素。

京东认为区块链技术在以下三个方向存在将引领数字经济变革的巨大的应用机会:

2018 年 4 月,迅雷链的发布则被称为区块链 3.0 时代到来的标志性事件。

  • 建立社会化共享的可信数据库

其实早在 2016
年,迅雷就在十余年分布式技术积累的基础上,开始探索区块链技术和自身共享计算业务的结合。为了支撑这一百万级别用户规模的应用场景,迅雷创新地研发了同构多链架构,将底层区块链技术性能提升到百万
TPS,
并通过优化的共识算法达到秒级确认,这一突破使得大规模商业级应用开发得以实现。在经过一段时间的试运行之后,迅雷正式推出迅雷链开放平台,将自身的技术能力赋能于开发者,共同推动区块链行业的繁荣发展。

区块链的技术本质是一种去中心化、面向业务、跨主体、健壮与安全的分布式状态机。区块链具有存储数据、共有数据、分布式、防篡改与保护隐私、数字化合约
5项核心特征。

迅雷链具体是如何实现的呢?

基于这些特征,部署跨主体间的区块链联盟链节点和桥接,用区块链技术搭建一张社会化的共享数据存储网络,有机会以客观的技术手段来解决跨主体的信任问题。

分层来看,迅雷链以共享计算的 P2P
网络、存储空间、算力为基础层,搭建起同构多链架构。多链是指多条链,不同用户的数据会落到不同的链上。而同构是指每一条链使用相同的应用程序。单个节点只需负责单一链上的相关数据,不仅对存储的需求变小,同时性能得到了极大提升。

  • 提升交易效率,降低交易成本

在共识机制上,迅雷链引入了 DPoA
共识算法,遴选出带宽较高、稳定性好、计算能力强的节点作为代理节点。为了保证服务稳定,迅雷链会定期对代理节点进行洗牌,把更好的节点作为候选。

基于区块链智能合约等多种模式的商业交易可以大幅减少数据核实的环节和降低成本,同时又能保证商业交易的风险降低,交易更具确定性。

此外,迅雷链利用改进过的 PBFT 共识算法,能够在秒级做到 2/3
以上的节点确认。一经确认,就不会在产生分叉或回滚,确保链上数据准确可靠。

  • 推动供应链创新
    伴随着中国政府将供应链创新与应用上升为国家战略和居民消费的不断升级,供应链风险控制和提升供应链透明度的诉求不断攀升。区块链技术可以搭建供应链全流
    程节点共同维护的联盟链,在联盟链中建立数据维护的参与规则与激励机制。

同构多链的底层架构配合双共识算法,能够利用扩链的方式来大幅提升性能,从而实现高并发。如果按照主网上线时间,迅雷链应该是国内第一个真正实现百万
TPS 的底层区块链平台。

2.对区块链技术的再理解

这无疑具有里程碑式的意义。

区块链本质上是一种健壮和安全的分布式状态机,典型的技术构成包括共识算法、P2P
通讯、密码学、数据库技术和虚拟机。

我们熟悉的区块链,无论是以太坊还是EOS.IO,他们的TPS速度都不高。以EOS.IO为例,这个号称是能够达到百万TPS的区块链系统,到目前为止最高TPS仅仅超过3590次,远低于宣称理论值。而迅雷链则已经在实际应用中实现了真正意义上的百万TPS,即每秒处理超过100万次的真实交易。

这也构成了区块链必不可少的 5 项核心能力:

但迅雷链的技术实力还不止于此。

  • 存储数据

对于需要存储大体积文件的链上应用,迅雷链文件系统能够派上用场。它采用“链外存储、链内验证”的设计理念,TCFS
上的所有文件均被视为用户的个人资产,这些资产不能随便转移,文件不能被人随便查看或者下载。只有拿到了用户私钥签名、得到授权后,才能具备查看、下载的权限。此外,迅雷链还在冗余编码、文件自愈等技术上也有所创新。比如在
TCFS 上存储 10M 数据可以同时存放在 40 个节点上,但文件总体积并非
400M,而是 20M。冗余编码在控制文件体积上起到了关键作用。

源自数据库技术和硬件存储计算能力的发展,随着时间的累积,区块链的大小也在持续上升,成熟的硬件存储计算能力,使得多主体间同时大量存储相同数据成为可能;

在这些硬核技术之外,为了降低开发难度和门槛,迅雷链还针对开发者进行了一系列技术升级和优化。例如,迅雷链
4 月初增加了 WASM 虚拟机支持,不仅支持了更多开发语言,还能实现原地升级。

  • 共有数据

以太坊的 EVM
虚拟机升级合约的过程是非常痛苦的。开发者必须先停机,再将原始数据迁移过去。迁移完成之后,还要将用户交易地址转到另一个地址。过程繁琐,还会影响链上服务的持续性和稳定性。

源自共识算法,参与区块链的各个主体通过约定的决策机制自动达成共识,共享同一份可信的数据账本;

迅雷链的 WASM
虚拟机,允许开发者在不更换合约地址的情况下更新合约代码。此外,迅雷链还改进了
WASM 虚拟机里对合约调用的功能,实现合约对合约的同步调用。

  • 分布式

总结来看,迅雷链基于同构多链架构,利用双共识算法和双虚拟机支持,彻底解决了区块链应用开发在性能、效率、扩展性和开发难度等方面的瓶颈。

源自 P2P 通讯技术,实现各主体间点对点的信息传输;

“区块链生态”悄然萌发

  • 防篡改与保护隐私

技术性能固然重要,但只有真正用起来才有价值。在很多企业还停留在技术研发阶段的时候,迅雷链已经在应用场景落地上遥遥领先。据不完全统计,迅雷链从
2018 年 4
月上线开始到现在,已经有近三十个商业应用案例,涉及出行、溯源、公益、版权等多个行业和垂直领域。

源自密码学运用,通过公钥私钥、哈希算法等密码学工具,确保各主体身份和共有信息的安全;

以国内专业防伪溯源服务提供商量子云码为例,它利用区块链不可篡改的特性,为食品、美妆、医药等行业的企业客户提供商品防伪、安全溯源、渠道管控等解决方案。

  • 数字化合约

迅雷链技术优势 助力企业业务增长

源自虚拟机技术,将生成的跨主体的数字化智能合约写入区块链系统,
通过预设的触发条件,驱动数字合约的执行。

今年 3
月,量子云码将全量业务上线到迅雷链上,实现了业务流程数据的链上公开。

3.区块链发展面临的挑战

对于量子云码这种查询量大、反馈及时的业务系统,迅雷链的同构多链设计配合
PBFT 共识算法能够在秒级做到 2/3
以上的节点确认。如果企业应用对上链数据的并发有要求,还可以进行动态扩链。

尤其在企业级应用方面,区块链的交易并发能力、数据存储能力、通用性、功能
完备性、易用性都还存在明显不足。

另一个有效利用迅雷链的领域是出行。总部位于上海的阿尔法顺风车,将车主和用户的出行数据上链,不良记录也自动上链至阿尔法信用中心。

  • 交易并发能力目前开源的区块链系统的高并发交易能力普遍不高,其中,共识算法是制约性能的重要方面。制约性能的另一个重要因素是账本结构。目前典型的区块链账本设计为区块的单链结构,意味着从全局来看所有的交易都只能顺序地被处理。由于交易处理缺少并行度,因而难以获得接近于传统中心化系统的性能表现。
  • 数据存储能力

据阿尔法顺风车 COO 张磊透露,目前阿尔法平台上有 60 万用户和 15
万车主。这要求底层主链处理性能上至少要达到 10 万 TPS
能力,而且要确保区块信息不回滚,不分叉。迅雷链的同构多链架构、百万级
TPS,足以满足现阶段阿尔法平台的交易处理需求。

在数据存储能力方面,由于区块链的数据只有追加而没有移除,数据只增不减,随着时间推移,区块链系统对数据存储大小的需要也只能持续地增大,在处理企业数据时这一趋势增长更甚。

在版权保护领域,今年3月,中国版权保护中心联合新浪微博、迅雷、京东商城等国内重量级互联网平台重磅发布中国数字版权唯一标识标准联盟链。迅雷作为国内区块链技术的创领者,为DCI体系提供区块链技术支持,共同打造版权服务新生态。同时间,迅雷链还中标了广东南方新媒体旗下的区块链创始节点系统建设项目,将用于协助企业搭建联盟链。这也意味着,迅雷链技术获得了国有企业的认可。

企业场景下的数据包含结构化和非结构化数据,数据量十分庞大。以电商供应链为例,主要电商入口的每日数据记录条数通常都在千万级以上,如再沿着供应链条进一步展开时,每延伸一级数据量都会进一步放大。

对这些项目来说,区块链技术切实地优化了产品体验,对业务增长产生了正向的推动作用。而随着用户规模的持续增长,能够承受更高并发量、扩展性极强的迅雷链,无疑成为他们的必然选择。

目前典型的区块链系统在实现对账本数据的存储时,典型的实现方式是基于文件系统或者简单的
KV 数据库存储,没有采用分布式存储的设计,因而数据存储能力与实际需要之间
也存在较大的差距,需要探索更为有效的大数据存储方式。

破旧立新 赢得区块链+商业模式先机

  • 通用性

从整体上看,底层区块链平台的商业生态建设尚处早期,可能面临各种短板和缺陷。例如某些公司开发的App产品,尝试加入区块链经济模型,实际上它只是在积分制度上借用这一概念进行用户增长尝试,本业与区块链并无多大关系。大部分企业到目前为止,对区块链的认识还停留在早期的尝试阶段,很难将区块链应用到大规模项目上去商用。

区块链需要适应多样化的业务需求,满足跨企业的业务链条上的数据共享,这意味着区

但罗马不是一天建成,跑通区块链底层系统的生态也绝非一朝一夕之功。就像手机操作系统对手机行业的重要性一样,区块链底层生态系统的重要性不言而喻。而迅雷正在朝着这一目标大步前进。

块链对数据的记录方式要有足够的通用和标准,才能表示各种结构化和非结构化的信息,并

区块律动BlockBeats很有幸地看到,迅雷多年来的技术积累和分布式技术基础设施的搭建,正在迅雷链上大放异彩,让暗淡许久的区块链行业看到了新的发展希望。

能够满足随着业务范围拓展所需的跨链要求。

除了之前提到的技术性能、开发体验以及应用落地之外,迅雷也在积极地以开放的姿态推动行业生态的繁荣发展。在18年5月,迅雷链开放平台就针对开发者推出了技术、模式、资金等一系列扶持政策;面向全球的区块链应用大赛,更是吸引了超过两千名开发者的参与,在当时被誉为行业盛事;陆续在7个城市落地的技术沙龙,给无数迷茫中的开发者带来了曙光和方向。

  • 功能完备性纵观现有区块链平台,模型抽象单一,难以适应业务系统快速开发的要求。缺少对企业应用中常见的一些功能的支持,例如用户认证、多级授权等。
  • 易用性

这些看似平常的事情中,蕴含着迅雷对于整个区块链技术开发生态的拳拳之心。放眼全球区块链底层平台市场,迅雷不仅实现了对自身业务的破旧立新,更是成功地占下区块链+商业模式先机,成为2019年区块链主链市场中风向标式的企业代表。

区块链技术需要降低学习和使用门槛,支持快速实施部署,提供贴近业务的接口,推广使用。

区块链在经过两年多的概念洗礼后,终于朝着正确且有意义的方向发展了。无论是阿尔法顺风车,还是内容版权上链,又或者是溯源系统,迅雷链的区块链+商业的范例,值得所有行业内的开发者学习。

二、京东区块链应用场景

万维网持续迭代了三十年,才有了今天的繁荣,才有了“互联网+”。如果你在 2019
年还对区块链有信心,或许应该给它更多时间。很显然,迅雷在2019年上半年给了区块链行业一个令人欣慰的答卷。

图片 2Screen
Shot 2018-03-31 at 5.31.09 PM.png

本文首发于微信公众号:区块律动。文章内容属作者个人观点,不代表和讯网立场。投资者据此操作,风险请自担。

三、京东区块链架构体系

京东区块链的目标是打造面向企业级应用的区块链基础设施,为企业提供能够切实解决业务痛点的区块链技术方案。

京东区块链采用分层架构设计、标准化账本数据协议、优化共识算法、引入微服务架构与可伸缩的分布式存储技术、灵活的多级授权策略等一系列的创新技术方案。

1.总体架构

京东区块链的总体架构分为 3 个层次:区块链协议、组件框架、服务平台。

图片 3京东区块链架构.png

  • 区块链协议

京东区块链协议作为最顶层的架构设计,定义了区块链的数据格式标准,包括账本状态、历史证明、账本操作集、合约指令集
4 个方面的数据标准。

  • 组件模型“组件模型”是区块链逻辑组件的框架模型,是对京东区块链协议的实现框架。包括了共识网络、账本、持久化引擎、合约引擎四个组件。
  • 服务平台“服务平台”是对上层的区块链协议和组件模型的具体实现,由网关、服务、节点网
    络、SDK 和一套工具集组成。

京东区块链在架构和实现上遵循以下的几个设计原则。

  • 面向业务
  • 标准化
  • 松耦合与模块化

2.应用模型

与传统的互联网协议不同(如 TCP/IP,HTTP
等),传统协议都是面向通讯过程的,而区块链是面向
业务过程的。区块链作为一种分布式状态机,“智能合约”是实现分布式业务状态转移的核心功能,使得基于区块链的应用架构模型产生了全新的变革。

假设要开发一个商品贸易系统,业务的参与者包括贸易买卖双方和物流企业,这个系统要帮助买卖双方建立交易合同、跟踪货物运输过程、交付结算。

基于区块链实现该应用通常需要以下几个步骤:

定义参与业务的各个主体的身份账户

为参与者注册登记一个由公钥私钥对表示的身份账户。由符合国家标准的证书

所表示的身份账户是能够代表一个特定的法人,由该账户签发的数据可以在法律上被认为是

该法人做出的确认。

编写智能合约对业务过程做出定义

把参与者之间达成的商业协议以智能合约代码的形式进行定义,以数字化形式约定贸易

的商品属性、数量、交付价格、交付期限、交付条件、运输方式、交割检验标准、货款计算

方式、货款支付时限等等。

联合签署智能合约并触发业务初始条件

智能合约最后需要经过参与者以各自的身份账户做出签署,之后每一方参与者只需要根

据自己业务范围内的业务进程做出相应的操作,便触发了智能合约的执行。

四、架构分层解析

1.账本协议

  • 账本状态表示区块链系统在某一时刻所处的状况,由系统保存的业务数据以及系统运行的控制属性构成。
  • 账本操作集“账本操作集”是为了实现跨链互操作而定义一个通用的标准,包含“类型”的标准码,“参数”的标准格式。
  • 合约指令集

区块链以合约语言的形式定义业务状态的控制和转换逻辑。通过设计一个标准化的合约语言指令集,可以用一种通用的方式来表述各种复杂的业务逻辑,从而与具体的编程语言无关。

2.组件模型

  • 共识网络

目前典型的共识算法主要有 PoW、PoS、PBFT、Raft、Paxos
等。这些算法在运行过程都可以抽象下面几个阶段:

交易扩散;

交易排序;

调用交易执行程序;

对交易执行结果进行共识;

提交共识结果。

各种共识算法的差异体现在不同阶段采取了不同实现策略。

京东区块链选择类 BFT
的算法进行优化,提供了确定性交易执行、拜占庭容错、动态调整节点的特性。

  • 账本

账本状态与合约分离,使用基于身份的访问控制协议约束合约对状态的访问,这种将数
据与逻辑分离的设计模式是典型的贫血模型,可为上层业务逻辑提供无状态的逻辑抽象。

  • 持久化存储将账本信息的持久化格式定义为更简洁的 KV
    格式数据,使得可以利用成熟的 NoSQL 数据库来实现持久化存储。
  • 合约引擎

合约引擎包含两大部分,前端包括合约高级语言规范及其工具链,后端是一个轻量级的
合约中间代码的执行环境。

3.服务平台

图片 4Screen
Shot 2018-03-31 at 5.51.36 PM.png

功能模块分为区块链网关、区块链节点服务、区块链共识网络、配套工具四个部分。

  • 区块链网关

“区块链网关”被设计为一种轻量的网关系统,通常是部署在参与者的网络环境中,提供功能包括:

a) 私钥管理:提供完全本地化的私钥保管功能;

b) 隐私保护:采用端到端加密手段实现隐私保护; c) 协议转换:提供轻量化的
HTTP Restful Service,适配 TCP 协议的区块链节点 API。

  • 区块链节点服务

在区块链基础网络的基础上提供的面向应用的通用的功能组件,目的是提供通用功能的

复用。

  • 区块链共识网络

由共识节点组成的网络,基于 P2P
网络和共识算法确保交易数据在节点之间保持一致。

五、 京东区块链的特点

1.性能

  • 采用优化的 BFT 共识协议和 P2P 通讯,支持多链并行共识

采用改进的 BFT
算法,支持动态的调整网络拓扑,实现节点动态加入及主动退出。为了应对多样化的业务场景、满足信息安全需求、提升业务吞吐量,京东区块链支持多链架构。不相关的业务运行在多条并行的区块链上,这为我们提供了针对业务的线性扩展能力。

图片 5多链并行.png

对于多条链之间的互操作我们采取了中继链的模式,参与各方向中继链节点提交提案,结果经共识后得以确认。

  • 采用微服务处理架构,支持横向伸缩、动态扩容,实现海量交易处理与数据存储

    图片 6微服务.png

通过测试、分析发现系统处理海量交易时,共识节点中密码模块与合约模块存在性能瓶颈。为了减轻这方面问题的影响,将密码模块、合约模块拆分为单独的无状态的微服务,以便在处理海量交易时有针对性的对密码、合约微服务进行横向扩容。

  • 采用灵活的数据存储结构,支持冷热数据分离
  • 支持节点动态加入和退出,实现系统的高可用性,保证业务不间断运行

2.功能

  • 支持用户实名与认证
  • 支持企业数据治理
  • 支持事件驱动的业务协作模型

京东区块链采用通用事件驱动模型框架。已接入 AKKA 的 Actor
模型,对并发模型进行了更高的抽象。采用轻量级事务处理,从事件层面实现细粒度的组件复用。

  • 支持多账本以实现按业务维度管理链上数据

3.安全

  • 可插拔的密码算法,可以灵活的制定相应的密码体系
  • 平台默认实现多套密码算法,包括国密算法和硬件加密设备

4.合约

  • 支持可复用的智能合约
  • 支持智能合约语言的调试功能

5.合规

  • 支持基于 CA 的账户认证
  • 支持监管节点的接入
  • 支持数据备案

六、展望区块链技术发展

区块链是构建合作伙伴间信任经济的基石,那么就需要区块链或是联盟链在互联网的广泛部署和规模化应用。

目前区块链技术推广仍存在诸多挑战,京东区块链技术团队总结和建议如下:

政策与标准指导

区块链规模化应用,需要跨企业达成一致的技术标准和行业监管标准

技术平台的不断完善

区块链技术脱胎于比特币公共网络,据不完全统计,比特币矿池每年消耗大量的电力资源,原因是完全公有链的区块链部署形式实际上并不适用于全部场景。

在应用中建立激励机制和商业模型

比特币作为区块链的创始级应用得益于它搭建了一套非常完善的公有链模型和基于这个模型的工作和激励机制。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

CopyRight © 2015-2020 普京集团娱乐网 All Rights Reserved.
网站地图xml地图