《當微服務撞上區塊鏈》系列微課分為:
1、區塊鏈的業務價值是通過數據共享降低信任成本(本文)
2、區塊鏈的技術核心是分佈式數據庫
3、區塊鏈與微服務是天生的一對
轉載本文需註明出處:微信公眾號EAWorld,違者必究。
區塊鏈技術脫胎於比特幣,2014年左右逐步從比特幣中脫離出來,做為一種獨立的技術發展,分為公有鏈、聯盟鏈、私有鏈三個方向,2016年成為 Gartner 10大技術趨勢之一。普元近年來持續對區塊鏈技術進行了研究,這裡和大家分享一下研究的成果。我們的研究重點放在瞭如下幾個方面:
區塊鏈技術適用的應用場景有哪些,該技術帶來的價值是什麼?
區塊鏈技術是由哪些技術組合而成,和現有技術的關係如何?
採用區塊鏈技術後,應用技術架構是什麼,與微服務架構的關係,現有應用如何進行遷移?
本文重點說明以上第一個疑問。由於區塊鏈技術還是非常複雜的,為了容易理解,我刻意簡化了一些概念。
多參與方業務產生的信任問題是採用區塊鏈技術的源動力。
信任問題,始終是一個大問題,為了解決信任問題,人類投入了大量的時間和金錢。尤其是多個參與方參加的業務,信任的成本更高,這裡我舉一個複雜的例子:信用證業務(參見下圖),信用證是指開證銀行應申請人(買方)的要求並按其指示向受益人開立的載有一定金額的、在一定的期限內憑符合規定的單據付款的書面保證文件。信用證是國際貿易中最主要、最常用的支付方式。
之所以舉這個例子,是因為區塊鏈技術適用的場景往往是業務比較複雜的情況,簡單例子很容易被誤解,這裡我通俗易懂的解釋一下,在國際貿易活動,買賣雙方往往互不信任,進口商(買方)擔心預付款後,出口商(賣方)不發貨;賣方擔心發貨後買方不付款(類似詐騙經常發生,例如賣方把貨運到碼頭了,買方就是不付餘款,於是只能在當地賤賣,這時買方再去抄底),典型的麻桿打狼兩頭怕。
因此雙方各找了一家銀行作為擔保人,由兩家銀行之間開具憑證,代理進口商、出口商之間業務往來,達到條件後由銀行付款,減少進口商、出口商的風險,這就是信用證業務。即使這樣,信用證詐騙還是很多,銀行為規避風險,需要各種書面的證明,反覆各種確認…業務處理週期會非常長。
下圖中信用證業務的參與方包括出口商、進口商、開證行、通知行、寄單行/附議行、運輸公司,是一個典型的多方參與業務,但通常這些參與方只是一部分,可能還會有海關、保險公司、評級機構等機構加入到交易鏈條中。
一、多參與方業務解決信任問題,
現有方案成本高在哪裡?
解決多參與方業務的信任問題,現在是通過建立第三方機構完成的,例如上述信用證業務,就是通過SWIFT組織(環球同業銀行金融電訊協會)的SWIFT系統開立信用證,銀行和其他金融機構通過它與同業交換電文來完成金融交易,由 SWIFT 進行銀行間轉發。
SWIFT僅僅解決了一部分的問題,還差很遠,例如:
業務上:那些沒有參加到 SWIFT 的組織無法通過 SWIFT 進行交易,例如一些進口商、出口商、保險公司等等,SWITF也不能做清算,因此銀行在辦理信用證業務的時候,只有反覆通過各種其他方式確認,避免詐騙發生,導致業務非常複雜,流程很長;
技術上:多方參與的業務,一旦在處理業務時發生技術故障,處理起來就遠比普通業務複雜。為了保證少出問題,技術上的投入會很高,記得用過很多手段,例如曾經給每個參與方做過應急系統,採用過兩個不同廠商的SWIFT網關互為備份,安排專人排班管理異常情況,而且每個中心接入的標準和模式也不一致,接入中心機構帶來的開發/維護成本都很高。
必須說明的是,為了能把業務講清楚,我還是簡化了很多內容,例如如何進行銀行間清算、如何進行付款等等。總之,建立一個第三方機構來解決信任問題,無論在業務上、技術上覆雜度都很高。
二、區塊鏈技術是通過數據共享
降低信任成本的
如果有一個分佈式的記賬簿:
參與方在記賬之後有相當多的副本存在,不再是一家之言;
保證提交的交易一定被記錄下來;
保證記賬不可逆,無法篡改;
參與方的交易記錄是相對透明的,可以通過這些記錄驗證新的交易。
如果有機構建立了這樣一個記賬簿,每個參與方在交易中都通過這個記賬簿進行交互,保證每一筆發生的交易一定被可靠的記錄下來並不可篡改,不就不必再反覆確認,不必擔心技術問題導致的業務流程變更,不必做應急系統,這樣成本就低多了。
通過分佈式的記賬簿進行數據共享,從而降低信任成本,這就是區塊鏈技術的價值。
三、聯盟鏈才是應用區塊鏈技術
優先選擇的方向
既然區塊鏈是一個分佈式的記賬簿,那這個記賬簿由誰來建立呢?這是這一技術應用的核心問題。
目前建立記賬簿的方式有三種:
公有鏈,象互聯網一樣,做為一種開放的網絡基礎設施,向任何人公開,任何人自由加入
私有鏈,一個組織內部建立,可以幫助組織內部完成審計等工作
聯盟鏈,為特定業務由相關核心企業建立,採用多中心(每個核心企業為一箇中心)的方式,其他上下游企業加入
從上述描述就可以理解到,公有鏈太理想,私有鏈傳統架構完全能解決,而針對特定業務由企業聯盟建立的聯盟鏈,應用方向更清晰,業務價值也更加明確,下圖是一個聯盟鏈的示例:
從以上應用技術架構圖中可以得出,應用的角度看,區塊鏈技術提供的是一個分佈式數據庫。
區塊鏈技術是通過數據共享的方式降低信任成本的,這個數據共享要滿足(1)多副本、(2)可靠記錄、(3)不可篡改、(4)多方透明幾個特性,上述特性總結下來,技術上就是一個分佈式的數據庫,技術特性可以分解為:分佈式數據存儲,數據點對點的可靠傳輸,觸發器與存儲過程,數據可見性管理。
你可能會對此結論拍磚或提出疑問,下節微課,我一一為大家說來。
關於作者
焦烈焱
EAII-企業架構創新研究院 常務理事
2001年加入普元信息,現任CTO,全面負責普元信息技術與產品的運營工作,公司技術發展戰略的重要決策人。焦烈焱在企業技術架構研究方面有二十餘年的經驗,長期致力於分佈式環境的企業計算、 SOA與雲計算技術研究與實踐。加入普元信息後組織完成一系列核心產品的研發工作,包括SOA應用平臺、以BPM &/ESB為核心的業務集成平臺、以複雜事件處理/數據治理/作業調度為核心的大數據平臺,期間主持了中國工商銀行、中國建設銀行等多家大型企業技術平臺的規劃與研發。著有《SOA中國路線圖—實施版》一書。
關於EAWorld
微服務,DevOps,元數據,企業架構原創技術分享,EAii(Enterprise Architecture Innovation Institute)企業架構創新研究院旗下官方微信公眾號。