Bitroo小課堂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
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!
加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...
今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?
北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...
Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行
2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...