想像一下,你在Kusama 網絡上為PolkaWorld 理事會競選投票時,順手買了一注“彩票”,然後竟然抽中了500 個KSM!

一夜暴富,大概就是這種感覺吧?

如此刺激的場景,可能在不久的將來就會實現。因為Parity 已經開發出了一個「Participation Lottery(參與彩票)」系統,來激勵社區更多地參與鏈上治理。

昨晚,Parity 工程師Shawn Tabrizi 宣布Participation Lottery 模塊代碼已經被併入Substrate 庫中。這意味著,未來所有基於Substrate 的鏈(包括波卡、Kusama 和波卡生態里大多數的鏈)都可以使用這個功能來創建彩票,從而激勵用戶參與鏈上活動,如Staking、公投投票、為理事會競選投票等。

目前這個模塊還未進行代碼審計(已經安排上了),是否要用於Kusama 也還在討論中。不過這個功能確實還挺有意思的,所以我們先梳理了一些相關的信息給大家參考。後續如果該功能要用於Kusama,是需要經過鏈上投票的,大家也可以持續關注和投票。

以下信息來自Shawn 撰寫的Participation Lottery 文檔、Element 聊天記錄。

為什麼要做「Participation Lottery」?

「Participation Lottery」是一種可配置、可重複進行的彩票系統,最初的設計目的是提高Kusama 網絡的參與度。

Kusama 網絡目前的參與度較低,從以下這些數據可以看出:

每個理事會成員競選時的平均票數:30Society 成員數量:5對現有民主進程的投票數:20(參考值為79)

而根據Polkascan 報告顯示,目前Kusama 網絡有約17000 個活躍賬戶。

Participation Lottery的目標就是通過對用戶的參與行為給予額外激勵,來刺激Kusama 網絡的參與度。

「Participation Lottery」使用案例

想像一下...

Kusama 網絡要通過民主提案來做出一項非常重要的決定(比如說拆分?)。網絡想要刺激這項用戶對投票的參與度,所以創建了一支新的彩票。

理事會或者其他可以發起新彩票的機構使用“vote” extrinsic 來創建一支彩票。這支新彩票啟動時,會從國庫拿一筆資金來作為最初獎池的底注,比如說50 KSM。

想要參與這支彩票抽獎的用戶可以調用打包在buy_ticket extrinsic 裡的vote extrinsic(有點類似sudo 的打包調用)。

通過調用buy_ticket extrinsic 並打包底層的調用,用戶就購買了1 KSM 的彩票,彩票獎池增加1 KSM。

而對彩票不感冒的用戶也可以直接調用vote 來投票,不改變彩票的情況。

在抽獎期截止前,用戶還可以繼續Participation Lottery(抽獎期很可能會和正在發生的事件掛鉤,比如截止至投票結束,或者某一個Era/Epoch 的末尾等)。

博弈論

任何區塊鏈遊戲,都需要有合理的正向激勵和負向激勵,來讓用戶按照設計者的想法行事。

正向激勵

彩票的底注(seed)來自國庫資金。結果是,彩票的任何參與方都會有正向期望值(EV)。

我們可以使用 seed 即底注的金額來控制參與率。底注越高,更多參與者的EV 也就越高。

通常來說,人類都喜歡買彩票。以很少的成本贏到一大筆錢的機會,可能會讓人無法做出明智的經濟決策。

該彩票系統可能會激發一些對背後的行為不感興趣,但僅對Participation Lottery 感興趣的用戶的“無意識” 參與。據我所知,這在任何參與度激勵機制中都是不可避免的。但是我認為平均而言,該網絡將從更高的整體參與度中受益。

負向激勵

區塊鏈彩票的一個潛在問題是,它在某種程度上容易受到Sybil 攻擊。即假設參與有著正向期望值,則用戶可以買很多張彩票,來增加獲勝機會。

但是,這也可以通過費用和seed 金額來限制和控制。用戶想要成功完成此類攻擊,需要至少將等同於彩票價格的金額轉到N 個帳戶中。然後,這N 個帳戶中的每一個都需要提交打包的extrinsic,來進行底層調用,所以除了彩票價格,這個操作還會涉及自身的交易費用。

這意味著這類攻擊將花費N * (transfer_fee + account_creation_fee + call_fee) 個代幣。如果國庫的底注低於此金額,則用戶不再有激勵去參與。此外,對於這樣的用戶來說利潤非常微薄,並且隨著更多用戶加入,利潤將繼續惡化。

其他重要因素

要完成抽獎,我們需要能夠隨機選擇中獎者。 Substrate / Kusama 提供了鏈上隨機性來用於網絡其他部分。在某些不合理的彩票獎池中,它可能促使出塊者阻止不是彩票中獎者的區塊,或者是其他一些不利的激勵措施…… 這一點可能需要W3F 研究團隊的反饋,他們會更多地了解使用這種隨機性的限制。

當然了,用戶是無法直接操縱抽獎結果的。

網絡效應

將彩票附加到特定的extrinsic,可能會驅使彩票參與者的行為發生下列變化。

有更多的用戶在重要的投票中發表自己的見解。 (vote)用戶會定期改變/更新其驗證人提名。 (nominate)有更多用戶加入Society 或其他類似的社會實驗。 (put_bid)鼓勵就未來的更新和改變進行頭腦風暴。 (propose_bounty)有更多用戶更改其對候選理事會成員(electionPhragmen,vote)的支持等等…

彩票如何實現

本節介紹如何實現「Participation Lottery」。一些實現細節是“已知的”,而有些細節是“待定的” 或者叫“未知的”。

已知的細節

將創建一個管理這些拍賣的新pallet。該pallet 可配置為允許runtime 中的任何調用成為購票的來源。可從資金來源(如國庫)中分配seed 金額(可配置)來啟動彩票。用戶將支付ticket_price(可配置)來參加彩票抽獎,這些錢會進入獎池中。中獎者的選擇將發生在用戶無法控制的未來區塊,並使用鏈上隨機性選擇中獎者。更多內容待更新…

待定的細節

抽獎可以定期進行,也可以每次都通過治理來發起。可以一次性把多個extrinsic 列入某次抽獎的白名單。可以設置參與限制為每個抽獎限參加1 次,或者每個抽獎的每個extrinsic 限參加1 次。可能會有不止一個彩票中獎者,可能支付的獎金會較少。上一張彩票可用於下一張彩票的押注。更多內容待更新…

寫在最後:PolkaWorld 的看法

我們都知道波卡採用的是鏈上治理,這要求代幣持有者在一些網絡的大事上積極參與和表態。比如去年DOT 的拆分就在波卡社區中掀起了現象級的討論,最後以接近1/3 的投票率在鏈上治理屆名垂青史。

然而上面提到了Kusama 的參與率數據,也確實挺慘淡的。參與度的問題一直是鏈上治理的一塊心病,連Kusama 也逃不掉。可以說,在鏈上治理這個領域,波卡/Kusama 目前雖然已經走在了前面,但也是在摸著石頭過河。好在,官方和社區都一直在想辦法。這個「Participation Lottery」系統就是一次全新的嘗試,據我所知這樣把抽獎和鏈上治理相結合還是有史以來第一次。

這個機制帶來的影響,在真正實施下去之前誰也無法完全預測。總之,我們還是很期待它在波卡生態中能盡快被採用,不管是在波卡/Kusama 還是其他Substrate 鏈上。也希望這一天到來時,社區的小伙伴們都可以去親身體驗一下。我們也會繼續跟進這個功能,第一時間出教程的。

如果你想更詳細地了解「Participation Lottery」或者提出疑問,可以查看其文檔:

https://hackmd.io/68rduBydTEy4X-ULevd90g。