《精通比特幣》學習:交易如何成爲區塊?什麼又是挖礦?

1、交易如何在比特幣網絡傳播開?

發起一筆交易並不代表交易就是有效合法的,在區塊鏈網絡中,每一筆交易必須得到全網的認可並保存到總賬簿中。一筆交易又是怎麼傳播讓大多數節點知道的呢?有點類似六度理論,當節點A的錢包應用收到一個從未見過的有效交易,他會立即轉發給其他所有聯接的節點,同樣其他節點收到後再繼續傳播。

2、為什麼要把交易告知全網節點,並讓全網節點來共同記賬?

搞清楚這個問題,首先要搞清楚比特幣的設計初衷(瞭解這個問題個人覺得最好的資料是中本聰發表的白皮書)。現實生活中我們轉一筆錢給別人,都是通過銀行這樣的權威的中心機構,銀行會把轉出方的資產減少,轉入方的資產增加,中本聰認為這種方式並不安全且成本高,比特幣的設計初衷就是要繞過這樣的中心機構,而且還要更安全更便捷。問題是在沒有中心機構的背書下,怎麼讓交易正常有效運行,比如雙重支付的問題,也就是一筆錢同時轉給兩個人,中本聰的設計是把交易告訴全網節點,全網節點把每一筆交易記錄下來,並把每一筆交易通過時間戳按順序連接起來,再通過密碼學等技術保證數據的不可篡改,最後每一個節點都有同步保存交易的完整副本,如果你想篡改賬本的數據,除非讓51%的節點都改,隨著節點的數量增加,這個難度變得幾乎不可能達到。那為什麼節點願意來記賬呢,中本聰就設計了激勵機制,誰先搶到記賬權誰就能獲得比特幣獎勵,這就是所謂的挖礦。為什麼把這個過程比喻為挖礦,其實是參考黃金而來的,黃金是通貨,通過挖礦就有更多的黃金進入流通領域,比特幣也是通過挖礦讓更多的比特幣發行出來進入流通領域,所以實際上比特幣的挖礦過程就是數字貨幣的發行過程,也許比特幣沒有價值,但一旦流通起來就會產生價值,站在貨幣的角度去看,中本聰還涉及了比特幣的髮型總量只有2100萬枚,以後比特幣全部發行了以後,就只能通過比特幣的交易來獲得。

區塊鏈是以區塊為單位,一個區塊包含多個交易,只有一個區塊被驗證並鏈接到區塊鏈中,才會成為總賬簿的一部分。一個節點接收到一個新的交易,會先把交易存放到一個臨時的未驗證的交易池中,每隔10分鐘左右開始一個新的區塊構建,礦工會把從上個區塊生成後到現在的所有交易放進一個區塊,然後開始解答一道數學題,其實就是求哈希值,簡單理解就是:類似做一道函數題,X是區塊頭和一個隨機數字,Y是一個哈希值,當Y和預設定的某個值相匹配時就成功了。誰先解出來誰就有獲得了這個區塊的記賬權,最後再經全網確認,他就可以獲得比特幣獎勵了。

有人說那我就把計算機性能提高,不就能更快計算並搶到計算權了嗎?其實是的,計算機的計算能力(簡稱算力)越強大,搶到記賬權的概率越大,但並不是一定的,也許某人運氣好正好碰中了呢。

還有人說那是不是計算能力足夠強大,是不是就不用十分鐘就解答出來了?是的,為了防止這種情況,比特幣設計是題目的難度會動態調整,難度會不斷提高,保證每一個區塊大概是在10分鐘左右解答出來。

礦工把題目解答出來了,把新區快再告訴所有節點,得到所有節點確認才最終有效。礦工一旦從網絡上收到一個新的區塊,就知道這個區塊被別人搶走了,趕緊去挖下一個區塊吧。

3、挖礦所獲得比特幣獎勵是怎麼到手的呢?

每個礦工在構建新區塊時,都會增加一個特殊交易,就是把新生成的比特幣作為獎勵支付到自己的錢包地址,那麼一旦他成功解答,就會獲得這筆獎勵。這裡說明一下,比特幣的發行是通縮的,最開始是每個區塊獎勵50個比特幣,每隔4年減半,總量固定2100萬個,預計到2040年發行完畢。

4、什麼是6次證明

比特幣的設計中認為一個交易經過6次證明就是不可撤銷的了。首先區塊鏈是一個按順序鏈接起來的,每個區塊都在上一個區塊的基礎上增加更多的計算,從而增加交易的可信度,區塊越多,鏈條越長,被推翻的難度會成指數級增長。比如包含A交易的區塊是第10000個區塊,那麼10001個區塊就是對10000個區塊的增強,是對A交易的再一次證明,同理10002,10003都是對A交易的再一次證明,經過6次證明就被認為是不可撤銷的。


分享到:


相關文章: