時間:2023-07-09|瀏覽:282
與金礦類似,比特幣存在于協議的設計中,就像黃金存在于地下一樣。但是它們尚未被曝光,就像黃金還沒有被開采出來一樣。
比特幣協議規定,在某個時候最多會發行2100萬個比特幣。礦工的工作就是把它們帶入光明中,每次帶出一些。一旦礦工完成了對所有這些比特幣的開采,除非比特幣協議發生變化以允許更多的供應量,否則將不再有新的比特幣產生。礦工通過創建經過驗證的交易塊并將其包含在區塊鏈中來獲得交易費用。
為了了解比特幣挖掘的工作原理,讓我們先談談節點。節點是運行比特幣軟件并具備完全驗證交易和區塊功能的強大計算機。由于比特幣網絡是去中心化的,這些節點共同負責確認待處理的交易。
任何人都可以運行節點,只需下載免費的比特幣軟件。但是這樣做的缺點是需要耗費能源和存儲空間,因為這個網絡在寫入時需要數百GB的數據。節點會傳播比特幣交易。一個節點會向它所知道的其他節點發送信息,然后這些節點將信息轉發給他們所知道的其他節點,依此類推。這樣,待處理的交易最終會迅速傳播到整個網絡中。
有些節點是挖礦節點,通常被稱為礦工。他們將未完成的交易分成塊,并把它們添加到區塊鏈中。他們是如何做到的呢?通過解決并將答案包含在塊中。
這個問題需要找到一個數,當它與塊中的數據組合并通過哈希函數(將任意大小的輸入數據轉換為固定長度的輸出數據,并且產生在一定范圍內的結果)后,得到的結果在一定范圍內。
對于對瑣事愛好者來說,這個數字被稱為“nonce”,是“number used once”的縮寫。在區塊鏈中,nonce是一個介于0到4,294,967,296之間的整數。
礦工是如何找到這個數字的呢?通過隨機猜測。哈希函數使得無法預測輸出是什么。因此,礦工猜測這個數字,并將哈希函數應用于該猜測數字和塊中數據的組合。生成的哈希值以一定數量的零開頭。沒有辦法知道哪個數字會起作用,因為相鄰的兩個整數可能會產生截然不同的結果。更重要的是,可能有幾個隨機數產生了期望的結果,也可能沒有。在這種情況下,礦工會繼續嘗試,但使用不同的塊配置。
計算難度(哈希字符串開頭所需的零個數)經常進行調整,因此處理一個區塊的平均時間大約是10分鐘。
為什么是10分鐘?這是比特幣開發者認為穩定和減少新幣流通所需的時間,直到達到2100萬的最大數量(預計在2140年的某個時間)。
第一個在所需范圍內得到有效哈希的礦工會向網絡的其余部分宣布他的勝利。其他礦工會立即停止對該區塊的工作,并開始嘗試找到下一個區塊的神秘號碼。作為對他們工作的獎勵,獲勝的礦工會得到一些新的比特幣。
截至撰寫本文時,每個區塊的獎勵是6.25個比特幣,價值約為56,000美元。
然而,真正獲得這個獎勵并不像聽起來那么容易。有很多挖礦節點在競爭這個獎勵,你擁有的計算能力越強,你可以嘗試的猜測計算就越多,你就越有可能獲勝。
此外,成為挖礦節點的成本相當可觀,不僅需要強大的硬件,還需要消耗大量電力。
另外,作為解決難題的獎勵,比特幣的數量將會減少。現在是6.25個比特幣,但大約每四年減半一次(預計在2024年下一次減半)。比特幣相對于電力和硬件成本的價值在未來幾年可能會增長,以部分彌補這種減少,但還不確定。
如果您已經理解了上述內容,恭喜您!關于該系統還有很多需要探索的地方,但至少現在您對編程天才的大致輪廓和概念有了一定的了解。我們現在首次擁有一個系統,可以方便地進行分布式、無需信任和防篡改的數字傳輸。