讓不可能變為可能:讓全鏈遊戲开發在閃電網絡上的成為現實
作者:Infinitas
引入
“全鏈遊戲指完全在區塊鏈上運行的遊戲和 NFT 生態集合體,吸引着各路遊戲巨頭和投資機構的紛紛布局和嘗試。”當前全鏈遊戲在保證安全性、隱私性和去中心化的基礎上,可擴展性始終沒有找到最優解決方案。例如最熱門的全鏈遊戲引擎 Mud 和 Dojo,致力於幫助全鏈遊戲實現更高的 TPS,但玩家每次操作仍需要 2 秒以上的緩衝。事實上,當前區塊鏈上最高 TPS 的全鏈遊戲可實現峯值在幾千 TPS左右,與數十萬級 TPS 的傳統 Web2 3A 遊戲存在巨大差距。在追求不損失區塊鏈優勢的前提下,全鏈遊戲以克服的可擴展性。
所以“全鏈遊戲之春” 終究無法實現嗎?未必。本文由區塊鏈底層基礎設施項目 Infinitas 與遊戲平臺 CrystalFun合作,以其旗下Outerverse 原生4款遊戲為例子,探討比特幣生態如何讓全鏈遊戲的落地和大規模普及成為可能。
By: Infinitas | CrystalFun
Author : echo | https://twitter.com/echoindahouse
閃電網絡和RGB協議如何幫助解決全鏈遊戲困境?
在全鏈遊戲中,遊戲的核心邏輯、規則和遊戲內交互過程完全在區塊鏈上(fully on-chain),通過智能合約實現規則的執行和驗證。遊戲資產和虛擬物品也以區塊鏈的形式存在,玩家可以直接擁有、交易和轉移這些資產,而無需依賴傳統遊戲公司的中心化服務器。遊戲核心邏輯和遊戲內資產的完全去中心化為玩家賦予更高的自主權和安全性。
閃電網絡作為建立在比特幣區塊鏈網絡之上的第 2 層擴展解決方案,通過將交易移至鏈外,擴展了鏈上遊戲的設計空間,同時保留區塊鏈的底層安全性和透明度,從而實現快速、廉價的交易。
閃電網絡有助於在平衡區塊鏈三角去中心化和可擴展性前提下,將遊戲擴展到更多用戶和使用範圍。借助閃電網絡進行全鏈遊戲开發可以更好實現遊戲內交易速度提升,改善遊戲內用戶體驗。
但即使閃電網絡解決了可擴展性問題,一些核心遊戲邏輯仍然需要在鏈上進行,例如將不可變記錄的最終結果或狀態更改寫入智能合約。閃電網絡還未解決智能合約的問題,因此,閃電網絡只是鏈上交互的補充,而不是完全替代。
RGB 則是在比特幣生態系統第 2 層和第 3 層上運行的客戶端驗證狀態和智能合約系統。抽象的來講,RGB 在比特幣區塊鏈的基礎上建立了一個由用戶自管的合約管理系統,用戶自行驗證和執行狀態變更,包括資產和合約。當用戶發起交易並調用一個合約邏輯時,合約執行和資產狀態的變更並不會全網共識,而是在交易雙方之間驗證並達成共識即可實現交易。
通過與閃電網絡配合使用,RGB 協議在比特幣交易鏈之上運行,但無比特幣時間鏈擁塞的問題:交易僅保留相同狀態承諾,無需額外鏈上存儲。無論是來自比特幣區塊鏈還是閃電通道(或任何其他類型的狀態通道),RGB 都可以在比特幣之上作為第 2 層解決方案工作,也可以在閃電網絡之上作為第 3 層解決方案工作。
助力全鏈遊戲輔助工具
區塊鏈本身作為一個鏈上資源珍貴的狀態機,很難去單獨處理遊戲這類高頻互動場景下的冗余調用需求。所以除了結合比特幣二層閃電網絡,要使遊戲真正運行起來,還需要將遊戲邏輯和資產寫在比特幣生態智能合約中,因此一些補充鏈上交互的輔助的技術棧和工具必不可少。
Ephemeral chain(臨時鏈)
臨時區塊鏈可以定義為不會永遠存在的區塊鏈,一旦區塊鏈的目的實現(例如記錄交易),或者一旦其狀態永久存儲在其他地方,它們就會被銷毀。臨時鏈存儲的終止狀態只是有關臨時鏈相關終止事實的數據,因此將所有內容壓縮了相當大的數量級。臨時鏈主要受區塊鏈上交易延遲和吞吐量限制。
臨時鏈 VS 狀態通道
就臨時鏈而言,由於公共鏈上有狀態,我們最終將擁有大量用戶。需要插入公鏈的狀態會通過剪枝/壓縮/差異提取來減小大小,然後定期而不是不定期地保存在公鏈上。RGB 狀態通道的設置有可能繞過臨時鏈的性能約束,實現和臨時鏈相同的功能。
狀態通道迄今為止是為少數用戶設計的。最值得注意的是,狀態通道主要用於兩個用戶之間同時進行大量的鏈下交易而構建的。每個 RGB 智能合約由智能合約發行者(或者簡單地說,發行者)創建,和以客戶端驗證形式保存的數據共同以“創世狀態”存儲在區塊鏈上或閃電網絡交易/通道狀態內。該狀態被稱為“給未使用的比特幣交易輸出”(Unspent Bitcoin Transaction Outputs,簡稱 UTXO),過程被稱作“一次性密封”。RGB 協議狀態轉換過程將狀態分配給一組已定義的一次性密封件。每個智能合約可以維護不同形式的狀態,並使用不同的驗證規則定義不同類型的一次性密封件。除此之外,狀態轉換可能包含不同的元數據和腳本,這也是業務邏輯的一部分。
App-specific blockchains(特定應用程序區塊鏈)
特定於應用程序的區塊鏈是為運行單個去中心化應用程序(dapp)而創建的區塊鏈。开發人員不是在現有區塊鏈上構建,而是使用自定義虛擬機 (VM) 從頭开始構建新的區塊鏈,該虛擬機執行用戶與應用程序交互的交易。开發人員還可以定制區塊鏈網絡堆棧的不同元素——共識、網絡和執行——以滿足特定的設計要求。提升智能合約執行速度,解決計算資源限制可以幫助特定應用程序區塊鏈落地。允許开發人員為不同的用例定制基礎設施,使开發變得更容易。同時允許 web3 开發人員構建強大的價值模型並擴展其 dapp 以滿足指數級增長的需求,激發更多創新。
特定應用程序區塊鏈 VS 比特幣二層模具 “schema”
RGB 中有一個叫做 RGB Schema 的東西,它是一組定義合約狀態如何隨時間演變的規則。但與以太坊或任何基於區塊鏈的智能合約平臺不同,Schema 需要對操作算法進行編程。
狀態轉換中允許哪些類型的狀態、密封、元數據以及哪些腳本擴展由“schema”定義。schema可以看作是客戶端驗證的驗證規則;模式始終由發行者在狀態起源中定義,包含圖靈完備的腳本,為客戶端驗證定義部分業務邏輯。
來源:Infinitas 架構圖
如圖,左邊箭頭表示少數用戶可以自建節點直接訪問智能合約。右側箭頭是商業化節點,採用雲計算技術保證安全可靠的運行,幫助用戶管理大量鏈下智能合約計算數據及合約計算驗證。
所有合約的業務邏輯和合約代碼都存放在“schema”中,合約部署或項目方不需要自己寫代碼,只需要使用合適的“schema”進行參數配置,就可以發布合約;开發人員使用合適的模具為不同的用例定制基礎設施,使开發變得更容易,實現和特定應用程序區塊鏈相同的功能。
Battle rollup(战鬥 Rollup)
战鬥 Rollup 作為一種技術機制,主要用於簡化全鏈遊戲中的對战過程。通過將玩家之間的战鬥行為批量處理後匯總到一個區塊中,战鬥 Rollup 可以減少交易的數量和成本,提高全鏈遊戲的性能和可玩性。我們可以把玩家的好幾個位移動作之後的總結果打包匯總到區塊中,而不是每一步都記錄進去。战鬥 Rollup 主要受區塊鏈上交易成本和區塊鏈處理速度限制。
閃電網絡幫助完成战鬥 Rollup “打包”
可擴展性:閃電網絡每秒能處理數百萬至數十億筆交易。容量比傳統鏈上支付方式超出了許多數量級。現在可以在沒有托管人的情況下為每次操作/點擊附加付款。
低成本:通過區塊鏈外的交易和結算,閃電網絡可以收取極低的費用,從而可以實現即時小額支付等新興用例。
Engine for On-Chain Games(全鏈遊戲引擎)
全鏈遊戲引擎是專門為全鏈遊戲开發的引擎工具。它提供了一套开發框架和工具,幫助开發者在區塊鏈上構建遊戲邏輯和交互功能。更加通用的智能合約編程語言和开發工具幫助开發者進行全鏈遊戲引擎开發。
第一個為 ETH 生態提供支持的是由 Lattice 推出的 MUD 引擎,隨後,逐漸出現支持不同生態,使用不同編程語言的全鏈遊戲引擎,如用於 starkware 的 DojoEngine。以 MUD 和 Dojo 為代表的全鏈遊戲引擎簡化了开發過程,提供了豐富的功能庫和工具,使开發者能夠更高效地創建全鏈遊戲。
RGB “Contract Schema” 降低开發者門檻
在當前的智能合約世界中,要求智能合約創建者(發行資產的公司、DAO、DeFi 工程師團隊)組織或自行執行智能合約代碼的开發是很常見的。
這種开發組織方式最大的弊端是:導致更高的合約代碼漏洞和多次黑客攻擊。由於合同發布者不一定是經驗豐富的开發人員,且發布每份合約時無法要求外包公司從頭編寫智能合約並對其結果進行審計。因此合約程序員和合約發行者的角色必須分开。RGB 引入“Contract Schema” 合約模式概念。合約模式是智能合約的實際代碼,發行者可以將其用作“合約模板”,而無需他們對某個隨機外包商為其編寫的定制代碼進行編碼或審核。這樣的設計大大簡化开發者开發和維護智能合約的門檻。
Synchronization(同步機制)
另一個關注點是將鏈上狀態與遊戲狀態同步。這對於確保遊戲和交易的完整性非常重要。如果操作不當,可能會導致用戶資產數據泄露、重復項目或各種其他問題。因此每一步交易順序和交易時間的確認都至關重要。
舉個例子,我們想象一個場景,有兩個玩家,玩家 A 和玩家 B。玩家 A 想要用 20 倍的 DNA(某遊戲內代幣)交換玩家 B 的武器劍(以 NFT 表示)。鏈上和鏈下同步的示例如下:
玩家A和玩家B同意交易20x DNA 以獲得遊戲中的武器劍
交易在鏈上开始,數字資產被發布到鏈上托管合約
遊戲查詢鏈上數據以了解活動情況
遊戲狀態根據鏈上活動而改變
管理遊戲活動,在鏈下數據庫中更新項目,並且交易出現在每個玩家的遊戲帳戶中
托管合約將鏈上數字資產釋放到玩家A和玩家B各自的錢包中
閃電網絡實現交易同步性
閃電網絡的同步性是通過使用交易的鎖定機制來實現的。當兩個節點之間建立了一個鏈下的支付通道時,它們可以在通道中進行多次交易,而不必每次都向區塊鏈提交交易。這些交易被鎖定在通道中,直到通道被關閉,交易結果被上傳至鏈上。這種鎖定機制確保了交易的同步性,無需擔心區塊確認時間,支付速度以毫秒到秒為單位。
通過上述針對全鏈遊戲輔助工具:臨時鏈、特定應用程序區塊鏈、战鬥 Rollup、全鏈遊戲引擎、同步機制的不同角度深入探討後,為了便於大家更好地暢想和理解,我們將繼續分享Outerverse在Infinitas底層構建及體系結構中的多方面應用場景案例。
Outerverse
OUTERVERSE是Crystal Labs推出的以开放世界星战題材的大型多人在线角色扮演遊戲(Massive Multiplayer Online Role-Playing Game,簡稱 MMORPG)《OUTER》為核心的一系列遊戲的組合生態。旗下總共包含4款不同品類的遊戲,分別是主遊戲《OUTER》,外傳遊戲《OUTER:StarFall 2312》,衍生遊戲《OUTER:Survivor》和《OUTER:Endless War》。
這 4 款遊戲的背景設定將發生在同一個世界觀體系下並且遊戲之間經濟生態也將打通。开發者希望通過不同品類的遊戲來吸引不同喜好的遊戲玩家。讓我們一起從這 4 款不同類型的區塊鏈遊戲中,展望一下未來全鏈遊戲在比特幣生態中的解決方案。
OUTER
OUTER是一款太空星战題材的 MMORPG。在 MMORPG 中存在大量的战鬥過程,而這些战鬥都需要實時演算:比如A對B發起攻擊,則B在受到攻擊的瞬間就要反饋出受到的傷害值。這些運算過程極為復雜,需要從遊戲角色上讀取大量參數進行運算從獲得實時的战鬥結果。
傳統web2遊戲為了提高運算效率,會將整體運算在中心化服務器中進行,這種方案確實提高了運算效率,但對運算的安全性和透明度並沒有保證。玩家只能默認官方的服務器不會出錯或者無法作惡。
如在OUTER中玩家A和B兩艘飛船遭遇战時,需要獲取雙方飛船十多個战鬥屬性。如飛船的生命值、火力、裝甲、穿透等。對這些屬性進行運算最終得到雙方飛船在這場战鬥中產生的傷害和各自飛船的損失。最終將受到損失後的飛船狀態記錄到中心化數據庫中。
我們來簡化一下遊戲中战鬥模型:“A和B發生战鬥,A對B能產生x點傷害,B受到傷害後還剩y點血量”。我們可以看到,x是一個中間值,需要通過實時運算產生,y是運算之後產生的結果值,需要回寫到遊戲數據中。在傳統web2遊戲中,x值的計算過程是在中心化服務器中內存中進行,計算完畢後生成y值,然後將y值回寫到服務器的數據庫中。
而如果將OUTER中實時運算的部分運用閃電網絡,此時遊戲中需要實時運算過程我們通過閃電網絡運算後即可產生x值,即A對B產生的傷害值。然後得到的最終結果y值寫入鏈上。採用類似“鏈下計算+鏈上账本”的結合的方式,可以實現一些在鏈上速度太慢或成本太高的遊戲機制。這樣既保留底層區塊鏈的安全性和透明度,又在不犧牲去中心化的情況下將遊戲擴展到更多用戶和使用範圍。
另外,對於OUTER這種大型多人在线遊戲,由於遊戲生態的復雜性和道具的多樣性,玩家之間的交易也將是非常頻繁(如OUTER中存在近千種不同的道具)。而比特幣閃電網絡的結算性能,也許是MMO區塊鏈遊戲玩家之間支付結算的很好解決方式。
STARFALL 2312
我們再來看OUTERVERSE旗下的第二款遊戲STARFALL 2312,這是一款卡牌RTS區塊鏈遊戲。與OUTER這種大型多人在线遊戲類型不同,STARFALL是一款單局匹配競技玩法的遊戲。無論是1vs1或者2vs2,玩家都是匹配後進入到單局內战鬥,類似於《星際爭霸》。單局競技類遊戲對即時演算和多人在线負載的要求不高,反而對遊戲的反作弊有着極強的要求。
從早期的局域網匹配到現在的战網匹配,競技類遊戲作弊一直是個長期的痛點。想象一下,你還在老家採礦發展科技建造機槍兵,而對手已經艦船打炮成型,殺的你根本沒有一點招架之力。而此時你最想知道的一定是對手是否开啓外掛作弊。很多玩家在玩競技遊戲後有觀看replay錄像的習慣,而replay的原理即為將玩家在战局中的操作全部打包記錄到文件中,再通過客戶端進行還原。但很多replay都是本地文件,基本無法確保透明性和不可篡改性。
Synchronization(同步機制)是確保玩家之間操作和狀態的一致性的重要機制。同步機制可以借助區塊鏈和智能合約來確保玩家之間的操作和狀態的同步,並保證遊戲的公正性和可信度。如果將玩家的每一步在遊戲中的操作都可以寫入鏈上存儲,這樣即可確保任何玩家所有的操作都是公开透明並且可溯源的。這也許是解決競技類遊戲的反作弊問題的一個方案。
Survivor
Survivor是OUTERVERSE旗下星際Roguelike割草類區塊鏈遊戲。這是一款輕度單人休闲遊戲,玩家只需10秒即可上手遊戲。玩家對該類型的遊戲最大的訴求就是操作簡單和爽快。當玩家冒險开始時,駕駛的飛船會被加載進一個預設的關卡中進行闖關冒險。若讓這部分遊戲內容可以做到去中心化上鏈,智能合約中的預編譯器(App-specific precompile)或許是個不錯的選擇。
預編譯器類似傳統遊戲中的“預加載”原理,通俗來說就是提前把資源做好,需要時讀取。針對特定應用場景而設計的智能合約預編譯器,在全鏈遊戲中提供特定功能和計算能力。通過提前設計關卡資源,在實時遊戲過程中讀取,從而加快遊戲邏輯的執行速度和降低交易成本,為全鏈遊戲帶來了更高的可擴展性和效率。
Endless War
Endless War是OUTERVERSE旗下的全鏈遊戲。玩家將從某個星球上开始,利用現有的資源發展經濟和科技,打造屬於自己的艦隊,對外星系發起殖民獲得收益。玩家在遊戲中的战鬥的過程是組建自己的艦隊進行战鬥,所有的战鬥都會發生在鏈上。Battle rollup技術可用於簡化遊戲中的對战過程:通過將玩家之間的战鬥行為批量處理並匯總到一個區塊中,战鬥 Rollup 可以減少交易的數量和成本,提高遊戲的性能和可玩性。
全鏈遊戲在BTC生態落地的其他挑战
用戶 Onboarding
由於遊戲完全在鏈上,遊戲者很可能不得不為每一個遊戲中的行動的彈出窗口籤名,這將使得用戶體驗很糟糕。更安全的錢包解決這個問題的最簡辦法,但存在潛在的安全隱患。目前的遊戲开發者並不希望玩家在他們的錢包中持有高價值的物品。但隨着越來越多的玩家湧入,全鏈遊戲錢包問題遲早得解決。
在未來,全鏈遊戲可能會與账戶抽象等技術相結合,例如批量交易處理、籤名和委托籤名等能力。這意味着遊戲中的一些常規操作,如遊戲中接下來的20步不需要籤名或可以使用委托籤名來簡化。這種整合將為遊戲帶來更高效的交互和操作體驗。
另一個方面是开發人員的 onboarding,以鼓勵和吸引遊戲改裝者貢獻和擴展遊戲,這會增加遊戲中自主世界的價值。這主要是通過為开發者提供適當的工具,以及給予开發者適當的激勵來實現的。
經濟變現
RGB 對客戶端驗證規則的社會共識還可以確保資產的每個其他所有者都將應用相同的驗證規則——每個資產/狀態驗證規則都是由 Schema 在創世級別定義的,這意味着資產的每個進一步所有者仍然使用相同的 Schema 來驗證歷史記錄。因此,這裏的 Schema 實際上是保證驗證上共識,分發激勵的手段。
隨着 RGB 經濟激勵的推動,全鏈遊戲內經濟激勵將會變得更加清晰。採用社會化共識,通過 token 代幣投票的方式選舉出最優秀的 schema,項目方進行支付,授權使用,Schema 項目方獲得分成。更清晰的激勵機制還將有助於提升全鏈遊戲开發質量,確保玩家在遊戲中獲得樂趣。
結語
RGB 架構的設計深刻地重新定義了共識規則,為新時代的區塊鏈生態注入了強大的動力。在這一創新的共識框架下,RGB 實現了卓越的執行效率和卓越的隱私性,成功突破了傳統的不可能三角困境。這一突破性設計不僅為區塊鏈技術帶來了質的飛躍,同時也為全鏈遊戲的大規模普及創造了理想的條件。更為引人注目的是,RGB 擴展方案的推出不僅將 RGB 架構與閃電網絡相融合,還為开發者提供了更為便利的工具、輕客戶端以及全新的BTC生態經濟模型。這一綜合性的擴展方案使得 RGB 不僅僅是一項技術創新,更是一項全面的去中心化基礎設施的升級。在這一優化之下,受阻於以太坊的全鏈遊戲有望在比特幣生態體系中找到新的蓬勃發展的機遇。
這種融合將為全鏈遊戲的未來發展打开嶄新的篇章,帶來更多應用形態和商業模式的可能性。因此,我們對 RGB 架構及其擴展方案充滿信心,相信其將為區塊鏈行業帶來深遠的影響,推動全鏈遊戲走向更加繁榮的未來。
參考
https://www.rgbfaq.com/faq/what-is-rgb
https://www.kaleido.io/blockchain-blog/web3-gaming-on-and-off-chain-considerations
https://www.infura.io/blog/post/the-benefits-and-tradeoffs-of-application-specific-blockchainshttps://medium.com/hackernoon/ephemeral-%C2%B5blockchains-the-mayflies-tackling-data-storage-limitations-on-the-blockchain-f38bfdad51b
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC
7月23:Mt. Gox 比特幣錢包在市場緊縮的情況下轉移了價值 28.2 億美元的 BTC一個引...
悅盈:比特幣68000的空完美落地反彈繼續看跌 以太坊破前高看回撤
一個人的自律中,藏着無限的可能性,你自律的程度,決定着你人生的高度。 人生沒有近路可走,但你走的每...