• 沒有找到結果。

基於乙太坊智能合約的彩票系統

合本系統的需求,詳細的傳輸內容以及申訴方式會在本文第四章進行詳細說明。

第三章 基於乙太坊智能合約的彩票系統

第一節 在乙太坊上的彩票系統

區塊鏈平台擁有資料不可竄改、資料公開透明、不易被攻擊等等特性,對 於博弈產業的產業特性,有高度的需求重疊,也就是說博弈產業相對於其他產 業來說,在區塊鏈上發展的機會是高於其他產業的。我們能夠利用區塊鏈不可 竄改的特性來保證不會有惡意賭博、竄改賭注等等的事件發生;資料透明公開 性亦可保證在博弈的過程中沒有任意一方舞弊,因此對於企業方或是玩家方都 能夠做到完整的保護。接下來本論文將介紹兩種使用乙太坊區塊鏈作為平台的 樂透遊戲,並且對其進行分析與評估,在下一節將會提出我們對於區塊鏈樂透 遊戲的幾個問題。

第一段 BanFEL: A Blockchain Based Smart Contract for Fair and Efficient Lottery Scheme

BanFEL [10]在 2019 年由 Hangzhou 所提出,文中提出的二種貢獻包括創造

公平的隨機數與向智能合約提出投注請求,針對此二點我們將進行分析並評估

其可行性。

BanFEL 系統以智能合約作為投注平台並以 1000 名玩家作為限制,玩家將平面 座標一點(X,Y)進行雜湊計算繳交至智能合約上記錄,當購買時間結束,再由玩

8

家將當初選定的(X,Y)揭示至智能合約以確保沒有玩家作弊,在此智能合約將會

派發一序列號SN 作為標記中獎之用。在開獎部份,BanFEL 提出一種隨機數產 生方式,使用各個玩家的(Xi,Yi)進行計算,利用 Euler-Lagrange equation [11]對其

進行運算,可以找到一個方程式F(x) = a0 + a1 * x + a2 * x^2 + a3 * x^3 + …. + an

* x^n 符合所有玩家提出的(X,Y),得到所有在 F(x)內的係數,並以此係數作為

隨機數使用,當玩家所得的序列號SN = F(a0 | a1… | an) mod 1000 即為中獎。每 一位玩家皆可以用F(xi) = yi 的方式對每一個隨機數進行驗證。

對於BanFEL 系統,有兩大問題必須解決,首先是計算隨機數的成本過高,

在文中提出計算隨機數必須要O(n^3+n)的時間複雜度,對於大量玩家的彩票系 統來說,此時間複雜度是非常龐大的,若以BanFEL 提出的實驗數據 10000 人,

產生隨機數所需時間雖然沒有在論文中所提到,在此若以10000 名玩家資料進 行Euler-Lagrange equation 計算,假設一名玩家固定需要 1us 帶入方程,則隨機 數產生就要約1000000 秒共 11 天來計算隨機數,但這充其量是在 10000 名玩家 底下的狀況,與台灣運行的彩券每期平均200 萬位玩家來看,根本是無法實現 的。

再來是玩家向智能合約投注的系統流程,對於乙太坊區塊鏈平台來說是非 常大的負荷,以目前以太坊TPS 10 的狀態來說,一日最多交易量大約為 90 萬 筆,以台灣彩券3 日一期為例,一次遊戲將佔據 74%區塊鏈頻寬,導致其他區 塊鏈應用出現壅塞的情況,此種現象對於區塊鏈平台將會造成非常嚴重的影

9

響。

第二段 Quanta Lottery

Quanta [12]是目前在生活中有實踐的區塊鏈彩票系統,Quanta 在 2015 年開 始投入博弈產業並在區塊鏈上進行研究,Quanta Lottery 在 2018 年被發表出來,

它也是全球第一家獲得牌照的區塊鏈彩票公司,是由曼島賭博業監管委員會頒 發博彩牌照。它的系統主要分成投注與隨機數產生兩個部份,並在乙太坊區塊 鏈上運行,它也有運行ERC20 的標準發行 Token,這個 Token 是用來參與隨機 數產生的。Quanta 的隨機數生成技術是讓每個使用 Token 的玩家選擇一個號

碼,並將這些號碼進行雜湊運算,與BanFEL 一樣,玩家必須在一定時間內揭示 它所選擇的號碼讓其他玩家進行驗證,最後Quanta 在將這些數字進行簡單運算 成為中獎號碼。

對於Quanta 所實施的系統,他並沒有像 BanFEL 隨機數產生有嚴重的時間 複雜度問題,但是在開獎號碼計算上仍有一些疑慮,根據Quanta White Paper 的 論述,持有Token 並且聲明參與隨機數產生的人才能進行開獎號碼的產生,又 由於Quanta 發行的 Token 並非向所有玩家販售,而是向一些 Quanta 會員與公司

贊助者進行販售,在此可能就會有彼此勾串之疑慮。再來是Quanta 每一期的遊 戲約5000 至 50000 人進行參與,離實際生活上的玩家總數有巨大的差距,雖然 Quanta 並沒有清楚表示如何與智能合約進行投注,但在與智能合約的互動,就

會有與BanFEL 一樣的問題產生。Quanta 並沒有發表每一次遊玩所需的時間成

10

本,但相較於BanFEL 來說應是極小的。

第二節 區塊鏈彩票系統面臨的問題

從以上兩個區塊鏈彩票、樂透系統可以得知,雖然實際上是可以運行的,

但是就生活層面上無法完全取代以往的中心式彩票系統,主要原因在於玩家的 數量無法跟上現有中心式彩票系統的人數,距離完美運行區塊鏈彩票系統仍有 一段距離需要克服,在此我們提出三點區塊鏈彩票系統會遇到的問題以及其帶 來的影響,並且在下一章提出解決方法。

第一段 大量玩家投注導致區塊鏈頻寬壅塞

由上一節所提BanFEL 與 Quanta 可以得知,當任何系統會有大量人數湧入 區塊鏈進行交易動作的時候,有極大可能會造成區塊鏈的壅塞甚至崩壞。以乙 太坊區塊鏈TPS 只有 10 的狀況之下,一周內最多只能容納約 600 萬的交易數 量,因為此有限的每秒交易數量,導致像是此種樂透博奕遊戲無法發展得更加 茁壯,亦不能廣泛使用在各個國家。

我們兩個彩票系統為例,第一個是台灣彩券,台灣人口約2300 萬人,每一 期台灣彩券有3 日時間進行投注,每一期投注總數大約為 200 萬注,若要將台 灣彩券使用在乙太坊區塊鏈上,以精確數字來算,3 日的交易數量總額大約為 270 萬筆,光是台灣彩券就必須使用超過 74%的乙太坊區塊鏈頻寬,在現今區塊

鏈產業在多方面皆有應用的局勢下,佔據如此大的區塊鏈頻寬將會導致整個區 塊鏈產業停擺,全世界的乙太坊區塊鏈節點花費大量運算力在處理彩票系統

11

上,故此種樂透博弈遊戲並不適合與乙太坊區塊鏈智能合約做直接的互動。

第二個是美國彩券MegaMillion,美國總共約 3.2 億人,MegaMillion 每一期 的投注時間也是3 日,每一期的總注數超過 1000 萬以上,基於前面的敘述,

1000 萬筆投注資訊是絕對不可能被乙太坊區塊鏈平台給消化完畢,因此區塊鏈

彩票系統需要更完善的優化,大幅降低實際所使用的區塊鏈頻寬,才能在此種 博弈產業上有更好的發展。

第一段 實驗數據遠低於實際投注總數

BanFEL 以及 Quanta 彩票系統,每一期遊玩人數大約為 1000 至 50000 人,

這是在文內皆有詳細規定的,此舉對於”樂透”博奕遊戲的宗旨相繼違背,"樂透”

的最主要遊玩方式極為大量的玩家進行投注,用抽獎的方式去決定誰是中獎玩 家,獎金最終由極少數人取得。若在此去限制遊玩人數,不只無法將區塊鏈公 開透明、不可竄改的優勢帶到實際生活層面,更有可能淪為直銷、傳銷、非法 投資、非法吸金的商品。故區塊鏈彩票系統應該要能夠容納大量玩家,將以往 中心式架構彩票系統的問題解決,而非在小眾區域內發展。

第二段 無法提出有效的稽核與申訴

即便在區塊鏈資料公開透明、具有高度不可竄改的特性,仍有其相對應的 缺點存在,就因為區塊鏈是分散式的儲存系統,導致在區塊鏈上執行的結果不 正常時,如果礦工並沒有及時發現,就會導致不可逆的危機。此種情況在乙太 坊區塊鏈智能合約中又顯得更加重要,因為智能合約的執行與使用者的互動距

12

離相對於普通發送交易來說相對的更加接近,以致受到惡意攻擊的機會也大幅 度增加本篇論文探討的區塊鏈彩票系統是以龐大的資金作為基礎架構,在惡意 攻擊的防範上便顯得更為重要。

在上一節所提及的區塊鏈彩票系統BanFEL 與 Quanta 並沒有實質的對於稽 核或申訴整體遊戲做出明確的規範以及方法,此舉使得區塊鏈彩票系統依然有 中心式彩票的單一方控制整體遊戲的缺點。為有效提升彩票系統的安全性以及 公平性,稽核整體遊戲將會是其必要手段,公開所有投注資料供遊玩者進行稽 查,並能隨時提出遊戲錯誤的申訴,在遊戲發生錯誤的第一時間便能告知所有 玩家以及遊戲服務商做進一步的處理,以避免遊戲流程結束後造成的不可逆結

果致使整體系統崩潰。

相關文件