Bitroo小課堂16,關於比特幣挖礦的術語

2024-02-24 11:02:16

挖礦和礦工

區塊鏈是由很多個節點組成的,為了保證節點之間的同步,所以每一個新區塊的添加速度不能太快。試想一下,你剛剛同步了一個區塊,准備基於它生成下一個區塊,但這時別的節點又有新區塊生成,你不得不放棄做了一半的計算,再次去同步。因為每個區塊的後面,只能跟着一個區塊,你永遠只能在最新區塊的後面,生成下一個區塊。所以,你別無選擇,一聽到信號,就必須立刻同步。

所以,區塊鏈的發明者中本聰(這是假名,真實身份至今未知)故意讓添加新區塊,變得很困難。他的設計是,平均每10分鐘,全網才能生成一個新區塊,一小時也就六個。

這種產出速度不是通過命令達成的,而是故意設置了海量的計算。也就是說,只有通過極其大量的計算,才能得到當前區塊的有效哈希,從而把新區塊添加到區塊鏈。由於計算量太大,所以快不起來。

這個過程就叫做挖礦(mining),因為計算有效哈希的難度,好比在全世界的沙子裏面,找到一粒符合條件的沙子。計算哈希的機器就叫做礦機,操作礦機的人就叫做礦工。

難度系數

讀到這裏,你可能會有一個疑問,人們都說採礦很難,可是採礦不就是用計算機算出一個哈希嗎,而計算也正是計算機的強項啊,怎么會變得很難,遲遲算不出來呢?

原因為不是任意一個哈希都可以,只有滿足條件的哈希才會被區塊鏈接受。這個條件特別苛刻,使得絕大部分哈希都不滿足要求,必須重算。

因為每一個區塊都包含了一個難度系數(difficulty),這個值決定了計算哈希的難度。舉例來說,第100000個區塊的難度系數是 14484.16236122。我們也可以將difficulty簡單的可以理解為:挖到數據區塊的所用時間多少。

同時難度值 difficulty的計算公式為:難度值 = 最大目標值 / 當前目標值

那什么是目標值:目標值是當前區塊生成所達成目標值的hash值,用於礦工的工作量證明。礦工挖掘的區塊的頭部hash值必須小於目標值,數據區塊才能被挖掘成功。

當前目標值是指現在產生數據區塊的頭部信息hash值參考指標。最大目標值是一個定值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF。

由於只有小於目標值的哈希才是有效的,否則哈希無效,必須重算。由於目標值非常小,哈希小於該值的機會極其渺茫,可能計算10億次,才算中一次。這就是挖礦如此之慢的根本原因。

當前區塊的哈希由區塊頭唯一決定。如果要對同一個區塊反復計算哈希,就意味着,區塊頭必須不停地變化,否則不可能算出不一樣的哈希。區塊頭裏面所有的特徵值都是固定的,為了讓區塊頭產生變化,中本聰故意增加了一個隨機項,叫做 Nonce。

Nonce 是一個隨機值,礦工的作用其實就是猜出 Nonce 的值,使得區塊頭的哈希可以小於目標值,從而能夠寫入區塊鏈。Nonce 是非常難猜的,目前只能通過窮舉法一個個試錯。根據協議,Nonce 是一個32位的二進制值,即最大可以到21.47億。第 100000 個區塊的 Nonce 值是274148111,可以理解成,礦工從0开始,一直計算了 2.74 億次,才得到了一個有效的 Nonce 值,使得算出的哈希能夠滿足條件。

運氣好的話,也許一會就找到了 Nonce。運氣不好的話,可能算完了21.47億次,都沒有發現 Nonce,即當前區塊體不可能算出滿足條件的哈希。這時,協議允許礦工改變區塊體,开始新的計算。

動態調節

正如上一篇所說,挖礦具有隨機性,沒法保證正好十分鐘產出一個區塊,有時一分鐘就算出來了,有時幾個小時可能也沒結果。總體來看,隨着硬件設備的提升,以及礦機的數量增長,計算速度一定會越來越快。

為了將產出速率恆定在十分鐘,中本聰還設計了難度系數的動態調節機制。他規定,難度系數每兩周(2016個區塊)調整一次。如果這兩周裏面,區塊的平均生成速度是9分鐘,就意味着比法定速度快了10%,因此接下來的難度系數就要調高10%;如果平均生成速度是11分鐘,就意味着比法定速度慢了10%,因此接下來的難度系數就要調低10%。

難度系數越調越高(目標值越來越小),導致了採礦越來越難。

但是,有人會問,區塊鏈是一個去中心化的,這個難度是由誰來調節的呢?難度的調整是在每個完整節點中獨立自動發生的。每2,016個區塊中的所有節點都會調整難度。難度的調整公式是由最新2,016個區塊的花費時長與20,160分鐘(兩周,即這些區塊以10分鐘一個速率所期望花費的時長)比較得出的。難度是根據實際時長與期望時長的比值進行相應調整的(或變難或變易)。簡單來說,如果網絡發現區塊產生速率比10分鐘要快時會增加難度。如果發現比10分鐘慢時則降低難度。

這個公式可以總結為:

New Difficulty = Old Difficulty * (Actual Time of Last 2016 Blocks / 20160 minutes)

礦工收益

既然挖礦不容易,為什么有人愿意做礦工呢?以比特幣舉例。

一是交易的確認離不开礦工。

二是比特幣協議規定,挖到新區塊的礦工將獲得獎勵,一开始(2008年)是50個比特幣,然後每4年減半,目前(2018年)是12.5個比特幣。這也是比特幣的供給增加機制,流通中新增的比特幣都是這樣誕生的。

你可能看出來了,每4年獎勵減半,由於比特幣可以分割到小數點後八位,那么到了2140年,礦工將得不到任何獎勵,比特幣的數量也將停止增加。這時,礦工的收益就完全依靠交易手續費了。

所謂交易手續費,就是礦工可以從每筆交易抽成,具體的金額由支付方自愿決定。你完全可以一毛不拔,一分錢也不給礦工,但是那樣的話,你的交易就會沒人處理,遲遲無法寫入區塊鏈,得到確認。礦工們總是優先處理手續費最高的交易。

目前由於交易數量猛增,手續費已經水漲船高,一個區塊2000多筆交易的手續費總額可以達到3~10個比特幣。如果你的手續費給低了,很可能過了一個星期,交易還沒確認。

一個區塊的獎勵金12.5個比特幣,再加上手續費,收益是相當可觀的。按照目前的價格,可以達到75萬人民幣左右。想想看,運氣好的話,幾分鐘就能挖到一個區塊,拿到這樣一大筆錢,所以人們才對挖礦趨之若鶩。

關於Bitroo

Bitroo(bitroo.com) 是一個專注於讓普通用戶更輕松地參與比特幣挖礦的平臺。我們提供便捷的比特幣算力租賃和轉售服務,專業的比特幣礦機售賣、維護和托管服務,以及相關數字資產金融服務。我們致力於讓挖礦更簡單,讓用戶收益最大化,通過專業、誠信、創新、熱情的態度服務好平臺的每一位用戶。

官網:bitroo.com推特: https://twitter.com/BitrooCN社群: t.me/BitrooCNYoutube:https://www.youtube.com/@BitrooOfficialMedium:https://medium.com/@bitroo注冊: https://m.bitroo.com/#/pages/Login/register?code=955379x下載: https://m.bitroo.com/#/pages/Main/download

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
71 1個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
73 1個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
78 1個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
66 1個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
75 1個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
71 1個月前