🎉 #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 聯合推廣任務上線!
本次活動總獎池:1,250 枚 ES
任務目標:推廣 Eclipse($ES)Launchpool 和 Alpha 第11期 $ES 專場
📄 詳情參考:
Launchpool 公告:https://www.gate.com/zh/announcements/article/46134
Alpha 第11期公告:https://www.gate.com/zh/announcements/article/46137
🧩【任務內容】
請圍繞 Launchpool 和 Alpha 第11期 活動進行內容創作,並曬出參與截圖。
📸【參與方式】
1️⃣ 帶上Tag #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 發帖
2️⃣ 曬出以下任一截圖:
Launchpool 質押截圖(BTC / ETH / ES)
Alpha 交易頁面截圖(交易 ES)
3️⃣ 發布圖文內容,可參考以下方向(≥60字):
簡介 ES/Eclipse 項目亮點、代幣機制等基本信息
分享你對 ES 項目的觀點、前景判斷、挖礦體驗等
分析 Launchpool 挖礦 或 Alpha 積分玩法的策略和收益對比
🎁【獎勵說明】
評選內容質量最優的 10 位 Launchpool/Gate
滴答鏈:全鏈遊戲的“AMM時刻”
當我們描述某個產品、技術或創新在特定行業中產生的革命性影響,喜歡說這是該行業的“iPhone時刻”。因為這是基於2007年Apple發布iPhone後,它對整個手機和移動計算行業產生的深遠影響。
在DeFi行業,我們則稱之為“AMM時刻”。因為AMM模型在DeFi領域中起到了關鍵的作用,特別是在提高市場流動性方面,直接促成了2021年牛市的到來。那麼,什麼是全鏈遊戲的“AMM時刻”?我們在本文一探究竟。
一、AMM在DeFi中的重要作用
DeFi是區塊鏈技術和金融領域的結合,也就是把金融規則寫入到智能合約,從而實現去中心化,隱私化和自動化。既然是金融領域,那麼各種項目最關鍵的是什麼呢?顯然是“流動性”。比如三大業務模式,借貸,交易和支付(穩定幣業務),如果沒有流動性,三個業務是沒法持續性展開的。
在Web3,交易是金融業務的核心,因為藉貸和支付都是為了服務交易而存在的(加槓桿和充當交易媒介)。那為什麼會有“AMM時刻”?這是因為區塊鏈的本身性能限制決定的。
我們知道,中心化金融機構的金融規則是放在自己公司的高性能服務器上,所以撮合效率極高,而DeFi是通過把金融規則放在智能合約裡面,犧牲了撮合效率而帶來去中心化和隱私化的優勢。
智能合約做為一種“世界計算機”層的模擬,性能相對來說極為低下。在最初的DeFi項目中,不管是藉貸還是交易所,撮合方式都是基於傳統金融的訂單薄模式。在這種模式下,DeFi在CeFi面前毫無還手之力,直到AMM的出現。
如何使用超低性能的“世界計算機”來極大提高流動性的撮合效率? AMM模型的解決方案是使用資金池和算法來自動匹配。具體玩法已經有很多文章做介紹,這裡不再展開討論。在優點方面我們現在已經知道:
AMM機制的創新居然促使DeFi的流動性撮合效率可以和CeFi相媲美,並最終帶來了DeFi Summer。
二、遊戲和區塊鏈的本質矛盾是什麼
現在全鏈遊戲來到了和DeFi同樣的時刻:在一台極低性能的“世界計算機”上面如何運行一個遊戲?這需要深入分析遊戲和區塊鏈的本質矛盾是什麼。
我曾經寫過一篇文章《全鏈遊戲引擎架構ARC和ECS有什麼區別? 》,在裡面介紹過遊戲循環的概念,並且指出傳統遊戲是基於循環的(loop-based)。
其實這段話已經回答了上面的問題。 **遊戲架構一般是loop-based,而區塊鏈架構是push-based,這就是遊戲和區塊鏈的本質矛盾。 **那如何解決這個矛盾?可以說,只要解決了這個矛盾,就迎來了全鏈遊戲的“AMM時刻”。
為了更深入的討論,我們來看看遊戲是如何實現遊戲循環的。
每款遊戲都包含一系列獲取用戶輸入,更新遊戲狀態,處理AI,播放音樂和音效以及顯示遊戲的順序。這個順序通過遊戲循環來處理。我們暫時不詳細討論上述任何任務,而是將注意力集中在遊戲循環本身,所以可以將任務簡化為僅更新和顯示遊戲兩個函數。下面是遊戲循環最簡單形式的示例代碼:
bool game_is_running = true;
while( 遊戲正在運行 ) { update_game(); 顯示遊戲(); }
先引入三個術語:
打鉤
Tick是game loop的同義詞(擬聲詞),1 tick = 1 game loop
FPS
FPS是每秒幀數(Frames Per Second)的縮寫。在上述實現的上下文中,它是每秒調用display_game()的次數。
遊戲速度
遊戲速度是每秒更新遊戲狀態的次數,或者換句話說,每秒調用update_game()的次數。
總結一下,Tick/Game Loop是遊戲的基本週期,決定了遊戲邏輯如何更新。 FPS是每秒渲染的幀數,決定了遊戲的視覺流暢性。遊戲速度是遊戲邏輯如何進展,通常與tick速率相等。在理想情況下,tick速率、FPS和遊戲速度應該都是相等的,這意味著每次邏輯更新後都會有一個對應的渲染。但在實際情況中,這三者可能會有所不同,特別是在性能受限或有其他技術限制的情況下。
三、全鏈遊戲的核心挑戰
有了上面的理解,我們現在可以討論全鏈遊戲中的核心挑戰了。
遊戲循環與區塊鏈的不匹配:傳統的遊戲是基於遊戲循環(game loop)的,這意味著遊戲的狀態在每個tick或幀中都會更新。但是,區塊鍊是基於事件驅動的,只有當有新的交易或操作時才會觸發狀態的更新。這種基本的不匹配確實使得在全鏈遊戲中實現傳統的遊戲循環變得複雜。
延遲與實時性:區塊鏈的交易確認時間可能會導致遊戲的響應延遲,這對於需要快速響應的遊戲(如動作遊戲或競技遊戲)來說是一個問題。一個有效的ticking機制需要考慮這種延遲,並儘量減少其對遊戲體驗的影響。
資源限制與計算成本:每次更新區塊鏈的狀態都需要消耗計算資源,並可能產生費用。在全鏈遊戲中,頻繁的狀態更新可能會導致高昂的費用。因此,需要一個高效的ticking機制來平衡遊戲的流暢性和成本。
**如果能夠開發出一個適應區塊鏈特性的新的ticking機製或遊戲循環模型,這確實會是一個“AMM時刻”。 **這可能需要結合傳統的遊戲開發技術和區塊鏈的特性,創造出一個全新的遊戲框架。
那麼是否所有的遊戲類型都是loop-based嗎?雖然大多數遊戲類型確實是基於循環的,然而,也存在一些“push-based”的遊戲,這些遊戲不需要持續的、實時的狀態更新。例如,回合製策略遊戲、棋類游戲或某些卡牌遊戲。在這些遊戲中,狀態只在玩家採取行動時更新,這與區塊鏈的事件驅動模型更為相似。因此,**對於全鏈遊戲來說,確實可以考慮首先開發那些更符合“push-based”模型的遊戲,這樣可以更自然地適應區塊鏈的特性。 **
四、滴答鏈就是全鏈遊戲的AMM時刻
Argus的創始人Scott也表達過同樣的看法:
那麼怎樣才能設計一個適合區塊鏈的ticking機制呢? @therealbytes 給出了答案。我曾經翻譯過他的那篇經典文章《如何使用OPStack構建全鏈遊戲的時鐘週期》,裡面對如何使用智能合約和預編譯合約構造ticking系統做出了極為詳細的解釋,但可惜的是,因為比較技術性,這篇文章的瀏覽量在我所有文章裡面是最低的。類似於Vitalik那篇在DEX引入AMM的文章《Let's run on-chain decentralized exchanges the way we run prediction markets》,在那篇經典的文章中,第一次引入了著名的恆定乘積公式“A * B = k”。
(一個有趣的點:那個時候沒有DeFi的叫法,只是叫On-chain decentralized exchange,如同現在我們稱全鏈遊戲叫On-chain game)
在這篇文章中,therealbytes 應該是第一個提出了利用鏈本身的預編譯來實現ticking:Ticking-Optimism 修改了rollup 節點,創建了一個“滴答交易”(tick transaction),工作方式與“存款交易”相同,但不是設置L1 屬性,而是在預先部署到地址0x42000000000000000000000000000000000000A0 的合約中調用tick () 函數。這個合約可以通過設置其目標變量來調用另一個合約。
把Ticking 函數內置到鏈的節點,在loop效率方面是一個巨大的提升。這一點完全可以類比DeFi行業中,AMM模型對比Orderbook模型在撮合效率上的巨大提升。究竟有多巨大呢?數據可以參考我翻譯的另一篇文章《為“數字神明”記時》:
五小結
如果說,AMM模型保證了金融系統在低性能的區塊鏈上也可以有很高的撮合效率和流動性,那麼,滴答鏈(Ticking Chain)是保證了遊戲系統在低性能的區塊鏈上也可以有很高的循環(loop)效率和流暢性。
上面介紹的只是therealbytes的概念驗證,而實際中已經有全鏈遊戲引擎開始使用這種滴答鏈的模式了。第一個開源的滴答鏈引擎是@0xcurio,他們使用的正是具有預編譯ticking函數的OPStack來搭建layer2,第二個開源的滴答鏈引擎是@ArgusLabs_,他們使用的是Polaris來構建具有預編譯ticking函數的layer2。我相信未來還會有更多的滴答鏈出現。
上面的表格是對金融和遊戲領域在區塊鏈方面的應用做的對比,可以看到兩者確實有極大的相似性。 DeFi在開始使用的Orderbook模型,是一種主動式的撮合系統(Matching ),改為AMM之後,就變成了被動式地自動撮合系統。類似的,全鏈遊戲在開始使用的是常規的“lazy update”和“manual ticking”來進行主動式的遊戲循環,改為預編譯的滴答鏈之後,就變成了被動式的自動遊戲循環。 AMM提高了金融的流動性,滴答鏈提高的是遊戲的流暢性。