歡迎光臨
每天分享高質量文章

7月22日,我們來聊聊『共識』

鏈圈幣圈三句話不離『共識』,但共識具體指什麼?一種是社會學上的共識,即社會成員如何就價值的認可達成一致看法。一種是技術層面的共識,多個機器如何對資料達成一致看法。

在區塊鏈中,這兩種共識有什麼關係呢?首先機器的共識是社會共識的基礎,而社會共識是機器共識的標的。所有的公鏈都可以理解成一個全球公用的賬本,無論鏈上記錄的是加密幣的交易資訊,還是 DApp 的執行結果,還是版權資訊等,這個賬本的價值不僅取決於上面記錄了多少內容,同時也取決於有多少人認可上面的記錄(社會共識)。而公鏈提供的去中心化,不可篡改等特性的根本標的則是讓更多的人認可其價值,其中依賴的關鍵的點則是公鏈的共識演演算法。

共識演演算法這個在區塊鏈之前的分散式系統上就已經得到了充分的應用。分散式系統的共識演演算法有 Paxos,Raft,BFT(Byzantine fault tolerance) 等,解決了大型分散式系統中的眾多機器如何就全域性狀態達成一致的認識的問題,主要方法是透過多階段的提交和投票來實現。而區塊鏈提出了新的問題:

如何在無準入限制,節點數不確定的情況下實現共識?更進一步的問題是:

  1. 如何確定參與節點的唯一 ID?比如有人可以把一臺機器模擬成多臺,在投票中佔據優勢。(所謂女巫攻擊)

  2. 如何防止壞的節點偽造資料?分散式系統中的共識演演算法一般假定節點會出故障,但不會欺騙。但無準入限制情況下,則不能做這個假設。

  3. 如何選擇 leader ,同時避免 leader 被攻擊?主流的分散式共識演演算法一般都有選 leader 的過程,一段時間內 leader 負責對資料排序,實現一致性。

  4. 節點數不確定,如何確認最終實現一致了呢?


這幾個問題按照傳統的方式是無解的,但比特幣透過 PoW 在共識演演算法中引入經濟博弈解決了這幾個問題:

  1. 如果是純算力競爭,則偽造節點無意義。

  2. 如果所有節點對其他節點的資料都不信任,都做重覆校驗,同時有 PoW 帶來的經濟成本,壞節點無利可圖。

  3. 先假定每個節點都是 leader,各節點獨自打包資料,等解決 PoW 謎題的一刻對外公佈區塊,成為 leader,但這時候資料已經被打包完成,該節點已經沒有被攻擊的價值。

  4. 不試圖達到完全的最終一致狀態,而是透過延遲確認達到一個機率,比如交易後等待 6 個區塊確認。


但 PoW 同時也帶來了新的問題,比如效率的問題,比如資源浪費的問題。於是業界也在探索其他的共識演演算法,比如 PoS。

PoS 的思路是首先透過抵押金來實現 ID 認證,按抵押金數量來分配出塊權重,消除偽造節點的動機。而其他幾個問題的解決方案則有不同的實現。

PoS 帶來的一個問題就是,當出塊成本很低的情況下,一旦有惡意節點分叉,其他節點可能會跟隨同時出多個分叉鏈的塊(Nothing at Stake)。所以必須引入其他方式來避免這種情況,Ethereum Casper 透過抵押金懲罰機制,而 Algorand 則引入 BFT 協議,避免分叉,同時改進 BFT 協議,使其可應用到大規模的網路中。

選舉機制上,Algorand 則引入了 VRF (可驗證的隨機函式 Verifiable Random Functions) 來實現抽簽選舉。透過這個機制,它可以實現隨機選擇委員會成員(BFT 協議的投票成員),同時可以避免成員暴露,降低被攻擊的風險。

另外一種共識的探索思路是 DPoS。 PoW 引入了經濟學上的博弈,而 DPoS 本身實際上引入了社會學上的博弈。它透過選舉機制,把出塊節點後面的個體和組織暴露出來,透過社會群體約束出塊節點,降低出塊節點作惡的機率。但它同時也帶來了許多技術問題,比如出塊節點的選舉,投票機制,如何解決類似 Nothing at Stake 的問題。

這次 Meetup 主題方向是『區塊鏈共識演演算法』,我們邀請了區塊鏈業界的專家,透過理論以及實踐角度給大家詳解以上的問題。

Algorand 的基本原理

演講嘉賓:張季恆 香港科技大學工業工程與決策分析系與數學系終身教授。
詳解 Algorand 的基本原理,Algorand 是如何利用 VRF 選舉,它的 BA 協議和標準的 BFT 協議有什麼區別?

區塊鏈中VRF(可驗證隨機函式)的應用及原理解析

演講嘉賓:黃祺 Tarax Network 聯合創始人 & CTO
詳細分析 VRF 的原理,以及在區塊鏈上的應用場景。

以太坊 DPoS 實踐以及開源 DPoS 分析

演講嘉賓:孫小俊 美圖雲事業部系統研發工程師。
分享他們改造以太坊,以實現 DPoS 的經驗,同時比較和開源 DPoS 的各種實現之間的區別。

深入理解以太坊 Casper

演講嘉賓:薑家志 BCH社群資深開發者
詳解以太坊的 Casper,它是如何解決前面提到的問題的。

同時還有幾個閃電演講的空缺,如果有對區塊鏈共識演演算法的新的見解,可以透過 10 分鐘的閃電演講和大家分享,請在報名連結中註明。

這次 Meetup 主要以交流為主,名額有限,區塊鏈技術研發人員優先。非科普內容,請參會者提前對所講的議題進行初步瞭解,避免到時候跟不上講師的內容。

本次活動由BFTF組織,詳細資訊可見:

https://mp.weixin.qq.com/s/AJeXa3ajPJDEQa3WKLVdVQ


BFTF 是Blockchain Funds-Technology Federation 的縮寫,目前專註於區塊鏈技術方向的研究。


盤點區塊鏈最新技術。點選“閱讀原文”瞭解更多詳情。

贊(0)

分享創造快樂