Gnoland 是 Cosmos 創辦人 Jae Kwon 回歸後的第一個項目。
(背景補充:跨鏈項目 Cosmos 執行長離職風波背後的故事,執行長帶著團隊出走?)
一、 Gnoland 是什麼及定位
簡單的說, Gnoland 的定位是智能合約平台。
完整的說, Gnoland 是 Cosmos 和 Tendermint 共同創辦人 Jae Kwon 在 2020 年創建的 L1 項目, 其目標是構建一個去中心化、安全可擴展的智能合約平台, 可以構建重要的應用, 尤其是可以抗審查。
技術上說, Gnoland 上的智能合約叫 Realms , 使用的開發語言是 Gnolang , Gnolang 是 Golang 語言的解釋器,開發者將 Realm 源碼上傳到鏈上, GnoVM 虛擬機負責執行它的 AST(抽象語法樹)解釋。
在上面描述中,你看到一個 Gnoland 的智能合約特點是它的透明性,即開發者不是上傳的二進制的合約, 而是源碼, 然後由解釋器負責解析執行。這是 Gnoland 智能合約的一個特點。
Gnoland 智能合約還有另一個特點,就是在智能合約裡引入了多線程, 這樣可以支持並發能力,這個在技術上是由 Goroutine 這種輕量級線程實現的。
Gnolang 實際是 Golang 語言的一個子集,因此 Gnoland 的整體開發技術和 Cosmos 生態的核心技術是一致的,即 Golang 語言。而 Golang 語言在 Cosmos 生態已經被 Cosmos SDK ,以及 Tendermint Engine 完整的驗證過;更重要的是, 由於 Google 的支持, Go 語言的普及以及開發者數量眾多, 從另一個層面為生態尋找更多開發者提供了有利條件。
二、 Gnoland 由來與 69 號提案
Gnoland 被大眾熟知首先是從一項 Cosmos Hub 上的提案引起的, 即 69 號提案。
69 號提案簡單說, 就是 CosmWasm 智能合約希望集成到 Cosmos Hub ,這個實際上是被不少人支持的,理由也很充分, 給 Cosmos Hub 賦予更高的能力, 帶來更多的使用場景, 最終也能為 ATOM 帶來價值捕獲。
Cosmos 生態的創辦人 Jae Kwon 第一個強烈反對, 甚至警告如果 Cosmos 生態通過了 69 提案他將建議社區分叉 Cosmos Hub ,可見反對的激烈程度。
有人批評 Jae ,認為他是為了自己的項目,也是智能合約的定位, 所以強烈反對 CosmWasm 部署到 Cosmos Hub 。不過,這一點有點立不住腳, 因為 Jae 對 CosmWasm 的評價早在幾年前就有明確的說明, 參考 The Shape of Cosmos#smart-contracts 。
Jae 的理由是, Cosmos Hub 應當遵循一個原則, 即 Hub 最小化, 即作為 Cosmos Hub 不應該有太多擴展的功能, 而是將擴展的能力放到其他的 Zone 去完成, 這也符合去中心化的理念;同時, 更重要的一點是, 集成新的功能, 會帶來安全隱患。而 CosmWasm 最大的問題是還沒有經歷時間的考驗, 在沒有發展成熟之前,總會經歷惡意攻擊的問題, 這將對 Cosmos Hub 形成致命的威脅。
這個擔憂也並非空穴來分, 在之前 Juno 網路就因為 CosmWasm 問題出現停機的情況, 所以 Jae 反對 CosmWasm 集成在 Cosmos Hub 。
延伸閱讀:Juno Network 遭惡意智能合約攻擊、主網停止出塊;Juno幣價下挫逾5%
當然, Jae 是大棒與胡蘿蔔並舉, 在反對的同時也明確, 凡是反對 69 號提案的將有機會獲得 Gnoland 項目的空投。
如他所願, 最終 69 號提案被否決。從某個角度說可以認為 CosmWasm 和 Gnoland ,也是一個並列或者競爭的關係, 即 CosmWasm 和 GnoVM 層面。
回到 Why Gnoland 這個問題, 答案是﹕ Jae 認為現有的基於 Cosmos SDK 來開發應用鏈的難度還是偏大,從 0 到 1 開發需要兼顧很多的方面, 比如﹕網路安全、治理等。而 Gnoland 就是為了降低開發門檻。
Gnoland 的降低開發門檻,一個是將應用鏈的開發轉為智能合約的開發;另一個是,開發工具上選擇 Gnolang 這個基於 Go 這樣一門更廣泛使用的被 Google 支持的語言。
如果說降低開發門檻角度, 和 Gnoland 有類似定位的其實還挺多的, 除了基於智能合約的類似 Juno 這樣的項目, 還有 Evmos 也是著力於降低開發門檻,以及尋找更多的開發者支持。這一點來說, Gnoland 還是有自己的挑戰需要面對的。
三、 Gnoland 背後的組織
Gnoland 背後的組織變化目前還是挺大的, 牽扯到 Jae Kwon 以及 Ignite。最早 Peng Zong 在的時候, Ignite 從 NewTendermint 獨立開。最新情況是 Ignite 分為 4 個實體:
- AiB 作為母公司, 共享相關資源給其他實體
- 原先的 Ignite 專注在 Ignite CLI 工具端的開發( Ignite CLI 原先是 starport), 另外 Ignite 加速器也在 Ignite 名下。
- NewTendermint 負責開發 Tendermint 2.0 和 Gnoland 以及 Cosmos SDK 。這裡需要注意一下的是, Tendermint 2.0 其實可以理解為原來 Tendermint 的一個分支, 具體名字是 Tendermint Classic , 我看到 github 上的代碼是 2 年前就有了。 Jae 的想法應該是對原來的做一些簡化, 不過簡化之後,兩者之間的兼容性如何目前沒有公開資料。
- 新成立的一個實體是 Anamika , 負責開發 Cosmos Cash ,這是一個和合規相關的內容, 是一個 Cosmos SDK 模塊。
官方解釋這次變化主要是,熊市大背景下的一個例行收縮,以及將重點瞄準重點內容,提升效率。而 Gnoland 即是由 AiB 下面的 NewTendermint 負責開發。更多組織相關內容請參考﹕Ignite becomes independent entity alongside NewTendermint ,以及 Ignite: Growing the Cosmos Ecosystem Since 2014 。
四、 Proof of contribution,基於貢獻證明
Gnoland 項目除了其定位之外, 我覺得最大的特點可能是它的治理方式, 甚至比較的極端。
Jae 似乎並不希望資本能夠直接進到 Gnoland 生態裡,參與治理或者成為驗證人。要成為 Gnoland 的決策者和參與者,你需要在日常中用自己的「實際行動」來體現, 有點像 PoW 的工作量證明機制。在一次訪談中 Jae 提到﹕
I also want validators to be chosen based on an on-chain mechanism based on their contribution, not an economic system. I’m also considering limiting validators on Gnoland to only validate the Cosmos Hub and Gnoland.
我希望驗證人的鏈上機制是基於他們的貢獻, 而不是經濟系統, 同時希望驗證人專注在 Cosmos Hub和Gnoland。
這裡可以感受到 Jae 的理想主義。治理過程一直是人們討論的焦點, 始終圍繞公平與效率, 參考各個模型,在中心化與去中心化之間權衡, 但是最終還是 token 說了算, 而這些 token 是可以購買的, 所以說本質是金錢遊戲也沒毛病。對於理想主義者,可能總希望改變一些自己看不過去的內容, 從這一點 Jae 的嘗試值得掌聲。
Gnoland 希望通過使用兩個 token 將參與治理的人和參與投資的人分開, 治理的人是﹕那些開發者、社區貢獻、生態的 dapp, 是生態日常關注且參與的人。
當然, 這一點也是有點與現實世界格格不入, 可能會有一些挑戰, 比如﹕治理代幣如果可以交易本質上,也是回到金融層面。另外一點, 做驗證人節點其實是一個專業領域,維護與安全問題需要專業人員, 而 Gnoland 裡的很多有貢獻的人未必是這方面的專業人士, 這個可能對後面的節點安全也是一個需要考慮的問題。
五、雙代幣模型
Gnoland 的是雙 token 經濟模型,主 token 是 $GNOT (Gno token), 其用途是作為費用來支付交易費,以及給驗證人的獎勵。
第二個 token 是 $GNOSH(Gno shares)可以理解為股權, 主要是用於獎勵貢獻, 貢獻使用的機制叫 Proof of Contribution,具體規則在制定之中。賺取 $GNOSH 的方式簡單理解就是做任務、各種償金,目前最大的貢獻者應該是 Coding 部分。
你持有的 $GNOSH 數量越多,在貢獻者池中的份額越大。這是一個通膨模型, 隨著每次增發獎勵給新的用戶 $GNOSH ,你持有的 $GNOSH 份額也會被稀釋。
$GNOT 創世階段發布一次性發布 10 億,總量固定。
其中 7.5 億空投給 $ATOM 的持有者和質押者, 其絕大部分是為 69 號提案投否決的用戶,沒有參與投票或者投 YES 的用戶將獲得極少的份額。
1 個億的 $GNOT 是分配給 New Tendermint 公司,以及 Jae Kwon 個人。
1 個億的 $GNOT 分配給一個為社區管理和生態服務的 DAO , 該 DAO 的名字叫 Core Mission DAO ,具體還沒有敲定。5 千萬的 $GNOT 將分配給早期 Github 代碼貢獻者,以及早期生態貢獻者,包括 test 1 測試網的 1 萬個和 test 2 測試網的 10 萬 $GNOT,以及 2 個水龍頭發放 2 百萬 $GNOT 。
六、生態應用
Gnoland 的現狀像一個正在施工的工地。官網比較簡陋。簡陋的原因是,這個網站就是用後端語言 Go 實現的,都沒有用前端框架 React 這種, 所以看起來非常的極客也就不奇怪了。
換一個角度看, 他們重心目前不在這裡, 而是開發本身。網頁上的一些功能就是,為了讓開發者參與智能合約交互使用的。
生態目前重點有兩個項目, 一個是 Onbloc 團隊的 Adena 錢包, 另一個是 Teritori 多鏈 Dapp。
Adena 的定位是 Gnoland 的旗艦錢包,開發團隊認為現有的 Keplr 錢包主要目標場景是 IBC 轉帳,和多鏈場景做了優化,但是也有不足。比如﹕目前的 Keplr 錢包不支持智能合約的 token 導入, 也不直接支持 NFT 。而 Adena 錢包將會集成這些,承諾會和 Paypal 支付一樣方便。
所以 Adena 錢包是要在錢包內,做成一個類似網頁 Dashboard 的效果。在 Chrome 瀏覽器安裝體驗效果圖如下:
作為一個項目需要一個獨立的錢包是可以理解的, 不過現階段 Cosmos 生態對 Keplr 錢包的使用,還是比較深入人心, 建議項目方可以在主要場景上能在 Keplr 上得到滿足, 部分優化的功能在 Adena 上來操作可能比較穩妥, 這樣主流用戶不需要切換錢包就能體驗新項目, 同時對於深度用戶來說可以體驗專有功能, 也不介意安裝新錢包。另外, 衍生功能在網頁 Dashboard 裡操作也是可以的。
Onbloc 團隊還有另外兩個應用, 一個是 Terabyte Validator ,還有一個是 Gnoswap DEX 應用,目前還在早期。另一個是 Teritori 的多鏈應用, 這個應用定位是成為 Web 3 世界的 DApp 樞紐, 為個人、社區和開發者提供一系列工具, 包括 DAO 的增強等。關注去中心化、抗審查以及聲譽、透明度等基本價值觀。
雖然其具體做什麼還有點模糊, 不過 Jae 看起來對他們還比較有興趣, 已經參與他們項目做相關諮詢, 目前正在推動這個項目的開發。目前在測試網 V2 階段。
七、路線圖
Gnoland 的路線圖像開發者寫的, 所以沒有豪言壯語,基本就是按照測試網 1、測試網 2、測試網 3 來區分,看起來確實不會讓人有激動人心的感覺, 不過也算是工程師文化的一種。
目前第一階段已經完成,即測試網 1, test 1 是構建在單一節點上, 目前已經放棄。
目前正在進行中的階段是第二階段,包括 $GNOT 代幣分發,以及 ugnot 計量單位。目前第二階段的重心,還包括 /r/boards 這個 Realm ,即智能合約的優化。
這一階段的 Realm 也會包含一些 Ream 的參考樣例, 以便讓開發者參與一些償金,更好的了解與智能合約的互動,以及一些開發者和用戶相關的文檔。
第三階段仍然是一個測試網, 是 test3.gno.land,會引入活躍驗證人集, 相關的技術和治理決策在這一階段是重點內容, 為下一階段進入主網。
Gnoland 的驗證人數量將有一個突破, 計劃是 334 個。對比 Cosmos Hub 的驗證人目前是 175 個, Evmos 驗證人是 150 個, 可以看出 Gnoland 是希望將去中心化程度,在驗證人上就能體現更明確一些。具體什麼時間進入主網目前還沒有明確, 不過社區部分討論暗示大約是 2023 年底左右。
第四階段可以理解為社區化, 即項目的長期規劃是一個 DAO 來負責, 名字叫 Core Mission DAO 更詳細的路線圖可以參考What is Gno? 和 Github上的 Roadmap.md 。
8/ 小結
Gnoland 項目從 69 號提案的爭論開啟, 結合 Cosmos 創辦人的光環, 很難讓大家不關注這個項目。
Gnoland 項目定位是智能合約平台, 並且是基於 Go 這樣一個在各個方面 trade off 更友好的語言,來實現支持並發能力的智能合約, 在 Rust 、 Move 、 CosmWasm,以及 Solidity 構建的眾多平台中另立門戶, 是否能證明只有時間知道。
大規模的空投( 7.5 億空投給 ATOM 持有者)以及 334 個節點, 都讓人感受到 Gnoland 去中心化的努力與決心。Proof of contribution 的貢獻證明, 我們看到了 Jae 的鬥志, 希望徹底改寫資本說了算的傳統老路,讓生態參與者成為真正的受益者, 而不是旁觀者。這件事從一開始就意味著不會容易, 仍然需要時間去證明。
目前創辦人的開發能力是不用質疑的, 無論是早期的 Tendermint ,還是 Cosmos SDK Jae 都是重要的貢獻者,更不用說目前 Gnoland 的頭號開發者也是 Jae。
未來如何讓重視用戶體驗的人以及市場的人加入團隊,和 Jae 一起完成使命是一個需要團隊推動的重要事項。