BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

波卡上的智能合約平台對比:Acala、Patract、Moonbeam和Plasm

PolkaWorld
特邀专栏作者
2021-01-29 03:07
本文約5276字,閱讀全文需要約8分鐘
新一代智能合約平台。
AI總結
展開
新一代智能合約平台。

AcalaPatractMoonbeamPlasmmdnice編輯器

mdnice編輯器

波卡上的智能合約鏈的機遇與挑戰

由於波卡本身的特性,建立在波卡上的智能合約平台擁有一些天然的後發優勢,比如合約手續費更低、速度更快、可以和其他鏈之間進行交互、支持跨鏈資產等。

但每一個新的智能合約平台,都會面臨一個非常棘手的挑戰,那就是生態的建設。其核心問題是“如何吸引更多的開發者使用你的平台” ,因為只有更多的開發者源源不斷地開發出好項目,才能吸引更多用戶來使用你的平台,反過來又會吸引更多的開發者,形成網絡價值不斷增長的良性循環。

mdnice編輯器

mdnice編輯器

Moonbeam:兼容以太坊的合約平台

最大程度兼容以太坊

最大程度兼容以太坊

Moonbeam 鏈對以太坊的兼容主要通過使用Frontier 層來實現。 Frontier 由Parity開發,Moonbeam也有一定的參與,它是Substrate 上的以太坊兼容層,能讓基於Substrate 的鏈運行未經修改的以太坊合約。 Frontier 目前還在開發中,主要包括以下幾個模塊:

  • Web3 RPC 模塊:現有的工具和應用程序就是通過Web3 RPC 與以太坊交互的,Moonbeam 部署了Web3 RPC,就可以讓現有的工具和應用連接到Moonbeam,而對於這些工具和應用來說,就像只是連接到了另一個以太坊網絡一樣。舉個例子,只需要對MetaMask 進行簡單的配置,就可以讓MetaMask 指向一個基於Moonbeam 的節點,然後用戶就可以正常地像平時一樣使用MetaMask,而對於MetaMask 來說它只是在和Moonbeam 上的Web3 RPC或API 對話。

  • Ethereum 模塊:模擬了以太坊如何工作,包括區塊、收據、日誌、能夠訂閱日誌事件等。

  • 完整的EVM 實現:EVM 是以太坊的合約虛擬機,Moonbeam 集成了EVM 模塊,從而兼容以太坊上的EVM。

Moonbeam 上的地址使用H160 賬戶地址、用於簽署交易的密鑰使用EDCSA。雖然這意味著用戶可以使用原有的以太坊賬戶和密鑰來和Moonbeam 交互,但也同時意味著在波卡中使用的公私鑰無法在Moonbeam 上使用。

總的來說,Moonbeam 在盡可能兼容以太坊Layer 1。這些措施可以讓現有的以太坊合約只需要很小的改變,就能很容易地部署到Moonbeam 上。但同時,由於Moonbeam 對以太坊選擇了全盤繼承,在一些Substrate 本來已經做出優化的點上,Moonbeam 也只能繼續沿用以太坊的舊方案,這可能會讓其上面的智能合約繼續被以太坊的思路限制,比如過大的節點和不合理的gas 機制等。

mdnice編輯器

mdnice編輯器

Plasm:Layer 2 可擴展+ 兼容以太坊的合約平台

支持EVM + Wasm虛擬機

兼容以太坊兼容以太坊。與Moonbeam 不同的是,Plasm 打算同時支持EVM 和Wasm虛擬機,讓Plasm 上既可以用EVM 運行以太坊上已有的Solidity 合約,也可以運行用ink! 編寫的Wasm合約。 Plasm 還引入了Solang,支持將Solidity 編譯為Wasm 在Wasm虛擬機上運行。

Layer 2 可擴展性

Plasm 還有一個特點就是在Layer 1 和Layer 2 上都支持智能合約功能,來進一步提升可擴展性。 Plasm 引入了一種支持所有二層協議的虛擬機OVM,支持了Plasma、閃電網絡等眾多二層擴展方案,從而能在Layer 2 進行代幣的轉賬。再通過引入支持Layer 2 智能合約的擴展方案Rollups,來在Layer 2 上也能使用智能合約。目前Plasm 已經成功將ZK Rollups 部署到了Plasm 網絡上。

mdnice編輯器

mdnice編輯器

Acala:專注於DeFi 的合約平台

Bodhi:在兼容以太坊的同時保留Substrate 的優勢

Acala 的定位是做波卡上的DeFi Hub,由於現有的很多DeFi 合約都部署在以太坊上,所以Acala 也考慮了以太坊的兼容性。

Moonbeam 和Plasm 都集成了當前的Substrate EVM 兼容性解決方案,即用Frontier 模擬以太坊的節點。它旨在實施全套以太坊RPC 並模擬以太坊區塊生產過程,從而讓現有的以太坊工具(例如Metamask 和Remix )可以與啟用了Frontier 的節點無縫協作。

但Acala 認為,像Frontier 這種模擬以太坊節點,全盤繼承以太坊優缺點的方式,可能並不是那些選擇波卡生態的智能合約真正想要的。 Acala 將EVM 視為Acala/Substrate/Polkadot 的一部分,希望讓Acala 網絡提供與以太坊截然不同的體驗。

因此,Acala 將採用一套自行開發的以太坊兼容方案-Bodhi。這套方案不兼容以太坊RPC,而是做了一個JavaScrpt SDK,模擬Web3 provider,可以把Polkadot Extension 包裝成類似MetaMask 的擴展。這樣現成的以太坊Dapp 也能用Polkadot Extension 來和Acala EVM 交互。

同時Bodhi 避免了以太坊的一些遺留問題,在兼容以太坊的同時保留了Substrate 的優勢。比如讓Acala 擁有可定制的經濟機制、允許用戶使用任何支持的代幣支付交易費、本地跨鏈功能、鏈上治理機制(不再有鎖定的資金)、完全可升級(無需進行合約遷移)等。而這些創新是在以太坊上不可能實現的。

不過,這也意味著以太坊上的合約想要部署到Acala 上,可能還需要對代碼進行一些調整來兼容Acala 的經濟模型。

mdnice編輯器

mdnice編輯器

Patract:專注於Wasm 的合約平台

完善的開發者工具和開發環境

之前說過,在波卡上建立智能合約平行鏈,要面臨的一個問題就是缺少好用的開發環境和工具。對此,Moonbeam、Plasm 和Acala 的方案都是:既然以太坊已經有了成熟的開發工具,那我們就提供一個方法,讓開發者可以方便地去用以太坊的現成工具。

而Patract 則認為Wasm 虛擬機才是未來,所以專注在Wasm 合約上。他們的方案是在波卡生態裡搭建一整套的開源開發工具套件和開發、測試、發布環境,讓開發者可以愉快地開發Wasm 合約。 Wasm 是波卡智能合約模塊採用的一項較新的技術,基於Wasm 的智能合約已經被證明比基於EVM 的具有更好的性能和可擴展性,也可以使用更高級的AssemblyScript、Rust、C++ 等高級語言編寫更複雜的合約應用。

包括:包括:包括:

  • Jupiter:獨立的智能合約測試網,提供給合約開發者測試合約鏈的環境。

  • Ask!:AssemblyScript 版的Ink!合約框架,吸引TS/JS的開發者,給不願意使用rust的合約開發者另一個選擇。

  • Redspot:Wasm合約開發工作流和腳手架:對標Ethereum生態中的Tuffle/Redhat,讓合約開發項目化,自動化的工具。 Redspot採用插件化設計,運行開發者添加自己設計的插件豐富Redspot的功能。

  • Europa:Runtime 和合約運行沙盒:對標Ethereum生態中的EthereumJS/Ganache,給合約開發者提供了豐富的調試信息,便於快速開發合約。

  • Elara:實時和可擴展的波卡API:對標Ethereum中的Infura,給合約項目方提供節點的Endpoint,不用自行搭建節點獲取數據。 Elara採用了Substrate-archive導出狀態數據,可以平行擴展接受千萬級訪問。

  • Megaclite:零知識證明的底層支持:在Jupiter/Patract鏈中提供零知識原語支持,可以允許項目方設計zkRollup或其他零知識相關合約。

  • Metis:Ink! 合約標準庫:對標Ethereum中的openzeppelin-contracts,給合約開發者提供可複用的輪子,不必從零開始編寫合約代碼。

  • Himalia:多語言合約SDK:對標Ethereum中的Web3J,Web3Py等SDK,給合約項目方提供不同語言的環境,豐富的接口與合約進行交互

  • 包括:

包括:包括:

  • Patra Store:作為Patract 平行鏈錢包和DApp 生態的入口,在測試網階段將集成一些示例應用和配套開發工具套件用法演示,幫助開發者快速開發Wasm 合約和前端界面,幫助用戶快速進入波卡新合約生態。

  • Patra Scan:專門為智能合約鏈優化的區塊鏈瀏覽器,集成比統一的鏈瀏覽器更豐富的合約數據信息展示,增強統計和自定義的查詢功能。

(Patract Hub 工具一覽)

使用DOT 和KSM 作為本地代幣

Patract 也將運行一系列的智能合約平行鏈Patract Network。

總結

總結

總結

總的來說,這四條波卡生態的智能合約鏈各有千秋。

Moonbeam 注重對以太坊的全面兼容,讓開發者能夠以最少的更改,將現有的Solidity 智能合約和DApp 部署到Moonbeam。

Plasm 在兼容以太坊的同時,通過Layer 2 的方案提高可擴展性,並且在Layer 2 上支持智能合約。同時Plasm 還通過DApp 獎勵計劃來吸引合約開發者。

而Acala 專注於DeFi 場景,在兼容以太坊的同時進行了一些優化,還設置了一定的准入門檻,更適合部署金融領域的智能合約。

Patract 則是為Wasm 合約開發者提供良好的開發環境和完善的工具,並且直接使用DOT/KSM 作為原生代幣,讓開發者的體驗更加順滑。

這些“後浪” 能否發展壯大,帶動新一輪的創新,將智能合約和DApp 生態推向新的高度呢?讓我們拭目以待吧。

Polkadot
智能合約
歡迎加入Odaily官方社群