《聯盟鏈價值觀與技術實踐》— PPIO Code Talks 第三期

PPIO Code Talks 致力於打造一個以上海爲中心,輻射全球的高質量區塊鏈學習,分享,交友平臺。
在這裏插入圖片描述
9月7日,PPIO 舉辦了第三期 Code Talks 閉門技術交流分享會。在這一期的活動中,我們有幸邀請到技術大咖 Stanley 老師和學術大牛闞嘉老師,兩位重量級嘉賓來做主題分享。本期分享的主題是:1、《聯盟鏈價值觀與技術實踐 》, 2、《區塊鏈方向學術踩出的坑》。兩位老師分享的內容可謂乾貨滿滿,在本期文章中,我們先向大家介紹由 Stanley 老師帶來的《聯盟鏈價值觀與技術實踐 》主題分享和現場交流情況。
​我們都知道,在區塊鏈世界裏,有兩大劃分,公有鏈和聯盟鏈。在分享開始之前,Stanley 老師用幽默的舉例爲我們介紹了聯盟鏈和公有鏈的發展歷程和相互“鄙視”的現狀,做公有鏈開發的認爲聯盟鏈不夠去中心化,從事聯盟鏈研究的認爲公鏈吞吐量太低,無法商用落地。
接着,Stanley 老師通過三個方面,分享了聯盟鏈的價值和技術上的實踐方法。第一個部分是聯盟鏈的所處環境和挑戰,第二個部分是聯盟鏈目前商用的解決方案,第三個部分,通過實際案例講解整個聯盟鏈的運轉流程。

標題區塊鏈發展的現狀和挑戰

目前,金融行業依然是區塊鏈技術應用落地的主要場景。在全行業分佈中,佔比超過50%。其中區塊鏈在保險和支付領域被應用的較多,分別是22%和13%。而在過去的5年中,資本在金融行業的區塊鏈應用投入也是最多的,從2014年的0.4億美金,到目前2019年已經增長到約4億美金,並且還在持續增加。這些數據說明,現在區塊鏈正在一個高速發展的階段。並且在現有階段,區塊鏈在金融行業有更多落地場景的行業。
在這裏插入圖片描述
在這裏插入圖片描述
我們都知道區塊鏈有很多優點,但是在解決金融行業問題時候,是否更具有優勢呢?
1、不可篡改?我們知道區塊鏈有防止數據被篡改的優勢。但是問題來了,很早前有一種技術叫數字簽名。通過數字簽名技術,就能夠解決數據篡改的問題。那麼爲什麼還要採用區塊鏈的解決方案?
2、可追溯,更安全?金融機構可以把數據記錄在區塊鏈上,所有增加,刪除,修改的過程都會記錄留存,追溯可查。那麼問題來了,數據庫的功能很早就實現了可溯源。更安全?可是對於企業方來說,可以通過設置數據庫的門檻來提高安全性。也可以做到只有被授權的相關者對數據進行增刪改查。
3、提高效率?區塊鏈的實現是分佈式的、去中心化的,所有的數據要在每個節點做驗證和共識,按照邏輯效率更低了纔對。
4、數據共享?通過數據上鍊,共享在整個網絡,可以提高效率,讓價值最大化。可是對於金融企業來說,數據就是企業的黃金,同時涉及到用戶的隱私,又有誰願意共享,商業邏輯是否太理想化?
這麼看來,好像區塊鏈看似美好,實則並無實用價值。那麼真是這樣麼?讓我們一起來重新審視區塊鏈的價值。
在這裏插入圖片描述
而目前階段,更多是金融行業的企業級需求居多,也最有商業落地的可能性。比如金融機構、監管機構、審計機構等。但是對於 B 端的企業,必然會提出四個重要問題:1、高隱私安全 。2、高可用性 。3、高性能。4、高擴展性。
這四個問題都很尖銳,比如高性能,像信用卡的使用,每秒可以處理交易7萬筆,而現在的區塊鏈遠遠不及。那麼聯盟鏈是否能解決,如何解決的呢?
在這裏插入圖片描述

標題聯盟鏈和公鏈的區別

我們先來看一下聯盟鏈和公鏈的區別

我們知道,聯盟鏈和公鏈在技術層面,應用層面的區別很多。但是我認爲最重要的是兩者的邏輯基點不同,即他們的“准入門檻”的不同。公鏈裏所有的節點都可以加入網絡,但是聯盟鏈中會對進行預設,滿足條件的節點才能加入網絡。今天我們也從這個准入門檻的不同爲切入點,來聊一聊聯盟鏈有什麼區別,以及它如何解決上述提到的落地問題。

在這裏插入圖片描述
舉一個生物學例子:蜂鳥 vs CPU
蜂鳥是生物界最小的鳥,大小在2-5釐米,主要生活在南美洲。蜂鳥的大腦只有數百個神經元,傳輸速度數百萬每秒。蜂鳥可以覓食,尋偶,繁殖,規避風險。但是,爲什麼我們的通用 CPU 二極管的個數在幾十個億的級別,卻沒有蜂鳥聰明,沒法做到這些事情?現在的神經網絡之父,神經元深度算法的提出者特倫斯·謝諾夫斯基,給出的解釋是蜂鳥在數百萬年的進化中,神經元經過長期打磨進化,是高度專業化的,數百個神經元只對這些事情專注,所以效率極高。
理論上,通用芯片經過編程訓練是可以做任何事的。於是我們認爲,當聯盟鏈有了准入門檻,則變得更加聚焦,更專注,避免了多餘資源的浪費,同樣可以建立更高效的可協作行業生態。可以更加專注 B 端企業客戶的需求。比如共識問題,在公鏈中非常複雜,比如 PoW ,PoS ,PBFT,但是聯盟鏈裏則變得極爲簡單。由於節點的准入設定,50%的投票機制則變得極爲高效。通常一個數百節點的聯盟鏈,而真正參與共識的節點也就在20-30個之間,甚至更少。對於一個網絡而言,並非所有的節點都看重權利,擁有權利也就要付出相應的義務,付出相應的計算,網絡的成本也會增加。而對於節點用戶,核心需求則是能從新的網絡體系中獲取多大價值,而非行駛不必要的權利。
在這裏插入圖片描述
在性能方面,目前的公鏈 TPS 較高的也只能達到幾千,主流的廠商的聯盟鏈的 TPS 能在萬級以上。由於聯盟鏈節點的准入機制,數量的限制,業務可以更加專注,運作成本也遠低於公有鏈。同時也因爲聯盟鏈的多中心化可加密,所以更容易做到用戶的隱私保護。
基於以上的優勢,聯盟鏈的使命就是更好的服務企業級商業應用,建設一個可協作的行業生態。而現階段,方向和應用場景主要應用在資產相關領域。比如資產證券化,保險,銀行借貸,大宗商品交易,股權交易交割等。

標題聯盟鏈基本架構

下面我們講解一下聯盟鏈基本架構。這裏介紹的是 HyperLedger Fabric 官方的一種聯盟鏈架構方案的數據流向。我們知道區塊鏈的賬本由 peer 節點維護,並不是由 ordering service 集羣維護,所以,只有 peer 節點上可以找到完整的區塊鏈信息,而 order service 集羣只負責對交易進行排序,只保留處理過程中的一部分區塊鏈信息。其中, Endorsing peer 校驗客戶端的簽名,然後執行智能合約代碼模擬交易。交易處理完成後,對交易信息簽名,返回給客戶端。客戶端收到簽名後的交易信息後,發給 order 節點排序。Order節點將交易信息排序打包成區塊後,廣播發給 committing peers,寫入區塊鏈中。
在這裏插入圖片描述
詳細解釋下上圖的交易流程:
首先,client 發起一個 transaction 交易,含有 <clientID, chaincodeID, txPayLoad, timestamp, clientSig> 等信息,指明瞭3W 要素:消息是誰 who 在什麼時間 when 發送了什麼 what。該消息根據 chaincode 中的背書策略,發向 EP1、EP2、EP3 這三個 peer 節點。
這三個 peer 節點模擬執行智能合約,並將結果及其各自的 CA 證書籤名發還 client。client 收集到足夠數量的結果後再進行下一步。
client 將含背書結果的 tx 交易發向 ordering service。
ordering service 將打包好的 block 交給 committing peer CP1 以及 EP1、EP2、EP3這三個背書者,背書者此時會校驗結果並寫入世界狀態以及賬本中。同時,client 由於訂閱了消息,也會收到通知。
這個架構中有兩個特點
共識方法,一個節點發佈一個指令的時候,他可以指定哪些聯盟節點來參與共識。就等於智能合約在部署時可以定製化。
將共識和讀寫硬盤分開了。區塊鏈的性能瓶頸很大程度上來源於硬盤讀寫的瓶頸。將其分開後,前面的共識,速度會非常快。這樣的一個原生架構,TPS 就可以達到3000—4000/s。
在這裏插入圖片描述
解決的方法
如果讓用戶有意願分享個人數據到區塊鏈中,那麼必須保證用戶的隱私保護沒有問題。即用戶 A 的數據傳輸到區塊鏈中,並且該數據只有用戶 A 可以訪問、修改。如果有其他人需要查看或者調取用戶A的數據,必須要得到用戶 A 的授權。採取的解決方式就是數據加密,而在聯盟鏈中,幾乎所有的數據都是經過加密的。那麼加密後,就會帶來合規問題。因爲現有聯盟鏈的應用場景中,必須要保證數據的合規合法性,交叉性驗證。
聯盟鏈的技術實踐
在聯盟鏈的技術實踐上,有兩個尤爲核心的實現技術,一個是可授權加解密,另一個是零知識證明
在這裏插入圖片描述

#1、可授權加解密

可授權加解密解決的問題是用戶的數據隱私和數據共享的矛盾。業務場景是當參與方 A 有一套需要和聯盟節點共享的信息, 但是 A 希望 參與方 B,參與方 C,參與方 D 只能接收到被授權的信息。 實現流程是將數據或是線下、或是線上加密後傳輸到區塊中, 參與方 A 通過可授權加解密的方式,針對不同的信息分享需求,給參與方 B,參與方 C,參與方 D 分別進行授權。最終參與方 B,參與方 C,參與方 D 只能接收到被授權的信息。當然在這實現過程中需要應用其他技術,比如密鑰管理,密鑰安全,密鑰的傳輸等。
另外。在聯盟鏈中是一般會有監管節點,通常監管節點可以查看鏈上的所有數據,來保護用戶的使用權益。
在這裏插入圖片描述

#2、零知識證明

第二個核心的實現技術就是零知識證明。主要用於數據庫的交叉性驗證。驗證包含兩個部分:
數據在密文狀態下的四則運算。

數據在全加密的狀態下,可以被校驗合法合規性。

舉一個銀行的融資校驗的例子。比如有買方 A,和賣方 B。當 A 從 B 處買東西時,會生成一個訂單賬本,並且生成應收賬款的數據。當 B 要給 A 發貨時,則會生成物流數據。當賣家 B 收到賬款時,會自動生成發票賬單數據。那麼在整個流程中,不同的環節產生的數據提供方不同,比如訂單數據由買家提供,發票單據由賣家提供,物流信息由物流公司提供。這時,鏈上就可以實現各個環節的不同數據的相關計算進行驗證。比如驗證應收賬款小於或等於訂單總額,比如驗證物流數據,單價✖️ 數量等於物流賬單的總額,比如驗證發票數據與用戶訂單相等關係。此時,如果該價值鏈中的任何一方向銀行提出融資申請,銀行則可以通過以上供應鏈的驗證結果,在不解密各個環節數據的情況下,進行相應的合法合規驗證,就是在這個場景下零知識證明解決的問題。
當這些來自不同渠道的數據,在區塊鏈網絡可以進行相互校驗的時候,銀行則可以大大降低放款風險。
當然,在聯盟鏈的實現過程中還涉及到一些其他的技術方法。比如在隱私保護方向,有全同態加密,多方安全計算,可信執行環境等研究。在衆多技術中如何做出取捨,各個主流機構都有自己的觀點和着重方向。但最終會還會迴歸商業需求本質,依據不同的商業場景,來進行差異化的探索和升級。

觀衆問題:如果節點數很多,比如幾百個的時候, TPS 指數級下降 。
老師回答: 和共識方式有關,如果預設指令需要幾百個節點確認,效率一定會降低,還要根據具體業務場景來看。其二就是網絡傳輸的消耗。比如一些大廠對外宣稱自有的聯盟鏈經過升級過後,TPS 可以達到萬級別,但瞭解實際情況可能並不盡如人意,更多都是在不公開的測試環境下測試,甚至有的放棄運行智能合約。當然,由於區塊鏈還屬於發展階段,一些企業爲了跑馬圈地,也是商業戰略安排。
在這一期的 Code Talks 活動中, Stanley 老師從基礎架構層和業務應用層爲我們分享了聯盟鏈價值觀與技術實踐。又通過一個實際案例,讓我們瞭解了聯盟鏈的交易流程,和兩大主要底層技術,以及商業落地方向。不知您是否對聯盟鏈有了更全面的瞭解了呢?如果您也是區塊鏈從業者,對區塊鏈技術有自己獨特的心得,或者你有區塊鏈相關技術乾貨希望與志同道合的技術愛好者分享,歡迎報名參加我們 PPIO Code Talks沙龍活動!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章