當前位置:
首頁 > 新聞 > 清華大學區塊鏈中心康爍:區塊鏈共識到底牛逼在哪?

清華大學區塊鏈中心康爍:區塊鏈共識到底牛逼在哪?

「區塊鏈的共識機制是一個偉大的技術創新,填補了計算機專業領域的一個空白。如果中本聰願意發表學術論文的話,這應該也是21世紀以來最重要的學術論文之一。」

一席話點出康爍是區塊鏈忠實「believer」(信眾)的身份。康爍是清華大學區塊鏈中心高級工程師。

康爍神似段奕宏,因而常開玩笑自比為「計算機網紅」,這是他幽默的一面;與此同時,他也恪守技術人的嚴謹性,推崇知識的普世傳播:

「我願意把自己對區塊鏈共識的如滔滔江水般的無限景仰,統統分享給大家。」他在社群分享會開宗明義。

此次分享會圍繞區塊鏈共識機制展開。這是區塊鏈的核心概念之一。但普通人並不關心這樣的議題,技術理論的話術體系容易造成隔閡。

如何突破行業話語受眾狹窄,並自然向外延伸?這背後的現實面,反映了區塊鏈曲高和寡,難以進入公眾領域。康爍希望做一點「小貢獻」,跨越認知的藩籬:讓信仰者恆遠,讓求知者追逐。

以下為康爍的區塊鏈共識機制分享全程實錄:

我們從最基礎的區塊鏈共識開始。區塊鏈共識機制是什麼?

區塊鏈共識是一個非常重要的一個發明。我們,其實上次我在一個,就說清華內部的一個沙龍裡邊有經濟學家。有黨委書記,有計算機學家,大家對區塊鏈的各種認識都不太一樣,而且區塊鏈呢,是目前來說呢,是爭議最大的技術。大家知道就是人工智慧啊,互聯網其實大家沒這麼多爭議,而區塊鏈爭議是非常大的。很多大佬這個發表的預言,結果轉眼第二天就被打臉。

區塊鏈共識呢,我只是從技術的角度來介紹,而不是從社會學或者從其他的角度去介紹。

區塊鏈共識呢,他在計算機裡邊是一個偉大的創新。據說他的重要性在於什麼呢,他構造的一種,無信任的一種合作方式。無信任的合作方式,也就是說大家誰都可以不相信誰,但是可以協作在一起完成一件任務。

這是非常重要的,從我們計算機的角度來講呢,它的重要性在於,他的擴張性很強。大家可以想一下。任何人在任意時間內馬上就可以組成一個團體,提供對外的合作。也就是說,這是一種無邊界的合作方式啊,就是任何人都可以組織在一起馬上合作,來完成一個事業。所以它的可擴展性非常強,所以這個是它非常有魅力的地方,也是為什麼眾多互聯網大佬,還是一些投資大佬看好的原因。

了解了基礎之後,我們很想知道:為什麼會存在區塊鏈共識這個機制?

我先從這個她的這個最簡單的一個路徑說起。比特幣比特幣它的定位是什麼呢?它是一種數字現金。比特幣白皮書標題上說它是一種點對點的數字現金系統。如果他是點對點的數字現金系統,我們可以相比我們實際用的紙幣,他們之間有什麼樣的聯繫和區別。

數字現金,它相比我們的紙幣來說,它的缺點就是雙花問題。我們的這個紙幣不存在雙花問題,我有一百塊錢紙幣花了,我手裡就沒有了,但數字貨幣可不止這樣。你如果把這個數字貨幣花了,其實你手裡還有一串。因為數字貨幣就是個字元串,它是可以任意複製的。

接著上面來講,怎麼解決雙方問題呢,我們就必須要構造一個順序的賬本,然後就可以解決雙花問題。

而在 P2P 的這個網路裡邊構成一個順序賬本。這個就必須要用到區塊鏈的共識機制在眾多的這個互相不信任的計算機節點中達成共識。這就是區塊鏈共識的一個來由,為什麼要有區塊鏈共識。

那當我們把區塊鏈共識機制引入到計算機學科,它發揮了怎樣的作用?

從計算機學科的角度來介紹,以前就是大家研究的都是中心化的伺服器或中性化的集群。

從互聯網最開始大家都是客戶端從伺服器獲取信息到現在的雲計算來說,大家也是從google 的伺服器集群、facebook 或者阿里雲這些伺服器集群的雲計算平台去獲取服務。

但是,大家其實沒有研究過,在 P2P 網路里如何提供服務——P2P 網路如何形成一個伺服器集群。這是大家研究比較缺乏的,不管是這個學術界,還是搞工業界的工程師,大家都沒研究過這個問題。

我們知道這個 P2P 網路最早是在這個1999年,Nasper 提供了 mp3 共享的下載。他是最早提供 P2P 網路的始祖。後來的 BT 和電驢都在 P2P 網路提供了下載服務。

但是,中本聰是第一個利用 P2P 網路來提供數字現金的。在P2P網路,提供這樣一個服務,就像我第一個問題所指出的:人人都可以是服務的提供者,人人也都可以是服務的消費者。這個這個想像空間是無限大的,而且這個可擴張性非常強,就每個人都可以成為雲計算伺服器的一個節點。

所以說,中本聰發明的這個我們叫做中本聰共識,也有人叫做 pow。這個雖然只用在電子貨幣上,它未來的想像空間很大。因為有人會暢想在 P2P 網路下提供滴滴打車,基於P2P 網路來提供淘寶服務。想像空間無限大。

前面三個問題分別解釋了:共識機制是什麼?區塊鏈為什麼要有共識機制以及區塊鏈共識機制在計算機學科中能發揮怎樣的作用。那麼有的朋友可能會想知道,能不能一句話說明:區塊鏈共識到底做了什麼事情?

我自己總結了下,區塊鏈共識到底做了件什麼樣的事情?在P2P網路裡邊。隨機的選擇唯一一個節點作為記賬節點。這就是他要做的事情。每次都是隨機的選擇。

其中包含了三個要點,第一個要點,是要在P2P網路里,達成共識。就前在共識這方面,計算機科學家研究了很多,但是沒有研究 P2P 網路裡邊如何達成共識。

第二一定是隨機選擇也就說每次選擇的記賬節點都是不一樣的。第一,這樣的保證一種公平性。就是說不能每次都讓你一個節點去結帳,這樣這個節點,每次都能得到經濟回報,其他人得不到。第二,隨機選擇保證一定的安全性。黑客想攻擊,但是他不知道下一個記賬節點到底是誰,所以他無所攻擊。

第三,每次記賬要選出唯一的節點進行記賬,也就是說,只有一個人去記賬,其他人只複製他的記賬結果,這樣才能達成這個統一的一個順序賬本。這樣就達成了一個共識。

所以再次總結一下,就是說區塊鏈共識做了這樣一件事:在P2P的環境下。每次隨機地選擇出唯一的這個區塊生產者作為記賬節點。這就是區塊鏈共識。

我們知道,區塊鏈本身就是一種分散式的網路,那麼它跟計算機中的分散式系統又有什麼關係?

區塊鏈是一種計算機技術,所以說我們需要在計算機科學裡面給他找一個合適的位置,讓大家搞清楚:它和計算機的一些技術有什麼樣的關係。

區塊鏈是一種分散式系統。分散式系統的定義是指:這個分布在不同計算機上的軟體或組件對外能夠提供一致的服務,所以說區塊鏈,他就是一個分散式系統。

分散式系統會有很多分類。我們在這裡邊會對它做這樣一個分類。這個分散式系統可以分為存在拜占庭錯誤的分散式系統和這個不存在拜占庭錯誤的分散式系統。

什麼是拜占庭錯誤?這個其實很容易理解,一支隊伍里,如果有內奸。那我們就認為這個隊伍或者這個系統,它是存在拜占庭錯誤的,就是內奸會發假消息。

如果是非拜占庭錯誤的分散式系統,我們認為這個隊伍里可能有人能力弱一點,有人能力強一點,但是不存在內奸也不存在叛徒,這個就是非拜占庭錯誤的分散式系統。所以我們從拜占庭錯誤這個角度來把這個分散式系統的分為兩類。

分散式系統的共識,大部分考慮的是非拜占庭錯誤的這個共識機制。比如說像 google 的集群,像我們常見的雲計算平台,它也是很多計算機協作起來,對外提供計算對外提供服務。但是,我們從來不考慮這裡邊的節點是不是惡意節點,因為我們默認它這裡邊沒有惡意節點。

但是區塊鏈,它是一種存在拜占庭錯誤的共識機制的分散式系統。我們允許好人進來,也允許壞人進來,也就是說我們都不分辨好壞,任意節點想提供服務都可以加入到區塊鏈網路里提供服務,所以區塊鏈是一種拜占庭容錯的分散式系統。

所以這個定義,就是區塊鏈在整個計算機學科中給他的一個位置。

了解完區塊鏈共識機制的產生、原理以及與分散式系統的關係之後,我們接下來將深入到對區塊鏈共識機制的討論,比如大家熟知的 POW 和 POS 等。

就是共識機制,大家說的比較多的,很多創業公司,包括很多科技界大佬,他們都會說自己對共識機制有什麼樣的創新。其實在共識機制上做創新是一件非常難的事情。

從我個人的角度來看,其實這個區塊鏈共識機制,一共就只有兩種技術路線,一種中本聰開創的中本聰共識,通過挖礦,通過 POW 提供的一種共識機制。

另外一種共識機制就是1999年OSDI會議上發表過一個叫PBFT演算法,它是一種實用的拜占庭容錯的演算法。

但是需要補充的,第二種演算法PBFT必須是在數目確定的節點中達到共識。也就說如果那你這個選取的節點的數目不確定,它就很難達成共識;所以它不太適用於我們的P2P網路,因為P2P網路允許任何節點隨時加入,隨時退出。任意時刻你沒法確定全網節點的準確數目有多少。

現有的pos機制,包括這個eos的DPS機制,我們是把它劃分到PBFT的技術路線。pos擁有幣的人,比如擁有以太幣的人,他可以通過自己的這個幣經投票選舉出下一個區塊生產者。

但是,選舉下一個區塊生產者在計算機的實現里到底怎麼做呢?就必須要用到PBFT演算法也就是在數目確定了的這個節點中,把下一個區塊生產者通過選舉的方式選舉出來。

為什麼這個 DPoS 有21個節點,或者說其他採用了POS、採用 DPoS,都有數目確定的節點呢?這就是因為 PBFT 的技術路線只能在確定數目的計算機節點裡邊選出下一個區塊生產者,所以這是DPoS不得已而為之,也是PBFT演算法的內在缺陷所決定的。

那麼,POS實現起來會存在怎樣的問題呢?

POS機制最早是在比特幣論壇里的一個網友提出來的。他提出:通過擁有這個數字貨幣人通過選舉來把這個下一個區塊生產者選出來。這樣的話就避免了像比特幣中挖礦,因為挖礦比較耗能量比較污染環境。

但是,POS本身那實現起來比較困難。因為它本身是依賴於PBFT 。但是PBFT又必須是確定數量,才能選舉選出唯一的區塊生產者。這個也容易理解:你連選舉的總數目都不知道,你又怎麼知道能達到二分之一的通過率或者三分之二的選舉率呢?所以這個就是很難去做。

POS 最根本的問題在於什麼呢?我們一般叫著無利攻擊(nothing at stake)。我們可以這樣來理解這個名詞:主席台上有十個候選人,下面很多人給這十個候選人投票。如果你投票的話,就說沒有任何成本。那很有可能呢,你是會對這個主席台上十個人都分別投一票,也就一個人投十票給每個人投上一票。這樣的好處話就說,不管台上哪個候選人成為最終的獲勝者,你都會有好處。

最終這會造成一種什麼情況呢?也就是下邊的投票人會對上面主席台10個候選人都投票。最後主席台上這十個候選人呢,每個人都可以獲得全票。獲得全票之後,這十個候選人也就他們得到的票數一模一樣的,我們為沒辦法選擇出唯一的一個區塊生產者。這樣就無法達成區塊鏈共識。

這個就是POS中存在的一個根本問題,也就是無利攻擊。這個問題的根源在於,你投票是沒有成本的,如果你投票有成本,你就會慎重一點,不會為十個候選者,每人都投一票了。

(未完待續)


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 巴比特資訊 的精彩文章:

美國運通董事會主席:Ripple有可能徹底改變跨境支付
印度服務業採用區塊鏈技術或將額外增收50億美元

TAG:巴比特資訊 |