《当微服务撞上区块链》系列微课分为:
1、区块链的业务价值是通过数据共享降低信任成本(本文)
2、区块链的技术核心是分布式数据库
3、区块链与微服务是天生的一对
转载本文需注明出处:微信公众号EAWorld,违者必究。
区块链技术脱胎于比特币,2014年左右逐步从比特币中脱离出来,做为一种独立的技术发展,分为公有链、联盟链、私有链三个方向,2016年成为 Gartner 10大技术趋势之一。普元近年来持续对区块链技术进行了研究,这里和大家分享一下研究的成果。我们的研究重点放在了如下几个方面:
区块链技术适用的应用场景有哪些,该技术带来的价值是什么?
区块链技术是由哪些技术组合而成,和现有技术的关系如何?
采用区块链技术后,应用技术架构是什么,与微服务架构的关系,现有应用如何进行迁移?
本文重点说明以上第一个疑问。由于区块链技术还是非常复杂的,为了容易理解,我刻意简化了一些概念。
多参与方业务产生的信任问题是采用区块链技术的源动力。
信任问题,始终是一个大问题,为了解决信任问题,人类投入了大量的时间和金钱。尤其是多个参与方参加的业务,信任的成本更高,这里我举一个复杂的例子:信用证业务(参见下图),信用证是指开证银行应申请人(买方)的要求并按其指示向受益人开立的载有一定金额的、在一定的期限内凭符合规定的单据付款的书面保证文件。信用证是国际贸易中最主要、最常用的支付方式。
之所以举这个例子,是因为区块链技术适用的场景往往是业务比较复杂的情况,简单例子很容易被误解,这里我通俗易懂的解释一下,在国际贸易活动,买卖双方往往互不信任,进口商(买方)担心预付款后,出口商(卖方)不发货;卖方担心发货后买方不付款(类似诈骗经常发生,例如卖方把货运到码头了,买方就是不付余款,于是只能在当地贱卖,这时买方再去抄底),典型的麻杆打狼两头怕。
因此双方各找了一家银行作为担保人,由两家银行之间开具凭证,代理进口商、出口商之间业务往来,达到条件后由银行付款,减少进口商、出口商的风险,这就是信用证业务。即使这样,信用证诈骗还是很多,银行为规避风险,需要各种书面的证明,反复各种确认…业务处理周期会非常长。
下图中信用证业务的参与方包括出口商、进口商、开证行、通知行、寄单行/附议行、运输公司,是一个典型的多方参与业务,但通常这些参与方只是一部分,可能还会有海关、保险公司、评级机构等机构加入到交易链条中。
一、多参与方业务解决信任问题,
现有方案成本高在哪里?
解决多参与方业务的信任问题,现在是通过建立第三方机构完成的,例如上述信用证业务,就是通过SWIFT组织(环球同业银行金融电讯协会)的SWIFT系统开立信用证,银行和其他金融机构通过它与同业交换电文来完成金融交易,由 SWIFT 进行银行间转发。
SWIFT仅仅解决了一部分的问题,还差很远,例如:
业务上:那些没有参加到 SWIFT 的组织无法通过 SWIFT 进行交易,例如一些进口商、出口商、保险公司等等,SWITF也不能做清算,因此银行在办理信用证业务的时候,只有反复通过各种其他方式确认,避免诈骗发生,导致业务非常复杂,流程很长;
技术上:多方参与的业务,一旦在处理业务时发生技术故障,处理起来就远比普通业务复杂。为了保证少出问题,技术上的投入会很高,记得用过很多手段,例如曾经给每个参与方做过应急系统,采用过两个不同厂商的SWIFT网关互为备份,安排专人排班管理异常情况,而且每个中心接入的标准和模式也不一致,接入中心机构带来的开发/维护成本都很高。
必须说明的是,为了能把业务讲清楚,我还是简化了很多内容,例如如何进行银行间清算、如何进行付款等等。总之,建立一个第三方机构来解决信任问题,无论在业务上、技术上复杂度都很高。
二、区块链技术是通过数据共享
降低信任成本的
如果有一个分布式的记账簿:
参与方在记账之后有相当多的副本存在,不再是一家之言;
保证提交的交易一定被记录下来;
保证记账不可逆,无法篡改;
参与方的交易记录是相对透明的,可以通过这些记录验证新的交易。
如果有机构建立了这样一个记账簿,每个参与方在交易中都通过这个记账簿进行交互,保证每一笔发生的交易一定被可靠的记录下来并不可篡改,不就不必再反复确认,不必担心技术问题导致的业务流程变更,不必做应急系统,这样成本就低多了。
通过分布式的记账簿进行数据共享,从而降低信任成本,这就是区块链技术的价值。
三、联盟链才是应用区块链技术
优先选择的方向
既然区块链是一个分布式的记账簿,那这个记账簿由谁来建立呢?这是这一技术应用的核心问题。
目前建立记账簿的方式有三种:
公有链,象互联网一样,做为一种开放的网络基础设施,向任何人公开,任何人自由加入
私有链,一个组织内部建立,可以帮助组织内部完成审计等工作
联盟链,为特定业务由相关核心企业建立,采用多中心(每个核心企业为一个中心)的方式,其他上下游企业加入
从上述描述就可以理解到,公有链太理想,私有链传统架构完全能解决,而针对特定业务由企业联盟建立的联盟链,应用方向更清晰,业务价值也更加明确,下图是一个联盟链的示例:
从以上应用技术架构图中可以得出,应用的角度看,区块链技术提供的是一个分布式数据库。
区块链技术是通过数据共享的方式降低信任成本的,这个数据共享要满足(1)多副本、(2)可靠记录、(3)不可篡改、(4)多方透明几个特性,上述特性总结下来,技术上就是一个分布式的数据库,技术特性可以分解为:分布式数据存储,数据点对点的可靠传输,触发器与存储过程,数据可见性管理。
你可能会对此结论拍砖或提出疑问,下节微课,我一一为大家说来。
如需加入微信群参与微课直播及讨论,请发送您的微信号至此公众号eaworld.
关于作者
焦烈焱
EAII-企业架构创新研究院 常务理事
2001年加入普元信息,现任CTO,全面负责普元信息技术与产品的运营工作,公司技术发展战略的重要决策人。焦烈焱在企业技术架构研究方面有二十余年的经验,长期致力于分布式环境的企业计算、 SOA与云计算技术研究与实践。加入普元信息后组织完成一系列核心产品的研发工作,包括SOA应用平台、以BPM &/ESB为核心的业务集成平台、以复杂事件处理/数据治理/作业调度为核心的大数据平台,期间主持了中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。著有《SOA中国路线图—实施版》一书。
关于EAWorld
微服务,DevOps,元数据,企业架构原创技术分享,EAii(Enterprise Architecture Innovation Institute)企业架构创新研究院旗下官方微信公众号。
微信号:eaworld,长按二维码关注