自從去年以太坊上的游戲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的不斷完善,我們也會提供一個良好的機制解決這個問題。回到我們一開始提到的棋牌游戲的例子,即使隨機數生成的問題解決了,那什么時間把這個隨機數寫入到區塊鏈上呢?我們可以把每一局游戲看成一個“會話”。每一輪會話的開始都是基于隨機數的生成,但是這個隨機數生成以后,并不是馬上就寫入到區塊鏈上。這個信息會首先記入自己“私有”的持久化空間。在每一輪游戲結束之后,這個數據才會從自己的私有空間寫入到區塊鏈上,進而既保證了游戲的公平,又不會提前泄露牌局的信息。
rekt回應關于Fantom像是中心化賺錢計劃文章問題,刪除并致歉:3月11日消息,rekt 回應此前關于發布Fantom 像是中心化的賺錢計劃文章問題,并表示向所有讀者和受影響的協議道歉,同時刪除該文章。
rekt 此前發布文章表示,疑似由 Fantom 基金會控制的單一地址在過去 5 個月中總共發送了約 7.5 億個 FTM 被間接發送到 Binance 地址,同時用于激勵計劃的 6000 萬 FTM 并未由多簽地址管理,fUSD 也存在明顯風險,并進行了具體鏈上分析。基于這些發現,Fantom 看起來更像是一個中心化的賺錢計劃。這篇文章于發布后被多位 KOL 證實缺乏研究,多數陳述都可以被證偽。[2022/3/11 13:50:23]
Rekt Capital:比特幣自2020年3月以來首次到達RSI的超賣區域:加密貨幣分析師Rekt Capital發推表示,比特幣自2020年3月以來首次到達RSI的超賣區域,當BTC已經超賣時不要賣出。據悉,RSI即relative strength index,相對強弱指數指標,根據上升和下降趨勢之間動力的比較來判斷市場價格以后的走勢。RSI小于或等于30表示情況是超賣或低估,當前RSI值為28.48。[2021/5/24 22:37:25]
聲音 | Rekt Capital:重要技術指標顯示,數種山寨幣或迎來強勢逆轉行情:加密貨幣交易員Rekt Capital發推稱,盡管我并不特別看好山寨幣,但我發現,目前有少數幾種山寨幣在200指數移動均線(200 EMA)下方徘徊。200 EMA是投資者情緒的一個長期指標,這意味著一些山寨幣可能處于強勢逆轉的邊緣。注:200 EMA是很好的衡量投資者對某種資產的情緒指標。因此,如果一種資產價格高于該指數移動,可能意味著牛市已經開始。(BeInCrypto)[2019/11/3]
立陶宛電子公司Elektromarkt投資1500萬歐元用于挖掘ETH:立陶宛著名的電子消費品和硬件經銷商Elektromarkt計劃向一家位于海港城市克萊佩達的公司投資1500萬歐元,資金主要用于挖掘ETH。[2018/2/22]
Tags:LOCKLOCBLOCBLOblockchain是什么SLOCKAngryBlockchainBLOCKBUSTER
編者按:本文來自區塊律動BlockBeats,作者:區塊律動0x2,Odaily星球日報經授權轉載。眾所周知,以太坊的下一個目標是從PoW共識轉向PoS共識,提供一個更快、更大容量的區塊鏈網絡.
1900/1/1 0:00:00作者|秦曉峰編輯|盧曉明說起幣圈老人,很多人可能會提及李笑來、沈波,但要提“龔鳴”可能很多人并不熟悉。相比真名,龔鳴的另一個藝名可能更為人所知——“暴走恭親王”.
1900/1/1 0:00:003月30日,國家互聯網信息辦公室公開發布第一批197個區塊鏈信息服務名稱及備案編號,GoFun出行主體公司北京首汽智行科技有限公司推出了區塊鏈聯動平臺.
1900/1/1 0:00:00編者按:本文來自谷燕西,星球日報經授權發布。美國時間4月4日,美國交易所控股公司邁阿密國際控股宣布同Templum達成戰略合作。兩者將共同建立一個受監管的交易所,掛牌并交易數字證券.
1900/1/1 0:00:00摘要:普通投資者較難評估此類產品的風險程度,結果導致以「保障收益、低風險」等為口號的欺詐項目出現,標準共識再次提醒投資者注意此類產品風險,并公布我們的風險評估模型以供參考.
1900/1/1 0:00:00作者|秦曉峰、盧曉明、雪姣近日,多家加密貨幣交易所發生被盜事件。據悉,3月24日凌晨,新加坡加密貨幣交易所DragonEx遭黑客入侵,導致用戶和平臺的數字資產被盜,初步估計平臺受損資產總額超40.
1900/1/1 0:00:00