成為性能最佳的 EVM,Trust EVM 的野望
作者:EOS 網絡基金會
2022 年 6 月 16 日,Trust EVM官方在 Twitter Space 展開主題為"Trust 如何實現最快的 EVM"的直播活動。EVM+ 技術負責人 Matias Romeo 和 Trust EVM 上的開發者代表Trust Swap 負責人 Esteban Saá B 出席本次活動,圍繞 Trust EVM 的開發進展、測試網現有架構、基於Trust EVM 部署應用程序的真實體驗,以及 Trust 如何實現最快的 EVM 的後續操作等話題進行分享。
作為基於 EOS 網絡的以太坊虛擬機,Trust EVM為開發人員提供了一個交鑰匙解決方案。得益於高兼容性,以太坊原生應用可以無縫移植到 Trust EVM,同時為用戶帶來低交易成本。因而在測試網發布開發者預覽版本後,諸多開發人員都在密切關注Trust EVM 的表現和未來發展。Trust EVM近期帶了了哪些更新?未來的進程又會如何展開?
以下 為 編輯整理的 本次活動 全部內容 ,以飨讀者。
活動精彩瞬間:
官方將為使用Silkworm的節點創建一個插件,負責將 JSON-RPC 請求提供給 EVM;
Mandel 3.1 RC 1版集成了兩個新的協議功能,官方計劃在未來一周或幾周內激活新功能,同時將新的EVM運行時部署在Jungle上;
Trust EVM是EOS 完美的基礎設施,它可以支持所有新想法的應用。所以我們不想停留在已經完成的事情上。我們要創新和創造,我也相信我們可以做到。
ENF Grant申請資助的過程非常簡單,這得益於 EOS 網絡基金會對資助框架的良好組織。
EVM+ 技術負責人 Matias Romeo的分享
大家好,我要分享的內容將圍繞Trust EVM測試網進展、下一階段即將發布的版本、以及如何成為EOS網絡上最快的EVM這三個主題展開。
Trust EVM測試網 的進展
我們正在將一些項目集成到 Trust EVM 和下個月發布的新協議功能中。在項目開始時,我們在關於如何在 EOS 上實現兼容層,以及如何實現 Trust EVM 上有兩個選擇方向。一種選擇是在 EOS 上實施,另一種選擇是採取智能合約的形式,也就是 EOS 上的常規合約。我們知道原生的性能更高,運行速度非常快。但在另一方面它的靈活性比較低,同時當一個新的 EVM 版本出來時,它會強制所有的節點運營商更新軟件。
所以我們決定採取智能合約的模式。眾所周知,EOS 具備著卓越性能,並且還為我們提供了極大的靈活性,EOS 合約可以更新為新版本。因此在多方考慮後,我們認為這才是我們要走的路。
我們開發了一個 C++ 智能合約,可以說集成了 EVM One。 EVM One是部署C ++中最快速以太坊虛擬機,它的代碼庫經過優化,可提供更快、更高效的EVM智能合約。但支持EVM,運行時不僅要有EVM兼容層。而且開發人員需要一種方法來訪問當前的狀態,也可以查詢歷史。所以這就是Web3 JSON-RPC的用武之地。
Trust EVM測試網現有架構
每個以太坊客戶端都實現了JSON-RPC規範。應用程序可以依靠一組統一的方法來查詢狀態信息以發送交易等,且由於 EVM 的狀態,智能合約在 EOS 狀態中持續存在。一種可能的解決方案就是將每個 JSON-RPC 請求映射到 EVM 合約的 EOS 狀態查詢。但事實並非如此簡單,因為JSON-RPC規範上有一些特定的調用需要訪問歷史狀態。例如你可以查詢某個合約在這個位置儲存的是什麼,不是在當前狀態下的區塊頭(Head Block),而是過去。
此外,你還可以查詢一個帳戶的特定餘額歷史記錄,或者執行交易並查看跟蹤,也可以在任意塊高度執行該交易。所以我們決定在這個版本的測試網中使用一個普通的以太坊客戶端來服務那些對JSON-RPC請求的追蹤。所以基本上我們現在做的就是在鏈上擁有EVM運行時合約。交易在鏈上執行後,我們可以從EOS區塊鏈和Jungle區塊鏈上提取它們。
在這種情況下,一旦它們被應用,我們就會使用對等網絡協議將它們提供給以太坊客戶端。我們有一個 Gas節點,它是常規的以太坊客戶端之一,可以接收應用於 EOS 區塊鏈和 Jungle 區塊鏈上的 EVM 合約的所有交易。
一些現有的局限性
目前這個方案運行得很好,但我們也發現了一些局限性。為了簡化我們在Jungle上測試的Trust EVM架構,我們使用了EVM One的C++ 智能合約。同時我們還啟動了名為翻譯服務的特殊服務,也就是從區塊鏈中提取交易,並將其輸送到一個Gas節點。
而這個Gas節點是向世界展示JSON-RPC接口的一個節點,它就是你在與Metamask連接時使用的那個節點。你指向其中一個以太坊節點,然後我們有一個打包器,處理傳入的交易並將交易打包到一個EOSIO TX交易中。 然後將其推送到運行時合約。但即使架構運行良好,它也有許多不定因素。
下個版本中的解決方案
因此,我們開始考慮使用一個更簡單更集成的新型運營商。這就是 EOSIO之前的設計真正派上用場的地方。 EOS節點程序的一個很酷的功能是它是使用Appbase構建的。Appbase 是一個庫,它提供了從一組插件構建應用程序的基本框架。Appbase 管理插件生命週期並確保所有插件都在初始配置並在傳播器中關閉。
因此,您可以構建一個來自一組插件的應用程序。我們通過編寫一個自定義插件來擴展 EOS 節點的功能,節點操作員以後在運行他的節點時選擇啟用或不啟用。這是第一部分,我們通過編寫自定義 C++ 插件來擴展 EOS 節點功能。事實上,目前已經有很多插件,每個插件都針對EOS節點上提出的特定地址。
迎接來自Silkworm的驚喜
眾所周知,Silkworm是以太坊協議的一個C++實現,基於Erigone架構從頭開始編寫的客戶端,其目標是成為最快的以太坊客戶端,同時保持其源代碼的高質量可讀性。現在引起了很多關注。由於可以使用插件擴展EOS節點,因此我們有一個著重解決效率問題的以太坊C++ 。我們決定為使用Silkworm的節點創建一個插件,負責將 JSON-RPC 請求提供給 EVM。
當這個插件準備好後,如果你想運行你自己的Trust EVM 節點,你只需要使用這個新插件運行官方EOS 節點,就將能夠處理 JSON-RPC 請求,或者將它用於開發目的,顯示測試網或者主網,乃至使用任何其他類型的配置。
這大大簡化了之前的架構,因為所有必要的功能都將捆綁在同一個 EOS 節點中。如果您考慮想要在 Trust EVM 之上列出一些Token 交易。我們還考慮了針對特定部署有許多移動部件可能給開發團隊帶來的操作問題。因此,只有一個具有已知配置的節點,這是一種比我們現有更好的架構,也是我們最終要去的地方。
Mandel 的新協議特性
Mandel 是即將推出的官方EOSIO版本,它將幫助我們執行EVM run-time。在固定地址的EVM中捆綁了一些特殊類型的合約,提供一組在計算時間方面非常昂貴的高級功能。EOS上已經支持大部分功能,例如哈希和密鑰恢復算法。EVM運行時合約只是使用它們,鏈接到它們並使用這些專用功能。但其他一些則不是,因此我們必須在Web程序集級別上實現它們,而不是對那些預編譯內容進行本地實現。EOSIO協議有一個非常好的特性,可以通過添加新的協議特性來擴展它,從而讓區塊生產者可以隨意激活。
所以我們已經向官方EOS提交了兩個新的協議功能,表示我們有這個新的原生功能。同時還將向EOSIO協議添加新功能,這將有助於加快對捆綁在EVM中的以太坊預編譯合約的調用。Mandel 3.1 RC 1版集成了所有這些新功能,並開始在Jungle上部署測試網。因此,一旦 BP更新到較新版本並激活這些協議功能,EVM運行時將開始使用它們。對於這個較新的版本,我們計劃在6 月22日激活這些功能。所以我認為在一周或幾周內,我們將看到協議功能被激活,並且新的EVM運行時部署在Jungle上。
我認為我們將在能夠跟上 EVM 的更新方面擁有非常好的靈活性組合,因為我們在智能合約級別實現了 EVM。但是這些東西在計算時間上很昂貴,以太坊預編譯的合約將更容易內在並在這些新協議功能中得到支持。對於 RPC 部分,將這個新的 Silkworm 插件集成到主網中,EOS 節點將使想要運行 Trust EVM 節點的節點運營商的生活變得更加輕鬆。
主持人:接下來讓我們歡迎TrustSwap 的負責人 Esteban 先生。 同時也恭喜 TrustSwap 團隊獲得了EOS Network Foundation Grant的資助。
TrustSwap 负责人 Esteban Saá B 的分享
Esteban與Trust EVM 的結緣
不久前,我在查看新聞時,看到了關於Trust EVM的新聞,這引起了我的注意。
我非常好奇,因為其中有一些關於我們如何工作、如何連接的有趣信息,以及圍繞它的一些技術決策。所以我說,好吧,我要測試一下這個,看看它是怎麼回事。於是我就去配置了它,幾分鐘後,我從得到了一些coins。我幹得不錯。然後我說,好吧,我會嘗試部署一些Solidity合約。我嘗試的第一份智能合約運行得非常快,且操作十分容易。正是因為這樣,我開始重視Trust EVM,因為我以前曾在其他以太坊EVM和Binance智能鏈中工作過。所以我才能感受到這個EVM的速度有多快。我當時想,這是什麼?他們怎麼能讓它工作得這麼快?於是我打算再做一件事。我開始測試一些其他合約。不出意外,一切都在良好运作中,在兼容性方面沒有任何問題。
因此,我開始深入了解EOS,並加入社區,開始與社區分享我正在做的所有這些事情。我說,"嘿,我部署了這個合約,Trust EVM看起來非常有趣。"
社區非常負責任,回覆了我很多信息。我開始測試更多合約並從社區獲得反饋。然後我們開始這個信息循環,我從未見過如此組織良好的社區,擁有所有這些項目、想法和進展。
我認為這是一個非常棒的社區,我應該超越測試並嘗試更具挑戰性的事情。所以下一個想法是,我嘗試部署快速使用合約,一切表現正常。然後我從 UniSwap 獲取代碼並輕鬆將它們組合在一起。它就像魔術一樣工作,快速、穩定且神奇。當我們在 Trust EVM 上進行交易時,用戶體驗非常好。
最後我認為我在社區中創造一些東西,並成為社區的一部分。
意想不到的進展:獲得 EOS 網絡基金會資助
我想圍繞社區建立一家公司,但我們團隊需要一些資源、指導等支持來實現。後來我們被引導到 ENF Grant裡,申請資助的過程非常簡單。這得益於 EOS 網絡基金會對資助框架的良好組織。
如果你也感興趣,我大概可以描述一下:你可以克隆 GitHub 存儲庫,在克隆、代碼或文本內部,有一個基本的信息佈局,然後用它填充並創建一個拉取請求。
大概流程就是這樣,十分簡單且順利。我們發送了項目大綱,並由 ENF 審核。然後我們得到了一點反饋意見,再後來就得到了資助。我們現在有資金和技術支持來創造一些非常棒的東西。也就是我們正在做的事情。
TrustSwap 的特點
TrustSwap 是我和許多積極的 EOS 社區成員一起在 Trust EVM 上建立的一個令人興奮的新 AMM 交易所。我們還希望更進一步,要解決生態系統中的一個重要問題,那就是展示Trust EVM生態系統內部的酷炫之處。
我們正在嘗試在Trust EVM之上創建具有驚人用戶體驗的服務,讓你的交易快且低價的同時,還可以在交易時告訴你"什麼很酷,下個明星項目是什麼?什麼項目正蓄勢待發?或者什麼項目已經見頂。"Trust EVM允許我們創建這些東西。擁有這個兼容層對我們來說非常重要,因為你可以在這裡走得更遠。你可以帶來價值,也可以輸出你的想法和產品。我們所做的不僅是基本的交易服務,而且還提供其他更重要的服務,例如:當下的熱門項目、哪些項目爆冷等,讓您在廣泛的項目列表中擇優交易。
這就是我們現在所擁有的。但我們還在努力進步,因為我們擁有真正快速、可擴展、兼容的EVM的堅實基礎,我們可以在它之上構建出更多精彩的內容。這裡有大量可以輕鬆移植到Trust EVM的合約和想法。良好的兼容性意味著你可以做出提出問題並改進它們,這些都會極大地改善用戶體驗。
感謝EOS社區和他們正在創建的基礎設施的幫助。因為有了他們,我們才可以將這些想法變為現實,並利用它們產生強大的影響來改善這個世界的發展。謝謝。