作者:@MohamedFFouda / 來源: https://twitter.com/MohamedFFouda/status/171219302208599245
翻譯:火火/白話區塊鏈
之前,我討論了關于使用水平擴展來擴展應用程序合并的問題,重點放在完全基于區塊鏈的游戲上。
水平擴展在單人游戲中運作良好。對于多人游戲來說,零知識狀態通道是一種更好的擴展選擇。
1、那么,什么是零知識狀態通道呢?
狀態通道并不是新概念。實際上,它們是以太坊最早的擴展解決方案之一。
狀態通道基本上是這樣運作的:
1)獲取鏈上狀態的一部分
2)在鏈外不斷更改該狀態
3)在需要時將最終狀態提交到鏈上。
狀態通道并不是新的概念。實際上,它們是以太坊最早的擴展解決方案之一。
狀態通道的基本原理如下:
1)獲取鏈上狀態的一部分
2)在鏈下持續地更改該狀態
3)在需要時將最終狀態提交到鏈上。
顯然,這個概念是比特幣閃電網絡設計的延伸,而閃電網絡本質上是一個支付通道。
然而,如果沒有零知識證明(ZKPs),狀態通道的意義就不大。
如果沒有零知識證明(ZKPs),所有授權更改狀態(鏈外)的簽名都必須在鏈上進行驗證。
這與鏈上交易相比,并沒有顯著降低成本的效果。
零知識證明(ZKPs)輕松解決了這個問題。
狀態通道參與者只需生成一個證明(鏈外),證明他們所有的交互和簽名都是有效的。這個證明可以在鏈上廉價地進行驗證,從而節省了大量的成本。
2、那么,這與擴展多人在線游戲有什么關系呢?
許多多人游戲,例如撲克,是基于比賽的,即一組玩家創建一個游戲,參與游戲競爭,并根據游戲結果改變每個人的資產。
對于這種類型的游戲,您需要一個共享層來存儲每個人的資產。每個游戲的具體細節并不像游戲的最終結果(即資產余額的變化)那樣重要。
此外,一個玩家不能同時參與多個游戲。
這使得這些游戲成為零知識狀態通道的理想選擇。
一旦游戲開始,參與玩家的狀態就會被鎖定在合并鏈上。
在游戲過程中,玩家生成零知識證明,證明他們的行為是有效的。
這些零知識證明會遞歸地建立在之前的零知識證明之上,以此類推。
當游戲結束時,只有最終的零知識證明和相關的狀態變化被提交到應用程序合并進行結算。
由于中間交易不在應用程序合并上進行處理,這實現了高達100倍的更好擴展性。
這種方法也適用于非回合制的游戲,例如《Among Us》。
然而,在這種情況下,需要一個實體充當“臨時”排序器,對通道交易進行排序并生成中間的遞歸式零知識證明。
我將這種情景稱為“短暫的L3”。
零知識狀態通道方法的主要挑戰是通道參與者的活躍性要求。如果有一個玩家退出,可能會迫使其余玩家在應用程序合并上繼續執行,從而迫使其他玩家支付更高的成本。
確實,這種方法具有巨大的潛力,許多團隊正在朝著這個目標努力,包括 @ontropy、@PaimaStudios 和 @cartridge_gg。可以查看他們相關的技術進展。