区块链即服务平台BaaS白皮书1doc.docx

上传人:b****7 文档编号:9067124 上传时间:2023-02-03 格式:DOCX 页数:19 大小:29.41KB
下载 相关 举报
区块链即服务平台BaaS白皮书1doc.docx_第1页
第1页 / 共19页
区块链即服务平台BaaS白皮书1doc.docx_第2页
第2页 / 共19页
区块链即服务平台BaaS白皮书1doc.docx_第3页
第3页 / 共19页
区块链即服务平台BaaS白皮书1doc.docx_第4页
第4页 / 共19页
区块链即服务平台BaaS白皮书1doc.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

区块链即服务平台BaaS白皮书1doc.docx

《区块链即服务平台BaaS白皮书1doc.docx》由会员分享,可在线阅读,更多相关《区块链即服务平台BaaS白皮书1doc.docx(19页珍藏版)》请在冰豆网上搜索。

区块链即服务平台BaaS白皮书1doc.docx

区块链即服务平台BaaS白皮书1doc

区块链即服务平台BaaS白皮书(1

牵头编写单位:

中国信息通信研究院华为技术有限公司腾讯云计算(北京)有限责任公司上海点融信息科技有限责任公司参与编写单位:

杭州趣链科技有限公司北京奇虎科技有限公司北京XX网讯科技有限公司阿里云计算有限公司联动优势科技有限公司腾讯科技(深圳)有限公司西安纸贵互联网科技有限公司中兴通讯股份有限公司智链数据科技(南通)有限公司上海淳麒金融信息服务有限公司中链科技有限公司编写组成员:

魏凯卿苏德杨白雪张煜敖萌肖诗源张帅李连港梁超范锦锋张戈杨晨张建俊易晓春李磊董宁张一杰余珊李凯曹朝蔡春瑜刘再耀邵兵吴非刘尧王利凯自末中本聪发布比特币白皮书所标志的区块链诞生,至本白皮书初版发布,已经过去了整整十年。

这十年间,区块链从鲜为人知到家喻户晓,从街谈巷议到饱受质疑,其过程不可谓不惊心动魄,跌宕起伏,像极了上世纪九十年代TimBerners-Lee发明了万维网的最初十年。

很多人喜欢将区块链网络类比于互联网,因为区块链构建的是一种价值网络。

当然二者其实是很不一样的,但无可非议的是,区块链会成为未来社会的一种基础设施,大量的应用将会构建在区块链网络之上。

区块链即服务(BlockchainasaService,BaaS)平台便是为构建区块链的基础设施所做出的重要努力。

BaaS平台旨在提供创建、管理和维护企业级区块链网络及应用的服务,能够帮助用户降低开发及使用成本。

通过BaaS平台提供的简单易用、成熟可扩展、安全可靠、可视化运维等设计特色,区块链开发者能够满足快速部署、高安全可靠性的需要,为企业高效地开发出区块链应用。

本白皮书由浅及深地介绍了区块链即服务平台的技术细节与应用场景。

基本的模块设计从功能上可划分为资源管理层、区块链底层技术和平台管理层三个层次,其底层的关键技术包括可插拔的共识机制、高可用存储和多类型账本支持、多类型的交易模型、多语言支持的智能合约引擎以及安全隐私保护。

除了这些基本的区块链特性之外,BaaS平台还会提供跨云部署、跨链交互、链上链下访问和分布式身份管理等高阶特性。

最后,本白皮书还分享了几个基于BaaS平台落地的重要案例,为区块链应用的开发和创新提供多视角的思路。

该白皮书是可信区块链推进计划在区块链即服务平台领域的第一个白皮书,由于编写时间仓促,该白皮书存在一定的不足,欢迎业内各界人士沟通交流讨论。

序言目录CONTENTS1概述…………………………………………………………………………11.1区块链技术的背景…………………………………………………………………11.2企业级区块链服务的意义…………………………………………………………21.3常见的企业级区块链系统…………………………………………………………31.3.1HyperledgerFabric………………………………………………………31.3.2Ethereum……………………………………………………………………41.3.3Quarum……………………………………………………………………61.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等数字货币如雨后春笋般涌现出来,这些加密货币实验或许将促进人类货币体系的进一步发展。

随着以比特币为首的数字货币受到越来越多的关注,人们开始将区块链技术应用到金融领域,为区块链系统引入“智能合约”技术。

智能合约是一种通过计算机语言实现的旨在以信息化方式传播、验证或执行合同的计算机协议。

智能合约技术对区块链的功能进行了拓展。

自此,区块链发展进入第二阶段:

可编程金融。

有了智能合约系统的支持,区块链的应用范围开始从单一的货币领域扩大到涉及合约共识的其他金融领域,区块链技术得以在股票、清算、私募股权等众多金融领域崭露头角。

随着区块链技术的进一步发展,其“开放透明”、“去中心化”及“不可篡改”的特性在其他领域逐步受到重视。

各行业专业人士开始意识到,区块链的应用也许不仅局限在金融领域,还可以扩展到任何需要协同共识的领域中去。

于是,在金融领域之外,区块链技术又陆续被应用到了公证、仲裁、审计、域名、物流、医疗、邮件、鉴证、投票等其他领域,应用范围逐渐扩大到整个经济社会。

除此以外,人们还试图将区块链技术应用到物联网中,实现人与人、人与机器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也提供一些可插拔的选项。

账本数据能够以多种格式存储,一致性机制可以引入也可以退出,并且支持不同的多个MSP。

HyperledgerFabric还提供创建通道(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于底发布了以太坊白皮书,标志着该项目正式启动。

7月,发布了Frontier阶段,以太坊主网正式上线。

以太坊发布了第二个重大版本Homestead。

10月,以太坊发布了第三个版本的Byzantium部分。

至此,以太坊已经发展成为了区块链世界最重要的一个平台,大量的DApp(分布式应用)基于以太坊来开发。

就像比特币一样,以太坊是去中心化的,由全网共同记账,账本公开透明且不可篡改。

没有任何人或者组织能够控制以太坊区块链,任何新添加的数据都需要获得全网的一致认可。

与比特币不同的是,以太坊是可编程的区块链,它提供了一套图灵完备的脚本语言。

04区块链即服务平台BaaS白皮书(1.0版)以太坊平台对底层区块链技术进行了封装,让区块链应用开发者直接基于以太坊平台进行开发,只须专注于应用本身而无须实现区块链底层代码。

以太坊上的程序被称为智能合约,它是代码和数据(状态)的集合。

开发人员可以直接用以太坊原生支持的Solidity语言编写和区块链交互的智能合约,大大降低了区块链应用的开发难度。

EVM(以太坊虚拟机):

EVM是以太坊的核心,它能执行遵守协议的任何复杂的代码。

EVM是图灵完备的,开发者可以在虚拟机上使用Solidity编程语言来创建应用。

智能合约与链上数据的交互,也由EVM负责中间的交互过程。

EVM是以太坊智能合约的运行时环境.它不仅仅是个沙盒,而是完全隔离的。

这意味着代码在EVM中运行时没有办法连接网络,文件系统或者其他进程,甚至一个智能合约没有办法访问另一个智能合约。

为了解决支持图灵完备下的可终止性问题以及避免网络滥用,以太坊引入了Gas概念。

EVM中的每步操作和每个账本存储都会对应于一定的Gas消耗;当Gas消耗完后合约即会被终止。

Gas方式相当于即时付费的手续费模式,目前被大多数的公有区块链平台所采用。

账号是以太坊的基本单元,每一个账号都有一个20个字节长度的地址。

以太坊区块链跟踪每一个账号的状态,区块链上所有状态的转移都是账户之间的以太币和信息的转移。

以太坊有2种账户类型,外部账号简称EOA,是由私钥来控制的。

合约帐户,由合约代码来控制,且只能由一个EOA账号来操作。

交易在以太坊中是指签名的数据包,这个数据包中存储了从外部账户发送的消息,交易包含以下内容:

·消息的接收者;·一个可以识别发送者的签名;·发送方给接收方的以太币的数量;·一个可选的数据字段;·一个GasLimit值,表示执行这个交易允许消耗的最大计算步骤;·一个GasPrice值,表示发送方的每个计算步骤的费用。

目前以太坊采用了ethash共识算法,本质上这是PoW共识算法。

依靠大量的哈希计算来找出一个符合规定难度的当前区块的哈希值,以此来证明记账节点的工作量。

其优点是安全可靠,缺点是耗费了大量的能源。

05区块链即服务平台BaaS白皮书(1.0版)1.3.3QuarumQuorum是J.P.Morgan集团开发的一条基于以太坊的联盟链,用来向用户提供企业级分布式帐本和智能合约开发,适用于高速交易和高吞吐量处理联盟链间私有交易的应用场景。

其主要设计目的是解决区块链技术在金融及其它行业应用的特殊挑战。

Quorum的设计思想是尽量使用以太坊现有的技术,而不是重新研发一条全新的链。

通过合理的设计,尽量减少与Ethereum的耦合从而保持与以太坊公链的版本一致性。

其主要的逻辑功能都位于专门设计的抽象层中。

相比以太坊,Quorum使用了RAFT共识算法、增加了隐私性设置、对网络和节点进行了权限管理。

隐私性是Quorum的重要部分,Quorum将交易和数据进行了隐私性隔离,包括加密和零知识证明等。

创建交易时,允许交易数据被加密哈希替代,以维护必需的隐私数据。

在将隐私性相关功能抽象出来以后,导致的一个结果就是,状态数据库的分裂。

在以太坊中,MPT(MerklePatriciaTrie)主宰的状态树控制着整个以太坊的世界。

但是在Quorum中,公有的数据仍然保持在全局状态的更新,但是私有的数据不被更新到全局状态中,而是被加密保存到节点上,同样通过分布式的事务等同步到所有的节点上。

1.3.4CordaCorda是由R3CEV推出的一款分布式账本平台,其借鉴了区块链的部分特性,例如UTXO模型以及智能合约,但它在本质上又不同于区块链,并非所有业务都适合使用这种平台,其面向的是银行间或银行与其商业用户之间的互操作场景。

Corda是一个开源的分布式账本平台,用来记录、管理和同步协议和交换价值。

它从最初就是为了商业世界而设计的。

Corda允许构建可以直接交易的共同协作的分布式账本网络,而且具有严格的隐私性。

在Corda的网络中没有全局广播的操作。

每个Corda网络都会有一个networkmapservice,它发布了能够联系到网络中每一个节点的地址,还有这些节点的身份证书,还有这些节点所能提供的服务。

Corda合约就是一段验证逻辑代码,这个代码是被JVM编程语言所编写的,比如Java或者Kotlin。

合约的执行需要有一个确定性结果,并且它对于一个交易的接受是仅仅基于交易的内容。

一个有效的交易必须要被它的所有输入和输出状态中的合约接受。

一个交易仅仅当被所有要求的签名方提供了签名之后才会被认为是有效的。

但是,除了获得到所有人的签名,还必须要满足合约有效性才会被最终认为有效。

06区块链即服务平台BaaS白皮书(1.0版)BaaS是一种帮助用户创建、管理和维护企业级区块链网络及应用的服务平台。

它具有降低开发及使用成本,兼顾快速部署、方便易用、高安全可靠等特性,是为区块链应用开发者提供区块链服务能力的平台。

BaaS通过把计算资源、通讯资源、存储资源,以及上层的区块链记账能力、区块链应用开发能力、区块链配套设施能力转化为可编程接口,让应用开发过程和应用部署过程简单而高效,同时通过标准化的能力建设,保障区块链应用的安全可靠,对区块链业务的运营提供支撑,解决弹性、安全性、性能等运营难题,让开发者专注开发。

BaaS是加速区块链在各行业落地,特别是与实体经济深度融合的重要服务形态。

目前BaaS最流行的模式是区块链云服务,狭义上也把BaaS称作区块链云服务。

如图2所示,IaaS是把计算资源作为服务,PaaS是把软件研发的平台作为服务,SaaS是把软件作为一种服务。

BaaS作为一种云服务,是区块链设施的云端租用平台,其多租户特性让计算资源、平台资源、软件资源得到了最大程度的共享。

BaaS提供节点租用、链租用以及工具租用的能力,其中工具包括开发工具、部署工具、监控工具等,并通过大容量的资源2区块链服务BaaS的定义和设计原则图2区块链即服务平台在云体系中的位置07区块链即服务平台BaaS白皮书(1.0版)池,保障租户的业务规模可灵活弹性伸缩,租用设施可共享和独享,安全可靠运行,此外还提供必要的技术支持服务。

BaaS的具体能力包括区块链节点及整链搭建的能力、区块链应用开发的能力、区块应用部署的能力、区块链运行监控的能力。

区块链服务致力于提供企业级区块链基础技术平台,基于面向服务的基础设计原则,设计上应当以简单易用、成熟可扩展、安全可靠、可视化运维等为主要方向,携手合作伙伴为用户快速、低成本地搭建安全、高效、可靠、灵活的企业级区块链解决方案和应用。

简单易用:

在开源组件基础上部署企业级分布式区块链系统并非易事,不仅需要专业的区块链知识,同时需要各种复杂的设计和配置,且极易出错。

区块链服务需要帮助企业实现自动化配置、部署区块链应用,并提供区块链全生命周期管理,让客户能够容易地使用区块链系统,专注于上层应用的创新和开发。

灵活扩展:

区块链服务设计应采用抽象架构和可插拔模块,面向接口设计软件,将网络构建、加密、共识、资源管理、用户管理、运维管理等功能模块分开设计实现,并可将网络构建、共识等区块链底层技术打包,作为一个插件来进行实现。

系统应提供计算资源、存储资源、网络资源的无缝扩展。

区块链服务也可遵循秉承源于开源、优于开源、回馈开源的原则,积极投入和引领开源社区,为用户提供成熟先进的区块链系统。

安全可靠:

区块链服务应具有有效的防篡改机制、清晰的崩溃容错安全边界、安全的数据管理和隔离机制,支持核心技术如共识算法、同态加密、零知识证明、电信级云安全,高速网络连接、海量存储等,提供完善的用户、秘钥、权限管理、隔离处理、可靠的网络安全基础能力、分类分级故障恢复能力和运营安全。

可视运维:

区块链服务应提供故障分类分级报警体系和运维方法,提供必要的运维接口和运维授权的能力,为链代码和链上应用提供全天候的可视化资源监控能力,为基于权限的分权分域提供完善的用户管理体系。

云链结合:

区块链具备多方参与、多中心、可追溯、防篡改的特点,只有与具体的企业应用、行业场景相结合才能真正产生价值。

结合云平台提供各种区块链需要的无限可扩展的资源和丰富多样的云计算产品、定制化的各行业解决方案,云链结合可以给企业带来更大的便利、价值和想象空间。

合作开放:

区块链服务专注于底层技术和平台服务能力搭建,和各行业合作伙伴携手合作,共同打造可信的行业区块链解决方案和区块链生态,共同推进区块链场景落地,帮助客户实现商业成功。

08区块链即服务平台BaaS白皮书(1.0版)在BaaS设计原则的指导下,为解决区块链在企业级场景下的一些突出问题,包括系统性能、功能完备性、系统扩展性、易用性等,区块链服务可采用分层架构设计、云链结合、优化共识算法、容器、微服务架构、可伸缩的分布式云存储技术等创新技术方案,通过分层架构设计为企业提供全方位的区块链服务,帮助企业快速简单地落地区块链场景。

区块链服务BaaS的架构如图3所示,包括管理平台和运行态两个部分。

管理平台分为:

底层资源的管理,比如云资源管理、云资源适配器管理等;针对区块链组件的管理配置,比如区块链的部署配置、智能合约管理、动态联盟管理、区块浏览器以及链码和链上应用的监控等;平台管理主要是对使用区块链系统的用户提供更为广义和通用的管理服务如账户管理、日志管理、安全防护、计费管理、系统资源监控等。

区块链服务的运行态包括四个层面:

自底向上为底层资源层、区块链基础层、业务层和应用层。

资源层包括计算资源、通讯资源、存储资源等IaaS服务,为区块链系统提供无限扩展的存储、高速的网络、按需购买弹性伸缩和故障自动恢复的节点等区块链资源。

区块链基础层可在开源的(如HyperlegerFabric,Corda,EEA等)或闭源的(如TrustSql,蚂蚁区块链等)区块链框架上构建,为上层应用低成本、快速地提供高安全、3区块链服务BaaS的总体架构图3区块链即服务平台BaaS的总体架构09区块链即服务平台BaaS白皮书(1.0版)高可靠、高性能的企业级区块链系统

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1