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

2021-09-10 10:11:10 字數 2043 閱讀 2730

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

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

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

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

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

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

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

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

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

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

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

不試圖達到完全的最終一致狀態,而是通過延遲確認達到乙個概率,比如交易後等待 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 是如何利用 vrf 選舉,它的 ba 協議和標準的 bft 協議有什麼區別?

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

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

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

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

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

bftf是blockchain funds-technology federation 的縮寫,目前專注於區塊鏈技術方向的研究。

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

鏈圈幣圈三句話不離 共識 但共識具體指什麼?一種是社會學上的共識,即社會成員如何就價值的認可達成一致看法。一種是技術層面的共識,多個機器如何對資料達成一致看法。共識演算法這個在區塊鏈之前的分布式系統上就已經得到了充分的應用。分布式系統的共識演算法有 paxos,raft,bft byzantine ...

7月22日之北京日食

7月22日之北京日食 阿風 7月22日我國將出現500年一遇的日全食奇觀 很早就在作如此宣傳。雖然北京不在最佳觀測帶,看不到日全食,只能看到日偏食,阿風還是為此次日食作也一些準備。在未找到合適的遮光護目用品之後於頭天晚上將n年前留下的一盒軟盤拆了幾張,取出了其中的磁片備用。22號,為了看日食,早上比...

ACM訓練日記 7月22日

感覺這個周一直在做題看題,有些題目確實有些難度,有的時候連看懂題解都會成為一種奢侈,就像牛客多校第二場的題目,g題的那個思維,對字首和與字首價值和的利用真的巧妙,雖然這個題是感覺能出,可那個 的細節處理對我確實是一種挑戰,另外,好不容易看懂了j題,思路大致與我當時樹形dp的定義法一樣,可還是那個狀態...