如何內行地評價公鏈(一)從真正的不可能三角談起

2021-09-24 08:02:08 字數 2064 閱讀 6191

在第一期,我們從區塊鏈的「不可能三角」談起,談一談如果要追求極致的效率,究竟要犧牲什麼。目前在區塊鏈**中,有乙個流傳很廣的概念叫「不可能三角」,即效率、安全、去中心化三者不可並存。和「不可能三角」出現同樣頻繁的概念,是「不可能三角」被公鏈某個專案打破。在一些**宣傳 conflux 的時候,也曾經使用過這個說法。

不過,conflux 從未在官方宣稱「打破不可能三角」,我們認為這並不是乙個嚴謹的概念。只能說,這個概念被提出來的時候,還沒有人把這三件事情同時做好,並沒有人通過嚴謹的分析證明它不可能。

今天,我們來介紹另乙個不可能三角。無論乙個區塊鏈是公有鏈還是聯盟鏈,是 pow 還是 pos, 是採用中本聰共識還是 bft 還是其他的什麼方式,都繞不開它。這個不可能三角包括三個目標。(為了便於理解,我們避免採取嚴謹的形式化語言去定義它,而是大概描述一下想法與思路)

在公鏈網路中,公鏈網路的正確性與安全性依賴於一些節點的背書。例如,在位元幣或以太坊中,根據協議,每乙個礦工挖出區塊時,要保證新區塊和歷史上的每乙個區塊每筆交易都是正確的。也就是說,位元幣礦工出塊時,在為之前所有的區塊進行正確性背書。在 eos 中,超級節點通過簽名對區塊的正確性背書。我們這裡稱為「參與共識的節點」。

「全部節點同步與驗證」要求每乙個被確認的交易,都得到過所有參與共識的節點(攻擊者除外)的同步與驗證。

這個目標是和安全相關的。我們想象乙個場景,有乙個人想通過偽造無效簽名,製造非法交易,盜走你的資產。如果只有一小部分參與共識的節點同步和驗證了這個交易,而其他節點不同步這個交易,直接採信那一小部分節點的判斷結果。如果這樣的話,將一筆非法交易混入交易歷史的可能性,就會高於每個參與共識的節點都進行同步和驗證。二者的安全性是不一樣的。

最終確認交易的平均吞吐率超過 11000 tps 稱之為超高吞吐率。 (每筆交易的大小按 250 位元組計)

對於每乙個參與共識的節點,網路頻寬的最低配置要求不高於 20 mbps (2.5 mb/s)。

這個目標是和去中心化相關的,參與的門檻越低,能參與共識的人就越多,越有利於去中心化。

那麼面對這個困難,做出取捨的方案又有哪些呢?

1. 放棄全節點同步與驗證

在這些方案中,sharding 是乙個很著名的解決方案。sharding 方案的大體思路是,整個區塊鏈在邏輯上分出若干個 shard, 將沒有關聯、互不衝突的交易分到不同的 shard 中去, 每個 shard 由一部分礦工負責同步和驗證。對於礦工來說,不需要為其他 shard 中的交易正確性負責。

sharding 方案是乙個提高吞吐率的思路,但這個思路犧牲了一部分的安全性。畢竟,如果有乙個人想通過偽造簽名,製造非法交易盜竊你的資產,全網中每乙個節點都幫你防範非法交易,和只有一小部分節點幫你防範非法交易,二者的安全程度是不同的。不過,對於只是存個零花錢的賬戶位址,相對於安全性,可能使用者對交易成本更敏感。所以這一方向是非常有探索價值的。

但如果用 sharding 方案下的 tps 和別人全節點同步與驗證下的 tps 比,就很不科學了。

另外乙個思路是,通過零知識證明或可驗證計算等密碼學工具,允許乙個節點不必同步每乙個交易,只需要同步區塊頭及一些密碼學的元素,也可以驗證乙個區塊的 merkle root 是正確的。當然,這個思路上有很多坑需要去解決,如果有機會,我們會寫一篇文章展開討論一下。

2. 放棄高 tps

這裡的放棄高 tps,是指在現有的網路條件下,放棄 10000 tps 以上的吞吐率。conflux 保留了去中心化和安全性,就需要保留全節點同步與驗證和低頻寬要求,以實現家用網路條件也可以當礦工,每一筆交易都得到了每乙個礦工的驗證。如果要保留這兩點,效率是有天花板的。

3. 低頻寬要求

在一些共識機制中,普通使用者不參與對交易的同步與驗證,而是通過一些方式選出少數特殊的節點來進行共識。這時,我們可以假設每乙個參選的節點都準備了足夠的計算機資源,例如更好的 cpu, 更大的硬碟, 更大的網路頻寬。這時,也就沒必要將「最低配置要求」設的很低了。

下一次,如果您看到乙個專案聲稱大於 10000 tps,甚至是喊出無限可擴充套件的口號時,您就需要來看一下在這個不可能三角中,它放棄了哪一角。是放棄了第一點還是第三點?如果是放棄第一點,專案是採用了 sharding 方案?還是做出了其他的修改?這種修改會不會帶來安全性問題,如何解決?如果是放棄第三點,高 tps 是否基於更高的網路頻寬要求?還是說在網路頻寬無限的條件下無限可擴充套件?

公鏈開發學習筆記(一)

進入了區塊鏈行業,有很多東西要學習。網上關於區塊鏈的資料並不算豐富,能搜尋到的大多也是炒幣的資訊,關於技術的十分稀缺。最近,矽谷live推出了公鏈開發課程,課表的內容很充實,我報名參加了,現準備將筆記整理成文。核心層 需要新的虛擬機器,新的交易處理方式 設計包括四個方面 account設計,共識選擇...

GAIAWORLD打造區塊鏈第一遊戲公鏈(上篇)

仍在全球熱映票房突破5億美元的電影 頭號玩家 讓觀眾做了個很美的夢,不願醒來。在片中 綠洲 的遊戲創造了乙個虛擬烏托邦,在這裡想象力主宰一切,你可以去任何地方,做任何想做的事,成為任何想成為的人。你可以和蜘蛛俠去埃及金字塔攀岩 你可以在空中走路 舞蹈,用意念兩秒鐘創造出一輛豪車在空中極速狂飆 你甚至...

LikeLib公鏈系統如何幫助消費企業實現品牌承諾

likelib公鏈系統可以幫助企業在證明 商的道德和合法 時保持其品牌承諾。這是如何運作的呢?在likelib公鏈運作中,當顧客購買商品或服務時,他們希望公司能保持他們的品牌承諾和價值主張。企業信守品牌承諾,吸引人們對其品牌的關注,提高品牌信譽度,並留住客戶群。消費者正轉向單一產地的產品 單一原產地...