比特幣協議
比特幣協議是管理比特幣運作的一系列規則。其關鍵組成部分和原則是:一個點對點、去中心化、沒有中央監管的網絡;區塊鏈技術,一個記錄所有比特幣交易的公共帳本;挖礦和工作量證明,創建新比特幣和驗證交易的過程;以及密碼學安全。
用戶使用比特幣加密貨幣錢包軟體向網絡廣播加密簽名的消息。這些消息是擬議的交易,即將在帳本上進行的更改。每個節點都擁有帳本完整交易歷史的副本。如果交易違反了比特幣協議的規則,它將被忽略,因為交易只有在整個網絡達成共識後才會發生。這種「全網絡共識」是在網絡上的每個節點驗證稱為挖礦的工作量證明操作結果時實現的。挖礦將成組的交易打包成區塊,並生成符合比特幣協議規則的哈希碼。創建此哈希需要消耗大量能源,但網絡節點可以使用很少的能源來驗證哈希是否有效。如果礦工向網絡提出一個區塊,並且其哈希有效,則該區塊及其帳本更改將添加到區塊鏈中,網絡將繼續處理尚未處理的交易。如果發生爭議,則認為最長的鏈是正確的。平均每10分鐘創建一個新區塊。
對比特幣協議的更改需要網絡參與者之間的共識。比特幣協議激發了眾多其他數字貨幣和基於區塊鏈技術的發展,使其成為加密貨幣領域的基礎技術。
區塊鏈
區塊鏈技術是一種去中心化且安全的數字帳本,它記錄了跨計算機網絡上的交易。它確保了透明性、不可變性和防篡改性,從而使數據操縱變得困難。區塊鏈是比特幣等加密貨幣的基礎技術,並且在金融之外的領域也有應用,例如供應鏈管理和智能合約。
交易
網絡只需要最少的結構來共享交易。一個由志願者組成的臨時去中心化網絡就足夠了。消息以盡力而為的方式廣播,節點可以隨意離開和重新加入網絡。重新連接後,節點會從其他節點下載並驗證新的區塊,以完成其本地區塊鏈副本[1]。
挖礦
比特幣使用工作量證明系統或交易證明來形成一個點對點網絡的分布式時間戳伺服器。這項工作通常被稱為比特幣挖礦。在挖礦過程中,比特幣網絡幾乎所有的計算能力都用於解決密碼學難題,這就是工作量證明。它們的目的是確保有效區塊的生成需要一定的努力,這樣就可以在實踐中排除隨後對區塊鏈的修改,例如在51%攻擊的場景中。由於難度很大,礦工們組成「礦池」,以便在高電力需求、昂貴的硬體部署和硬體控制的情況下獲得回報。由於中國在2021年禁止比特幣挖礦,目前美國擁有最大的比特幣礦池份額[2]。
需要工作量證明才能接受區塊鏈上的新區塊是中本聰的關鍵創新。挖礦過程包括識別一個區塊,當使用SHA-256進行兩次哈希運算時,該區塊產生的數字小於給定的難度目標。雖然所需平均工作量與難度目標成反比增加,但始終可以通過執行一輪雙SHA-256來驗證哈希值。
對於比特幣時間戳網絡,通過遞增nonce直到找到一個值,使區塊的哈希值具有所需數量的前導零位,從而找到有效的工作量證明。一旦哈希運算產生了有效的結果,就不能在不重新完成工作的情況下更改該區塊。由於後續的區塊連結在其後,更改該區塊的工作將包括重新完成每個後續區塊的工作。如果共識出現偏差,則可能發生區塊鏈分叉。
比特幣中的多數共識由最長的鍊表示,這條鏈需要最大的工作量才能產生。如果大部分計算能力由誠實節點控制,則誠實鏈將增長最快並超越任何競爭鏈。要修改過去的區塊,攻擊者必須重新完成該區塊及其之後所有區塊的工作量證明,然後超越誠實節點的工作量。隨著後續區塊的添加,較慢的攻擊者追趕上的概率呈指數級下降。
為了補償不斷提高的硬體速度和隨著時間推移運行節點的興趣變化,找到有效哈希值的難度大約每兩周調整一次。如果區塊生成得太快,難度就會增加,需要更多的哈希運算才能生成一個區塊並產生新的比特幣。
參考連結
- ↑ Bitter to Better — HowtoMakeBitcoin a Better Currency bitcoin.pdf
- ↑ China's bitcoin miner exodus MacKenzie Sigalos @KENZIESIGALOS