以下段落中游戲指代比特幣和區塊鏈網絡,而玩家即游戲的參與者。
1.比特幣
比特幣網絡由許多臺計算機連接而成,每個玩家在自己的計算機上安裝了比特幣客戶端,就連上了這個網絡。這個網中計算機千千萬萬,但是比特幣的產出是受程序自動控制的。比特幣網絡能自動協調連上網絡的每臺計算機,控制每小時創造的比特幣數量。它利用你的電腦去解一個很難很耗時間的數學問題,通過這種方法制造貨幣,只有解開難題的計算機才能獲得比特幣賞金,所以更多算力意味著有更大的機會獲得更多的比特幣。
這樣問題就來了:如何確定一個比特幣的合法主人是誰呢?如果別人偽裝成我付錢,安全又該如何保障?
別急,下面就要介紹保護比特幣的安全的電子簽名和區塊鏈了。
2.電子簽名
比特幣并沒有實體貨幣,賣實體收藏幣的騙局就莫要再信了!
游戲中每個玩家都可以擁有幾個“錢包”,錢包里面當然是錢啦。但錢包是不記名的,使用電子簽名來識別和保護玩家。電子簽名的作用是證明:錢包是你的,你有權從錢包里面花錢。
電子簽名分為兩部分,一部分是公鑰,一部分是私鑰。在其他玩家看來,公鑰就是你的錢包,而私鑰則是你用錢時用來證明身份的東西,要保護好不給別人知道哦!每次交易,游戲都會用公鑰和私鑰一起進行計算,證明錢包是你的,防止惡意玩家假裝是你付款或者偽造成你收錢。
3.區塊鏈
電子貨幣如果只是一個虛擬數字,任何玩家都能隨便修改,這肯定是不行的。區塊鏈就是防止憑空造錢的武器,同時也能防止一筆錢被惡意花了兩次。
游戲將所有交易串起來構成一個集中賬本,這個賬本包含了從第一筆交易開始的所有賬目,也就是一個交易鏈,這樣游戲就能知道每個錢包的余額。
但是這個賬本存在哪里呢?因為游戲不存在一個中心管理者,是去中心化的,所以原則上每一個玩家都有一個賬本的拷貝。當新的交易發生,這筆交易會廣播給其他玩家,同時核對賬本,把新交易計入到賬本拷貝里。如果你試圖通過偽造賬本獲利,那么你和其他玩家的賬本就會不一樣,交易時一核對,偽造就暴露無遺。所以說,理論上每一筆交易都要得到所有玩家的確認,每個玩家都有責任保障系統的安全。
但是實際上這很難做到,確認操作只能由一部分玩家來完成。這就給惡意玩家創造了機會,他們可以篡改和偽造自己的賬本拷貝,引起混亂。因此要設計一個機制增加偽造賬本的難度,同時也能容易識別出偽造的賬本。
4.哈希算法
這種防止偽造的方法就是哈希算法。
哈希算法能將任意原始數據,不管是圖片還是文字,對應到特定的數字,這個數字稱為哈希值。要是數據被篡改,算出來的哈希值就會改變,因此識別偽造和防止偽造的問題都能解決了。(BT下載時用到的 MD5 碼就是一種哈希值,用于驗證下載下來的視頻沒有被篡改、被植入病毒什么的。)
某比特幣礦場
哈希算法有個伴隨的缺點,要產生不那么容易偽造的哈希值,需要消耗很多計算機資源,并不會有人自愿這么做。游戲用獎勵貨幣的方式鼓勵一些玩家來計算哈希值,他們就被稱為礦工。幾筆時間接近的交易會被合在一起組成區塊鏈的一個區塊來計算哈希值,保證賬本難以篡改。
當然,只要惡意礦工的算力超過一半的礦工,他就仍舊可以偽造賬本,然后重新計算所有賬目的哈希值,讓其他礦工復制他的賬本。只是隨著礦工越來越多,這種事情也越不可能發生。
新聞熱點
疑難解答