Blockchain

我可以在沒有中央伺服器的情況下使用區塊鏈元素來保護排行榜的完整性嗎?

  • September 4, 2019

對於魔獸世界社區功能構思比賽,我想出了一個涉及排行榜的東西。然而,魔獸世界外掛是完全獨立的,因此通常保存排行榜的集中平台是不可能的。因此,偽造向社區發送排行榜更新是微不足道的。

我最近一直在閱讀有關區塊鏈的資訊,看來這可能是解決此問題的一種方法。區塊鏈可以保護比特幣交易的完整性,所以它似乎可以保護這一點。但是,我不能 100% 確定。

我主要關心的是避免人們通過給自己加分來濫用排行榜。但是,比特幣交易通常是在兩方之間進行的。區塊鍊是否只能處理僅涉及單方的積極交易?


技術說明:一般概念是使用者可以通過完成某些挑戰獲得積分,並在不斷更新的排行榜上相互競爭,類似於某些多人遊戲擁有最佳玩家列表(參見暗黑破壞神 2)。除了吹牛的權利之外,沒有與排行榜相關的獎勵。

然而,問題是排行榜很容易受到惡意玩家的操縱,除非他們有足夠的驗證來證明人們確實實現了他們所說的。大多數遊戲通過將排行榜託管在遠端伺服器上來解決此問題,遊戲告訴伺服器發生了什麼,伺服器檢查客戶端是否可以這樣做。

但是,在魔獸世界中,外掛僅限本地:您不能將外掛配置為伺服器來接收消息並進行中央驗證。您可以通過中央外掛消息通道從一個外掛客戶端向其他客戶端發送消息,但您不能說“只向該客戶端發送消息”,因為該通道不安全,任何外掛都可以註冊以收聽通道。此外,外掛是用人類可讀的 LUA 程式碼編寫的,可能不會被混淆。

因此,惡意使用者很容易操縱他的外掛並欺騙消息。或者甚至編寫一個外掛,為每個新生成的挑戰發送自動完成。這是分佈式排行榜的問題,它們很容易被操縱,因為沒有完整性驗證。

然而,據我了解,比特幣已經設法通過區塊鏈解決了這個問題。交易是公開記錄的,交易完成需要社區共識,任何人都可以驗證最終狀態。然而,比特幣區塊鏈處理兩方之間的交易,因此每筆交易總是有兩個來源。因此,任何單個使用者都不太可能操縱區塊鏈。

但是,對於排行榜,交易中沒有多方。每筆交易只是一個玩家根據他們機器上發生的事情在本地接收挑戰點。因此,沒有第二方可以幫助反對操縱。這是我擔心區塊鏈可能無法解決此問題的原因之一。

區塊鍊是否有一個方面可以幫助防禦這種情況?如果沒有,(雖然有點離題)是否有不同的方法可以幫助防止偽造?

一般來說,如評論中所述。您在這些遊戲中遇到的問題類似於拜占庭將軍問題,您可能會在網路中遇到不合規/惡意行為者。要在這種情況下達成共識,有多種途徑。

首先,有比特幣的方法。比特幣使每個完整節點都可以對區塊鏈進行獨立驗證。區塊鏈只是一系列導致目前狀態的過去事件的儲存。其中“過去的事件”(即交易)儲存在塊中,“鏈”是指每個後續塊都必須基於一組要求依賴於前一個塊的硬性要求。對區塊鏈的寫入權限的訪問由工作量證明控制,您必須消耗 CPU 週期來創建一個新塊,該塊隱式授予您寫入權限以附加到區塊鏈。這裡的一個關鍵區別是工作證明不需要以協作方式完成,因為它是一個Poisson過程,這意味著我的機會和其他人一樣好,假設每個人都有相同的算力。在其他選舉算法中,您可能必須協作協商,並且不一定完全容忍拜占庭失敗。

那麼如何將其中的一些元素應用到您的遊戲環境中,則由您自己決定。但原則上,是的,比特幣的元素適用於你所描述的上下文,但我再次重申,這有點“矯枉過正”。也許在遊戲的上下文中,您會將排行榜設置為具有某種條件,需要某些動作的證據來證明玩家確實做了一些事情來改變排行榜?否則,在 Lockstep 中執行此操作可能會更簡單,就像在 RTS 遊戲中一樣。

引用自:https://bitcoin.stackexchange.com/questions/45908