乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)

乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


本講座選自清華-青島數據科學研究院大數據基礎設施研究中心特約研究員、加拿大Viscore公司創始人兼總裁劉運渠先生於近期在清華大數據“技術·前沿”系列講座上所做的題為《一致性、原子廣播與區塊鏈》的演講。

後臺私信回覆1031獲取完整版PPT~


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


劉運渠:要理解區塊鏈,我們必須理解分佈式系統,以及分佈式系統如何保證一致性。這裡的一致性指的是英語裡的consistency。一致性和時間有直接邏輯和數學關係。愛因斯坦狹義相對論說沒有時間,只有同步的事件。在計算機領域中,Leslie Lamport在他的著名論文裡面說過,他不知道物理世界裡面有沒有時間,但是可以明確的說計算機系統裡沒有時間。FLP和CAP都表明在非同步的網絡上要實現一致性技術是不可能的。 工程上在一定概率內,例如99.9%,可以實現可靠性一致性等等。

一致性在我們日常活動中例子,可以用我們幾個人去哪吃飯的決策過程來舉例。有幾個方案來決定。一個是一人決定。第二種是一個人說的不算,需幾個人投票。第一種方案是很典型的中心化權力方案,第二種方案我們用高大上投票方案,很多一致性基於多數投票(Quorum)的。比如說在比特幣裡是最長鏈說了算,DAG裡面說權重最重的那部分說了算,其實都是投票制的方案。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


用計算機的術語來描述一致性。同樣10臺電腦,上面都有一個變量叫A,當所有變量A被賦值為1的時候,我們說是一致的。如果有9個機器賦值為1,另外一個機器賦值為0,這就是不一致。我們知道賦值不會自動發生,一般是有一個狀態機給它賦值。如果多個節點的狀態機裡面,狀態都是相同的,這就是一致的。在一個集群裡面,所有狀態機,輸入狀態機的數據是相同的,而且是同順序的。這時候狀態機就會停止在同一個狀態,我們說狀態機取得了一致。

在區塊鏈場景裡面一致性到底是什麼意思?無非是兩個問題:

  • 每一個地址和賬號裡面,UTXO的數據是一致的。
  • 誰把錢轉給誰,保證這件事情一致,這是電子貨幣的系統的基礎。

假設我們的資產不是電子貨幣,而是任何其他的電子數字資產,也就是說你要對數字資產的狀態和交易數據一致。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


用阿里巴巴的講法,分佈式系統有兩個最基本問題(一致性與唯一性),和兩個最基本的技術,data replication,與一致性哈希。我今天只講是Data Replication,狀態機在它開始工作之前,我也可以當成一個數據處理。一致性問題可以轉化成Data Replication問題,是因為我們可以轉化成狀態機一致性問題,狀態機翻轉問題。外部一致性的問題也可以理解為Data Replication問題。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


假設狀態機本身是運行良好,我們可以把一致性轉化為廣播問題。另外,很多時候前狀態和後狀態之間沒有因果性,沒有因果性的事件之間不需要順序上一致。只有因果性事件才需要順序上的一致。

在廣播問題中,FIFO廣播是指消息按照它送的順序收到,日常交談中這幾乎顯然的,那是因為我們有空氣廣播作為穩定的廣播通道。如果你在IP網絡發一個包,你先發的後收到,後發的先收到。

原子廣播意思就是除非所有人都收到,否則這個消息就撤回。只要其中有一個人沒有聽到,就把信息撤回。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


拜占庭將軍,是不確定性的通信系統。這個問題怎麼解決?廣播出去讓所有人都知道,廣播解決方案可以叫做去中心化,也可以叫多中心化。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


廣播有很多種實現。

  • 第一種盡力實現的廣播服務,網絡提供廣播服務,但是不保證送達。就像IPMC。
  • 第二種保證送達廣播,但不保證FIFO,也不保證原子性,例如簡單的基於TCP的overlay廣播。最後一種是原子廣播與可靠廣播。


第一層是用戶層實現,好處是很容易應用,缺點就是性能比較差。第二層在物理層實現,但是還沒有一種網絡設備提供可靠的廣播。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


常見的交換模型如Infiniband模型,所用的方法三級multi-stage模型。大家會看到這個方法實現會有blocking。

我們的新架構,Optical Broadcast-Select Switch,裡面有N的3次方的節點,實現N的N次方的任意組合,所以可以支持可靠的任意光廣播(arbitrary multicast)。在加拿大做的產品原型prototype,在12個節點做到了68億不丟包。可以用這樣硬件做一個廣播負荷的卸載技術。這是可以在廣播上應用的高性能技術。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


最後是區塊鏈與基礎網絡的問題。區塊鏈技術的一個重要價值是去中心化的交易,不需要第三方信任,可以支持一個完全開放的系統。區塊鏈的不可能三角是指去中心化,性能與安全性三個不可能都同時滿足。

區塊鏈基礎設施,基於現在互聯網絡設施的區塊鏈,如同當年的64K撥號上網internet,不僅僅是性能問題,而是基礎設施的設計原則發生了變化。它的性能裡面的交易特性,跟總量、帶寬、時延都有關係。

我們用一個網絡路由算法Pub/Sub architecture來提升廣播服務。這個網絡平面在基礎設施層面上提供一個廣播的服務,不是簡單把數據亂丟,而是知道哪個節點是我要的。


乾貨|一致性算法與區塊鏈基礎設施建設(附PPT)


清華數據院對區塊鏈基礎設施的想法,我們提供了廣播的高速廣域,不是僅僅為了支持區塊鏈服務,而是支持整個數據服務。 我們希望做到更低的時延。

整理:張卓婧

後臺私信回覆1031獲取完整版PPT~

— 完 —

關注清華-青島數據科學研究院官方微信公眾平臺“THU數據派”及姊妹號“數據派THU”獲取更多講座福利及優質內容。


分享到:


相關文章: