
区块链即服务平台BaaS白皮书.docx
25页区块链即服务平台 BaaS白皮书(1牵头编写单位:中国信息通信研究院华为技术有限公司腾 讯云计算(北京)有限责任公司上海点融信息科技有限责任公司 参与编写单位:杭州趣链科技有限公司北京奇虎科技有限公司北 京百度网讯科技有限公司阿里云计算有限公司联动优势科技有 限公司腾讯科技(深圳)有限公司西安纸贵互联网科技有限公司 中兴通讯股份有限公司智链数据科技(南通)有限公司上海淳麒金融信息服务有限公司中链科技有限公司编写组成员:魏凯卿苏德杨白雪张煜敖萌肖诗源张帅李连港梁超范锦锋张戈杨晨张建 俊易晓春李磊董宁张一杰余珊李凯曹朝蔡春瑜刘再耀邵兵吴非 刘尧王利凯自末中本聪发布比特币白皮书所标志的区块链诞生, 至本白皮书初版发布,已经过去了整整十年这十年间,区块链从鲜为人知到家喻户晓,从街谈巷议到饱 受质疑,其过程不可谓不惊心动魄,跌宕起伏,像极了上世纪九 十年代TimBerners-Lee发明了万维网的最初十年很多人喜欢将区块链网络类比于互联网,因为区块链构建的 是一种价值网络当然二者其实是很不一样的,但无可非议的是,区块链会成 为未来社会的一种基础设施, 大量的应用将会构建在区块链网络 之上区块链即服务(BlockchainasaService,BaaS)平台便是为构建 区块链的基础设施所做出的重要努力BaaS平台旨在提供创建、管理和维护企业级区块链网络及应 用的服务,能够帮助用户降低开发及使用成本。
通过BaaS平台提供的简单易用、成熟可扩展、安全可靠、可 视化运维等设计特色,区块链开发者能够满足快速部署、高安全 可靠性的需要,为企业高效地开发出区块链应用本白皮书由浅及深地介绍了区块链即服务平台的技术细节与应用场景基本的模块设计从功能上可划分为资源管理层、区块链底层 技术和平台管理层三个层次,其底层的关键技术包括可插拔的共 识机制、高可用存储和多类型账本支持、多类型的交易模型、多 语言支持的智能合约引擎以及安全隐私保护除了这些基本的区块链特性之外, BaaS平台还会提供跨云部 署、跨链交互、链上链下访问和分布式身份管理等高阶特性最后,本白皮书还分享了几个基于BaaS平台落地的重要案例,为区块链应用的开发和创新提供多视角的思路该白皮书是可信区块链推进计划在区块链即服务平台领域的 第一个白皮书,由于编写时间仓促,该白皮书存在一定的不足, 欢迎业内各界人士沟通交流讨论序 言 目 录 CONTENTS1 概 述 ……11.1 区 块 链 技 术 的 背11.企 业 级 区 块 链 服 务 的 意义21.3 常见的 企 业 级 区 块 链 系统31.3.1HyperledgerFabric 31.3.2Ethereum 41.3.3Quarum61.3.4Corda 62块链服务BaaS的定义和设计原则73区块链服务BaaS的总体架构 94区块链服务BaaS的基本模块设计 114.1区 块 链 服 务 管 理 平 台 的 设计 114.1.1云资源适配管理124.1.2 云资源管理 124.1.3 区 块 链 部 署 配 置 管理124.1.4智能合约管理 124.1.5动态联盟管理 134.1.6区块链模板管理 134.1.7区块链监控 134.1.8区块链浏览器 144.1.9账户管理 144.1.10 用 户志 日144.1.11系统监控 144.1.12计费管理 144.2 区 块 链 底 层 关 键 技术 144.2.1 可 插 拔 的 共 识 机制154.2.2高可用 存 储 和 多 类 型 账 本 支持174.2.3多类型的交易模型184.2.4多语言 支 持 的 智 能 合 约 引擎194.2.5安全隐私保护11月,一位自称中本聪的密码学家发表了论文《比特币:一个点对点的电子货币系统》。
论文描述了一种完全去中心化的数字货币,而区块链作为其 底层技术从此开始进入公众视野经过十年发展,区块链正逐渐成为最有可能改变世界的技术 之一引用维基百科中对于区块链的描述:区块链( Blockchain或 Blockchain )是借由密码学串接以保护内容的自增长的交易记录 列表(又称区块)每一个区块包含了前一个区块的哈希值、本区块的时间戳记 以及交易数据(通常用默克尔树结构的哈希值表示),这样的设计使得区块内容具有难以篡改的特性用区块链能让多方有效记录交易,且可永久查验此交易狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本广义来讲,区块链技术是利用块链式数据结构来验证与存储 数据、利用分布式节点共识算法来生成和更新数据、利用密码学 方式保证数据传输和访问的安全、 利用由自动化脚本代码组成的 智能合约来操作数据的一种全新的分布式基础架构与计算方式比特币是加密数字货币的代表比特币出现之后,莱特币、零币、 PPCoin、Ethere-um等数字 货币如雨后春笋般涌现出来,这些加密货币实验或许将促进人类 货币体系的进一步发展。
随着以比特币为首的数字货币受到越来越多的关注,人们开 始将区块链技术应用到金融领域,为区块链系统引入 智能合约’技术智能合约是一种通过计算机语言实现的旨在以信息化方式传 播、验证或执行合同的计算机协议智能合约技术对区块链的功能进行了拓展自此,区块链发展进入第二阶段:可编程金融有了智能合约系统的支持,区块链的应用范围开始从单一的货币领域扩大到涉及合约共识的其他金融领域,区块链技术得以在股票、清算、私募股权等众多金融领域崭露头角随着区块链技术的进一步发展,其开放透明"、去中心化'及不可篡改”的特性在其他领域逐步受到重视各行业专业人士开始意识到,区块链的应用也许不仅局限在 金融领域,还可以扩展到任何需要协同共识的领域中去于是,在金融领域之外,区块链技术又陆续被应用到了公证、 仲裁、审计、域名、物流、医疗、邮件、鉴证、投票等其他领域,应用范围逐渐扩大到整个经济社会O除此以外,人们还试图将区块链技术应用到物联网中,实现 人与人、人与机器1概述01区块链即服务平台BaaS白皮书(1.0 版)的万物互联整个社会将逐渐进入智能互联网时代,最终形成一个可编程 的社会1.2企业级区块链服务的意义区块链的行业应用正在加速推进,由数字货币等金融应用向非金融领域进行渗透扩散。
企业应用是区块链的主战场,具有安全准入控制机制的联盟链和私有链将成为主趋势云的开放性和云资源的易获得性,决定了公有云平台是当前 区块链创新的最佳载体,区块链与云计算的结合越发紧密,有望成为公共信用的基础设施在区块链应用安全方面,区块链安全问题日益凸显,安全防 卫需要从技术和管理全局考虑,安全可信是区块链的核心要求, 标准规范性日趋显得重要此外区块链技术与监管要求存在一定差距,但距离有望进一 步缩小什么领域适合区块链技术?我们认为在现阶段区块链适合的 场景有三个特征:第一,存在去中心化、多方参与和写入数据的 需求;第二,对数据真实性要求高的场景;第三,初始情况下相 互不信任的多个参与者建立分布式信任的需求如图1所示在传统的多个企业业务系统中, 会存在信息孤岛、 互相没有建立可信机制、多方协作困难效率低等难题, 在该情况 下可以考虑采用区块链系统图1传统企业业务系统中的现有问题02区块链即服务平台BaaS白皮书(1.0版)典型的应用案例如:基于区块链进行货物跟 踪的应用,该应用提升了数据安全性、隐私性、共享性,解决了 商品转移过程中的追溯防伪问题,有效提高物流行业在结算处理效率,节约成立了超级账本(Hyperledger)项目来推动跨行业区 块链技术。
该项目并未严格定义区块链标准,它鼓励通过社区来合作推 动区块链技术,鼓励开源知识产权,采用随时间不断发展的关键 标准同时,Hyperledger是一个为了提高跨行业的区块链技术的开 源全球合作项目,铤括了金融、银行、物联网、供应链、制造和 科技产业的领导者其下属的主要框架项目除 Fabric以外还有Sawtooth、Iroha、 Burrow、Indy 等项目HyperledgerFabric 最早是 DigitalAsset 和 IBM 组织的编程马 拉松的产物,并被贡献给 Linux基金会像其他区块链技术一样,它有一个账本,使用智能合约,是 一个由参与者共同管理交易的系统HyperledgerFabric和公有区块链系统不同之处在于它是私有 的和有准入资格授权的HyperledgerFabric的成员要在会员服务提供商(MSP)注册HyperledgerFabric也提供一些可插拔的选项账本数据能够以多种格式存储,一致性机制可以引入也可以退出,并且支持不同的多个 MSPHyperledgerFabric还提供创建通道(Channel)的能力,允许一 组参与者建立一个单独的交易账本HyperledgerFabric的账本系统包含两个组件:世界状态和交易日志。
每个参与者都可以有一份他们参与的Hy-perledgerFabric区块链网络的账本副本世界状态组件描述了一个当前时间点的账本状态,它是账本 的数据库;交易日志组件记录所有导致世界状态改变的交易,它是世界状态的更新历史记录这样,账本就是世界状态数据库和交易日志历史的组合体, 账本有可修03区块链即服务平台BaaS白皮书(1.0版)改的世界 状态数据库HyperledgerFabric中的节点具有不同角色,分别是排序节点 (Orderer )、背书节点 (EndorserPeer) 和记账节点 (CommitterPeer)HyperledgerFabric中的交易信息统一由排序服务节点处理, 保证每个节点上的交易顺序一致,天然避免了分叉问题每个参与区块链网络的组织,可以控制多个节点,以解决组 织间权利不对等的问题在Fabric还引入了通道(Channel)的概念一般情况下,一个区块链网络的子链是按照“1个通道+N个成员”的基本组成通道是区块链成员中两个或多个成员之间通信的私有子网”,用于进行需要对其他成员做数据保密的交易在Fabric中,建立一个通道相当于建立了一个子链创建通道是为了限制信息传播的范围,是和某一个账本关联的。
每个交易都是和唯一的通道关联的,可以明确地限定哪些成 员能够知道这个交易在Fabric中,智能合约程序也叫链码(Chaincode),可以用Node.js、Java和Go等语言进行开发Fabric上的链码分为系统链码和用户链码系统链码用于实现系统层级的功能,包括系统的配置,用户 链码的部署、升级,用户交易的签名和验证策略等用户链码用于实现用户的应用功能,即具体的业务逻辑开发者将链码部署到 Fabric网络上,终端用户通过与网络节 点交互的客户端应用程序调用链码链码被编译成一个独立的应用程序,运行于相互隔离的Docker容器中,在链码部署的时候会自动生成合约的Docker镜 像1.3.2EthereumEthereum (以太坊)是一个基于区块链技术的 去中心化应用平台,它允许任何人在平台中建立和使用通过区块 链技术运行的去中心化应用以太坊普遍被认为是区块链 2.0时代的代表性产品,创始人 VitalikButerin于底发布了以太坊白皮书,标志着该。












