EOSIO 2.0正式發布,解決區塊鏈開發的最大瓶頸,讓EOS「更快、更簡單,更安全」

火星財經 發佈 2020-01-13T13:57:29+00:00

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。小編:記得關注哦來源:巴比特文 | kyleEOS區塊鏈軟體開發公司Block.One已經正式發布了EOS區塊鏈網絡基礎軟體EOSIO的2.0版本。

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

小編:記得關注哦

來源:巴比特

文 | kyle

EOS區塊鏈軟體開發公司Block.One已經正式發布了EOS區塊鏈網絡基礎軟體EOSIO的2.0版本。

在1月10日發布於Twitter的公告中,Block.One聲稱這次更新使EOS區塊鏈「更快,更簡單,甚至更安全」。

智能合約虛擬機進行重大更改

關於介紹新版軟體的官方博客文章解釋說,EOS.io 2.0包括一個專用的WebAssembly(WASM)引擎,可以在該引擎上運行EOS智能合約。根據其官方網站,WASM採用了一種指令格式,旨在實現在Web和伺服器上進行部署。

預計這種更改將提高智能合約執行的性能,因為它據說比以前版本中使用的引擎快16倍。

這次重大版本更新還引入了WebAuthn支持。根據官方網站的說法,WebAuthn是基於公鑰密碼技術的Web身份驗證標準。該公告解釋了EOS開發人員如何使用此標準:

「藉助此版本的WebAuthn對EOSIO的支持,開發人員可以開始在其EOSIO應用程式中使用WebAuthn測試事務簽名。」

不過消息人士表示,目前沒有確定採用此更新的日期。

網絡代碼多線程支持

Block.One還聲稱通過向其添加多線程支持大大改善了區塊鏈的網絡代碼。多線程是中央處理單元同時執行多個執行線程的能力。

多線程支持應提高區塊傳播,事務處理,區塊和事務打包與拆包以及其他過程的性能,因為這些現在都由單獨的線程處理。公告內容如下:

「通過隔離這些流程,我們發現多生產者EOSIO網絡上的事務處理和區塊處理性能有了顯著改善。」

此外,該更新與專用集成開發環境(IDE)一起發布,據說應該可以加快開發人員的入門速度。

這是Block.One最近發布的第二個重大公告,可能會對EOS生態系統產生重大影響。據12月下旬報導,Block.One最近還提議對網絡資源分配系統進行重大更改,這將要求用戶租用網絡資源而不是購買網絡資源。

以下是Block.One發布的公告全文(譯文):

EOSIO已更新為具有安全性,穩定性和其他修復程序的穩定的EOSIO 2.0版。附加信息和發布說明可在GitHub上獲得。

EOSIO 2.0的構建考慮了開發人員。我們的重點:使其在EOSIO上構建更快,更簡單,更安全。

我們認為,區塊鏈開發的最大瓶頸是他們執行智能合約的速度。

EOSIO是第一個使用WebAssembly(WASM)引擎提高性能的區塊鏈軟體,但是隨著時間的推移,我們超越了現有的通用WASM引擎,並且知道我們可以做得更多。


我們的解決方案:構建我們自己的解決方案,並從頭開始考慮區塊鏈。 EOS VM是我們專門構建的區塊鏈WASM引擎,與EOSIO 1.0一起發布的Binaryen相比,運行EOS Mechanics WASM CPU基準的速度最高可快16倍。


接下來,我們想解決新開發人員的入門障礙——那些首次前往#eosiohackathon或首次在EOSIO上進行開發的開發人員。通常,設置區塊鏈開發環境是一個多步驟的過程,可能需要數小時甚至數天才能完成。這就是為什麼我們要構建EOSIO Quickstart Web IDE,這是一個開發工具,它使新開發人員可以在幾分鐘之內從入門到準備就緒。

最後,對於所有開發人員而言,吸引新用戶加入區塊鏈應用程式的主要痛點之一就是保護私鑰和公鑰,如果操作不當,則會帶來安全風險。通過此版本的WebAuthn對EOSIO的支持,開發人員可以開始在其EOSIO應用程式中使用WebAuthn測試事務簽名,從而為當今區塊鏈中不存在的私鑰提供一定程度的安全性。

EOSIO 2.0版本候選版中包含的四個主要組件:

  • EOS VM:專用於區塊鏈應用程式的高性能WebAssembly(WASM)引擎,可在處理智能合約和顯著提高性能時促進更有效地使用系統資源。
  • EOSIO快速入門Web IDE:一個功能強大的,新的,自包含的,基於Web的集成開發環境,用於構建EOSIO智能合約和關聯的Web應用程式。 它可以在幾分鐘內完成設置,可以在任何瀏覽器中運行,並有助於降低新的EOSIO區塊鏈開發人員的進入門檻。
  • WebAuthn支持:一種廣泛接受的安全身份驗證標準,無需進行瀏覽器擴展或附加軟體即可進行交易簽名。
  • 加權閾值多簽名區塊生產支持:區塊生產者使用安全密鑰在主區塊和備用區塊生產硬體上使用不同密鑰對區塊進行簽名的一種安全方法。

EOS虛擬機(EOS VM)

我們已經開發了一種新的專用WebAssembly(WASM)引擎,稱為EOS VM,可以滿足EOSIO區塊鏈上安全的確定性執行的不斷增長的需求。儘管目的非常適合,但是Binaryen和WABT解釋器在內存分配不受限制,加載時間延長和堆棧溢出方面存在問題,並且它們在運行時缺少沙箱。這些問題加在一起,限制了整體性能和可靠性。

作為最初的WASM解決方案,Binaryen解釋器於2018年6月與EOSIO 1.0一起發布,同年9月隨著EOSIO 1.3支持WABT而被取代,性能提高了2倍。藉助EOSIO 2.0,我們將發布一個名為EOS VM的新WASM引擎,該引擎由三個組件組成,每個組件都有自己的功能並提供特定的性能增強。

區塊鏈WebAssembly執行的強大組件三重奏

  • EOS VM解釋器是一個WebAssembly解釋器,提供了極快的解析/加載,確定性和高效的時限執行。從頭開始設計解釋器,使我們能夠為將來對智能合約的調試支持騰出空間。
  • EOS VM即時(JIT)編譯器是WebAssembly編譯器,它採用WASM並即時生成本機代碼。與WABT,Binaryen和EOS VM解釋器之類的解釋器相比,該體系結構能夠非常快速地執行WASM智能合約,並提供顯著的性能優勢。這種JIT解決方案的絕對速度使我們能夠在區塊鏈上使用它,而無需其他解決方案進行較長的區塊編譯時間。
  • EOS VM優化編譯器是EOS VM的第三個組件,它使用了利用多遍編譯架構的專用編譯器框架(LLVM)。通過優化編譯器生成的本機代碼通常比在WABT,Binaryen,EOS VM解釋器和EOS VM JIT中執行的相同代碼快一個數量級。最重要的是,它甚至比現有的WAVM引擎還要快,但是與WAVM不同,它可以利用我們的分層設計在區塊鏈上安全使用。
極快的執行力

我們針對不同組件的基準測試在我們的測試環境中實現了以下性能增強:

1、EOS力學基準來自EOSIO社區編寫的基準,並在AWS z1d.metal實例上運行。 2、重播基準測試比較了EOSIO系統提供的重播功能以在指定的WASM引擎上完成相同的重播並在AWS z1d.metal實例上執行所需的時間。

以上性能基準顯示了各種EOS VM組件的相對優勢。 EOSIO 2.0將EOS VM JIT作為大多數智能合約執行的一線編譯器,而EOS VM Optimized Compiler嘗試在後台編譯相同的智能合約,並將其部署以在鏈上以極快的速度隨後執行。這種分層架構使EOSIO 2.0能夠利用快速啟動和優化的智能合約代碼編譯功能。

EOS VM及其組件也可以高度自定義,因此開發人員可以以適合其所需功能的特定方式實現其各個方面。通過參考GitHub上的EOS VM存儲庫了解更多信息。


網絡代碼的重大改進


我們向net_plugin添加了多線程支持。現在,net_plugin中的幾乎所有處理,包括區塊傳播,事務處理,區塊/事務打包/解壓縮以及其他進程,都由與主應用程式線程不同的單獨線程來處理。通過隔離這些過程,我們發現多生產者EOSIO網絡上的事務處理和區塊處理性能有了顯著改善。 EOSIO 2.0.0發布說明中提供了更多詳細信息。

EOSIO快速入門Web IDE

EOSIO 2.0的增強功能是針對開發人員的,此新工具將使在EOSIO項目上開始,共享和協作變得更加容易。

為EOSIO設置開發環境目前需要在開發人員的計算機上本地運行的多步驟過程,這對於剛剛接觸的人來說可能相當複雜。儘管現在處於Alpha階段,EOSIO 快速入門Web IDE旨在打算消除開發人員的入門障礙。這個工具在雲服務中運行,使新開發人員能夠建立智能合約和Web應用程式開發環境以及完全集成的單節點個人測試網,因此他們可以在幾分鐘之內從入門到構建。

EOSIO快速入門Web IDE使新的區塊鏈開發人員可以更輕鬆地訪問EOSIO,從而簡化了流程,並使快速而輕鬆地開始學習EOSIO開發。開發人員可以從演示應用程式開始,無縫地進行更改,並實時查看更新,以及直接從瀏覽器將代碼提交到git存儲庫。

隨著新的開發人員開始使用EOSIO快速入門Web IDE進行構建,我們期待收到社區的反饋。

對EOSIO的WebAuthn支持

WebAuthn是強大的用戶身份驗證的標準,由全球資訊網聯盟(W3C),在線快速身份驗證(FIDO)聯盟在Google,Mozilla,Microsoft,Yubico等公司的幫助下進行了協作。 WebAuthn允許您使用硬體設備在瀏覽器中對交易進行身份驗證和簽名,而無需在設備上安裝擴展程序或其他軟體。


WebAuthn在諸如YubiKey之類的設備上創建加密密鑰對,並通過安全且經過身份驗證的通道僅與遠程伺服器共享公共密鑰。通過完全在硬體設備中管理身份驗證憑據,WebAuthn已顯示出從本質上緩解了整個網絡釣魚等攻擊類型。由於硬體設備是必不可少的,並且密碼沒有存儲在中央伺服器上,因此實現基於WebAuthn的身份驗證甚至可以幫助防止密碼被盜的大型數據泄露。


通過此版本的WebAuthn對EOSIO的支持,開發人員可以開始在其EOSIO應用程式中使用WebAuthn測試事務簽名。 EOSIO對WebAuthn的支持是邁向安全和無縫事務簽名的一步,而無需跟蹤私鑰或其他帳戶信息。我們將繼續研究各種機制,以支持希望針對WebAuthn集成調整其應用程式的面向社區的參與者和企業級參與者,並且我們鼓勵應用程式開發人員加入第一批嘗試採用該技術的私人應用程式的第一批採用者。

加權門限多簽名區塊生產

區塊生產者必須能夠為其運行區塊鏈的核心服務提供高可用性。實現此目的的常用方法是冗餘基礎結構,在發生硬體故障或網絡問題時,該基礎結構可有效地保持區塊生產。加權閾值多簽名區塊生產是許多功能中的第一個,旨在為塊生產者提供完整的高可用性解決方案。


當前的共識規則要求每個區塊生產者僅需要一個加密區塊簽名密鑰。該密鑰,無論是存儲在磁碟上並通過軟體加載還是由硬體錢包保護,都代表了區塊生產者操作的單點故障。如果該密鑰丟失或暫時無法訪問包含該密鑰的硬體模塊,則區塊生產者別無選擇,只能丟掉區塊,從而影響整個網絡的吞吐量。

為了提高區生產的安全性和可伸縮性,加權閾值多簽名塊支持提供了一個許可層,該許可層允許以靈活方案使用多個區塊簽名密鑰,這將使冗餘區塊簽名基礎結構能夠存在而無需共享任何敏感數據。在GitHub上了解有關加權閾值多簽名塊生產的更多信息。

關鍵字: