你很可能會聽到“比特幣挖礦”一詞,然后你的腦海中就開始想象拿著鏟子的礦工,在泥土中挖掘金子的場景。
事實證明,這樣的比喻距離還不算貼切,比特幣的挖掘遠沒有那么迷人,但同樣具有不確定性,它是由解決復雜的計算數學問題的高性能計算機執行的(也就是說,過程很復雜以至于無法手動解決)。
解決這些問題的計算機,所需要的是運氣和計算力(工作量),這與礦工在地下挖沙時的效果是等效的。
在撰寫本文時,計算機解決這些問題中的一個的概率約為13萬億分之一,但隨著時間推移以后難度會更大。
“比特幣挖礦”的了解
首先,當計算機在比特幣網絡上解決這些復雜的數學問題時,它們會產生新的比特幣,這與采礦作業從地面提取黃金的過程一樣。
其次,通過解決計算數學問題,比特幣礦工通過驗證其交易信息,使比特幣支付網絡變得值得信賴和安全。
所有這些都將可能變得非常有意義,為了更詳細地解釋比特幣挖礦的工作原理,讓我們從一個更接近生活的角度開始:對印刷貨幣的監管。
通常,消費者傾向于信任印刷貨幣。這是因為法定紙幣是由中央銀行發行支持,其背后是有政府的公信力作為支撐背書的。
甚至使用支付寶、微信等數字支付也是得到了中央機構的支持。例如,當你使用微信支付或支付寶支付進行在線購物時,該交易將由騰訊或阿里巴巴等公司處理。
除了記錄你的交易歷史記錄之外,這些公司還核實交易有沒有欺詐行為,這也是你的賬戶在從事違法行為時可能被暫停凍結的原因之一。
另一方面,比特幣不受中央機構監管,但比特幣得到了全球數百萬臺稱為“節點”的計算機的支持。
該比特幣網絡執行著與中國央行,騰訊和阿里巴巴相同的功能,但有一些主要區別。
節點存儲所有先前交易的信息,并幫助驗證其真實性。但是,與那些中央機構不同,比特幣節點分布在世界各地,并將交易數據記錄在公共列表中,任何人,都可以訪問。
在商店或在線進行的交易由銀行,銷售點系統和實物收據記錄。當有人向任何地方發送比特幣時,我們稱之為“交易”。
在沒有這些機構的情況下,比特幣礦工通過以“塊”形式將交易集中在一起并將其添加到稱為“區塊鏈”的公共記錄中來達到相同的效果。
然后,節點維護這些塊的記錄,以便將來可以對其進行驗證。
當比特幣礦工向區塊鏈添加新的交易塊時,他們的工作之一就是確保這些交易是準確的。
特別是,比特幣礦工需要確保比特幣不會被復制,這是一種獨特的數字貨幣特點,被稱為“雙重支付”或者“雙花”。
對于印刷貨幣,偽造始終是一個問題,但是通常,一旦您在商店中花費20元,該賬單就由店員掌握,不存在“雙花”問題。
但是,對于數字貨幣,情況就大不一樣了。數字信息可以相對輕松地進行復制,因此,使用比特幣和其他數字貨幣,存在這樣的風險,即消費者可以復制自己的比特幣,然后將其發送給另一方,同時仍然保留原始信息。
讓我們假設用的是印制貨幣,也就是說有人試圖復制自己的20元鈔票,為了能夠在雜貨店里同時消費原始貨幣和偽造的貨幣(即40元)。
如果店員知道客戶在重復付款,他們所要做的就是查看賬單中鈔票序列號。如果數字相同,那么業務員就會知道錢已經被重復使用了。這個類比類似于比特幣礦工在驗證新交易時所做的事情。
如果有人要成功地雙倍花費其比特幣,他們將需要占據網絡中51%的采礦能力。隨著比特幣的增長,要實現這一目的越來越困難。
礦工與挖礦獎勵
一天中會發生多達500,000筆買賣,因此,驗證每筆交易對于礦工而言可能是一件繁重的工作,這里的比特幣礦工與微信,支付寶之間存在另一個重要區別。
作為對他們努力的補償,每當礦工向區塊鏈添加新的交易塊時,他們都將獲得比特幣,也被成為比特幣的“挖礦獎勵”,以此來激勵網絡中的礦工持續維護網絡交易的正常記錄。
大約每隔四年,區塊獎勵會減半一次,即每產生210,000個區塊左右。
2009年獎勵為50個BTC,2013年為25個BTC,2018年為12.5個BTC,到2020年為6.25個BTC。比特幣于2020年5月11日完成其第三次挖礦獎勵減半。
從那時起,大約需要經歷1458天,會進行下一次減半,即每個新區塊僅能開采3.125比特幣,作為挖礦獎勵。該系統將持續到2140年左右,所有比特幣將被挖出。
屆時,礦工只能獲得交易費用作為獎勵。這些費用確保了礦工仍然有動力進行交易打包并保持網絡運轉。
個人認為,對交易費用的競爭將使它們在減半后仍然保持較低的水平。
挖礦如何運作?
為了使比特幣礦工能夠從驗證交易中實際賺取比特幣,必須發生兩件事。
首先,他們必須驗證價值1兆字節(MB)的事務,理論上該事務可以小到只有1個事務,但通常有幾千個,具體取決于每個事務存儲的數據量。其次,為了向區塊鏈添加交易塊,礦工必須計算解決一個復雜的數學問題,也稱為“工作量證明”。
他們實際上正在嘗試尋找一個小于或等于目標哈希的64位十六進制數字。
基本上,礦工的計算機會根據單位每秒散列數(MH/s),每秒千兆位散列(GH/s)或什至每秒兆兆散列(TH/s)的速度去尋找符合條件的值,猜測所有可能的“哈希”直到找到解決方案為止。
換句話說,這是一場猜大小的賭博。
在撰寫本文時,最新區塊的難度級別超過13萬億。也就是說,計算機產生低于目標的哈希值的機會是13萬億分之一。從一個角度來看,與嘗試一次就正確命中哈希值相比,單張彩票獲獎的可能性高出約44,500倍。
幸運的是,專用挖礦計算機系統單位時間內獲得哈希值的數量是巨大的。盡管如此,挖掘比特幣還是需要大量的電力和復雜的計算設備,而且以后還會需要更多。難度級別會每2016個區塊或大約每2周調整一次,以保持采礦速率恒定為目標。
也就是說,有更多的礦工競爭解決方案,那么計算的問題將變得更加困難,反之亦然。
一個有用的類比解釋,假如我現在是一個五歲的孩子:“我告訴三個朋友我腦中想到一個1到100之間的數字,
然后將該數字寫在了紙上并將其密封在信封中。我的朋友們不必猜測出確切的數字,他們只需要有人能夠猜測出一個數字小于或等于我寫在紙上的數字,這個人就將獲得獎勵,而且不限制猜測的次數,他們可以一直嘗試(即挖礦)直到有人成功。
比方說,我想了一個數字19。如果朋友A猜21,他們就輸了,因為21>19。如果朋友B猜16,而朋友C猜12,那么理論上他們都得出了可行的答案,因為16<19并且12<19。即使B的答案更接近目標答案19,但也不會多給B額外的獎勵?,F在想像一下,我提出了'猜我在想什么數字'這個問題,但是我不是在問三個朋友,也不是在問一個介于1到100之間的數字。
相反,我是在問數百萬個的比特幣礦工,我在找一個64位的十六進制數字,這個數字是上一個區塊的計算結果+隨機數后進行哈希計算且符合以17個0開頭,比如說小于
0000000000000000057fcc708cf0130d95e27c5819203e9f967ac56e4df598ee的值。
現在你會發現這很難猜測正確的答案,必須大量設備的嘗試計算才可能找到,如果是找18個0開頭的值那么難度就會更大了。
礦工之間的競爭
如果說計算正確結果概率是13萬億分之一聽起來不那么困難,那么更困難的是比特幣礦工不僅必須提出正確的哈希,而且還必須是第一個這樣做的人。因為比特幣的挖掘本質上是猜測,所以說一位礦工找到正確的答案幾乎與計算機產生哈希的速度有關(即單位時間內嘗試的次數)。
就在十年前,比特幣的挖礦還可以在普通臺式計算機上進行。但是,隨著時間的流逝,礦工們意識到視頻游戲中常用的圖形顯卡GPU對挖礦更加有效。
2013年,比特幣礦工開始使用專門設計用于盡可能高效地開采加密貨幣的計算機,稱為專用集成電路(ASIC)。這些礦機可以從數千元到數萬元不等,但它們在開采比特幣方面的效率更高。
如今,比特幣挖礦競爭如此激烈,以至于只有使用最新的ASIC才能盈利。使用臺式計算機,GPU或較舊型號的ASIC時,能耗成本實際上超過了產生的收入。即使擁有最新的設備,一臺計算機也很少能與眾多礦工所組成的“礦池”競爭。一個采礦池是一組礦工,結合自己的計算能力組成的,最后按照算力比例分配獲得的獎勵。
現狀是,擁有大量礦池的公司在比特幣的計算中占有很大的比例,比如中國的比特大陸。
比特幣擴容之爭
在13萬億分之1的概率下,在難度級別遞增以及龐大的用戶驗證交易網絡中,大約每大約10分鐘驗證一次交易。比特幣網絡每秒可處理約7筆交易,每10分鐘將交易記錄在區塊鏈中一次。
相比之下,Visa每秒可以處理約24,000筆交易。但是,隨著比特幣用戶網絡的不斷增長,在10分鐘內完成的交易數量最終將超過10分鐘內可以處理的交易數量。
屆時,除非更改比特幣協議,否則等待交易的時間將開始并持續更長的時間。
比特幣協議的核心問題稱在于“擴展容量”。盡管比特幣礦工普遍同意必須采取一些措施來解決規模擴張問題,但人們卻很少達成共識。提出了兩種主要解決方案來解決縮放問題。
社區的開發人員提出了不同的建議:
(1)為比特幣創建第二個“離線”層,以允許更快的交易,之后再被區塊鏈驗證。
(2)增加每個區塊可以存儲的交易數量。
解決方案1減少了每個區塊要驗證的數據量,將使礦工的交易更快,更便宜。解決方案2將通過允許增加塊大小每10分鐘處理更多信息來達到擴展效果。
2017年7月,代表比特幣網絡計算能力約80%至90%的比特幣礦工和采礦公司投票決定合并一項程序,該程序將減少驗證每個區塊所需的數據量。也就是說,他們采用了解決方案1。
礦工投票添加到比特幣協議中的程序稱為“隔離見證”,即SegWit。該術語是“隔離”(Segregated)和“見證”(Witness)的合并,表示“比特幣交易的簽名”。
因此,隔離證人意味著將交易簽名與區塊分離,并將它們作為擴展區塊附加。雖然在解決方案中似乎沒有能將單獨的程序添加到比特幣協議中進行修改,但據估計簽名數據最多占每個交易塊中處理數據的65%,還是能達到一定的擴容效果。
不到一個月后,即2017年8月,一群礦工和開發人員發起了一次硬分叉,離開了比特幣網絡,使用與比特幣相同的代碼庫創建了新的貨幣。盡管該小組同意采用方案1解決擴展的問題,但他們擔心采用隔離見證技術無法完全解決擴展問題。
所以,他們采用了解決方案2。由此產生的貨幣稱為“比特幣現金”(BCH),將塊大小增加到8MB(原來BTC是1MB),以便加速驗證過程,每天可以執行約200萬筆交易。
在2019年11月6日,比特幣現金的價值約為302美元,而比特幣約為9,330美元。






