比特幣為什麼不把區塊做得更大?

比特幣為什麼不把區塊做得更大?的文章封面插畫

網路塞車時,拓寬道路是很自然的反應。比特幣也有相似情況:每個區塊能容納的交易資料有限,想在同一時間進入的人變多,交易便會競爭空間,手續費也可能上升。既然瓶頸看起來是容量,把區塊做大似乎就能直接解決問題。

這個直覺抓到一項真實收益。其他條件相同時,較大的區塊可以收錄更多交易,縮短部分等待,並減輕短期的空間競爭。不過,比特幣沒有一台中央伺服器替所有人保存結果;每個全節點都要接收、檢查並保存自己接受的資料。增加容量也會把頻寬、驗證時間與長期儲存需求一起放大。

因此,區塊上限其實在處理兩個方向相反的目標:讓更多交易進入基礎層,同時讓一般參與者仍有能力獨立核對帳本。容量太緊會帶來費用與等待壓力;資源要求升得太快,能自行驗證的人可能減少,系統便更依賴設備充足的少數服務者。

多出的空間會被整個網路重複處理

一個新區塊被產生後,資料要傳到各地。收到資料的全節點會驗證交易格式、簽章、花費條件與供給等規則,之後再保存有效結果。區塊增加的每一部分,並非只占用產生者的一份硬碟;它會在許多獨立參與者之間傳輸、驗證與留存。

傳播速度也會影響礦工。某位礦工找到有效區塊後,希望其他人盡快收到並在其後繼續工作。若區塊傳得較慢,其他礦工可能暫時沿著另一個區塊工作,讓前者失去獎勵的風險提高。高速網路、鄰近連線與專業基礎設施因而更有優勢。壓縮傳輸與快速中繼技術能降低這種摩擦,卻無法讓資料量的成本完全消失。

這不代表區塊只要變大,網路就會立刻集中。實際影響還取決於頻寬價格、硬體進步、軟體效率、交易需求與中繼技術。較精確的說法是:容量越大,參與驗證所需資源通常越多;那道門檻會排除多少人,必須放回當時的現實條件評估。

現行限制看的是「重量」

把比特幣描述成永遠固定「每區塊 1 MB」已不夠準確。隔離見證(Segregated Witness,SegWit)啟用後,協議改用區塊重量計算上限:每個區塊最多 400 萬重量單位。交易的基礎資料每位元組計入四個單位,見證資料每位元組計入一個單位,因此實際序列化後的區塊可以超過 1 MB,組成也會影響能裝入多少交易。

這套設計沒有取消稀缺空間,而是對資料用途給予不同權重。簽章等見證資料仍需驗證與傳送,但在計算上較便宜;與誰收款、花掉哪些輸出等基礎資料則保留較高權重。結果是在維持舊軟體相容安排的同時,提高部分有效容量,也鼓勵使用更節省空間的交易格式。

改上限牽涉共同規則

直接提高現行上限不只是修改畫面上的設定值。若一部分全節點接受更大的區塊,另一部分仍依舊規則拒絕,雙方可能對有效歷史產生不同判斷。單一開發者或礦工無法替整個網路完成這項變更;它需要軟體實作、部署方式與參與者採用彼此協調,才能維持可運作的共識

即使協調成功,容量也不會成為永久解答。區塊擴大十倍後,若需求再增加二十倍,競爭仍會回來。保留有限空間還有另一項作用:讓手續費逐步反映使用基礎層的成本,並促使批次交易或 Lightning 等額外層承接部分高頻、小額活動。這些方法各自帶有流動性、複雜度與信任邊界,不能視為免費容量。

所以,「為什麼不做大」沒有一個只靠技術數字就能回答的終點。較大的區塊確實能提高鏈上容量,代價是把更多資源需求分配給每個驗證者,並可能改變礦工之間的傳播優勢。較保守的上限維持了較低的獨立驗證門檻,卻讓使用者面對空間競爭與交易確認等待。真正需要比較的,是在特定技術條件下,多出的容量是否值得伴隨而來的驗證成本,而非把任何一邊當成毫無代價的答案。