比特幣升級完整歷史

從創世到 Taproot,全面回顧比特幣軟分叉升級時程線。

比特幣升級完整歷史:從創世到 Taproot

比特幣升級機制概述

比特幣的升級分為兩種主要類型:軟分叉(Soft Fork)硬分叉(Hard Fork)。軟分叉是向後兼容的升級,大多數節點升級後,未升級的節點仍能驗證新區塊。硬分叉則是不相容的升級,需要整個網路達成共識。

軟分叉是比特幣社群偏好的升級方式,因為它們:

比特幣早期升級(2009-2012)

BIP 34:區塊高度 in Coinbase(2012)

這是比特幣的第一個共識升級,強制區塊的 Coinbase 交易包含區塊高度。這解決了一個安全漏洞,並為後續的軟分叉奠定了基礎。

激活方式:BIP 34 通過礦工投票激活,閾值為 95%

升級日期:2012年3月(區塊 227,835)

BIP 66:嚴格 DER 簽名(2015)

BIP 66 對比特幣交易的 ECDSA 簽名格式實施更嚴格的規則,解決了之前簽名格式的一些歧義問題。

激活方式:BIP 66 通過 BIP 34 觸發

升級日期:2015年7月(區塊 363,724)

隔離見證升級(2017)

BIP 141:隔離見證(SegWit)

隔離見證是比特幣史上最重要的升級之一。它將交易的簽名數據(witness)從交易中分離出來,解決了比特幣的擴展性問題,並為閃電網路等第二層解決方案奠定了基礎。

SegWit 的主要改進

  1. 交易擴展:區塊容量理論上增加到 4MB(實際約 2-3MB)
  2. 交易指紋改變:解決「交易可塑性」問題
  3. 費用降低:簽名數據單獨收費,降低每筆交易的平均費用
  4. 第二層支持:為閃電網路提供必要的技術基礎

Speedy Trial:首次激活嘗試

2017年,開發團隊嘗試使用一種稱為「Speedy Trial」的快速激活方法。這種方法給予礦工們一個較短的窗口期(2017年11月)來投票支持 BIP 141。

結果:Speedy Trial 失敗,未能在規定時間內達到 95% 的閾值

UASF:用戶激活軟分叉

在 Speedy Trial 失敗後,社群發起了「用戶激活軟分叉」(UASF)。這個運動主張由節點運營商(而非礦工)來決定是否激活 SegWit。

激活日期:2017年8月1日(區塊 481,824)

New York Agreement 與 SegWit2x

作為對 UASF 的回應,部分礦工和公司在「New York Agreement」中同意支持 SegWit,並計劃在之後進行一個名為 SegWit2x 的硬分叉,試圖將區塊大小增加到 2MB。

SegWit2x 取消:2017年11月,由於缺乏足夠的社群支持,SegWit2x 計畫被取消

BIP 148:隔離見證激活

BIP 148 是 UASF 的技術實現,它要求礦工在特定時間範圍內開採包含 SegWit 信號的區塊,否則將拒絕他們的區塊。

BIP 91:隔離見證激活門檻降低

BIP 91 降低了激活 SegWit 所需的閾值,從 95% 降低到 80%。這使得激活更容易達成。

隔離見證升級的完整社區討論過程

2015-2016:區塊大小戰爭的起源

隔離見證的討論起源於更廣泛的「區塊大小戰爭」。2015 年,社群分裂成兩大陣營:

大區塊陣營

小區塊陣營

區塊大小辯論核心問題:

問題 1:去中心化 vs 擴展性
├─ 大區塊:更多交易,但運行節點成本增加
└─ 小區塊:保持去中心化,但交易容量受限

問題 2:誰決定比特幣的方向?
├─ 礦工算力投票
└─ 節點運營商經濟決定

問題 3:比特幣的本質是什麼?
├─ 支付系統(需要高吞吐量)
└─ 價值儲存(需要安全性和去中心化)

2016-2017:共識會議與談判

2016 年 2 月,香港舉行了「比特幣共識會議」,匯集了開發者、礦池和企業代表。這次會議達成了「香港共識」:

然而,香港共識從未被完全執行。開發者社群對增加區塊大小的時機和方法存在分歧。

2017 年:UASF 的興起

2017 年 3 月,社群出現了「用戶激活軟分叉」(UASF)運動。這個運動的核心人物是 Bitcoin Core 開發者 Shaolinfry(本名 Ariel Anderson)。

UASF 的理念

UASF 的技術實現

New York Agreement 與 SegWit2x

作為對 UASF 的回應,2017 年 5 月在紐約舉行的「共識 2017」會議上,主要礦池和公司達成了「New York Agreement」:

簽署方

協議內容

  1. 支持 SegWit 激活
  2. 在 SegWit 激活後的 90 天內進行硬分叉,將區塊大小增加至 2MB

這就是後來的「SegWit2x」提案。

SegWit2x 取消

2017 年 11 月 8 日,SegWit2x 計畫在最後一刻被取消。原因是:

取消聲明寫道:「我們決定放棄 BIP 101(2MB 區塊)提議,因為我們沒有足夠的共識來確保安全升級。」

SegWit 激活的最終結果

經過一年的社區鬥爭,SegWit 於 2017 年 8 月 23 日正式激活:

激活區塊:區塊 481,824

激活後的變化

SegWit 激活關鍵事件時間線:

2015年  - BIP 提出
2016年2月 - 香港共識會議
2017年3月 - UASF 運動興起
2017年5月 - New York Agreement
2017年7月 - SegWit2x 宣布
2017年8月1日 - BIP 148 UASF 開始
2017年8月23日 - SegWit 正式激活
2017年11月 - SegWit2x 取消

BIP 143:交易序列化優化

BIP 143 優化了 SegWit 交易的費用計算,使用更準確的數據來估算交易費用。

隔離見證後的升級

BIP 91 激活

在 SegWit 激活後不久,BIP 91 通過降低閾值的方式被觸發。這是一次「隱性」軟分叉,因為它不需要明確的激活信號。

升級日期:2017年8月8日

BIP 158:緊湊區塊過濾器

BIP 158 為輕客戶端定義了一種新的區塊過濾器標準,使得 SPV 錢包可以更有效地驗證交易。

Taproot 升級(2021)

BIP 340:Schnorr 簽名

BIP 340 實現了 Schnorr 簽名,這是一種新的數位簽名方案,與 ECDSA 相比具有以下優勢:

BIP 341:Taproot

BIP 341 是 Taproot 升級的核心,它結合了 Schnorr 簽名和 MAST(Merkelized Abstract Syntax Tree)技術:

Taproot 的主要特性

  1. 更佳隱私:所有交易(包括多簽名、 時間鎖等)在外觀上都相同
  2. 腳本靈活性:支持更複雜的解鎖條件
  3. 費用效率:複雜腳本的花費與簡單交易相同

BIP 342:Tapscript

BIP 342 更新了比特幣的腳本語言 Tapscript,以支持 Taproot 的新功能:

Taproot 激活過程

Taproot 的激活經歷了漫長的社群討論,最終採用了一種稱為「Speedy Trial」的變體:

  1. 第一階段:2021年3月,礦工可以開始信號支持 Taproot
  2. 第二階段:如果大多數礦工支持,進入鎖定期
  3. 第三階段:升級自動激活

激活日期:2021年11月14日(區塊 709,632)

Taproot 升級的完整社區討論過程

漫長的醞釀期

Taproot 的討論可以追溯到 2019 年,當時 Bitcoin Core 開發者開始認真討論這個升級。與 SegWit 不同的是,這次升級幾乎沒有引起社區分裂。

醞釀階段時間線

2019年:
- Pieter Wuille 提出 Taproot 概念
- 社區開始廣泛討論 Schnorr 簽名的優點
- 開發者就 MAST 結構達成共識
- 沒有出現嚴重的社區分歧

2020年:
- BIP 340, 341, 342 正式提出
- 測試網上進行充分測試
- 社群意見趨於一致

2021年:
- Speedy Trial 激活機制達成共識
- 礦工信號支持
- 正式激活

為何 Taproot 沒有引發衝突?

與 2017 年的 SegWit 升級不同,Taproot 幾乎沒有引發社區分裂。原因包括:

技術共識

經驗教訓

激活機制

Speedy Trial 激活詳解

Taproot 採用了改進版的 Speedy Trial 激活機制:

Speedy Trial 參數:

激活窗口:2016 個區塊(約 2 週)
信號要求:90% 礦工支持
鎖定期:2016 個區塊(約 2 週)
最小版本:Bitcoin Core 0.21.1

激活條件:
1. 在第一個 2016 區塊窗口中,至少 90% 的區塊信號支持
2. 進入 2016 區塊的鎖定期
3. 鎖定期結束後,Taproot 在第一個滿足條件的區塊激活

實際激活情況

Taproot 激活後的影響

Taproot 激活標誌著比特幣的重大進步:

隱私改進

效率提升

創新基礎

Taproot 升級關鍵事件時間線:

2019年 - Taproot 概念提出
2020年 - BIP 正式發布
2021年3月 - Speedy Trial 激活
2021年6月 - 達到 90% 閾值
2021年11月 - Taproot 正式激活

其他重要升級

OP_RETURN 擴展

比特幣的 OP_RETURN 輸出大小經歷了多次擴展:

這些擴展支持了 Ordinals、BRC-20 等協議的發展。

閃電網路準備工作

在 SegWit 激活前,比特幣還進行了一些其他的小升級,為閃電網路做準備:

比特幣改進提案(BIP)流程

比特幣的升級通常遵循以下流程:

  1. 提議:在比特幣開發郵件列表或 GitHub 上提出 BIP
  2. 審查:社群和開發者進行技術審查
  3. 實現:在 Bitcoin Core 中實現
  4. 測試:在測試網上進行充分測試
  5. 激活:通過礦工投票或用戶節點激活
  6. 部署:在主網上生效

未來升級方向

比特幣社群目前正在討論的未來升級包括:

Chain Primitives

這是一組提議的功能,允許在比特幣腳本中直接驗證其他區塊鏈的狀態,實現更安全的跨鏈橋接。

BIP 119:OP_CHECKTEMPLATEVERIFY

這個升級將允許交易指定特定的區塊鏈模板,簡化 Payment Channel 工廠等應用的實現。

Drivechain

Drivechain 是一種提議的機制,允許創建「側鏈」類型的擴展解決方案,用戶可以將比特幣「移動」到另一條鏈上。

升級統計

升級年份類型狀態
BIP 342012軟分叉已激活
BIP 662015軟分叉已激活
BIP 141 (SegWit)2017軟分叉已激活
BIP 148/912017軟分叉已激活
BIP 340/341/342 (Taproot)2021軟分叉已激活

總結

比特幣的升級歷史展示了這個去中心化網路如何通過協商一致的方式進行演進。從早期的簡單修復到近年來更複雜的功能升級,比特幣社群已經建立了成熟的流程來確保網路的安全性和可持續發展。

理解這些升級不僅有助於掌握比特幣的技術發展,也讓我們能夠更好地評估未來可能的改進方向。

本文包含

延伸閱讀與來源

這篇文章對您有幫助嗎?

評論

發表評論

注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。

目前尚無評論,成為第一個發表評論的人吧!