前沿资讯网>区块链>正文

怎么快速地去把业务和区块链结合,如何选择区块链解决方案

摘要
怎么快速地去把业务和区块链结合,如何选择区块链解决方案,我们在探索过程中用到的工具,就是去年 10 月份,我们在杭州云栖大会发布的基于阿里云容器服务的区块链解决方案。

    怎么快速地去把业务和区块链结合,如何选择区块链解决方案,我们在探索过程中用到的工具,就是去年 10 月份,我们在杭州云栖大会发布的基于阿里云容器服务的区块链解决方案。这其实是我们在区块链领域探索的第一小步,目前我们也在紧张地开发一些更新的产品形态和更多的落地方案。


    区块链结合,区块链方案,区块链业务11.jpg


    这里面它核心解决是什么问题?对很多企业来说应用区块链,关注的是怎么快速地去把业务和区块链结合,实现业务应用上线,我想聚焦的是业务创新本身,没有足够的比如人员团队或者是时间去进行区块链整个底层的建设,所以这是企业一方面的诉求。


    另一方面的诉求是由区块链的技术特性决定的,因为它的不可篡改的特性会导致了在开发业务应用的时候,区块链系统里面的数据,区块链的整个网络的配置,不是说管理员去改几个参数,或者是去做 roll back、delete 等等就可以恢复成一套全新的环境。


    你需要把整个环境铲掉,然后重新把它再搭建起来才能进下一轮的开发测试等等。这就导致了在业务应用的开发过程迭代的效率问题。这类的话,我们的区块链解决方案可以提供基于界面化的一键自动化配置部署,让企业可以在几分钟内就可以得到一套企业级的区块链开发测试环境,这是我们当时解决用户痛点的一个出发点。


    区块链结合,区块链方案,区块链业务22.jpg


    这个是解决方案的大体架构,这里我也不做太多介绍了。大家可以看一下,这里面体现了如何在 Kubernetes 集群技术上去搭建一套 Hyperledger Fabric 区块链服务的最基本的要素的展现,企业在进行区块链技术选型时候也可以参考这些纬度,去选择区块链平台。


    区块链结合,区块链方案,区块链业务33.jpg


    下面我们就重点讲讲我们在这三个领域上面的探索经验。


    区块链结合,区块链方案,区块链业务44.jpg


    这个图展示的是 Hyperledger Fabric 的完整交易流程以及部署架构,给大家介绍一下基于 Hyperledger Fabric 的区块链交易是怎么进行的。


    首先业务应用会通过 CA 服务去进行身份的注册以及登录之后,就可以去连接不同组织的背书 Peer 节点,把交易请求发送给背书的 Peer 节点,进行区块链交易模拟运行,模拟运行是通过里面的 Chaincode 容器去进行的,再把模拟交易结果返回给 Client,再发给上面的 Orderer 服务,去把这些模拟运行的交易结果变成一个个区块,这就是区块链里面出块的那个环节。


    Orderer 服务内部是把 transaction 交易信息放到后台 Kafka 队列,再从队列取出后组成一个个区块的。组成区块之后,Orderer 会把区块广播发送给整个业务网络里的 Peer 节点,每个 Peer 节点收到这些块之后,就会对里面的 transaction 做一个 validation,再把里面合法的交易 commit 到区块链的这些账本里面,这就是区块链 Hyperledger Fabric 一个交易的整体流程。


    但对一个企业来说,我如果要搭建一个基于区块链的业务系统,我光了解这个流程是不够的,尤其是企业的架构师、或者预算和采购的团队,以及甚至 CTO 他会问这个问题:你这套系统到底能支撑我多大的业务量?尤其区块链里面最重要的是交易数据,那么为了对交易数据做持久化,我要规划多大的存储资源才能满足我企业业务未来一年、两年、三年的运行的需要,这是我们遇到的很多客户在落地前问的第一个问题。


    区块链结合,区块链方案,区块链业务55.jpg


    这个问题不好回答,因为由于区块链比如 Hyperledger Fabric 本身的交易流程以及底层技术架构复杂性,业界也没有很好的估算的方法。我们进行了对 Fabric 架构和代码的分析,以及通过一些容量的测试,得出了一些估算方法,下面跟大家分享一下。


    首先我们对整个 Fabric 技术架构的存储增长的热点做了一个定性的分析,可以看到在 Orderer 这个节点,每个 Orderer 它会保存账本的一个 block file,就是交易历史文件,它跟我们的交易量是线性相关的,增长的压力是比较大的。


    其次是 Kafka 集群的队列,刚才讲的在 Orderer 收到交易数据以后是放在 Kafka Broker 的队列里面,这里面也会有数据容量的增长,这块是黄色,代表它增长压力是中等的,后面会解释一下。其次在整个网络里面每个 Peer 又有两部分,在 Peer 的 Ledger 里面也有 block file,这块也是随着交易量会有一个线性增长。其次 StateDB 是存储账本的世界状态,这一部分也会跟交易相关,但是它不是一个直接线性相关的关系。


    区块链结合,区块链方案,区块链业务66.jpg


    有了这个定性的分析结果之后,我们再进一步看看如何定量的去得出估算的结果。这里是经过刚才讲的一系列架构代码分析,以及容量测试,得到的一个估算公式。


    可能它还不是非常完美的,但是在实际应用中已经能提供非常有用的信息。我大概解释一下,区块链有个多链的概念,就是 Fabric 有个多链的概念,通过 Channel 去实现,每个 Channel 代表了一种业务,这种业务有独立的账本,跟其他的 Channel 是隔离的关系。


    我们可以让用户提供一个输入,比如说它可以估算每种业务每天平均交易笔数作为基础,因为这里我们进行的是容量估计,而不是做 Performance 峰值估计,这是第一个输入参数。


    其次 Fabric 每一笔交易的基本开销是 Fabric transaction 这种数据结构,这个数据结构我们分析过代码,大概是 2.9KB 的大小,但是还有其他附加的,比如说 Index 的一些开销以及 Block 的一些开销,我们大概取一个估算值,大概 4K 左右的一个结果。


    那么再加上每一笔交易平均业务数据大小,那就是你的真正交易 Payload 数据,你想把什么数据写在链上,这个 Payload 的大小。这里要乘个 2,乘 2 是个很关键的点,在刚才讲的背书交易的过程,它这个交易 transaction 数据是包含两部分,一个叫了 chaincode proposal payload,以及 proposal response payload,它是把我的业务数据这一部分进行了两次的表述,在我的 transaction 数据结构里面,这就是为什么有乘 2 的原因。


    其次就是业务 Channel 数量,我搭起来一套 Fabric 区块链网络,不希望只服务于一种业务,希望可以支持多种业务,那么要乘上相应的业务 Channel 数量。要支持业务年的时间,还有 Peer 节点数量,Peer 节点是因为每个 Peer 上面会存储区块链的 block file 来记录账本,乘 2,2 到 1 之间是个很有意思的,它涉及到每个 Peer 既有 block file,也有 StateDB,比如企业级我们现在用 CoachDB,但这个数据特征是跟你的业务类型紧密相关的,如果说你每个交易都是创建一个新的 key value,跟你多笔交易 update 同一个 key value,对 StateDB 的开销是不一样的。


    另一方面,因为像 CoachDB 它应用了 Google 的 Snappy 压缩技术,真正的交易的 Payload 进到 StateDB 里面存成 key value,它不是原生的数据大小,而是它会经过一段时间压缩之后,数据量会大大的减小,当然压缩比例会跟业务数据的本身这些数据的一些特征会有关系,这就是一个比较弹性的,因为涉及到我刚才讲的 StateDB 的特性。


    此外 Orderer 的节点数量,这里面就涉及到,因为 Orderer 它保存了一套完整的数据账本,那么它跟 Peer 的账本是一致的,这块还有相应的开销。然后就是 Kafka,Kafka 的队列是有一个功能是做 retention period 的保证,经过 retention period 之后,它可以把队列里的消息,就假定是客户不需要的可以把它清除掉,在 Fabric 里面 kafka  Retention 天数大概是 7 天,当然用户可以自定义了,7 天的量,再乘以 replica,replica 是 kafka 用来做数据的高可用的,同一套数据在 kafka 会有多套副本。


    在 Fabric 里面,kafka replica 数量是 3,这是只需要保存 7×3 的这样一个量。这就是整个估算的方法,下面我给出对应的 Excel 公式,大家也可以针对你的情况自己得出一套自动计算的估算公式。


区块链结合,区块链方案,区块链业务77.jpg


    【免责声明】以上文章是今日小编为您介绍区块链技术的个人观点,请读者仅作参考,投资有风险,入市须谨慎!本站不拥有所有权,不承担相关法律责任。如需了解“区块链业务”请关注:【什么是区块链 http://www.whw999.com/chain/】,如若转载,请注明。


什么是区块链技术,区块链技术它会给我们带来什么呢?

什么是区块链技术,区块链技术它会给我们带来什么呢?但是,区块链技术在财产转移领域的应用只是一个方面:它不仅仅会让我们已有的东西——比如货币,

12月13日 11:01

区块链技术将给我们带来巨大的什么影响?

区块链技术将给我们带来巨大的什么影响?截止目前,前言所提到的观点并不被广泛接受。甚至连解释清楚比特币是什么,区块链是怎么工作的,都是一件困难的事情。

12月13日 10:31

区块链到底有没有价值?该如何发挥区块链的价值?

区块链到底有没有价值?该如何发挥区块链的价值?前沿资讯网 邀请到区块链领域的资深专家——ChinaLedger 技术委员会主任、前上海证券交易所总工程师、

12月13日 10:22

区块链这个领域,正焕发着旺盛的生命力

区块链这个领域,正焕发着旺盛的生命力,2018年行将结束,在这一年里,ICO、出海、牌照、交易即挖矿、稳定币、币改、链改、STO、菠菜游戏、

12月12日 18:24

第一款支持多种区块链的本地区块链手机,什么是区块链手机,

第一款支持多种区块链的本地区块链手机,什么是区块链手机,现在是主要智能手机制造商HTC手机的默认浏览器,台湾消费电子产品制造商,

12月11日 16:33