当微服务撞上区块链
发布时间:2017-05-08 类型:行业新闻
导语:
每一种新技术的产生与发展,都会与既有的技术与实践存在着联系,例如微服务作为一种技术架构,实际上是在SOA架构和JavaEE等分布式架构的基础上,进一步明晰了服务实现的方式与规则。区块链技术脱胎于比特币,作为一种多方信任的交易和技术模型,被包括国家、政府、监管机构等诸多业务方所关注,反而是技术从业者有些茫然,这一技术到底是什么,解决什么问题,能够用在哪里普元近年来持续对微服务和区块链技术进行了研究,这里和大家分享一下研究的成果。我们的研究重点放在了如下几个方面:
区块链技术适用的应用场景有哪些,该技术带来的价值是什么? 区块链技术是由哪些技术组合而成,和现有技术的关系如何? 采用区块链技术后,应用技术架构是什么,与微服务架构的关系,现有应用如何进行迁移?
区块链的业务价值是通过数据共享降低信任成本
区块链技术是从比特币开始的,2008年由中本聪提出开始,造成了一个比特币的热潮。但是,比特币的热潮退去后,比特币提出的问题和解决方式却吸引着我们。2014年左右区块链逐步从比特币中脱离出来,做为一种独立的技术发展,进入了 2.0 时代,以数字资产的方式解决商业的信任问题,同时用数字化手段提高业务的效率,在很多业务中已经有了尝试。
做为一种独立的技术发展,区块链分为公有链、联盟链、私有链三个方向。而从业务角度看,区块链的核心价值在于通过数据共享建立了多方的信任机制。
多参与方业务产生的信任问题是采用区块链技术的源动力
信任问题,始终是一个大问题,为了解决信任问题,人类投入了大量的时间和金钱。尤其是多个参与方参加的业务,信任的成本更高,这里我举一个复杂的例子:信用证业务(参见下图),信用证是指开证银行应申请人(买方)的要求并按其指示向受益人开立的载有一定金额的、在一定的期限内凭符合规定的单据付款的书面保证文件。信用证是国际贸易中最主要、最常用的支付方式(摘自百度百科)。
之所以举这个例子,是因为区块链技术适用的场景往往是业务比较复杂的情况,简单例子很容易被误解,这里我通俗易懂的解释一下,在国际贸易活动,买卖双方往往互不信任,进口商(买方)担心预付款后,出口商(卖方)不发货;卖方担心发货后买方不付款(类似诈骗经常发生,例如卖方把货运到码头了,买方就是不付余款,于是只能在当地贱卖,这时买方再去抄底),典型的麻杆打狼两头怕。因此双方各找了一家银行作为担保人,由两家银行之间开具凭证,代理进口商、出口商之间业务往来,达到条件后由银行付款,减少进口商、出口商的风险,这就是信用证业务。即使这样,信用证诈骗还是很多,银行为规避风险,需要各种书面的证明,反复各种确认…业务处理周期会非常长。
上图中信用证业务的参与方包括出口商、进口商、开证行、通知行、寄单行/附议行、运输公司,是一个典型的多方参与业务,但通常这些参与方只是一部分,可能还会有海关、保险公司、评级机构等机构加入到交易链条中。
多参与方业务解决信任问题,现有方案成本高在哪里?
解决多参与方业务的信任问题,现在是通过建立第三方机构完成的,例如上述信用证业务,就是通过SWIFT组织(环球同业银行金融电讯协会)的SWIFT系统开立信用证,银行和其他金融机构通过它与同业交换电文来完成金融交易,由 SWIFT 进行银行间转发。
SWIFT仅仅解决了一部分的问题,还差很远,例如:
业务上:那些没有参加到 SWIFT 的组织无法通过 SWIFT 进行交易,例如一些进口商、出口商、保险公司等等,SWITF也不能做清算,因此银行在办理信用证业务的时候,只有反复通过各种其他方式确认,避免诈骗发生,导致业务非常复杂,流程很长;
技术上:多方参与的业务,一旦在处理业务时发生技术故障,处理起来就远比普通业务复杂。为了保证少出问题,技术上的投入会很高,记得用过很多手段,例如曾经给每个参与方做过应急系统,采用过两个不同厂商的SWIFT网关互为备份,安排专人排班管理异常情况,而且每个中心接入的标准和模式也不一致,接入中心机构带来的开发/维护成本都很高。
必须说明的是,为了能把业务讲清楚,我还是简化了很多内容,例如如何进行银行间清算、如何进行付款等等。总之,建立一个第三方机构来解决信任问题,无论在业务上、技术上复杂度都很高。