1. 程式人生 > >招商銀行:如何基於區塊鏈改進跨境清算?

招商銀行:如何基於區塊鏈改進跨境清算?


區塊鏈是最近兩年非常熱門的一個課題,相關的書籍和研究文章也越來越多。總的來說,一方面大家對區塊鏈這個新生事物非常肯定,甚至有不少輿論將其推得很高,比如最近就有一個流行的說法:網際網路解決了資訊傳播的問題,可以稱為資訊網際網路;而區塊鏈解決了價值交換的問題,可以稱作價值網際網路——將區塊鏈的地位與現在已經極大地改變了經濟生活形態的網際網路相提並論;另一方面,大家對區塊鏈又很困擾,因為區塊鏈這麼好的一個技術各方投入了很多的資源和高水平的專家進行研究,但除了比特幣以及類似的一些虛擬貨幣的應用外,幾乎看不到什麼有價值的應用,這究竟是什麼原因?

從招商銀行的體會來說,這個問題很複雜,並不容易搞明白,還是要從技術角度去研究比特幣到底是怎麼回事,區塊鏈到底是什麼東西?只有在技術角度弄清楚了,上述問題才有可能得到解決。

區塊鏈的概念是什麼?大家比較熟悉的說法叫做去中心化、去信任化的分散式賬本技術,需要進一步關心的是區塊鏈的核心技術機制是什麼?從去中心化的角度來說,最重要的是採用分散式的架構、P2P的方式來解決點對點之間的互動;從去信任化的角度來說,最重要的則是兩個機制:一是公/私鑰機制,一是共識機制。

區塊鏈大致可以分類為:公有鏈、聯盟鏈、私有鏈。這3種分類將區塊鏈分為3類應用,而一個區塊鏈應用的開放程度如何其實非常重要——是完全開放、半開放,還是完全封閉,因為開放程度不同,其實現方式也會不一樣。比如共識機制的選擇會不同、鏈上鍊下的資料分佈會不同、安全機制的具體實現方式也會不同。

區塊鏈技術對系統架構的影響

我們研究區塊鏈不是為了寫文章、做報告,實際上最重要的還是做實事,所以需要用這個技術來建設相關的系統,那麼區塊鏈技術對一個系統的架構會帶來什麼樣的影響?

基於區塊鏈的系統與原有資訊系統的協作

1主要是以聯盟鏈和私有鏈為背景的一些應用型別,可以看到在引入區塊鏈以後,整個系統的架構一定會發生變化,比如在圖中右下角多出了區塊鏈的內容。當然,也有一些不變的傳統系統的部分存在。所以,在聯盟鏈和私有鏈場景下,一個區塊鏈的應用要“落地”,一定需要將傳統的部分基於區塊鏈系統整合在一起。典型的架構是上面兩層:呈現層和應用層基本上保持不變,而下面兩層:業務層和資料層則會應用區塊鏈技術,其中業務層處理業務邏輯,在這一層有一些業務邏輯與區塊鏈並沒有關係,沒有必要將其分佈到鏈上,因為在區塊鏈中實現一些功能有很多約束、很多制約,還有一部分業務邏輯則需要分佈到鏈上,所以存在鏈下邏輯和鏈上邏輯之分。鏈下業務邏輯與區塊鏈沒有關係,這部分操作的資料自然也沒有必要與區塊鏈發生關係,所以會有獨立的資料。


1引入區塊鏈的資訊系統應用架構

鏈上邏輯操作的資料處理比較複雜,當前比較難於完全分佈到鏈上,其中一個原因主要是由於單鏈資料結構的一些功能實現難度大,比如很難查詢且查詢速度很慢等等。所以區塊鏈相關的資料一部分分佈在鏈上,也必然有一些資料分佈在鏈下。鏈上和鏈下這兩塊資料共同來支援區塊鏈的運作,並且鏈下資料的儲存還可以對鏈上資料進行備份,出現問題還可以恢復等等。

緊耦合系統跨組織的協調和溝通難度大

區塊鏈出現以後系統架構是如何變遷的?在網際網路出現之前,兩個不同的企業進行資訊互動,由於各自系統不同,基本上是採用非標準的協議和介面進行通訊的。而在網際網路發展起來之後,雖然每個單位的系統仍然各不相同,但網際網路採用了統一的標準化的通訊協議,從而將不同系統之間互動的介面標準化了,只不過網際網路採用的仍然是鬆耦合的架構。區塊鏈則走向了另一個甚至可以說是相反的發展方向,它實際上是採用一套系統來覆蓋不同的機構和企業,共同承載一個商業模式。簡單而言,實際上就是採用一套系統來支援很多單位和機構,使之變成一個緊耦合的模式,這種緊耦合不是一般的“緊”,而是將不同單位和機構的系統變成了一個系統。這種緊耦合系統的好處是:在一些場景下,不同機構都要實現自己的系統,其實做的是類似的事情,很多是重複性的工作。比如在支付清算場景,大家各自做一本帳,其中所需要做的工作是差不多的,但是因為各記各帳,就需要對帳,誰出了錯還需要衝正。那麼能不能做成一筆帳,就像比特幣一樣——這麼多單位用一個系統去覆蓋,這就是區塊鏈的思路,這種模式實際上對大家都有利,使得大家都願意來共同建設這個系統。當然,還有很多的細節問題需要解決,其中,緊耦合系統比較大的一個問題就是跨組織的協調和溝通比較麻煩,需要大家坐下來共同協商解決。

根據麥肯錫的研究顯示,最近幾年不斷出現的新技術對金融技術體系產生了比較大的影響。網際網路主要影響了互動產品,雲端計算對業務的影響更大,大資料技術的主要在風控,而區塊鏈則是對金融機構技術棧的下3層——清算基礎設施、系統互動和規則設定產生了比較大的影響。當然金融機構的技術棧表達方式比較多樣,這裡採用的是麥肯錫的描述,總體而言,區塊鏈會對金融機構的基礎設施會產生影響,但這個影響會不會非常大?我覺得這個問題現在可能還很難回答。

分散式共享賬本帶來安全和隱私問題

區塊鏈的第三個問題是分散式共享賬本帶來的安全和隱私問題。區塊鏈是一種分散式共享賬本方式,其解決了一些問題,但也帶來了另一些問題。其中首先是公鑰和私鑰,私鑰被用來識別資產的所有權,一旦丟失就會喪失對資產的所有權。而現在的很多應用對於私鑰的保護基本上採用軟體方式,理論上都是可以被攻破的。實踐當中如果反攻擊技術的實現水平不是很高的話,相對於現在網路犯罪團伙的技術水平而言,可能其被攻破的門檻也不是特別高。因為反攻擊技術體系非常複雜,包括了軟體反跟蹤、反除錯、各種加密演算法以及對策等等,整個這一套體系的實現如果不能做到很高的水平,都是比較容易被攻破的;即使做到很高的水平,理論上還是可以被攻破的。這是一個比較大的問題。比如比特幣就曾經發生過一些比較重大的損失,甚至某個著名比特幣交易所的比特幣完全丟失了。所以,現在也引進了一些改進技術,比如一種叫冷儲存的方式,其實質是離線使用私鑰,再將結果倒回到安全終端上,但從資訊保安專業的角度來看其仍然存在問題,因為還是要通過一個介質來倒換,而且使用也非常不方便。

其次是隱私問題,在區塊鏈上實現的應用,一方面希望重要的資訊對於無關者是看不見的,另一方面對於相關者來說在一些場景下資訊又需要被其他方驗證。這兩者顯然是相互矛盾的,既要看不見,又要被驗證,技術上比較難於實現。為了應對這個挑戰現在正在開發一些新的技術,比如環簽名,其可以隱藏交易發起人,同時可以同態加密,但該技術還在發展當中,還有比較高的門檻需要跨越。此外,區塊鏈在一些場景比如金融場景的應用,金融是被嚴格監管的行業,對監管者來說,其想知道的內容都應能獲取,如何實現?相關的技術目前也正在發展當中。

智慧合約存在諸多法律和技術挑戰

智慧合約確實是一個比較重要的發明,使得商業合同中的一些條款可以用程式碼來表述,有人將這種可能會出現情況概括為:“程式碼即法律”。這聽起來似乎非常厲害,但通常這種大而化之的說法也容易給人帶來困惑,因為實際上往往不是那麼回事。

首先,其中有一系列的法律問題需要解決,比如,法官和律師等從業人員對智慧合約的法律理解如何?現有的法律體系如何將其融合進去?要根本解決這些問題非常複雜,還有很長的路要走。再如,商業合同涉及到很多人,最起碼包括甲乙雙方當事人和雙方律師等,文字內容相對來說比較通俗也比較容易理解,但程式碼很抽象,如何理解這些抽象的程式碼?不理解的話當事人怎麼知道別人起草的合同是否符合其本意?而且顯然還有一些條款不適合用程式碼來表達,比如範疇描述和合作意願等問題,這些是從法律角度來看的問題。

其次,從技術角度來看需要解決的問題也很多,比如,程式碼的邏輯漏洞和缺陷難以杜絕——軟體行業已經發展了好幾十年,但行業內仍有個說法:沒有無缺陷的程式碼——程式碼有缺陷很正常,但是在商業合同中如果有比較大的缺陷或者存在漏洞,後果將會比較嚴重。

第三個問題是同一個商業合同在一些節點上的版本升級,如果執行結果不一樣怎麼辦?這也是一個難題,現在仍在研究當中。

共識演算法並不完美,需要調整修正

共識機制是非常核心的一個機制,當前還沒有一個完美的共識演算法。共識演算法都存在這樣和那樣的問題,比如,公有鏈採用的POW優點非常多,包括完全去中心化、擴充套件應用很好、容錯上限達50%等,但缺點是延遲和資源消耗都非常高。聯盟鏈比較多采用拜占庭以及改良演算法,與POW相比,其能耗低但是擴充套件性有限,容錯上限只能做到30%多。由此可見,當前還不存在完美的共識演算法,需要針對不同的場景和不同的應用選擇合適的共識演算法,而且要對其進行修正和調整。

實際上區塊鏈非常複雜,要將區塊鏈的應用真的做好,使之發揮作用,一定要深入瞭解技術,特別是上面提到的5個問題。今天,區塊鏈難以被非常廣泛地應用起來,與這些問題非常相關。

招商銀行在區塊鏈方面的探索

在區塊鏈的探索上,招商銀行最主要的方向首先就是與業界展開廣泛的合作與交流,在一些重點的領域開展研究;其次,建立一個自己的隊伍,因為要真的認清區塊鏈就一定要懂區塊鏈,要了解區塊鏈的細節;此外,要真正把區塊鏈用起來,一定還要有一個區塊鏈的平臺。現在雖然能夠找到一些開源平臺,但大都存在缺陷,可用性也成問題,無法簡單地拿來直接就用,所以這需要立足自身來解決。具體的工作方向之前已有所提及,比如,在不同場景採用不同的共識機制,一定要了解共識機制的細節並對其進行修正和調整;智慧合約在金融領域很有用但也存在一些問題,如何解決這些問題或者讓其出現時不至於產生非常嚴重的後果仍需要研究;此外,隱私和加密一樣也存在需要進一步解決的問題等。

進行區塊鏈的探索不能只停留在紙面,要真正做一些事情就一定要有一個達到要求的平臺。為此,招商銀行建立了一個區塊鏈應用的系統,它是一個基於區塊鏈的跨境清算系統,已經開發完畢且馬上將在生產系統中正式投產,真正解決招商銀行跨境清算的問題。目前,招商銀行有6個海外機構:1個子行5個分行,相互之間以及與總行都有資金往來。招商銀行當前有一個直聯清算系統,該系統存在的問題主要是隻支援總行與分行之間交換,海外分行之間沒有辦法直接交換。此外,比較多的人工環節以及與核心系統的耦合過於緊密也帶來了一些其它問題,比如審批環節多、操作複雜、新的海外機構加入很麻煩,以及實施週期很長等等。

為了改造這套系統,招商銀行研究了區塊鏈技術,認為區塊鏈去中心、分散式的架構與其當前的跨境清算場景比較適配,所以決定採用區塊鏈來改造、實施一套新的跨境清算系統。將6個海外機構加總行都連到區塊鏈上,任何兩個機構之間都可以發起清算請求,任何兩個機構都可以進行清算。總結起來,這套基於區塊鏈的跨境清算系統的優勢有4點:第一是去中心,採用P2P的架構而不是原來的星型結構減少了轉發環節,提高了效率,使得任何兩個機構都可以互聯互通,原來報文傳遞需要6分鐘,現在已縮減到秒級;第二是高安全,在私有鏈封閉的網路環境下具有非常高的安全性,報文偽造和篡改都非常難,在此情況下不再需要繁瑣的對照,使得系統被簡化了;第三是高可用,由於分散式架構沒有核心節點,不會出現單點失效整個系統崩潰的情況,其中任何一個結點出現故障都不影響整個系統運作。這個系統實施完畢以後,在該場景下區塊鏈技術確實發揮了作用;第四是可擴充套件,新的參與者可以快速、便捷地部署和加入系統。

(根據招商銀行資訊科技部總經理周天虹演講整理而成,並經本人確認)

ICT新視界》編輯部/整理