昨(24)日,KryptoGo Gotrace 的技術負責人 Jimmy Hu 在線下聚會上,分享了 Libra 技術白皮書中的共識演算法,他強調 Libra 共識演算法 10 秒可出一個區塊,且可以執行智能合約,未來每秒交易量(以下簡稱 TPS)可高達 1,000 以上,是真正可以應用在日常生活的區塊鏈。
專注於Regtech(監理科技)的區塊鏈技術服務公司 KryptoGo Gotrace 的技術負責人 Jimmy Hu 於昨日的《臉書 Libra 的超級央行夢》中,分享了 Libra 的共識演算法。
他認為 Libra 利用「領袖節點」的方式選出出塊節點,讓 Libra 區塊鏈擴展性大大增加,另外 Libra 支援智能合約,讓 Libra 成為了可以大規模應用的區塊鏈。
Libra 區塊鏈是可信的
Libra 內部會有資料結構,用來儲存資料,資料結構會有多種版本存放在交易資料庫裡面。而每個版本會儲存交易、交易結果、狀態。交易是指小動要付小區錢,交易結果是小區有沒有收到錢、狀態是指雙方帳戶餘額。而區塊鏈要做的就是這三者的狀態更新。
Libra 提供了一個歷史帳本,包含了上述所說的交易資料庫內的交易、交易結果、狀態。所以任何人都可以向 Libra 求證某個時間的版本。Jimmy 舉例說道:
由於交易和狀態都是存在公開帳本裡面,所以用戶可以隨時監控 Libra 區塊鏈有沒有亂做事情。假如我的帳號在這個版本是 100 塊錢,但是下一個版本突然就變 50 塊錢,可是沒有任何的交易,那就代表 Libra 裡面一定有人在做壞事。
Libra 拜占庭協議(Byzantine Agreement)
在提到拜占庭協議之前需要知道拜占庭容錯以及拜占庭將軍問題。
拜占庭將軍問題是指在分布式計算中,不同的電腦如何透過交換訊息達成共識。而通常會將問題簡化成「一群拜占庭將軍圍攻城市」的共識問題。
有 3 個將軍分別盤踞在城市的三方,需要達成進攻或是撤退的協議,而只有三方同時進攻才能獲得勝利。在這個過程之中如何確保最後三者都會接收到相同訊息,同時進攻、或是同時撤退。
拜占庭容錯則是指在 N 個將軍之中,能夠容忍 X/N 的將軍是不誠實的(做惡節點),意指在網路上可以容忍有多少個壞節點,但是依然能達成網路共識。而設計整個網路協議
Libra 的拜占庭協議中有兩個假設,第一,所有節點的時間流逝速度是同樣的;第二,訊息傳遞是在有效的延遲內。
而 Libra 的拜占庭協議的設計結果為「在 3f+ 1 個節點投票的前提下,可以容忍 f 個節點為作惡節點」。舉例而言,若 3f+1=28,則 f=9,這表示在現在 Libra 協會中有 28 個會員的情形下,可以容忍 9 個節點為作惡節點。
然而,在實際的狀況,作惡節點不會這麼多,因為 Libra 是傾向獎勵好節點,此外,Jimmy 還提到由於 Libra 的會員每年都必須支付 1,000 萬美金的開發者基金,因此,在這種情形下,Libra 區塊鏈勢必是安全的。
Libra 領袖節點運作方式
Libra 的用戶在交易之後,Libra 區塊鏈會選出一個領袖節點,這個領袖節點會搜集四面八方的交易,打包成一個區塊,而領袖節點打包完區塊之後,會傳給其它節點驗證。驗證完確認沒問題之後就會開始投票¹,各區塊會將投票結果回傳給領袖節點,領袖節點統計之後,他需要搜集 2f+1 張票。超過票數之後就會上傳,並將上傳結果廣播給其它節點。
[註*1]:這裡的投票是指其它節點在檢查區塊內的交易是否有問題,會不會有其他節點做壞事,而投票是指認可這個區塊裡面的交易沒有問題。
– 圖片來源:Libra 白皮書網站 –
延伸閱讀:深入臉書《Libra》技術白皮書:一個參考各家區塊鏈特色的協議
挑選領袖節點的可驗證隨機函數(VRF)
領袖節點的概念並非 Libra 首創,Jimmy 表示目前台灣的兩個國產鏈 DEXON 和 Tangerine 就已經在使用領袖節點。要確保每個回合選出節點的機制是公平的,就需要用到可驗證隨機函數(Verifiable Ramdon Function,以下簡稱 VRF)。
VRF 是指在丟入一個自變數的值(例如 x)之後,會生成兩個值,其中一個為 y 的隨機數,另外一個則是可以驗證 y 為隨機數的函數。而由於隨機數無法預測,因為也無法預測下一回合的領袖節點,這避免的共謀的情況發生。
隨機數必須要有兩個特性,隨機數必須能夠平均散佈在某一個函數上,例如 2256 ,另外一個則是雪崩效應,意指,只要輸入的值有一些些微的改變,例如一個小數點,或是標點符號,出來的隨機數會完全不同。而目前 Libra 是用前一個區塊鏈的雜湊值(Hash)當成自變數。
Jimmy Hu 表示,真正讓 Libra 成為在可以應用在日常生活支付的關鍵是,不同於比特幣(bitcoin)或是以太幣(ether),Libra coin 本身就是一個穩定幣。對於支付貨幣而言,價格波動性的是必要因素。Libra 基金會會用真實法幣做為儲備金,目的是希望全世界的用戶能在當地換成法幣。
「另一個好處就是說,因為它的價格穩定,所以我們在區塊鏈執行交易的手續費相對的低廉而且可以相對的穩定,」
他補充:「這不會像比特幣漲到 20,000 美元以後,交易手續費就變成 50 美元,而我不過只是買杯飲料而已。」
?相關報導?
延伸閱讀:深入臉書《Libra》技術白皮書:一個參考各家區塊鏈特色的協議
快訊》一文看懂,臉書正式發佈加密貨幣《Libra》——「將服務全球 17 億沒有銀行帳戶的公民」
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!