比特幣挖礦
比特幣礦工透過解決具有一定工作量的工作量證明機制問題,來確認交易和防止雙重支付,來管理比特幣網路。
中本聰在他的論文中闡述說,「在沒有中央權威存在的條件下,既鼓勵了礦工支援比特幣網路,又讓比特幣的貨幣流通體系也有了最初的貨幣注入源頭。」中本聰把透過消耗CPU的電力和時間來產生比特幣,比喻成金礦消耗資源將黃金注入經濟。
中本聰在他的論文中闡述說,「在沒有中央權威存在的條件下,既鼓勵了礦工支援比特幣網路,又讓比特幣的貨幣流通體系也有了最初的貨幣注入源頭。」中本聰把透過消耗CPU的電力和時間來產生比特幣,比喻成金礦消耗資源將黃金注入經濟。
挖礦和網路協作
比特幣的挖礦和節點軟體是基於對等網路、數位簽名、互動式證明系統的零知識證明來發起和驗證交易的。
節點向網路廣播交易,這些廣播出來的交易在經過礦工的驗證後,礦工用自己的工作證明結果來表達確認,確認後的交易會被打包到資料塊中,資料塊會串起來形成連續的資料塊鏈。中本聰本人設計了第一版的比特幣挖礦程式,這一程式隨後被開發為廣泛使用的第一代挖礦軟體Bitcoind,這一代軟體從2009年到2010年中旬都比較流行。
每一個比特幣的節點都會收集所有尚未確認的交易,並將其歸集到一個資料塊中,這個資料塊會和前面一個資料塊整合在一起。礦工節點會附加一個隨機調整數,並計算前一個資料塊的SHA-256雜湊運算值。
挖礦節點不斷重複進行嘗試,直到它找到的隨機調整數使得產生的雜湊值低於某個特定的標的。由於雜湊運算是不可逆的,尋找到符合要求的隨機調整數非常困難,需要一個可以預計總次數的不斷試錯過程。
這時,工作量證明機制就發揮作用了。當一個節點找到了符合要求的解,那麼它就可以向全網廣播自己的結果。其他節點就可以接收這個新解出來的資料塊,並檢驗其是否符合規則。如果其他節點透過計算雜湊值發現確實滿足要求(比特幣要求的運算標的),那麼該資料塊有效,其他的節點就會接受該資料塊,並將其附加在自己已有的鏈條之後。
節點向網路廣播交易,這些廣播出來的交易在經過礦工的驗證後,礦工用自己的工作證明結果來表達確認,確認後的交易會被打包到資料塊中,資料塊會串起來形成連續的資料塊鏈。中本聰本人設計了第一版的比特幣挖礦程式,這一程式隨後被開發為廣泛使用的第一代挖礦軟體Bitcoind,這一代軟體從2009年到2010年中旬都比較流行。
每一個比特幣的節點都會收集所有尚未確認的交易,並將其歸集到一個資料塊中,這個資料塊會和前面一個資料塊整合在一起。礦工節點會附加一個隨機調整數,並計算前一個資料塊的SHA-256雜湊運算值。
挖礦節點不斷重複進行嘗試,直到它找到的隨機調整數使得產生的雜湊值低於某個特定的標的。由於雜湊運算是不可逆的,尋找到符合要求的隨機調整數非常困難,需要一個可以預計總次數的不斷試錯過程。
這時,工作量證明機制就發揮作用了。當一個節點找到了符合要求的解,那麼它就可以向全網廣播自己的結果。其他節點就可以接收這個新解出來的資料塊,並檢驗其是否符合規則。如果其他節點透過計算雜湊值發現確實滿足要求(比特幣要求的運算標的),那麼該資料塊有效,其他的節點就會接受該資料塊,並將其附加在自己已有的鏈條之後。
挖礦產出
除了將接收到的交易訊息打包到資料塊,每個資料塊都會允許發行一定數量的新比特幣,用來激勵成功發現資料塊的礦工。
比特幣系統按照預定的貨幣增發節奏決定發行的比特幣數量。如果其他支付交易有給手續費的,那麼礦工還會獲得手續費。由於礦工可以自行決定是否將某一個交易資料打包到資料塊中,因此礦工有可能優先選擇手續費較高的交易來打包。資料塊產生速率的預期為每10分鐘一個,但每個資料塊中新發行的比特幣不能超過50個,而這個數位每個4年就會減半,因此比特幣的總數量不會超過2100萬個。隨著新發行比特幣數量的下降,手續費將成為挖礦的主要激勵。
比特幣系統按照預定的貨幣增發節奏決定發行的比特幣數量。如果其他支付交易有給手續費的,那麼礦工還會獲得手續費。由於礦工可以自行決定是否將某一個交易資料打包到資料塊中,因此礦工有可能優先選擇手續費較高的交易來打包。資料塊產生速率的預期為每10分鐘一個,但每個資料塊中新發行的比特幣不能超過50個,而這個數位每個4年就會減半,因此比特幣的總數量不會超過2100萬個。隨著新發行比特幣數量的下降,手續費將成為挖礦的主要激勵。
礦池
比特幣礦工將計算力彙集在一起,以增強挖礦產出的穩定性。礦池可以向礦工收取一定百分比的提成。
挖礦難度
為了使得資料塊產生的速度大體均勻,產生新資料塊的難度會定期調整。
如果資料塊產生的速度加快了,那麼就提高挖礦難度;如果資料塊產生速度變慢了,那麼就降低難度。
由於ASIC計算裝置的爆炸式加入,目前挖礦難度呈現幾何級數的上升,目前平均每15天增加50%難度,讓普通個人挖礦者的挖礦工作變得異常困難。
如果資料塊產生的速度加快了,那麼就提高挖礦難度;如果資料塊產生速度變慢了,那麼就降低難度。
由於ASIC計算裝置的爆炸式加入,目前挖礦難度呈現幾何級數的上升,目前平均每15天增加50%難度,讓普通個人挖礦者的挖礦工作變得異常困難。
挖礦裝置
比特幣礦工最早都是透過Intel或AMD的CPU產品來挖礦。但由於挖礦是運算密集型應用,且隨著挖礦人數與裝置效能的不斷提升難度逐漸增加,現在使用CPU挖礦已早已毫無甚至負收益。
截至2012年,從2013年第一季度後,礦工們逐漸開始採用GPU或FPGA等挖礦裝置。同時,ASIC裝置也在2013年中旬大量上市。從2013年7月起,全網算力由於ASIC裝置大量投入運營呈現直線上漲,以2013年7月的平均算力計算,所有GPU挖礦裝置均已經無法產生正收益,而FPGA裝置也接近無收益。
2013年9月平均算力估算,現有的針對個人開發的小型ASIC挖礦裝置在未來1-2個月內也接近無正收益。大量算力被5THash/s以上的集群式ASIC挖礦裝置壟斷。個人挖礦由於沒有收益,幾乎會在未來幾個月內被擠出挖礦群體。
截至2012年,從2013年第一季度後,礦工們逐漸開始採用GPU或FPGA等挖礦裝置。同時,ASIC裝置也在2013年中旬大量上市。從2013年7月起,全網算力由於ASIC裝置大量投入運營呈現直線上漲,以2013年7月的平均算力計算,所有GPU挖礦裝置均已經無法產生正收益,而FPGA裝置也接近無收益。
2013年9月平均算力估算,現有的針對個人開發的小型ASIC挖礦裝置在未來1-2個月內也接近無正收益。大量算力被5THash/s以上的集群式ASIC挖礦裝置壟斷。個人挖礦由於沒有收益,幾乎會在未來幾個月內被擠出挖礦群體。