當(dāng)微服務(wù)撞上區(qū)塊鏈
導(dǎo)語:
每一種新技術(shù)的產(chǎn)生與發(fā)展,都會與既有的技術(shù)與實踐存在著聯(lián)系,例如微服務(wù)作為一種技術(shù)架構(gòu),實際上是在SOA架構(gòu)和JavaEE等分布式架構(gòu)的基礎(chǔ)上,進(jìn)一步明晰了服務(wù)實現(xiàn)的方式與規(guī)則。區(qū)塊鏈技術(shù)脫胎于比特幣,作為一種多方信任的交易和技術(shù)模型,被包括國家、政府、監(jiān)管機(jī)構(gòu)等諸多業(yè)務(wù)方所關(guān)注,反而是技術(shù)從業(yè)者有些茫然,這一技術(shù)到底是什么,解決什么問題,能夠用在哪里普元近年來持續(xù)對微服務(wù)和區(qū)塊鏈技術(shù)進(jìn)行了研究,這里和大家分享一下研究的成果。我們的研究重點(diǎn)放在了如下幾個方面:
- 區(qū)塊鏈技術(shù)適用的應(yīng)用場景有哪些,該技術(shù)帶來的價值是什么?
- 區(qū)塊鏈技術(shù)是由哪些技術(shù)組合而成,和現(xiàn)有技術(shù)的關(guān)系如何?
- 采用區(qū)塊鏈技術(shù)后,應(yīng)用技術(shù)架構(gòu)是什么,與微服務(wù)架構(gòu)的關(guān)系,現(xiàn)有應(yīng)用如何進(jìn)行遷移?
區(qū)塊鏈的業(yè)務(wù)價值是通過數(shù)據(jù)共享降低信任成本
區(qū)塊鏈技術(shù)是從比特幣開始的,2008年由中本聰提出開始,造成了一個比特幣的熱潮。但是,比特幣的熱潮退去后,比特幣提出的問題和解決方式卻吸引著我們。2014年左右區(qū)塊鏈逐步從比特幣中脫離出來,做為一種獨(dú)立的技術(shù)發(fā)展,進(jìn)入了 2.0 時代,以數(shù)字資產(chǎn)的方式解決商業(yè)的信任問題,同時用數(shù)字化手段提高業(yè)務(wù)的效率,在很多業(yè)務(wù)中已經(jīng)有了嘗試。
做為一種獨(dú)立的技術(shù)發(fā)展,區(qū)塊鏈分為公有鏈、聯(lián)盟鏈、私有鏈三個方向。而從業(yè)務(wù)角度看,區(qū)塊鏈的核心價值在于通過數(shù)據(jù)共享建立了多方的信任機(jī)制。
多參與方業(yè)務(wù)產(chǎn)生的信任問題是采用區(qū)塊鏈技術(shù)的源動力
信任問題,始終是一個大問題,為了解決信任問題,人類投入了大量的時間和金錢。尤其是多個參與方參加的業(yè)務(wù),信任的成本更高,這里我舉一個復(fù)雜的例子:信用證業(yè)務(wù)(參見下圖),信用證是指開證銀行應(yīng)申請人(買方)的要求并按其指示向受益人開立的載有一定金額的、在一定的期限內(nèi)憑符合規(guī)定的單據(jù)付款的書面保證文件。信用證是國際貿(mào)易中最主要、最常用的支付方式(摘自百度百科)。
之所以舉這個例子,是因為區(qū)塊鏈技術(shù)適用的場景往往是業(yè)務(wù)比較復(fù)雜的情況,簡單例子很容易被誤解,這里我通俗易懂的解釋一下,在國際貿(mào)易活動,買賣雙方往往互不信任,進(jìn)口商(買方)擔(dān)心預(yù)付款后,出口商(賣方)不發(fā)貨;賣方擔(dān)心發(fā)貨后買方不付款(類似詐騙經(jīng)常發(fā)生,例如賣方把貨運(yùn)到碼頭了,買方就是不付余款,于是只能在當(dāng)?shù)刭v賣,這時買方再去抄底),典型的麻桿打狼兩頭怕。因此雙方各找了一家銀行作為擔(dān)保人,由兩家銀行之間開具憑證,代理進(jìn)口商、出口商之間業(yè)務(wù)往來,達(dá)到條件后由銀行付款,減少進(jìn)口商、出口商的風(fēng)險,這就是信用證業(yè)務(wù)。即使這樣,信用證詐騙還是很多,銀行為規(guī)避風(fēng)險,需要各種書面的證明,反復(fù)各種確認(rèn)…業(yè)務(wù)處理周期會非常長。
上圖中信用證業(yè)務(wù)的參與方包括出口商、進(jìn)口商、開證行、通知行、寄單行/附議行、運(yùn)輸公司,是一個典型的多方參與業(yè)務(wù),但通常這些參與方只是一部分,可能還會有海關(guān)、保險公司、評級機(jī)構(gòu)等機(jī)構(gòu)加入到交易鏈條中。
多參與方業(yè)務(wù)解決信任問題,現(xiàn)有方案成本高在哪里?
解決多參與方業(yè)務(wù)的信任問題,現(xiàn)在是通過建立第三方機(jī)構(gòu)完成的,例如上述信用證業(yè)務(wù),就是通過SWIFT組織(環(huán)球同業(yè)銀行金融電訊協(xié)會)的SWIFT系統(tǒng)開立信用證,銀行和其他金融機(jī)構(gòu)通過它與同業(yè)交換電文來完成金融交易,由 SWIFT 進(jìn)行銀行間轉(zhuǎn)發(fā)。
SWIFT僅僅解決了一部分的問題,還差很遠(yuǎn),例如:
業(yè)務(wù)上:那些沒有參加到 SWIFT 的組織無法通過 SWIFT 進(jìn)行交易,例如一些進(jìn)口商、出口商、保險公司等等,SWITF也不能做清算,因此銀行在辦理信用證業(yè)務(wù)的時候,只有反復(fù)通過各種其他方式確認(rèn),避免詐騙發(fā)生,導(dǎo)致業(yè)務(wù)非常復(fù)雜,流程很長;
技術(shù)上:多方參與的業(yè)務(wù),一旦在處理業(yè)務(wù)時發(fā)生技術(shù)故障,處理起來就遠(yuǎn)比普通業(yè)務(wù)復(fù)雜。為了保證少出問題,技術(shù)上的投入會很高,記得用過很多手段,例如曾經(jīng)給每個參與方做過應(yīng)急系統(tǒng),采用過兩個不同廠商的SWIFT網(wǎng)關(guān)互為備份,安排專人排班管理異常情況,而且每個中心接入的標(biāo)準(zhǔn)和模式也不一致,接入中心機(jī)構(gòu)帶來的開發(fā)/維護(hù)成本都很高。
必須說明的是,為了能把業(yè)務(wù)講清楚,我還是簡化了很多內(nèi)容,例如如何進(jìn)行銀行間清算、如何進(jìn)行付款等等。總之,建立一個第三方機(jī)構(gòu)來解決信任問題,無論在業(yè)務(wù)上、技術(shù)上復(fù)雜度都很高。
區(qū)塊鏈技術(shù)是通過數(shù)據(jù)共享降低信任成本的
如果有一個分布式的記賬簿:(1)參與方在記賬之后有相當(dāng)多的副本存在,不再是一家之言;(2)保證提交的交易一定被記錄下來;(3)保證記賬不可逆,無法篡改;(4)參與方的交易記錄是相對透明的,可以通過這些記錄驗證新的交易。
如果有機(jī)構(gòu)建立了這樣一個記賬簿,每個參與方在交易中都通過這個記賬簿進(jìn)行交互,保證每一筆發(fā)生的交易一定被可靠的記錄下來并不可篡改,不就不必再反復(fù)確認(rèn),不必?fù)?dān)心技術(shù)問題導(dǎo)致的業(yè)務(wù)流程變更,不必做應(yīng)急系統(tǒng),這樣成本就低多了。
通過分布式的記賬簿進(jìn)行數(shù)據(jù)共享,從而降低信任成本,這就是區(qū)塊鏈技術(shù)的價值。
聯(lián)盟鏈才是應(yīng)用區(qū)塊鏈技術(shù)優(yōu)先選擇的方向
既然區(qū)塊鏈?zhǔn)且粋€分布式的記賬簿,那這個記賬簿由誰來建立呢?這是這一技術(shù)應(yīng)用的核心問題。
目前建立記賬簿的方式有三種:
- 公有鏈,象互聯(lián)網(wǎng)一樣,做為一種開放的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,向任何人公開,任何人自由加入,
- 私有鏈,一個組織內(nèi)部建立,可以幫助組織內(nèi)部完成審計等工作
- 聯(lián)盟鏈,為特定業(yè)務(wù)由相關(guān)核心企業(yè)建立,采用多中心(每個核心企業(yè)為一個中心)的方式,其他上下游企業(yè)加入
建立公有鏈難度高,業(yè)務(wù)場景不夠精準(zhǔn),分布式存儲帶來的性能低下問題阻礙了可用的應(yīng)用場景,而私有鏈脫離了區(qū)塊鏈的商業(yè)價值,只是把區(qū)塊鏈做為一個技術(shù)組件使用。在目前的應(yīng)用場景中,絕大多數(shù)都可以用聯(lián)盟鏈解決,商業(yè)上相對容易成立,性能遠(yuǎn)遠(yuǎn)高于公有鏈。
從上述描述就可以理解到,公有鏈太理想,私有鏈所處理的問題,傳統(tǒng)架構(gòu)完全能解決,而針對特定業(yè)務(wù)由企業(yè)聯(lián)盟建立的聯(lián)盟鏈,應(yīng)用方向更清晰,業(yè)務(wù)價值也更加明確,下圖是一個聯(lián)盟鏈的示例:
從應(yīng)用的角度看,區(qū)塊鏈技術(shù)提供的是一個分布式數(shù)據(jù)庫
區(qū)塊鏈技術(shù)的數(shù)據(jù)共享方式要滿足(1)多副本、(2)可靠記錄、(3)不可篡改、(4)多方透明幾個特性,上述特性總結(jié)下來,采用區(qū)塊鏈技術(shù)后,應(yīng)用技術(shù)架構(gòu)如上圖所示,可以看出,區(qū)塊鏈技術(shù)對應(yīng)用而言,就是一個分布式數(shù)據(jù)庫。
區(qū)塊鏈技術(shù)的本質(zhì)是分布式數(shù)據(jù)庫
區(qū)塊鏈基于密碼學(xué)中的橢圓曲線數(shù)字簽名算法(ECDSA)來實現(xiàn)去中心化的P2P系統(tǒng)設(shè)計。當(dāng)人們在談?wù)摶蚴褂?ldquo;區(qū)塊鏈”這個詞時,有時候是指數(shù)據(jù)結(jié)構(gòu),有時候是指數(shù)據(jù)庫,有時則是指數(shù)據(jù)庫技術(shù)。
和區(qū)塊鏈技術(shù)比,分布式數(shù)據(jù)庫的概念顯然更容易被理解,我就從分布式數(shù)據(jù)庫的一些基本概念出來,理解區(qū)塊鏈的技術(shù)實現(xiàn),這些概念包括數(shù)據(jù)存儲、點(diǎn)對點(diǎn)可靠傳輸、存儲過程與觸發(fā)器(智能合約)、數(shù)據(jù)安全:
分布式數(shù)據(jù)存儲:鏈?zhǔn)酱鎯εc共識機(jī)制
區(qū)塊鏈技術(shù)的數(shù)據(jù)共享是一個分布式的記賬簿,交易記錄具備多個副本,因此首先要解決分布式數(shù)據(jù)存儲的問題。
1)區(qū)塊鏈存儲的基本單元是區(qū)塊,區(qū)塊采用鏈?zhǔn)浇Y(jié)構(gòu),即新增的區(qū)塊(類似數(shù)據(jù)庫一行記錄)都知道自己前一個區(qū)塊(前一行記錄)是什么,可以一直追溯到根,區(qū)塊的標(biāo)識是區(qū)塊的哈希值,同時鏈?zhǔn)浇Y(jié)構(gòu)保留了業(yè)務(wù)產(chǎn)生的軌跡,可以在新增交易的時候根據(jù)前面的記錄做校驗,保證了區(qū)塊的內(nèi)容不容易篡改。
這種模式,我們在傳統(tǒng)的數(shù)據(jù)庫設(shè)計也會采用,例如下圖拉鏈表的形式,每次對數(shù)據(jù)的更新都采用追加( Insert而不是Update)模式,有起始時間、失效時間和是否生效標(biāo)識,保持全部交易歷史。
區(qū)塊鏈把這一點(diǎn)變成了一種底層固有模式,加入了哈希、時間戳等機(jī)制在技術(shù)上保證鏈條的正確性,因此非常有價值。
2)既然是分布式、多中心的存儲方式,就必須解決存儲時的分布式一致性問題。在區(qū)塊鏈的前身比特幣應(yīng)用中,解決這一問題的方式是工作量證明(POW Proof-Of-Work)方式,即通過工作以獲得指定成果,用成果來證明曾經(jīng)付出的努力。
這也是接觸區(qū)塊鏈技術(shù)時第一個比較迷惑的地方,我為啥一定要用工作量來證明,是不是還有其他方式?區(qū)塊鏈技術(shù)從比特幣中獨(dú)立出來后,大家把這一問題歸結(jié)為共識問題,工作量證明是達(dá)成共識的一種方式,這樣就清晰多了。于是就產(chǎn)生了權(quán)益證明(P
責(zé)任編輯:售電衡衡
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計落地:鼓勵“光儲充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計 -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進(jìn)這個行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計落地:鼓勵“光儲充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計 -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市