比特幣之挖礦篇

大家在接觸比特幣之後,一定會聽到"礦工"和”挖礦“這倆個詞彙,那麼礦工都需要幹什麼呢?挖礦又是怎麼回事呢?

比特幣挖礦的過程是把驗證有效的交易打包放入區塊鏈的過程,則這個過程就由礦工來完成。礦工具有以下六個任務:

1. 監聽交易廣播,並驗證這些交易的簽名是有效的和交易沒有被重複支付。

2. 維護區塊鏈網絡和監聽新的區塊。如果有別的礦工發佈新的區塊,礦工需要驗證該區塊是否有效,如果有效則加入區塊鏈,更新最新的區塊鏈。

3. 組裝新區塊。把你想加入你的新區塊的有效交易打包,編寫梅克爾樹。

4. 找到一個使新區塊有效的隨機數。這一步工作量很大,也是礦工工作最難得一個環節。當礦工把一定數量的交易編寫成梅克爾樹後,再通過隨機選取隨機數Nounce,通過哈希函數計算該區塊的哈希值,只有當哈希值滿足當前區塊生成難度的要求時(如前15位為0或20位為0),該區塊才有效併入鏈,同時礦工可以得到相應的獎勵。當歷遍所有32位的Nounce後還不能生成滿足要求的哈希值時,可以更改給礦工獎勵的幣基參數值再計算該區塊哈希值。

5. 希望你的區塊被全網接受。即使你組裝完成一個有效的新區塊,也不能保證一定可以入鏈,這一點需要點運氣,也許別的礦工和你同時找到一個有效區塊,並被大多數礦工接受,那麼你的這個新區塊就會被拋棄,而形成孤塊。

6. 礦工的利潤。礦工的利潤分為挖礦獎勵和所打包交易的交易費。(1)挖礦獎勵:如果所有別的礦工接受了你的區塊,你的區塊加入到了最長鏈,那麼你就能獲得獎勵。最初獎勵是每成功生成一個區塊,該礦工得到獎勵50個比特幣,每210,000個區塊(大約4年)獎勵減半,目前獎勵為12.5個比特幣。(2)交易費:礦工打包交易,從每筆交易中會得到交易費,提供的交易費越高,該交易越能被礦工及早的加入區塊鏈。2017年12月比特幣大漲時交易費更高,因為比特幣7筆/秒的交易速度實在不能滿足當時那麼大體量的交易,因此交易費也水漲船高。

比特幣之挖礦篇

比特幣挖礦

比特幣區塊大小為1M,每筆交易大概在250字節左右,因此每個區塊的滿載交易數大約為4000個交易。礦工加入自己區塊的交易數量可以自由選擇。

在比特幣區塊鏈中,每挖出2016個區塊,挖礦難度會改變一次,這個週期大約是倆個星期。

最新的挖礦技術,現在可以更改區塊的版本號計算哈希值,但是是否能更快更有效,還在研究階段。

最初用普通電腦就可以挖礦,後來發展到用專業的ASIC礦機,現在是礦工加入大的礦池挖礦。下圖為各大礦池實時算力排行榜,圖片來自Bitcoin Block Explorer - BTC.com

比特幣之挖礦篇

礦池實時算力

下面我們來說一下挖礦的收益。挖礦收益=挖礦獎勵-挖礦成本,挖礦獎勵=區塊獎勵+交易費,挖礦成本=礦機價格+運營成本(電費,場租等)。由於挖礦成本都是用法幣結算的,因此比特幣兌法幣的匯率決定了挖礦收益。當挖礦收益>0時,礦工才會有動力的持續挖礦。

挖礦是否浪費資源?現在挖礦需要專門的硬件設備,當新款礦機的運算速度更快,更容易挖到新區塊時,老款的礦機就被淘汰,被淘汰的礦機除了賣廢品不能做他用,這是一種浪費。還有一種挖礦需要每天24小時不停的計算,需要大量的電能,現在的礦池都建在寒冷,偏遠,電費便宜的地區。據統計現在比特幣挖礦消耗的電能佔全球電能的0.5%。

POW(proof of work,工作量證明)和POS(proof of stake,權益證明):

工作量證明是根據計算能力來選擇節點,即誰擁有更多的算力,誰就能更快的算出符合要求的哈希值,也就大大提高了區塊被選中作為新區塊的概率,這種方法保證了沒有壟斷,公平。採用POW的幣種有比特幣(BTC)、比特幣現金(BCH),萊特幣(LTC)等。由於POW需要消耗大量的資源,被很多人所詬病,於是有人提出不消耗任何資源的另一種方式,即權益證明(POS).

權益證明,最簡單的權益證明是根據幣的擁有量來選擇節點,即誰擁有更多的幣,誰的區塊被選中作為新區塊的概率就大,這樣最有錢的參與者總是可以最容易挖礦。還有一種權益證明是根據幣的擁有量和幣齡來選擇節點,即誰擁有的幣多且擁有的時間長,誰的區塊被選中作為新區塊的概率就大。在每次成功獲得有效區塊之後重置幣齡。權益證明比起工作量證明來說,更具有中心化的趨勢。


分享到:


相關文章: