區塊鏈投注演算法
① 區塊鏈:防篡改的哈希加密演算法
同學A和B在教室里拋硬幣,賭誰打掃衛生,正面朝上,則A打掃,反面朝上,則B打掃,這個策略沒有什麼問題。
然而,如果把情景遷移到網路聊天室,A和B同樣進行拋硬幣的游戲,估計B就不會答應了,因為當A拋了硬幣,B不論是猜
正面還是反面,A都可以說B猜錯了。
怎麼解決這個問題呢?要不先給拋硬幣的結果加密,B再猜?這個方法可以試一下。
假設任意奇數代表硬幣正面,任意偶數代表反面。A想一個數375,然後乘以一個258,把其結果告訴B為96750,並聲明A想的375為密鑰,由他保管。
在接下來驗證結果時,A可以謊稱258為他想的數,375為密鑰,A還是立於不敗之地。那如果A事先把密鑰告訴B呢?B可以直接算出原始數字,失去了保密作用。
這種知道加密方法就知道了解密方法顯然行不通,那有沒有一種方法,知道了加密方法仍然無法恢復原文呢?
顯然是有的,在加密過程中加入不可逆運算就OK了。A設計新的加密方式:
假設A想的數是375,進行加密:
B拿到結果120943,但他幾乎不能根據120943反算出密匙375。
如果B想要驗證A是否說謊:
終於可以拋硬幣了……
這種丟掉一部分信息的加密方式稱為「單向加密」,也叫 哈希演算法 。
有個問題:
這個是有可能的,但可以解決,就是增加上述演算法的難度,以致於A很難很難找到。
根據以上表述,一個可靠的哈希演算法,應該滿足:
密碼學中的哈希函數有3個重要的性質,即 抗碰撞性、原像不可逆、難題友好性 。
碰撞性,就是指A同學事先找出一奇一偶使得哈希結果一致,在計算上是不可行的。
首先,把大空間桑拿的消息壓縮到小空間上,碰撞肯定是存在的。假設哈希值長度固定為256位,如果順序取1,2,…2 256 +1, 這2 256 +1個輸入值,逐一計算其哈希值,肯定能找到兩個輸入值使得其哈希值相同。
A同學,看到這里時, 請不要高興的太早。因為你得有時間把它算出來,才是你的。為什麼這么說呢?
根據生日悖論,如果隨機挑選其中的2 130 +1輸入,則有99.8%的概率發現至少一對碰撞輸入。那麼對於哈希值長度為256為的哈希函數,平均需要完成2 128 次哈希計算,才能找到碰撞對。如果計算機每秒進行10000次哈希計算,需要約10 27 年才能完成2 128 次哈希計算。
A同學,不要想著作弊了,估計你活不了這么久。當然如果計算機運算能力大幅提升,倒是有可能。
那麼完整性還用其他什麼用途呢?
用來驗證信息的完整性,因為如果信息在傳遞過程中別篡改,那麼運行哈希計算得到的哈希值與原來的哈希值不一樣。
所以,在區塊鏈中,哈希函數的抗碰撞性可以用來做區塊和交易的完整性驗證。
因為一個哈希值對應無數個明文,理論上你並不知道哪個是。就如,4+5=9和2+7=9的結果一樣,知道我輸入的結果是9,但能知道我輸入的是什麼數字嗎?
如果,對消息m進行哈希計算時,在引入一個隨機的前綴r,依據哈希值H(r||m),難以恢復出消息m,這代表該哈希函數值隱藏了消息m。
所以,B同學,根據結果想反推出原數據,這是不大可能的事,就猶如大海里撈針。
難題好友性,指沒有便捷的方法去產生一滿足特殊要求的哈希值。是什麼意思呢,通俗的講,就是沒有捷徑,需要一步一步算出來。假如要求得到的哈希結果以若干個0開頭,那麼計算找到前3位均為0的哈希值和找到前6位均為0的哈希值,其所需的哈希計算次數是呈一定數量關系。
這個可以怎麼用呢?在區塊鏈中,可以作為共識演算法中的工作量證明。
主要描述了哈希函數的3個重要性質: 抗碰撞性、原像不可逆、難題友好性 。
因為這些重要性質,區塊鏈中的區塊和交易的完整性驗證、共識演算法的工作量證明等功能用哈希函數來實現。
[1].鄒均,張海寧.區塊鏈技術指南[M].北京:機械出版社,2016.11
[2].長鋏,韓鋒.區塊鏈從數字貨幣到信用社會[M].北京:中信出版社,2016.7
[3].張健.區塊鏈定義未來金融與經濟新格局[M].北京:機械工業出版社,2016.6
② 鍖哄潡閾炬寲鐭跨畻娉曟湁鍑犵嶅憿
SHA-256錛歋HA鏄鎸囧畨鍏ㄦ暎鍒楃畻娉曪紝SHA-256鏄鐢盢SA璁捐$殑SHA-2鍔犲瘑鏁e垪鍑芥暟鐨勬垚鍛樸傚姞瀵嗘暎鍒楀嚱鏁版槸瀵規暟瀛楁暟鎹榪愯岀殑鏁板﹁繍綆楋紝閫氳繃灝嗘墍璁$畻鐨勨滄暎鍒椻濅笌宸茬煡鐨勬暎鍒楀艱繘琛屾瘮杈冿紝浜轟滑鍙浠ョ『瀹氭暟鎹鐨勫畬鏁存с 鍗曞悜鏁e垪鍙浠ヤ粠浠繪剰鏁版嵁鐢熸垚錛屼絾涓嶈兘浠庢暎鍒楃敓鎴愭暟鎹銆傚湪姣旂壒甯佺瓑澶氫釜鍖哄潡閾炬瘮濡備腑鐨勫氫釜鐜鑺傝浣跨敤銆傛瘮濡傦細Bitcoin(BTC)銆丅itcoinCash(BCH)銆丳eercoin(PPC)銆乑etacoin(ZET)銆乁niversal(UNIT)銆丏eutsche eMark(DEM)銆丄UR-SHA(AUR)銆丏GB-SHA(DGB)銆係crypt錛歋crypt鏄涓涓鍐呭瓨渚濊禆鍨嬬殑hash綆楁硶銆傛湁瓚g殑鏄綆楁硶鏄鐢辮憲鍚嶇殑FreeBSD榛戝Colin Percival涓轟粬鐨勫囦喚鏈嶅姟Tarsnap寮鍙戠殑銆傚唴瀛樹緷璧栭【鍚嶆濅箟浼氬崰鐢ㄥ緢澶氬唴瀛樼┖闂達紝浠庤屽噺灝慶pu璐熻嵎銆傜敱浜庡叾鍐呭瓨渚濊禆鐨勮捐$壒鍒絎﹀悎褰撴椂瀵規姉涓撲笟鐭挎満鐨勮捐★紝鎴愪負鏁板瓧璐у竵綆楁硶鍙戝睍鐨勪竴涓涓昏佹瘮濡傛柟鍚戙傛瘮濡傦細Litecoin(LTC)銆丏ogecoin(DOGE)銆丏Notes(NOTE)銆丗lorin(FLO)銆丟ulden(NLG)銆丏GB-Scrypt(DGB)銆丟ameCredits(GAME)銆乂erge-Scrypt(XVG)銆丒insteinium(EMC2)銆丄UR-Scrypt(AUR)銆俋11錛 X11綆楁硶鐨勬帹鍑哄拰litecoin閲囩敤鐨凷crypt綆楁硶鐩鐨勪竴鏍鳳紝涓轟簡鎶靛埗ASIC鐭挎満鐨勬墿寮犮俋11灝辨槸浣跨敤浜11縐嶅姞瀵嗙畻娉曪紙BLAKE, BMW, GROESTL, JH, KECCAK, SKEIN, LUFFA, CUBEHASH, SHAVITE, SIMD, ECHO錛夈傛暟鎹闇瑕佽繘琛11嬈′笉鍚岀畻娉曠殑榪愮畻錛屼竴鏂歸潰鎻愰珮瀹夊叏鎬т竴鏂歸潰澧炲姞璁$畻閲忋傛瘮濡傦細Dash(DASH)銆丳rime-XI(PXI)銆丱nix(ONX)銆丼tartcoin(START)銆丆reamcoin(CRM)銆両nfluxcoin(INFX)銆丮onetaryUnit(MUE)銆丮onoeci(XMCC)銆侲quihash錛欵quihash鏄鐢卞崲媯鍫″ぇ瀛﹁法瀛︾戜腑蹇冨紑鍙戠殑闈㈠悜鍐呭瓨鐨勫伐浣滈噺璇佹槑(PoW)綆楁硶銆傜畻娉曠殑鏍稿績鐐規槸鍩轟簬騫誇箟鐢熸棩闂棰(Generalized Birthday Problem)銆傛垜涓浜烘槸姣旇緝鐪嬪ソ榪欎釜綆楁硶鐨勶紝浠栨彁楂樹簡瀹氬埗紜浠(ASIC)鐨勬垚鏈鏁堢泭銆傛瘮濡傦細Zcash(ZEC)銆乑encash(ZEN)銆丅itcoinGold(BTG)銆乑classic(ZCL)銆丠ush(HUSH)銆並omodo(KMD)銆俆ensority錛歍ensority鏄涓縐嶆柊鍨嬬殑PoW鍏辮瘑綆楁硶錛岀敱姣斿師閾劇巼鍏堟彁鍑猴紝灝嗙煩闃靛拰寮犻噺璁$畻鋙嶅叆鍒板叡璇嗙畻娉曡繃紼嬩腑錛屼粠鑰屽疄鐜癆I鍔犻熻姱鐗囧彲浠ュ弬涓庡尯鍧楅摼鍏辮瘑璁$畻銆俆ensority鍏辮瘑綆楁硶鐨勭壒鑹插湪浜庣畻娉曡繃紼嬩腑絀挎彃浜嗗緢澶氱殑鐭╅樀鐢熸垚錛岀煩闃靛彉鎹錛岀煩闃典箻娉曠瓑榪愮畻錛岃岃繖浜涜兘鍔涘湪浜哄伐鏅鴻兘鍔犻熶腑涔熶細棰戠箒浣跨敤錛屽悓鐞嗗彲寰楋紝鏀鎸佺煩闃佃繍綆楃殑鐭挎満鍙浠ョ敤浣滀漢宸ユ櫤鑳界殑鍔犻熸湇鍔★紝浠ユゆ潵鎻愬崌鐭挎満鐨勮祫婧愬埄鐢ㄧ巼銆傛瘮濡傦細Bytom(BTM)銆丷RChain(RRC)銆侼eoScrypt錛歂eoScrypt鏄鏇誇唬Scrypt鐨勪笅涓浠e伐浣滈噺楠岃瘉綆楁硶銆 瀹冩秷鑰楃殑鍐呭瓨灝戜簬鍚庤咃紝浣嗗唴瀛樻洿瀵嗛泦錛屽瘑鐮佹洿寮恆 灝嗘祦瀵嗙爜綆楁硶Salsa20錛孲alsa20鏀硅壇鐨凜haCha20錛孊LAKE2s鍜孎astKDF鐨勫姛鑳界粨鍚堝埌涓涓瀹夊叏鐨凙SIC鎶楁цВ鍐蟲柟妗堜腑銆傛瘮濡傦細GoByte(GBX)銆両nnova(INN)銆乀rezarcoin(TZC)銆乂ivo(VIVO)銆丆rowdcoin(CRC)銆丳hoenixcoin(PXC)銆侺yra2REv2錛歏ertcoin浣跨敤Lyra2REv2浣滀負宸ヤ綔閲忚瘉鏄庣畻娉曟敼榪汢itcoin錛岀洰鐨勫悓鏍蜂篃鏄涓轟簡鎶墊姉ASIC銆俈ertcoin鍚慡crypt綆楁硶寮曞叆浜嗏滆嚜閫傚簲N鍥犲瓙鈥濄 Scrypt鐨凬鍥犲瓙緇勪歡鍐沖畾璁$畻鏁e垪鍑芥暟闇瑕佸氬皯鍐呭瓨銆 Vertcoin鐨凬鍥犲瓙闅忕潃鏃墮棿鐨勬帹縐昏屽炲姞錛屼互闃繪㈠紑鍙戜笓鐢ㄧ殑鈥滈噰鐭庫濈‖浠跺苟榧撳姳鍦ㄤ釜浜虹敤鎴風殑鐢佃剳涓婂垎鍙戦獙璇佷換鍔°傜洰鍓嶇殑LyraREv2鐢盉LAKE, Keccak, CubeHash, Lyra2,Skein 鍜 Blue Midnight Wish 鍝堝笇綆楁硶緇勬垚銆傛瘮濡傦細Vertcoin(VTC)銆丮onacoin(MONA)銆乂erge-Lyra2REv2(XVG)銆侲thash錛欵thash灝咲AG錛堟湁鍚戦潪寰鐜鍥撅級鐢ㄤ簬宸ヤ綔閲忚瘉鏄庣畻娉曪紝閫氳繃鍏變韓鍐呭瓨鐨勬柟寮忛樆姝涓撶敤鑺鐗囷紝闄嶄綆鐭挎満鐨勪綔鐢ㄣ 榪欎釜綆楁硶鏄浠ュお鍧(Ethereum)鐜伴樁孌電殑榪囧害綆楁硶錛屽墠韜鏄疍agger-Hashimoto銆侰asper the Friendly Finality Gadget(FFG)瀹炵幇鍚庝互澶鍧婂皢浠庢傜巼鏈緇堟у彉鎴愮『瀹氭渶涓鎬с傛瘮濡傦細Ethereum(ETH)銆丒thereumClassic(ETC)銆丳irl(PIRL)銆丮usicoin(MUSIC)銆丒xpanse(EXP)銆丮etaverse(ETP)銆俋11Gost錛氫粙緇嶏細x11GOST鐢10涓猄HA3綆楁硶鍜孲tribog鍝堝笇鍑芥暟緇勬垚 鏁e垪鍊礆紝鍚勪釜綆楁硶閫愪釜榪涜岃$畻鏈夋晥鐨勯槻姝浜咥SIC鐨勮幏鑳滄傜巼銆傛瘮濡傦細Sibcoin(SIB)銆侰ryptoNight錛欳ryptoNight鏄涓縐嶅伐浣滆瘉鏄庣畻娉曘 瀹冭璁捐′負閫傜敤浜庢櫘閫氱殑PC CPU錛屽埄鐢ㄧ幇鏈塩pu鐨勪紭鍔匡紙鏈鍦癆ES鍔犲瘑鍜屽揩閫64浣嶄箻娉曞櫒 - 璋冩暣涓轟嬌鐢ㄤ笌鑻辯壒灝擟PU涓婄殑姣忔牳蹇冧笁綰ч珮閫熺紦瀛樺ぇ灝忕浉褰撶殑鏆傚瓨鍣錛屽ぇ綰2MB錛夛紝鍥犳CryptoNight鍙鑳借繘琛孋PU鎸栨帢錛岀洰鍓嶆病鏈変笓闂ㄧ殑閲囩熆璁懼囬拡鍏跺仛鍑鴻捐° CryptoNight渚濊禆闅忔満璁塊棶鎱㈤熷唴瀛樺苟寮鴻皟寤惰繜渚濊禆鎬э紝姣忎釜鏂板潡閮藉彇鍐充簬鎵鏈変互鍓嶇殑鍧楋紙涓嶅儚scrypt錛夈傛瘮濡傦細Dinastycoin(DCY)銆丏inastycoin(DCY)銆丒lectroneum(ETN)銆並arbo(KRB)銆丅ytecoin(BCN)銆丮onero(XMR)銆侭lake(14r)錛欱LAKE鍜孊LAKE2鏄鍩轟簬Dan Bernstein鐨凜haCha嫻佸瘑鐮佺殑瀵嗙爜鏁e垪鍑芥暟錛屼絾鏄鍦ㄦ瘡涓狢haCha鍥炲悎涔嬪墠娣誨姞涓涓杈撳叆鍧楃殑鎺掑垪鍓鏈錛屽叾涓鍖呭惈涓浜涘父閲忓紓鎴栥侭LAKE鐨勪袱涓涓昏佸疄渚嬫槸BLAKE-256鍜孊LAKE-512銆 瀹冧滑鍒嗗埆浣跨敤32浣嶅拰64浣嶅瓧錛屽苟鐢熸垚256浣嶅拰512浣嶆憳瑕併傛瘮濡傦細Decred(DCR)銆
鎴戜滑閫氳繃浠ヤ笂鍏充簬鍖哄潡閾炬寲鐭跨畻娉曟湁鍑犵嶅憿鍐呭逛粙緇嶅悗,鐩鎬俊澶у朵細瀵瑰尯鍧楅摼鎸栫熆綆楁硶鏈夊嚑縐嶅憿鏈変竴瀹氱殑浜嗚В,鏇村笇鏈涘彲浠ュ逛綘鏈夋墍甯鍔┿
③ 有沒有大佬告訴我 區塊鏈游戲的運作原理 用最簡潔明了的語言描述區塊鏈游戲。
區塊鏈游戲,主要是指Dapp中屬於游戲類的區塊鏈應用,需要和各種區塊鏈公鏈有一定程度上的交互。區塊鏈游戲從17年11月開始逐漸興起,發展歷史極為短暫,與成熟游戲相比,目前的玩法也相當簡單。在業界人士看來,很多游戲甚至只是個裹著游戲外衣的資金盤。
根據Cryptogames的分類,目前上線的區塊鏈游戲中,hot potato、收藏交易、菠菜和ponzi是最主要的游戲玩法。數量最多的要屬於hot potato類游戲,包括近期火爆的兩款游戲都是這個類型的 - CryptoCelebrities(加密名人)和 CryptoCountries(加密世界)。收藏交易類有35款,居第二,主要代表作為CryptoKitties(加密貓)。菠菜和ponzi類共17款,居第三,明星產品分別為EtherRoll和Etheremon。
區塊鏈游戲所使用的主題也是五花八門,從貓、狗、龍、豬等各種動物,到人、車、國家、球隊等等各種各樣的題材。
區塊鏈游戲1.0時代
時間:2017年11月到12月
主要玩法:收藏+交易
代表作:CryptoKitties、CryptoPunks
區塊鏈技術給玩家的數字資產賦予了唯一性。這便逐漸了產生了NFT(non-fungible tokens,不可替代的令牌)概念,人們在區塊鏈游戲中的資產唯一性和稀缺性不會隨游戲本身而改變。最先應用這個概念的是LarvaLabs在17年6月推出的CryptoPunks。系統隨機生成一萬張朋克頭像,通過智能合約放在以太坊上,免費發放給玩家後供玩家交易。
當Axiom Zen工作室在NFT的基礎上增加屬性、繁殖和拍賣功能後,Cryptokitties爆款便誕生了。人們可以購買不同屬性的小貓,與別的貓「繁衍後代「,或者將自己的貓通過荷蘭式拍賣賣出。擁有稀缺獨特基因的小貓被人們瘋狂追捧,獲得了相當高的溢價。
人們在Cryptokitties的基礎上繼續開發,添加了飾品和戰斗功能,也增加了掘金、喂養、奪寶等玩法。
區塊鏈游戲2.0時代
時間:2017年12月到2018年1月
主要玩法:類Ponzi
代表作:Etheremon
剛開始時,Etheremon的玩法一開始非常簡單粗暴,在玩家買了某個寵物之後,後面只要有人購買相同的寵物,玩家就可以獲得一小部分eth獎勵。游戲團隊在一周內迅速獲得了2000ETH左右的利潤。然後徹底改變玩法,成功轉型為收藏+戰斗的游戲。這種類Ponzi的玩法迅速被其他廠家所效仿,出現了以太車、ethertanks等眾多模仿者。
區塊鏈游戲3.0時代
時間:2018年1月
主要玩法:固定售價、強制漲價的hot potato模式
代表作:CryptoCelebrities, CryptoCountries
玩家購買加密名人(中本聰,馬斯克等)和加密國家(日本,美國等),由於資產的唯一性,後續玩家只能用更高的價格從資產擁有者中購買,價格強制漲價,平台賺取一部分差價。目前最高價格的國家是日本,大約700多ETH,最貴的名人是Elon Musk,」身價「大約200ETH。
區塊鏈游戲4.0時代
時間:2018年2月
主要玩法:多種機制結合
代表作:World.Mycollect,Cryptocities
游戲中採用了多級銷售和分成,玩家探索(隨機性),抽獎,資源獨特性等多種玩法。比如在Cryptocities中,玩家可以購買國家、大洲和世界來進行「征服」。征服了世界的玩家可以獲得大洲和國家交易額的1%稅收,征服大洲的玩家可以獲得國家交易額1%的稅收。而征服國家的玩家在未來可以獲得其下屬城市的交易額1%稅收。玩家在探索新城市的時候,有幾率探索出寶石,獲得寶石即可獲得ETH獎勵。
同時期興起的,還有菠菜類游戲。區塊鏈的高透明度讓它們更容易獲得投資者信任。比較有名的有Etheroll和Vdice,玩法簡單粗暴,玩家花費一定的ETH投注某個數字,當系統隨機生成的數字小於該數字時,就可以獲得收益。
除此之外,還有RPG(EtherCraft),戰斗游戲(Etherbots)和二次元(以太萌王)等。
2
區塊鏈游戲的優勢和劣勢
縱觀這些成功的案例,我們發現區塊鏈游戲確實有著獨特的優勢:
較高的信任度:通過開源合約快速建立信任,使用過程完全透明,信息完全對稱。公正性:可以做到數據無法篡改、規則永遠不變。資產屬於玩家個人:玩家資產不會隨游戲的衰落而流失。具有極強的社區屬性:區塊鏈本身具有較強的交易和社區屬性。
當然,目前區塊鏈游戲也處於萌芽時期,有著明顯的缺點:
無法及時交互:區塊鏈交易存在著不確定的等待時間和擁堵的可能,很難在玩家之間形成及時交互。發送指令費用較高:每次發送指令都需要消耗GAS,而ETH的價格仍然使得GAS費用顯得比較高昂。開發環境不成熟:目前以太坊的虛擬機和編程語言solidity已經是眾多公鏈中開發環境最為成熟的一個了。但是其和其他熱門語言比起來還非常的不成熟。
3
游戲化將助推區塊鏈落地
在傳統的桌面網路游戲中,廠商不斷激勵新進玩家導致了通貨膨脹,一個游戲賬號所有資產的實際價值往往遠低於玩家的投入。手游出現後,道具綁定賬號,賬號綁定身份證的模式很快得到了普及。這也使得一旦玩家決定離開某個游戲,就必須放棄所有在游戲中的虛擬資產。區塊鏈技術的出現和不斷成熟,將使得游戲規則去中心化制定和虛擬資產去中心化儲存從技術層面變得可行。而虛擬資產上鏈的便捷性,也使區塊鏈在游戲場景中更容易落地。
Cryptogames認為,區塊鏈游戲的發展方向,或者說是經典游戲(就像籃球、足球和棋類一樣,一經確定規則,便經久不衰)的發展方向,一定是「去中心化」的:
規則是由玩家協商確定玩家之間互相監督保證游戲按照規則來進行游戲中所用的所有道具都由各個玩家自己所有有人破壞規則或者玩的不爽可以直接走人游戲本身不存在一個中心化的組織者
CryptoKitties的風靡極大地推廣了私人錢包,區塊鏈游戲作為早期落地的區塊鏈應用,迅速推動了區塊鏈的普及。同樣,利用游戲開發經驗和游戲設計理念開發出