• <option id="cacee"><noscript id="cacee"></noscript></option>
  • <table id="cacee"><noscript id="cacee"></noscript></table>
  • <td id="cacee"></td>
  • <option id="cacee"></option>
  • <table id="cacee"></table>
  • <option id="cacee"><option id="cacee"></option></option>
  • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
    <option id="cacee"><option id="cacee"></option></option>
     找回密碼
     立即注冊

    掃一掃,登錄網站

    首頁 區塊鏈生態 查看內容
    • 2015
    • 0
    • 分享到

    區塊鏈共識機制是什么? 區塊鏈共識到底牛逼在哪?

    2018-12-14 11:14

    來源: 巴比特 作者: 康爍

    區塊鏈的共識機制是一個偉大的技術創新,填補了計算機專業領域的一個空白。如果中本聰愿意發表學術論文的話,這應該也是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中存在的一個根本問題,也就是無利攻擊。這個問題的根源在于,你投票是沒有成本的,如果你投票有成本,你就會慎重一點,不會為十個候選者,每人都投一票了。

    (未完待續)
    版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。
    相關新聞
    發表評論

    請先 注冊/登錄 后參與評論

      回頂部
    • <option id="cacee"><noscript id="cacee"></noscript></option>
    • <table id="cacee"><noscript id="cacee"></noscript></table>
    • <td id="cacee"></td>
    • <option id="cacee"></option>
    • <table id="cacee"></table>
    • <option id="cacee"><option id="cacee"></option></option>
    • <table id="cacee"><source id="cacee"></source></table><td id="cacee"><rt id="cacee"></rt></td>
      <option id="cacee"><option id="cacee"></option></option>
      妖精视频