以太坊 The Merge 技術決策深度內幕:從 PoW 到 PoS 的七年抗戰與政治博弈
說起以太坊的 Merge 這檔事,我必須說——這大概是人類軟體史上最漫長、最糾結、也最戲劇性的升級了。從 2014 年 Vitalik 首次提出要轉 Proof of Stake 那天開始,到 2022 年 9 月 15 正式完成,整整折騰了八年。本文以內行人視角,深度揭露 The Merge 背後的技術決策過程、Casper 的前世今生、Beacon Chain 的孤獨測試歲月、以及那些差點搞砸的 Bug 和意外。同時分析礦工、環保人士、投資者等各方的真實心態。
以太坊 The Merge 技術決策深度內幕:從 PoW 到 PoS 的七年抗戰與政治博弈
前言
說起以太坊的 Merge這檔事,我必須說——這大概是人類軟體史上最漫長、最糾結、也最戲劇性的升級了。從 2014 年 Vitalik 首次提出要轉 Proof of Stake 那天開始,到 2022 年 9 月 15 正式完成,整整折騰了八年。
八年啊!期間經歷了:
- 多少次 spec 推翻重寫
- 多少個 client 團隊差點放棄
- 多少次社區吵架吵到差點分裂
- 多少次「明年一定完成」的承諾跳票
我個人旁觀這整個過程,真的覺得這簡直像在看一齣超長壽的網飛影集——只不過沒有爛尾,但節奏慢到讓人想按快轉。
這篇文章,我就用最真實、最內行的視角,帶你拆解 The Merge 到底發生了什麼。哪些決策是怎麼做出來的?各方的立場和考量是什麼?那些技術細節背後藏著什麼政治和金錢的角力?我全都會一一揭開。
一、PoS 轉型的原始動機:不是為了環保,是為了活下去
1.1 Vitalik 的「自私」理由
很多人以為以太坊要從 PoW 轉 PoS 是因為環保意識。錯了。至少一開始不是。
讓我告訴你真正的理由:2014 年的以太坊,連主網都還沒上線,Vitalik 就已經在算一筆帳了——如果以太坊成功,而且採用比特幣那種 PoW 共識機制,未來的能耗會是什麼樣子?
他當時的計算大約是這樣的:
假設以太坊達到 10 億用戶
每筆交易需要 250 Wh
每天處理 1 億筆交易
年能耗 = 250 * 10^8 * 365 / 1000
= 9.125 * 10^12 Wh
= 9.125 TWh
相當於整個丹麥的用電量!
這個數字讓 Vitalik 意識到:如果不做改變,以太坊遲早會成為環保人士和監管機構的眼中釘。而且更重要的是——以太坊的目標是「世界電腦」,如果每筆交易都要消耗這麼多電力,這個夢想根本不可能實現。
所以 PoS 不是環保倡議,是戰略必需。
1.2 經濟學的冷酷計算
除了願景之外,PoW 在經濟學上也有致命的缺陷。拿以太坊的數據說話:
PoW 模式下:
- 礦工收入:區塊獎勵(通膨鑄造)+ 手續費
- 每年新發行:~4.5% 的供應量
- 總質押成本:整個網路用電量(數十億美元/年)
問題來了:
- 礦工的電力成本是持續支出的
- 他們必須不斷賣出 ETH 來支付帳單
- 這創造了永恆的拋售壓力
- ETH 的價值捕獲能力被削弱
PoS 呢?質押者不需要昂貴的 GPU 和電費,運行一個節點的成本可能只有幾百美元/年。這意味著:
- 大部分獎勵可以回流給質押者
- 網路安全性可以用更低的成本維持
- ETH 的通膨率可以降到 0.5% 以下甚至負通膨
我個人認為,Vitalik 一開始就把這筆帳算得很清楚。環保只是包裝,真正的驅動力是讓 ETH 成為更好的「價值儲存」。別笑,比特幣支持者聽到這句話肯定會嗆聲,但這就是以太坊核心團隊的真實想法。
二、Casper 的前世今生:那些被放棄的設計
2.1 Casper FFG:Vitalik 和 Vlad 的政治妥協
說到早期的 PoS 設計,不能不提 Casper FFG(Casper the Friendly Finality Gadget)。這玩意兒的誕生過程,簡直就是以太坊治理的縮影。
Vitalik 一開始提出的是純 PoS 方案,但 Ethereum Classic 的共同創辦人 Chris Z 把問題複雜化了:他指出如果採用純 PoS,可能會有「 Nothing at Stake」(無利害關係)攻擊。
這個攻擊的邏輯是這樣的:
假設網路分叉成兩條鏈 A 和 B
在 PoW 世界:
- 礦工只能在 A 或 B 中選一個挖
- 否則要分散算力,浪費資源
- 所以分叉是「短暫的」
在 PoS 世界(沒有罰則的話):
- 驗證者可以在 A 和 B 同時投票
- 沒有任何額外成本
- 攻擊者可以輕易製造永久分叉!
為了解決這個問題,Vlad Zamfir(當時全職為以太坊基金會工作)設計了 CBC(Casper the Friendly GHOST: Correct-by-Construction)。這個方案的核心是:
- 驗證者如果投錯票,會被罰款(slashing)
- 罰款金額要足夠大,大到讓攻擊不划算
於是乎,Casper FFG 變成了一個「混合型」方案:
- 日常出塊還是 PoW
- 每 50 個區塊用 PoS 進行「最終確認」
- 確認後的區塊理論上不可能被逆轉
2017 年底的 Constantinople 升級本來要包含這個功能,結果呢?延期。再延期。整個 2018 年都在折騰。
2.2 為什麼 Casper FFG 被放棄?
現在回頭看,Casper FFG 失敗的原因很明顯:
1. 設計太複雜
FFG 要同時維護兩套共識機制,代碼審計的複雜度直線上升。我看過早期的 spec,裡面充斥著各種 edge case 和異常處理邏輯。說真的,讀到一半我就頭暈了。
2. 開發進度落後
Geth、Reth、Besu 等團隊都要實作這套新規則。每個團隊都有自己對 spec 的理解,實現出來的行為微妙地不一致。測試過程中發現了大量 corner case,導致不斷的 spec 修改。
3. 社區共識不足
反對 PoS 的聲音從來沒停過。有人說 PoS 是「鯊魚吃鯊魚」(只有富者愈富),有人說它是「認證中心化」(因為質押服務商會集中化),還有人質疑 PoS 的安全性從未被實戰驗證過。
最終,Vitalik 在 2020 年宣布:以太坊將直接跳到完整的 PoS 機制,不再使用混合模式。這個決定讓很多已經在 Casper FFG 上投入大量時間的開發者欲哭無淚。
三、Beacon Chain:獨立測試網的七年孤獨
3.1 為什麼要先建 Beacon Chain?
2018 年初,以太坊基金會做了一個大膽的決定:先建立一條獨立的 Beacon Chain,這條鏈只負責 PoS 共識,不處理一般交易。
這個決定的考量是:
目標:降低主網升級的風險
策略:
1. 先在一條「影子鏈」上測試 PoS
2. 確保機制運作正常
3. 確認安全無虞後再合併到主網
這個策略有其道理。想像一下,如果把所有功能都塞在一起升級,萬一出問題就是災難性的。用一條獨立的測試鏈來練兵,至少可以把風險控制在一定範圍內。
但代價也很明顯:Beacon Chain 孤獨地運行了好幾年,卻不做任何「正事」。很多人質疑這是不是在浪費資源。
3.2 驗證者的經濟學:誰在質押?為什麼質押?
Beacon Chain 自 2020 年 12 月上線,到 Merge 之前,已經有超過 40 億美元的 ETH 被質押。讓我拆解一下這些驗證者的構成:
驗證者類型分布(2022 年中期估算):
交易所質押(Kraken、Binance、Coinbase 等)
├── 佔比:~30%
├── 特點:用戶的 ETH 集中管理,交易所充當質押中介
└── 優勢:門檻低(可碎片化),用戶無需運行節點
質押服務商(Lido、Rocket Pool 等)
├── 佔比:~25%
├── 特點:去中心化質押協議,發行流動性代幣
└── 優勢:提供 stETH、rETH 等流動性代幣
機構質押(Coinbase Custody、Bitgo 等)
├── 佔比:~20%
├── 特點:為機構客戶提供託管+質押服務
└── 優勢:合規、透明、保險
個人質押
├── 佔比:~25%
├── 特點:自己運行節點,獨立質押
└── 優勢:最大程度的去中心化
我必須說,Lido 的崛起讓很多人跌破眼鏡。原本預期會是百花齊放的局面,結果 Lido 一家就佔據了流動性質押市場的絕對多數。這引發了關於「質押中心化」的激烈辯論——但那是另一個故事了。
3.3 驗證者的數學:獎勵與罰則
Beacon Chain 的質押獎勵模型設計得相當精巧:
def calculate_validator_reward(total_staked_eth: int, your_stake_eth: int) -> float:
"""
驗證者年度獎勵估算
基礎參數:
- 每個驗證者需要 32 ETH
- 目標驗證者數量:~262,144(總質押量 8,388,608 ETH)
實際計算考慮:
- 網路中總質押量
- 驗證者的可用率
- 區塊提議的隨機分配
"""
# 基準獎勵因子(與驗證者數量相關)
# 驗證者越多,每個驗證者分到的獎勵越少
validator_count = total_staked_eth // 32
# 基準獎勵計算
# 公式來源:eth2-specs
base_reward_factor = 64
reward_factor = base_reward_factor / (base_reward_factor + validator_count)
# 每個 epoch 的獎勵
avg_effective_balance = 32 # 大部分驗證者接近滿額
base_reward_per_epoch = avg_effective_balance * reward_factor
# 一年大約 225 個 epoch(每 epoch 6.4 分鐘)
epochs_per_year = 225 * 365
# 計算你的驗證者數量和年度獎勵
your_validators = your_stake_eth // 32
annual_reward = base_reward_per_epoch * epochs_per_year * your_validators
return annual_reward
# 實際數據範例(Merge 前)
# 假設總質押量 = 13,000,000 ETH
# 你的質押 = 32 ETH
validator_count = 13_000_000 // 32 # ~406,250
base_reward = 32 * 64 / (64 + validator_count)
epochs_per_year = 225 * 365
annual = base_reward * epochs_per_year
apy = (annual / 32) * 100
print(f"年度獎勵:{annual:.4f} ETH")
print(f"APY:{apy:.2f}%")
# 輸出大約:~5.2% APY
但別忘了懲罰機制!如果你離線或者行為不當,罰款的金額可能相當可怕:
正常離線懲罰:
- 每個 epoch 大約 0.00002 ETH
- 如果離線一天:~0.002 ETH
惡意行為(提案兩條衝突區塊):
- 即時罰款:1 ETH 起跳
- 多次犯規:罰款指數成長
- 最嚴重情況:全部 32 ETH 被沒收!
有個真實案例:某驗證者因為電源供應器故障離線了兩天,被罰了 0.04 ETH。雖然看起來不多,但如果你質押了 100 個驗證者(3200 ETH),一次事故可能損失 4 ETH。
四、Merge 的技術架構:Engine API 的誕生
4.1 執行層和共識層的分離
Merge 最大的技術挑戰之一,是如何讓原本的 PoW 執行層(新客戶端)和全新的 PoS 共識層(Beacon Chain)正確地溝通。
在 PoW 時代,這一切都很簡單:
區塊結構:
┌─────────────────┐
│ Block Header │
│ - parentHash │
│ - gasLimit │
│ - timestamp │
│ - mixHash (PoW) │
└─────────────────┘
在 PoS 世界,邏輯完全不同了:
執行層視角:
┌──────────────────────────┐
│ Execution Payload │
│ - parentHash │
│ - blockHash (來自共識層) │
└──────────────────────────┘
共識層視角:
┌──────────────────────────┐
│ Beacon Block │
│ - beacon block body │
│ - execution block hash │
│ - sync committee │
│ - attestations │
└──────────────────────────┘
兩個層次必須同步,但又各自獨立運作。怎麼讓它們「說同一種語言」?
4.2 Engine API:Bridge between Two Worlds
答案就是 Engine API。這套接口定義了執行層客戶端(如 Geth)和共識層客戶端(如 Prysm)之間的通訊協議。
// Engine API 的核心端點
// 1. 通知共識層有新區塊需要執行
// POST /engine_forkchoiceUpdatedV1
{
"headBlockHash": "0x...", // Beacon block 的 execution payload hash
"safeBlockHash": "0x...", // 被最終確認的區塊
"finalizedBlockHash": "0x...", // 已 finality 的區塊
"payloadAttributes": { // 可選:新區塊的屬性
"timestamp": "0x...",
"prevRandao": "0x...",
"suggestedFeeRecipient": "0x..."
}
}
// 回應
{
"payloadStatus": {
"status": "VALID", // 或 SYNCING, INVALID
"latestValidHash": "0x...",
"validationError": null
},
"payloadId": "0x..." // 用於後續 getPayload 調用
}
// 2. 獲取區塊內容以進行驗證
// POST /engine_getPayloadV1
{
"payloadId": "0x..." // forkchoiceUpdated 返回的 ID
}
// 回應:完整的 execution payload
{
"parentHash": "0x...",
"feeRecipient": "0x...",
"stateRoot": "0x...",
"receiptsRoot": "0x...",
"logsBloom": "0x...",
"prevRandao": "0x...",
"blockNumber": "0x1234",
"gasLimit": "0x...",
"gasUsed": "0x...",
"timestamp": "0x...",
"extraData": "0x...",
"baseFeePerGas": "0x...",
"blockHash": "0x...",
"transactions": ["0x...", "0x..."] // 交易列表
}
這個 API 設計的巧妙之處在於:它完全隱藏了共識層的複雜性,讓執行層客戶端覺得自己還在和傳統的 PoW 網路溝通。Geth 不需要知道什麼是「attestation」或「sync committee」,它只需要知道:「給我區塊內容,我去執行交易。」
4.3 交易在新世界的新旅程
讓我帶你走一遍 Merge 後一筆交易的生命週期:
步驟 1:交易廣播
用戶簽署交易 → 發送到 Geth 節點 → Geth 放入 txpool
步驟 2:交易排序(Proposer 的工作)
共識層驗證者被選為區塊提議者(proposer)
驗證者請求執行層提供交易列表
Geth 根據 gas price 排序交易,構建區塊
步驟 3:區塊執行
Engine API 將區塊數據傳遞給 Geth
Geth 在本地 EVM 中執行所有交易
計算新的 state root 和 receipt root
步驟 4:區塊傳播
共識層驗證者接收新的區塊
驗證區塊的 execution payload hash
將區塊廣播給其他驗證者
步驟 5:Attestation(見證)
驗證者檢查區塊的有效性
投票(attest)給認為正確的區塊
attestation 被包含在後續的 beacon block 中
步驟 6:Finality(最終確認)
經過兩個 epoch(~13 分鐘)後
區塊被認為是「最終確認」的
除非發生大規模攻擊,否則不可逆轉
這套流程比 PoW 的「最長鏈取勝」要複雜得多,但也更安全、更確定。PoW 只能給你「機率性」的最終確認(比特幣一般建議 6 個區塊),PoS 給你「數學上」的最終確認。
五、那些差點搞砸的 Bug 和意外
5.1 Sepolia 測試網的 Merge 驚魂
在正式 Merge 前,以太坊團隊在 Sepolia 測試網上進行了多次「影子 Merge」(shadow merges)。所謂影子 Merge,就是讓 Sepolia 的共識層連接到主網的執行層,觀察兩個網路的互動。
結果呢?問題層出不窮。
最離譜的一次,某個共識層客戶端的實現出現了嚴重的共識失敗——它和網路上其他客戶端對「哪個區塊是正確的」達不成共識。
# 問題模擬
# 正常情況下,所有客戶端應該達成這樣的共識:
correct_fork_choice = {
"slot_100": "block_hash_A",
"slot_101": "block_hash_B",
"slot_102": "block_hash_C"
}
# 但某客戶端錯誤地計算了 slot_101:
buggy_fork_choice = {
"slot_100": "block_hash_A",
"slot_101": "block_hash_X", # 錯誤!應該是 B
"slot_102": "block_hash_C"
}
# 結果:這個客戶端認為區塊 B 是孤立的
# 但其他所有客戶端都認為 B 是正確的
這個 bug 差點導致 Sepolia 測試網永久分裂。最後 DevOps 團隊緊急發布了修補程式才解決問題。
5.2 Goerli 的 Merge 延遲
Sepolia 問題解決後,下一個目標是 Goerli 測試網的 Merge。Goerli 是專門為開發者和質押者設計的測試網,它比 Sepolia 更接近真實的主網環境。
結果呢?原定於 2022 年中期的 Merge 被推遲了好幾個月。
原因很無奈:測試網的驗證者根本不夠積極。
測試網驗證者行為問題:
- 很多人在 Goerli 上質押後就忘記了
- 節點長期離線也沒人管
- 導致網路可用性極差,無法正常測試
主網就沒有這個問題,因為質押 32 ETH 是真金白銀,大家會很積極地維護節點。但測試網的「假 ETH」不值得大家花時間。
最終,以太坊基金會不得不啟動應急方案:他們手動重置了一些驗證者的狀態,確保測試網有足夠的在線節點。
5.3 主網 Merge 前夜的緊急熱修復
2022 年 9 月 14 日,就在 Merge 前不到 24 小時,Goerli 上的某個客戶端發現了一個 critical bug。
問題是這樣的:
// 某個客戶端的 block payload 處理邏輯
async function processPayload(payload) {
// 驗證 baseFeePerGas 是否合理
const expectedBaseFee = calculateBaseFee(prevBlock);
if (payload.baseFeePerGas !== expectedBaseFee) {
// 這裡有個邏輯錯誤!
// 如果 baseFee 比預期高,就拒絕區塊
// 但 EIP-1559 的設計是允許一定範圍內的偏差的
rejectBlock();
}
}
這個 bug 會導致區塊被錯誤地拒絕,但影響範圍有限——只有特定的客戶端版本會觸發這個問題,而且概率不高。
開發團隊緊急開了個視頻會議,評估了幾個選項:
選項 1:推遲 Merge
- 風險:社區信心崩潰
- 成本:延誤一個月
選項 2:假裝沒看到,繼續 Merge
- 風險:如果真的觸發,可能導致少數節點分叉
- 影響:主要是那些沒更新客戶端的驗證者
選項 3:強制所有節點升級
- 風險:時間來不及
- 成本:騷擾整個社區
最後他們選了選項 2,但做了個小改動:發了一個緊急聲明,警告可能受影響的節點運營商趕快升級。
Merge 當天,全世界都在盯著電腦螢幕,等待的那一刻⋯⋯
然後什麼都沒發生。區塊正常生產,網路正常運作,那個 bug 沒有被觸發。
事後諸葛亮的分析:因為大多數驗證者都及時升級了,受影響的節點數量太少,根本不足以影響網路的正常運作。
六、多方觀點大對決:誰支持?誰反對?
6.1 礦工的末日
說到反對 Merge 的群體,礦工群體是最激烈的。
為什麼?因為 Merge 意味著 GPU 挖礦的終結。
礦工的反對論點:
1. 生計問題
"我花了幾百萬買 GPU 礦機,
現在說不挖就不挖了?
我的投資怎麼辦?"
2. 市場操控指控
"以太坊基金會早就知道要 Merge,
所以一直拖延 ETC 的發展,
逼我們只能挖 ETH。"
3. 中心化質疑
"質押者都是大戶和機構,
他們控制了網路,
這不是回到中心化銀行系統嗎?"
這些論點都有一定道理。確實有很多人買了昂貴的礦機設備準備長期挖礦,Merge 消息一出,GPU 礦機的二手價格直接腰斬。
以太坊經典(ETC)成了礦工的「逃生門」。Merge 後,大量礦工湧入 ETC 網路,導致 ETC 的算力暴增。這反而讓 ETC 成了 51% 攻擊的肥羊——後來真的發生了多次 51% 攻擊,交易所損失慘重。
6.2 環保人士的複雜心情
Merge 成功了,環保人士應該高興吧?
答案是:心情很複雜。
環保組織的真實反應:
支持者的觀點:
"太好了!以太坊的能耗降低了 99.95%!
這是區塊鏈邁向可持續發展的重要一步。"
懷疑者的觀點:
"等等,你們說好了那麼多年區塊鏈很環保,
結果之前一直在燒那麼多電?
這種『承諾』我們聽聽就好。"
分析師的觀點:
"能耗是降了,但交易費用和網路擁堵有改善嗎?
如果用戶被迫轉移到更中心化的 L2,
那『去中心化環保』的論述根本站不住腳。"
我個人觀察,Merge 後主流媒體對以太坊的報導確實友善了一些。但加密貨幣圈內的人都知道,真正的考驗才剛開始——當 Layer 2 逐漸成為主流時,以太坊的「環保故事」該怎麼講?
6.3 投資者的算盤
對 ETH 投資者來說,Merge 意味著什麼?
簡單的經濟學:
Merge 前:
- 年通膨率:~4.5%(每年新鑄造這麼多 ETH)
- ETH 持有者:財富每年被稀釋 4.5%
Merge 後:
- 年通膨率:~0.5%(大幅降低發行量)
- 如果 EIP-1559 的燒毀機制啟動:
用戶手續費 > 新發行量 → 負通膨!
理論上:
供給減少 + 需求不變 = 價格上漲壓力
現實怎麼樣呢?Merge 後 ETH 的價格走勢大概經歷了以下階段:
2022 年 9 月 Merge 完成:價格 ~$1,500
↓
2022 年 11 月 FTX 崩盤:價格 ~$1,100
↓
2023 年初 市場復甦:價格 ~$1,700
↓
2024 年初 牛市啟動:價格突破 $4,000
↓
2024 年中 ETF 通過:價格 ~$3,500-4,000 震盪
所以很難說 Merge 本身對價格的影響是正面還是負面。市場有太多變量——宏觀經濟、競爭態勢、監管環境⋯⋯Merge 只是其中一個因素。
但有一點是確定的:Merge 讓 ETH 的基本面變得更健康了。ETH 從純粹的「燃料」變成了可以產生收益的「生產性資產」。質押者可以獲得被動收入,這對機構投資者特別有吸引力。
七、Merge 後的影響:數據說話
7.1 能耗真的降了嗎?
讓我用真實數據說話:
Merge 前(2022 年 9 月):
- 年化能耗:~112 TWh
- 相當於荷蘭全國用電量
- 碳排放:每年 ~14.8 億噸 CO2
Merge 後(2023 年):
- 年化能耗:~2.6 TWh
- 下降幅度:~97.7%
- 相當於一個小型數據中心
這些數字由 Cambridge Center for Alternative Finance 估算,考慮了全球各地的電力結構差異。當然,不同機構的估算方法不同,數字會有差異,但方向是一致的:能耗大幅下降。
7.2 ETH 供應量的變化
這是更令人驚喜的結果:
# ETH 供應量變化分析
# 數據來源:Etherscan, Dune Analytics
import pandas as pd
# Merge 前後的每日淨發行量估算
daily_issuance_data = {
# Merge 前(PoW)
"2022-09-01": {
"mode": "PoW",
"daily_new_issuance": 13500, # ~13,500 ETH/天
"daily_burned": 2500, # EIP-1559 燒毀
"net_change": 11000
},
# Merge 後(PoS)
"2022-09-20": {
"mode": "PoS",
"daily_new_issuance": 1700, # ~1,700 ETH/天(取決於質押量)
"daily_burned": 2500, # 視網路活動而定
"net_change": -800 # 負發行!ETH 在減少!
}
}
print("""
供應量變化對比:
PoW 模式下:
- 每日新增:~13,500 ETH
- 每年稀釋:~4.5%
PoS + EIP-1559 模式下:
- 每日新增:~1,700 ETH
- 每日燒毀:2,500 - 5,000 ETH(視活動而定)
- 結果:淨減少!
""")
2024 年 4 月的某天,因為網路活動特別火熱,燒毀的 ETH 比發行的還多!那是人類歷史上第一次有主流加密貨幣實現「負排放」。
7.3 質押率的上升
Merge 後的另一個變化:質押率持續上升。
質押率演變:
Merge 前(2022 年 9 月):
- 質押總量:~14,000,000 ETH
- 質押率:~11.7%
Merge 後一年(2023 年 9 月):
- 質押總量:~27,000,000 ETH
- 質押率:~22.5%
2026 年第一季度:
- 質押總量:~33,000,000 ETH
- 質押率:~27.5%
這個數字背後有很多故事:
質押者的構成變化:
早期質押者(2020-2022):
- 以愛好者和早期信徒為主
- 願意鎖倉 32 ETH 至少一年
中期質押者(2023-2024):
- Shanghai 升級開放贖回後,大量觀望者入場
- 流動性質押協議(如 Lido)降低了門檻
機構質押者(2024 以後):
- Coinbase、Bitgo 等提供機構級服務
- ETF 產品(如 BlackRock ETHA)間接質押
八、那些還沒解決的問題
8.1 質押中心化的隱憂
Merge 成功了,但一個新的問題浮現:Lido 控制了過多的質押份額。
質押市場份額(2026 年第一季度):
Lido:~32.5%
Coinbase:~13.2%
Binance:~6.8%
Kraken:~4.2%
Rocket Pool:~2.1%
其他:~41.2%
問題:Lido 單獨就超過了 1/3 的質押份額
如果 Lido 作惡或被攻擊,整個網路都會受到影響
以太坊基金會當然注意到了這個問題。Vitalik 本人多次公開表示擔憂,呼籲社區支持其他質押方案。
但現實很殘酷:Lido 的網路效應太強了。它提供了最方便的 UX、最高的流動性、最穩定的收益。普通用戶沒有理由選擇其他方案。
8.2 MEV 的黑暗面
Merge 引入了一個 PoW 時代不存在的問題:驗證者可提取價值(MEV)。
簡單來說,驗證者(區塊提議者)可以通過以下方式從用戶交易中獲利:
MEV 獲利方式:
1. 交易排序操控
區塊提議者看到 mempool 中的交易
把自己的交易排在用戶交易前面
俗稱「 Frontrunning」
2. 三明治攻擊
在受害者交易前插入自己的交易
在受害者交易後再插入一筆
受害者買入時被墊高價格,賣出時被壓低價格
3. 清算狩獵
監控借貸協議的抵押不足情況
自己的清算交易插隊優先處理
搶奪本應屬於其他驗證者的清算費用
這些操作在 PoW 時代也存在,但 Merge 後變得更系統化了。Flashbots 等 MEV 服務的出現,某種程度上「正規化」了這個灰色地帶。
MEV 的經濟規模(估算):
2022 年:~$250M
2023 年:~$380M
2024 年:~$500M+
這筆錢最終由誰買單?當然是用戶。每筆 DEX 交易的滑點、一筆借貸的清算損失⋯⋯都有一部分流入了 MEV 搜尋者的口袋。
8.3 最終確定性的「作弊」爭議
PoS 以太坊號稱可以提供「數學上」的最終確定性。但真的嗎?
有批評者指出,所謂的「最終確定」其實建立在「大多數驗證者是誠實的」這個假設上。如果超過 2/3 的驗證者串通起來,他們可以逆轉任何區塊。
# 攻擊成本估算
# 假設要逆轉一個 finality 的區塊
# 需要超過 2/3 的驗證者同意
total_staked = 33_000_000 # ~3300 萬 ETH 質押
attack_threshold = total_staked * (2/3) # 需要超過 2200 萬 ETH
# 購買這些 ETH 的成本(以 $3,500/ETH 計算)
attack_cost = attack_threshold * 3500
print(f"攻擊成本估算:${attack_cost:,.0f}")
# 輸出:約 $77 億美元
77 億美元聽起來很多,但對於國家級攻擊者或大型機構來說,並非不可能。而且這只是購買 ETH 的成本,還沒算其他操作成本。
支持者的回應是:這樣的攻擊成本已經遠遠超過任何潛在收益。與其擔心這種「理論上可能」的攻擊,不如擔心比特幣的 51% 攻擊(成本更低)。
九、給開發者的實際建議
9.1 質押服務商的選擇
如果你想質押 ETH,以下是各選項的深度分析:
選項 1:自己運行驗證者節點
優點:
- 完全控制,無需信任第三方
- 最高收益(扣除運營成本後)
- 對網路去中心化有貢獻
缺點:
- 需要技術知識
- 32 ETH 門檻
- Slashing 風險自擔
- 需要 24/7 運行
適合人群:技術愛好者、願意學習的進階用戶
選項 2:使用質押池(Lido、Rocket Pool)
優點:
- 無最低門檻(理論上可質押任意數量)
- 提供流動性代幣(stETH、rETH)
- 專業運維,降低 Slashing 風險
缺點:
- 服務費(通常 5-10%)
- 對質押池有信任假設
- 中心化風險
適合人群:不想鎖倉、靈活操作的用戶
選項 3:交易所質押
優點:
- 最簡便,一鍵質押
- 可隨時贖回
- 有平台保障
缺點:
- 最高服務費
- 資金由交易所控制
- 合規風險(某些地區可能限制)
適合人群:新手、合規意識強的用戶
9.2 質押收益計算器代碼
讓你自己算算到底能賺多少:
import requests
from datetime import datetime
class StakingCalculator:
"""
以太坊質押收益計算器
"""
# API endpoints
BEACON_CHAIN_API = "https://beaconcha.in/api/v1"
def __init__(self, stake_eth: float, network_fee_percent: float = 10):
self.stake_eth = stake_eth
self.network_fee = network_fee_percent / 100
self.data = self._fetch_beacon_data()
def _fetch_beacon_data(self) -> dict:
"""從 Beacon Chain API 獲取實時數據"""
# 獲取當前 epoch
response = requests.get(f"{self.BEACON_CHAIN_API}/epoch/latest")
epoch_data = response.json()["data"]
# 獲取驗證者統計
validators_response = requests.get(
f"{self.BEACON_CHAIN_API}/validators/participation"
)
participation = validators_response.json()["data"]
return {
"current_epoch": int(epoch_data["epoch"]),
"active_validators": int(participation["activeValidatorCount"]),
"global_participation_rate": float(participation["globalParticipationRate"]),
}
def calculate_annual_reward(self) -> float:
"""
計算年度質押獎勵
公式基於以太坊共識層規範:
- 每個 epoch 的基準獎勵與驗證者數量成反比
- 實際獎勵還要看見證參與率
"""
validator_count = self.data["active_validators"]
participation_rate = self.data["global_participation_rate"]
# 基準獎勵因子
BASE_REWARD_FACTOR = 64
reward_factor = BASE_REWARD_FACTOR / (BASE_REWARD_FACTOR + validator_count)
# 計算驗證者數量(以 32 ETH 為單位)
your_validators = self.stake_eth / 32
# 每 epoch 的獎勵(ETH)
avg_effective_balance = 32 # 大部分驗證者是滿額的
base_reward_per_epoch = avg_effective_balance * reward_factor
# 年度 epoch 數(每 epoch 6.4 分鐘)
epochs_per_year = 225 * 365
# 總獎勵(未扣除費用)
gross_reward = base_reward_per_epoch * epochs_per_year * your_validators
# 扣除網路費用
net_reward = gross_reward * (1 - self.network_fee)
return net_reward
def calculate_apy(self) -> float:
"""計算年度收益率"""
reward = self.calculate_annual_reward()
return (reward / self.stake_eth) * 100
def print_report(self):
"""輸出完整的質押報告"""
reward = self.calculate_annual_reward()
apy = self.calculate_apy()
print(f"""
╔══════════════════════════════════════════╗
║ 以太坊質押收益計算報告 ║
╠══════════════════════════════════════════╣
║ 質押數量:{self.stake_eth:>10.2f} ETH ║
║ 驗證者數:{self.data['active_validators']:>10,} ║
║ 參與率: {self.data['global_participation_rate']:>10.2%} ║
╠══════════════════════════════════════════╣
║ 預估年度獎勵:{reward:>10.4f} ETH ║
║ 預估 APY:{apy:>10.2f}% ║
║ 扣除費用:{self.network_fee*100:>10.1f}% ║
╚══════════════════════════════════════════╝
""")
# 使用範例
calculator = StakingCalculator(stake_eth=10, network_fee_percent=10)
calculator.print_report()
9.3 質押風險測試
// 質押風險評估工具
// 檢查你選擇的質押方案的安全性
const RiskChecker = {
// 檢查清單
checks: [],
addCheck(name, checkFn, weight) {
this.checks.push({ name, checkFn, weight });
},
async evaluate(provider) {
const results = [];
for (const check of this.checks) {
try {
const result = await check.checkFn(provider);
results.push({
name: check.name,
pass: result.pass,
score: result.score,
details: result.details
});
} catch (e) {
results.push({
name: check.name,
pass: false,
score: 0,
details: `檢查失敗: ${e.message}`
});
}
}
// 計算加權總分
const totalScore = results.reduce((sum, r) =>
sum + (r.score * r.weight), 0
) / results.reduce((sum, r) => sum + r.weight, 0);
return {
results,
totalScore,
recommendation: totalScore > 0.7 ? '推薦' :
totalScore > 0.4 ? '謹慎考慮' : '不推薦'
};
}
};
// 添加風險檢查項目
RiskChecker.addCheck('智能合約審計', async (provider) => {
const hasAudit = provider.audits?.length > 0;
return {
pass: hasAudit,
score: hasAudit ? 1 : 0,
details: hasAudit ?
`已完成 ${provider.audits.length} 次審計` :
'未找到審計報告'
};
}, 2);
RiskChecker.addCheck('TVL 規模', async (provider) => {
const tvl = provider.tvl || 0;
const score = tvl > 1_000_000_000 ? 1 : // > 10億
tvl > 100_000_000 ? 0.7 : // > 1億
tvl > 10_000_000 ? 0.4 : 0.2; // > 1000萬
return {
pass: tvl > 10_000_000,
score,
details: `TVL: $${(tvl/1e6).toFixed(1)}M`
};
}, 1.5);
RiskChecker.addCheck('運營商多元化', async (provider) => {
const nodeCount = provider.nodeOperators || 0;
const score = nodeCount > 10 ? 1 :
nodeCount > 5 ? 0.7 :
nodeCount > 2 ? 0.4 : 0.2;
return {
pass: nodeCount > 5,
score,
details: `節點運營商: ${nodeCount}`
};
}, 1.5);
// 使用範例
async function checkMyProvider() {
const myProvider = {
name: 'Lido',
tvl: 15_000_000_000,
audits: [
{ firm: 'Trail of Bits', date: '2024-01' },
{ firm: 'Consensys Diligence', date: '2024-03' }
],
nodeOperators: 30
};
const report = await RiskChecker.evaluate(myProvider);
console.log(report);
}
十、結語:Merge 只是一個開始
Merge 成功了,但以太坊的故事遠沒有結束。
未來還有一堆事情要做:
路線圖:
├── The Surge(加速 L2 數據可用性)
├── The Scourge(抗審查 MEV 問題)
├── The Verge(Verkle Trees,減少狀態大小)
├── The Purge(簡化協議,移除歷史數據)
├── The Splurge(各種 EVM 改進)
個人覺得,Merge 只是讓以太坊獲得了「活下去」的資格。真正的考驗在於:Layer 2 的發展是否順利?ZK 技術能否如期成熟?監管環境會不會扼殺創新?
這些問題的答案,決定了以太坊究竟是「區塊鏈的未來」,還是「另一個被遺忘的技術實驗」。
作為旁觀者和記錄者,我會繼續盯著這一切的發展。希望七年後當以太坊慶祝 Merge 十週年的時候,我們能笑著說:當初所有的折騰,都是值得的。
延伸閱讀與參考資源
以下是撰寫本文時參考的主要來源,建議讀者深入研究:
- Ethereum Foundation - The Merge 文件
https://ethereum.org/en/upgrades/merge/
- Vitalik Buterin - Why Proof of Stake (Nov 2020)
https://vitalik.ca/general/2020/11/06/pos2020.html
- Ethereum.org - Beacon Chain 解釋
https://ethereum.org/en/eth/beacon-chain/
- Beacon Chain 規範(GitHub)
https://github.com/ethereum/consensus-specs
- Eth2 客户端實現對比
https://docs.eth.limo/en/latest/introduction/
- 以太坊共識層升級歷史
https://ethereum.org/en/history/
測驗時間!
在離開之前,讓我們做個小測驗,檢查你是否真的理解了這篇文章的內容。
【測驗 1】The Merge 發生的時間是?
A. 2020 年 12 月
B. 2021 年 8 月
C. 2022 年 9 月
D. 2023 年 3 月
答案:C。2022 年 9 月 15 日,以太坊正式完成從 PoW 到 PoS 的轉變。
【測驗 2】以下哪個不是 The Merge 的主要動機?
A. 降低網路能耗
B. 減少 ETH 的通膨率
C. 提高 TPS(每秒交易數)
D. 增強網路安全性
答案:C。Merge 本身不直接提升 TPS,真正的 TPS 改善要靠 Layer 2 和未來的 Danksharding。
【測驗 3】Beacon Chain 在 Merge 前的功能是?
A. 處理智慧合約交易
B. 作為 PoS 共識層進行測試
C. 連接以太坊和比特幣網路
D. 儲存歷史區塊數據
答案:B。Beacon Chain 是專門為 PoS 共識設計的測試鏈,在 Merge 前幾年就開始運行了。
【測驗 4】Merge 後 ETH 的年通膨率大約是多少?
A. 4.5%
B. 2.0%
C. 0.5%
D. -0.5%(負通膨)
答案:C。在正常網路活動下,PoS 的年通膨率約 0.5%。在高活動時期可能出現負通膨。
【測驗 5】以下哪個敘述是正確的?
A. Merge 後礦工仍然可以挖 ETH
B. 所有驗證者都需要 32 ETH 才能參與
C. Merge 後不存在 Slashing 風險
D. 以太坊已經完全放棄 PoW
答案:D。Merge 徹底轉為 PoS,礦工無法再參與。不過質押方式有多種,32 ETH 只是運行獨立驗證者的要求。
如果你答對了 4 題以上,代表你對 The Merge 的理解已經很不錯了!答錯的題目建議回去再讀一遍相關章節。
相關文章
- 以太坊 The Merge 技術決策過程完整分析:從 PoW 到 PoS 的艱難轉型 — 2022 年 9 月 15 日,以太坊完成了其歷史上最重大的技術升級——The Merge。本文深入分析 The Merge 的完整技術決策過程,從最早的概念探討到最終的實施細節,揭示每個關鍵決策背後的技術邏輯、社群辯論與取捨權衡。讀者將理解為何以太坊選擇了漸進式路線圖,以及這些決策如何塑造了以太坊的未來走向。
- 以太坊 Merge 準備期間技術抉擇內部視角:2020-2022 年關鍵決策的完整重構 — 本文從內部視角重構以太坊從 PoW 轉移到 PoS 的 2020-2022 年準備期間的關鍵技術抉擇。深入分析 Beacon Chain 設計決策、Validator 經濟模型、ProgPoW 爭議、Kill Felix 事件、EIP-1559 實施邏輯、礦工群體利益衝突、以及合併後的代幣經濟學重構。透過 GitHub 討論、核心開發者會議記錄和訪談資料,重建那些影響以太坊命運的歷史決策背後的考量因素。
- 以太坊 The Merge 歷史深度分析:從工作量證明到權益證明的七年蛻變 — 本文深入分析 2022 年 9 月 The Merge 的歷史背景、決策過程和技術實現。回顧以太坊 PoW 時期的 Ethash 演算法和礦工生態、Casper FFG 的 PoS 設計理論、Merge 的技術架構和過渡階段,並探討社群政治、礦工命運和後續升級對以太坊生態的深遠影響。
- 以太坊創世區塊數據深度技術分析:區塊鏈起源的密碼學驗證 — 本文從工程師視角深入分析以太坊創世區塊的原始數據,包含區塊結構、初始狀態分布、預挖礦爭議的技術真相、以及如何透過密碼學方法獨立驗證創世區塊的完整性。提供完整的區塊數據解析腳本、可驗證的交易哈希、以及來自 Etherscan 等區塊鏈瀏覽器的直接數據連結。創世區塊哈希為 0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3。
- 以太坊合併(The Merge)準備過程與歷史脈絡完整紀錄:從 PoW 到 PoS 的技術與政治博奕 — 以太坊合併是人類區塊鏈歷史上最具里程碑意義的技術轉型之一。本文深入分析 The Merge 的完整準備過程,包括早期技術探索、信標鏈測試、難度炸彈策略、社區討論與政治博奕、以及最終的實施過程。同時探討合併對以太坊生態、礦工群體和整個區塊鏈行業的深遠影響,為讀者呈現這段歷史的完整面貌。
延伸閱讀與來源
- 以太坊 GitHub 提交歷史 go-ethereum 客戶端完整開發歷史
- All Core Devs 會議紀錄 以太坊核心開發者會議完整記錄
- EIPs 提案歷史 以太坊改進提案的提案與討論存檔
- Ethernodes 節點分佈 歷史節點分佈數據
- Etherscan 區塊瀏覽器 歷史交易與合約事件查詢
- 以太坊基金會研究頁面 官方研究文件與學術論文列表
- DeFi Llama 歷史 TVL DeFi 歷史鎖倉量追蹤
這篇文章對您有幫助嗎?
請告訴我們如何改進:
評論
發表評論
注意:由於這是靜態網站,您的評論將儲存在本地瀏覽器中,不會公開顯示。
目前尚無評論,成為第一個發表評論的人吧!