三分鐘瞭解 EOSIO 2.0: 建立 EOSIO 應用, 多快好省

買賣虛擬貨幣

聊聊 EOSIO 2.0 帶來的新玩意。

過完國慶節結束後回來上班的第一週,社羣有人戲稱:BM 也放完暑假了。

這不,在 EOSIO 1.8 部署至 EOS 網路後不久,Block.One 釋出了 EOSIO 2.0 預覽版本,兌現在六一釋出會上的承諾。

如果用一句話概括EOSIO 2.0, 我想,應該是: 多、快、好、省的建立 EOSIO 應用。

對此,BM 同學甚是自豪,發推表示“EOSIO 2.0 的可擴充套件性遠遠走在 ETH 2.0 之前(內心OS: 小V啊,EOSIO 2.0 可是甩 ETH 2.0 好幾條街)”。

嗯~ 也許假期歸來的 BM 同學想說,“我是整條gai上最靚的仔~”

用三分鐘時間,我們來了解下,EOSIO 2.0 (目前為預覽版,為了省事,下文簡稱為 EOSIO 2.0)提供了什麼新鮮功能,又跟我們有什麼關係?

簡要概括

  • 接入 WebAuth, 支援更豐富的驗證方式,未來可以支援生物識別、硬體裝置(Yubi Key) 等無金鑰交易授權方式;
  • EOSVM 讓智慧合約執行速度更快
  • EOSIO 網頁版開發工具,讓開發者更快上手
  • 為出塊節點提供了更安全的出塊簽名方式,降低私鑰丟失後帶來的威脅

快,才是王道

EOSIO 2.0 最重要的特點:快。

包括兩方面:

提供 EOSVM, 讓程式碼執行速度更快。
提供了快速啟動的網頁版 IDE 開發工具, 讓開發者上手更迅速。

如果想了解多一些細節,可以看看下面的詳細說明。

交易執行速度更快,更節省 CPU

智慧合約執行速度的提升,來自使用了 EOSVM, 這是 Block.One 的開發者專門為區塊鏈開發定製的虛擬機器,相比於 EOSIO 1.0, 效能大約提升16倍;相比當前的 WABT虛擬機器,大約能提升8倍的效能。

這也意味著, 未來 EOSIO 區塊鏈(如 EOS 主網,BOSCore 區塊鏈,MeetOne 區塊鏈等)上執行同樣的交易,所消耗的 CPU 更少,速度更快,也意味著,將來在 EOSIO 2.0 部署之後,TPS 也會帶來提升。

EOSVM: https://github.com/EOSIO/eos-vm

開發者上手速度更快:EOSIO 極速版 Web IDE

同時,在EOSIO 2.0 中,提供了EOSIO 極速版 Web IDE(EOSIO Quickstart Web IDE)。

當前想要搭建起來 EOSIO 的開發環境,需要花費非常多的時間。值得一提的是,EOS Studio 提供了非常易用的 IDE 工具,幫助開發者快速啟動,開始建立 dApp。

而伴隨 EOSIO 2.0 釋出的 EOSIO Web IDE,使用了 gitpod.io 和 docker, 提供了網頁版的整合環境,可以從任意瀏覽器中開啟,即可開始使用了。

EOSIO快速啟動Web IDE是一個強大的基於Web的開發工具,用於構建EOSIO應用程式,讓開發人員能夠只需幾分鐘,就能夠建立一個智慧合約和 web 應用程式的開發環境,以及一個完全整合的單節點個人測試網路。

所有程式碼都儲存在開發人員的個人GitHub帳戶上並進行管理,更改會自動儲存。


(我的例子中,使用了 Block.One 提供的示例程式碼庫: https://github.com/EOSIO/eosio-web-ide

想要了解更多,可以檢視文件: https://github.com/EOSIO/eosio-web-ide/blob/master/README.md

更豐富: 首個支援 WebAuth 的區塊鏈專案,可以無密碼登陸

WebAuth 是 W3C 所建立的通用協議,EOSIO 2.0 增加了對 WebAuth 協議的支援。

在 EOSIO 2.0 中,提供了更豐富且安全的驗證方式,可以支援 YubiKey 等使用WebAuth協議的硬體裝置驗證,而不必安裝額外的軟體,或者瀏覽器外掛。

對使用者來說,未來可以使用無需密碼的方式,而如果dApp 支援的話,可以透過生物特徵識別(例如人臉識別、指紋識別等)以及認證硬體(如YubiKey 等)的方式,來發起和簽名交易,在獲得安全性的同時,也獲得了便利。

補充一點關於 WebAuth 的背景知識,大家可以略過。

今年,World Wide Web Consortium (W3C) 宣佈 Web Authentication API (WebAuthn) 成為正式的 Web 標準。


WebAuthn 現在是一項無密碼登入驗證的開放標準,為 Web 應用和服務提供了無密碼的公鑰身份認證介面,獲得了 Airbnb、阿里巴巴、Apple、Google、IBM、Intel,、Microsoft、Mozilla、PayPal、SoftBank、騰訊和 Yubico 等公司的支援,允許使用者使用生物識別、移動裝置等登入線上賬號。主流瀏覽器如 Google Chrome、Mozilla Firefox 和 Microsoft Edge 都已經在去年加入了對 WebAuthn 的支援,蘋果的 Safari 瀏覽器則在預覽版中加入了對 WebAuthn 的支援。”
(來源:https://my.oschina.net/wossl/blog/3020573)

針對WebAuth功能的細節,可以檢視 EOSIO 程式碼庫中的這一條資訊: https://github.com/EOSIO/fc/pull/97
https://github.com/EOSIO/eos/pull/7421

更安全的出塊簽名方式:對出塊的多簽名支援

出塊節點的私鑰雖然經過了謹慎的儲存,不過,萬一私鑰丟失/被盜,怎麼辦?那麼,節點只能認栽,對吧?不只是出塊節點自己,對於區塊鏈網路來說,這也會造成嚴重的影響。

在 EOSIO 2.0 中,針對這一極端場景,進行了安全性的最佳化,BlockOne 稱之為: 加權多簽出塊方式。

很多人心裡可能嘀咕“什麼鬼玩意~ 你個老頭子壞得很~”

不妨多解釋一下。

出塊節點,除了執行一臺機器去產生區塊之外,還需要有備份的主機執行,作為冗餘備份,避免出現異常狀況時候,可以備援,在主要的出塊伺服器遇到硬體損壞/網路問題時候,可以迅速切換到備份主機處理區塊。

當前,每個出塊節點出塊時對區塊簽名,只用到一個金鑰。無論是將對應的私鑰儲存在磁碟上、透過軟體載入還是透過硬體錢包保護,都存在單點故障,一旦私鑰丟了,或者硬體錢包出故障,那麼,出塊節點就沒有別的辦法了,無法用私鑰繼續對區塊簽名,只能夠面對丟塊的窘境。

而在 EOSIO 2.0 提供的加權多籤方式的支援下,可以做到:

允許 BP 擁有備份的出塊機器,可以不必將私鑰資訊儲存在備份機器上
允許 BP 能夠靈活應對出塊基礎設施遭到部分破壞的情形

(對於此部分的理解,如果有存在錯誤,還請讀者指教)

詳情: https://github.com/EOSIO/eos/issues/7403

小結

在EOSIO 1.8 順利部署主網之後,相應的合約升級,在10月8日也得到了BP多籤授權,得以執行,而EOSIO 1.8 帶來的一系列新特性,也會陸續啟用。

同時,EOSIO 2.0 預覽版的釋出,也讓我們看到 BlockOne 的持續開發程序,在接入了 WebAuth 協議,使用了創新性的 EOSVM 虛擬機器之後,將會使 EOSIO 區塊鏈的速度更快,使用者體驗也可以得以提升。

而 EOSIO Web IDE的釋出,也幫助許多新的開發者更方便上手 EOSIO 智慧合約開發,而不再需要複雜漫長的基礎環境部署過程,此外,還有多執行緒最佳化等一些細節上的提升,有助於將 EOSIO 成為更適合智慧合約的平臺軟體。

一起期待EOSIO 2.0 早日部署上線。

本文參考:https://eos.io/news/introducing-eosio-2/



免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;