01.13 EOSIO 2.0正式發佈,解決區塊鏈開發的最大瓶頸,讓EOS“更快、更簡單,更安全”

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

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

這是Block.One最近發佈的第二個重大公告,可能會對EOS生態系統產生重大影響。據12月下旬報道,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上了解有關加權閾值多簽名塊生產的更多信息。


分享到:


相關文章: