自從去年以太坊上的游戲CtyptoKitties流行起來以后,很多人發現了智能合約的新玩法——做游戲!在手機游戲市場中,棋牌類的游戲占領了很大的市場,比如斗地主、德州撲克等。這類游戲有一個共同的特點:在每輪游戲開始前,需要通過生成隨機數來洗牌,來保證每一局牌面的隨機性。通過智能合約來實現這類棋牌游戲遇到的一個問題就是:因為智能合約包括區塊鏈上的數據都是開源的,一旦本輪洗牌使用的隨機數在本輪游戲結束前記錄到區塊鏈上,那玩家就可以根據這個隨機數計算出所有其他玩家的牌面,那這個洗牌也就失去原本的意義,游戲也就無法進行下去了。這種情況在區塊鏈上如何解決呢?本文我們就一起來探討下智能合約的數據存儲問題。一、棋牌游戲的洗牌算法大家可能都玩過斗地主或者德州撲克一類的棋牌游戲。在這些游戲里,每一局開始時,玩家手里的牌面都是不一樣的,這個是怎么實現的呢?這個問題在計算機領域被稱為“洗牌算法”,抽象來講,它描述的問題是如何對一個有限集合生成一個隨機排列的算法。這個算法生成的隨機排列是等概率的,同時這個算法又需要非常高效。我們來看一下比較流行的Fisher–Yatesshuffle洗牌算法的解決方案:1-N張牌存儲在原始列表list1中隨機洗好的牌存儲在新列表list2中隨機生成一個數字i(1到剩下的數字(包括這個數字))從低位開始,得到第i個數字(這個數字還沒有被取出),取出,并存在list2中重復第三步,重新生成i,直到所有數字都被取出取出的這個列表,就是原始列表的隨機排序列表,完成算法上述算法用偽代碼表示如下:在這個算法里,隨機數i是非常重要的一個角色,直接決定了最后各個玩家手里的牌面。如果這個數字暴露,那就可以很容易的推測出最后的洗牌結果。二、智能合約的隨機數問題區塊鏈由于自身的公開透明以及不可篡改特性,沒有給莊家留下作弊的空間。因此基于區塊鏈的智能合約來實現一個棋牌游戲能夠非常好的保證玩家的利益,也是一個非常有前景的應用。問題是如何通過智能合約生成及保存隨機數,才能保證游戲的公平性以及玩家的利益?我們首先對目前以太坊上游戲合約的情況進行一個分析,然后提出了我們的思考。1.不安全的隨機數生成方式基于區塊內的某些變量區塊中記錄了很多關于區塊的元信息,比如block.coinbase,block.difficulty,block.gaslimit,block.number,block.timestamp等。很多人覺得可以基于這些元信息來生成隨機數,但其實這個不安全的。首先如果這個隨機數可以產生足夠的利益,那么維持區塊鏈運轉的礦工就有修改這些數據的動機。其次如果攻擊者想要進行攻擊,也可以基于這些信息可以同時生成這個隨機數。基于某些已生成區塊的blockhash每一個區塊都有自己的blockhash,EVM也通過block.blockhash()提供了獲取blockhash的接口。在目前很多的智能合約里,上一個區塊的blockhash,也就是block.blockhash(block.number-1)經常被用來生成隨機數。這種方案的缺點也是非常明顯的:如果攻擊者想要進行攻擊,他完全可以同樣基于上一個區塊的blockhash生成具有同樣隨機數的智能合約。2.如何更安全的生成和保存隨機數我們在之前的文章里解釋過預言機的問題,預言機是連接區塊鏈世界和真實世界信息的一個橋梁。我們既可以自己實現一個隨機數生成器,然后通過預言機導入智能合約,也快成直接調用類似Random.org之類的網站獲取真正的隨機數。關于這個方面,隨著EKT的不斷完善,我們也會提供一個良好的機制解決這個問題。回到我們一開始提到的棋牌游戲的例子,即使隨機數生成的問題解決了,那什么時間把這個隨機數寫入到區塊鏈上呢?我們可以把每一局游戲看成一個“會話”。每一輪會話的開始都是基于隨機數的生成,但是這個隨機數生成以后,并不是馬上就寫入到區塊鏈上。這個信息會首先記入自己“私有”的持久化空間。在每一輪游戲結束之后,這個數據才會從自己的私有空間寫入到區塊鏈上,進而既保證了游戲的公平,又不會提前泄露牌局的信息。
SeekTiger旗下Tiger DAO VC平臺正式上線:據官方消息,SeekTiger生態的Venture DAO組織 Tiger DAO VC已經在6月21日上線,任何持有DAO勛章的社區用戶將能夠獲得提案、投票、治理、質押、分紅等權益。
據了解,Tiger DAO VC是一個依托于Tiger DAO和Tiger Capital的一個專注于發掘區塊鏈優質項目的平臺,除了資金支持外,還將提供Tiger DAO超級投后支持計劃,包括戰略咨詢、資源合作、市場增長、資本關系等,為項目全生態賦能。Tiger DAO VC將同更多優秀項目達成戰略投資合作伙伴關系,相互賦能,促進行業生態健康發展。[2022/6/21 4:42:49]
RbC Office創始人韓如初加入區塊鏈公司Ekta擔任合伙人:6月20日消息,RbC Office創始人韓如初已加入區塊鏈公司Ekta擔任合伙人。韓如初此前曾任New Bloc高級投資總監,ETC亞太首席戰略官,BigONE市場副總裁。
據悉,Ekta總部位于巴厘島,目前正在構建一個連接數字領域和現實世界的區塊鏈系統,近日,Ekta公司完成6000萬美元融資,籌集資金將用于加速推動該生態的建立。
RbC Office成立于2021年,是一家國際區塊鏈服務機構,專注于創新技術和區塊鏈相關行業投融資、咨詢等領域技術支持和一站式解決方案提供。[2022/6/20 4:40:42]
rektguy系列NFT 24小時交易額增幅超100%:金色財經消息,據NFTGO數據顯示,rektguy系列NFT 24小時交易額為1,940,733美元,增幅達101.55%。此外,該系列NFT當前總市值為13,146,294美元,地板價為0.679ETH。[2022/5/29 3:48:02]
墨西哥零售巨頭Grupo Elektra將增加比特幣閃電支付:9月6日消息,墨西哥零售業巨頭GrupoElektra將支持比特幣閃電網絡。億萬富翁Ricardo Salinas Pliego表示,新的支付功能將很快進入Electra的商店。SalinasPliego是墨西哥第三大富豪,估計凈資產為154億美元,長期以來一直是比特幣的堅定支持者。去年11月,他曾宣布將其投資組合的10%投資于比特幣。(U.today)[2021/9/6 23:03:21]
Tags:LOCBLOC區塊鏈BLOBlockVoiceSealBlock Tokenruff幣區塊鏈最新消息PDX Blockchain
作者:DD君歡迎添加作者微信btcbtc555與他進行交流!未經授權禁止轉載!人類文明總是不斷向前發展的,從飛鴿傳書,到電話,再到現在的QQ、微信.
1900/1/1 0:00:00編者按:本文來自區塊鏈大本營,作者:喬治,星球日報經授權發布。當下,越來越多的互聯網搭車用戶開始抱怨“打車難”、“打車貴”,并引發了新一輪對互聯網打車軟件的熱議.
1900/1/1 0:00:00周報摘要上周全球數字資產市場回暖,市值上漲3.33%,交易量下跌0.45%。其中,TOP5日均市值較上一周微漲1.85%。全球30家代表性交易所,新上交易對14個.
1900/1/1 0:00:00Odaily星球日報譯者|Moni對于普通投資者來說,他們認為的加密貨幣行業進步可能只停留在價格上漲這個層面上,但是從開發人員的角度,或許對未來加密行業的更新和發展有著不一樣的看法.
1900/1/1 0:00:004月11日,Blockstack旗下子公司BlockstackTokenLLC對外宣布,計劃根據美國SEC的A+框架,在SEC監管下進行5000萬美元的代幣融資.
1900/1/1 0:00:00近期,#DelistBSV正在成為加密貨幣圈新的話題。顯然,幣安成為了這一號召的持旗者。4月15日,幣安發布公告,宣布將在04月22日18:00停止交易并下架BCHSV.
1900/1/1 0:00:00