1. 程式人生 > >【許曉笛】重新理解EOS的系統架構

【許曉笛】重新理解EOS的系統架構

發揮 影響 組織 認同 帶來 下一步 work 每一個 五子棋

從區塊鏈三要素的角度

區塊鏈系統中,去中心化程度與效率之間天然地存在矛盾關系。如果區塊鏈智能合約系統想追求類似比特幣的去中心化程度,理論上效率就會大打折扣。現實也是這樣的:比特幣每秒鐘只能處理7筆左右的交易,每一筆交易要用至少30分鐘才能確認,這種效率和速度是遠遠不如銀行轉賬的。作為一個全球資產交易平臺,比特幣這樣的效率或許可以接受,但對於智能合約平臺這樣的效率是遠遠不夠的。因為在智能合約中,每一個動作都可以看成是一筆交易,例如五子棋遊戲合約中,每下一步棋就是一個交易,用戶是無法等待半個小時才能確認一步棋的。所以想要實現真正實用的智能合約平臺,就要脫離比特幣系統的架構,尋找新的系統組織形式。

為了同時保證系統的去中心化程度和高效率,需要將傳統的區塊鏈三大要素全部推翻或升級,建立全新的區塊鏈三大要素。

去中心化:

在比特幣和以太坊裏,任何人只要原理都可以加入作為全節點,並且只要提供了足夠的工作量就可以承擔生產區塊的任務,比特幣和以太坊用這樣的方式保障的系統的充分去中心化。但是對於生產區塊權利的爭奪(挖礦)使得系統的算力掌握在了幾個大的機構(礦池)中,所以比特幣和以太坊的前幾大礦池幾乎壟斷了區塊的生產,使得普通全節點很難在系統中發揮監督與維護的作用。並且由於挖礦消耗了大量資源,使得系統的主要硬件資源都用來進行哈希(Hash)運算,不論是硬件資源還是能源方面都是極大的浪費。一個高性能區塊鏈智能合約系統是無法同時承擔挖礦和執行智能合約這兩部分硬件開銷的。

經過權衡,EOS選擇了使用21個超級節點(見證人)作為系統的核心架構,這21個見證人就像是比特幣或者以太坊中的大型礦工或者礦池,但區別主要在以下幾點:比特幣和以太坊中,礦池通過算力得到生產區塊的權利,而EOS超級節點則是通過選舉,不需要挖礦;比特幣和以太坊中,每個礦工出塊的多少取決於算力的大小,而EOS中,無論超級節點的得票數如何,每個超級節點的出塊數量都是相同的。總之,EOS通過投票的手段減少了超級節點(礦工)個數,省去了挖礦,節約了大量成本,使得有限的系統資源可以用來執行智能合約。

獎勵機制:

比特幣和以太坊中,在礦工的角度上,主要通過兩種方法得到獎勵:挖出每個區塊的獎勵和每筆交易的礦工費,前者可以看做是通貨膨脹(比特幣的區塊獎勵會遞減,直至取消),而後者可以看做是交易的手續費或者是執行智能合約的“平臺租金”。在區塊獎勵不變的情況下,礦工天然地會更優先處理提供了更高手續費的交易或者合約,而為了讓自己的交易更早打包在區塊中,用戶只能不斷提高礦工費(以太坊中為Gas),久而久之會成為平臺用戶的很大負擔。即使手續費非常小,但每一筆交易都存在的手續費是系統運行非常大的摩擦阻力,非常影響用戶體驗。

EOS完全取消了手續費,進保留了通貨膨脹部分,並且規定每年的通貨膨脹不超過5%,並且只有其中的一部分(目前為五分之一)會成為見證人的獎勵。獎勵會分為兩部分:生產區塊獎勵和得票獎勵。前者為見證人打包區塊,維護系統運行的獎勵;後者根據見證人在選舉中得到的票數給予獎勵。

取消手續費給用戶帶來極大便利的同時也帶來一個不可避免的問題:系統資源的濫用。比特幣和以太坊之所以設計了手續費機制,就是防止大量垃圾交易使得系統擁堵。EOS對此設計了新的系統資源的使用機制:每個EOS代幣代表一份系統資源(CPU,內存,網絡帶寬等),使用EOS系統資源時,賬戶必須存有相應數量的代幣。就算用戶有很多交易或者合約等待處理,EOS只會根據賬戶中EOS的數量分配系統資源,限制了交易的執行速度,避免了大量垃圾交易占用系統資源。

EOS通過代幣占有資源的機制合理分配了系統資源,又通過基於通貨膨脹的獎勵機制完全取消了手續費,使得系統使用成本大大降低。

共識機制

通過上面的闡述,很多讀者會覺得比特幣和以太坊在一些地方比較相似,因為他們都用了工作量證明(Proof of Work,PoW)共識機制(以太坊之後會升級為Casper)。工作量證明共識機制有很多的優點:運行穩定,不易分叉等,因此目前大部分的公鏈都使用了工作量證明共識機制(完全或部分)。工作量證明共識機制通過暴力哈希運算的方式爭奪系統出塊的權利,並且自動認為最長區塊鏈為有系統公認的區塊鏈。這種機制使得分叉後的鏈沒有獲得大量礦工支持時就會崩潰,維護了主鏈的安全穩定。但同時工作量證明共識機制也有自身的缺陷,比如容易受大礦工的控制,被51%×××;挖礦造成巨大的硬件資源及能源浪費等。

EOS完全摒棄了傳統的工作量證明共識機制,使用了經過Bitshares和Steem驗證的授權股份證明共識機制(Delegated Proof of Stake,DPoS),這種共識機制的關鍵是:2/3見證人共同驗證的區塊即為有效。而每個見證人都是由EOS代幣持有者選舉出的,代表了EOS代幣持有者的利益和價值觀,所以2/3見證人驗證的區塊可以認為是大部分EOS代幣持有人所認同的區塊,一旦區塊得到了2/3見證人共同承認,區塊中所包含的交易即為有效且不可逆。

區塊鏈三大要素就像是三個支點,互相×××互相影響而且缺一不可,牽一發而動全身。EOS通過對傳統區塊鏈去中心化、獎勵、共識這三大要素的全面升級,完成了系統效率的極大提高,並且保證去中心化程度與系統穩定性。

【許曉笛】重新理解EOS的系統架構