這篇文章是翻譯自 Binance academy,因為寫得相當清楚且好懂,可以從頭了解大概所謂的網路擁塞是如何發生的。

TL;DR

  • 區塊鏈網路擁塞發生在提交到網路的交易量超過網路的處理量。
  • 交易活動增加、小的區塊大小,以及產塊的時間都會造成網路擁塞。
  • 區塊鏈網路擁塞結果會包含以下幾種狀況:增加交易手續費、緩慢的交易確認,以及糟糕的用戶體驗。
  • 在2023 春天,比特網路由於 BRC-20 代幣交易活動量增加導致待處理交易跟交易手續費飆升。

網路擁塞到底是什麼?

網路擁塞發生在提交到網路的交易量超過網路的處理量。這種現象有幾種影響因素,像是外部因素,包含市場波動、既有網路特定像是區塊大小與產塊時間。

在我們深入細節之前,來看看如何將區塊添加到區塊鏈的過程。

區塊鏈是如何運作的?

區塊鏈由一系列的區塊組成,每個區塊包含使用者創建的交易數據。每當新的區塊被添加到鏈上時,它就是永久且不可改變的。

這些區塊在分散式節點網絡中傳播,每個節點都存儲著區塊鏈的副本。區塊鏈以加密和博弈理論為基礎,是比特幣和以太坊等加密貨幣的支柱。

要完全理解區塊鏈網絡為何會擁塞,我們需要探討幾個關鍵概念,這些概念對於網絡處理交易的能力起著重要作用:記憶池、候選區塊、確定性和最長鏈原則。

什麼是「記憶池」?

一個 mempool 指得是等待被包含到下一個區塊的未確認交易集合。

例如,當一筆交易在比特幣網絡上廣播時,它不會立即被添加到區塊鏈中。相反,它首先進入內存池(簡稱為mempool),這實際上是所有待處理交易的等待區域。一旦交易得到確認,它將從內存池中移除。

「候選區塊」是什麼?

候選區塊,也被稱為「提議區塊」,是礦工或驗證者提議添加到區塊鏈中的區塊。這些區塊包含尚未被納入區塊鏈的未確認交易,這些交易已經被廣播到網絡上。

要使候選區塊成為確認區塊,必須根據區塊鏈的共識機制進行挖礦或驗證。例如,比特幣的工作量證明(PoW)共識機制讓礦工們競爭解決一個複雜的數學問題。第一個解決問題的礦工可以將其候選區塊添加到區塊鏈並獲得獎勵。

在以太坊的權益證明(PoS)共識機制中,驗證者被隨機選擇來提出候選區塊。其他驗證者則對該區塊的有效性進行證明。當一個區塊獲得足夠的證明時,它從候選區塊轉變為確認區塊。

區塊鏈中的 “finality”(最終性) 是什麼?

當一筆交易或操作無法再被改變或撤銷時,我們稱之為「確定性」。一旦交易達到確定性,它將永久地被記錄在區塊鏈上,無法被修改或刪除。

在比特幣區塊鏈中,交易被廣播到網絡並添加到記憶池中。礦工從這個池子中選擇並驗證交易,將它們包含在新的區塊中,以添加到區塊鏈中。該區塊中包含的交易被認為是確認的,但其他礦工仍然有理論上的可能性挖掘出競爭的區塊。

交易的最終性會隨著確認區塊的增加而增加。比特幣交易通常是以額外的六個區塊被附加到交易區塊中而變成"最終"。由於以太坊有比較短的區塊時間,會建議使用較多的確認區塊來確保最終性。

「最長鏈原則」是什麼?

如之前所說,由於多個礦工可能會在相似時間產生新的有效區塊,這個可能會暫時的產生區塊鏈的臨時分叉。

「最長鏈」原則指的是區塊鏈中有效版本的規則,即投入最多計算工作的版本通常是具有最長區塊鏈的版本。因此,較短鏈上的「有效」區塊,通常被稱為孤立或過時區塊,將被丟棄,其交易將返回至記憶池。

以太坊在先前工作量證明(PoW) 時採用了最長鏈原則。在 2022 年升級至權益證明(PoS) 後,網路採用了更新分叉演算發來衡量鏈的"權重",即驗證者抵押以太幣加權驗證者投票總和。

什麼導致區塊鏈網絡擁塞?

區塊鏈網絡擁塞發生在提交到網絡的交易數量超過網絡處理能力的情況下。

區塊鏈網絡可能出現擁擠的原因有幾個:

需求增加

隨著越來越多的人將交易提交到區塊鏈,未確認交易在記憶池中的數量可能超過單個區塊所能包含的範圍。對於具有區塊大小和區塊時間固有限制的區塊鏈來說,這一點尤為重要。

另外交易量增加也可能由於價格突然波動或是大規模採用週期導致。

小區塊大小

每個區塊鏈都有一個區塊大小,它定義了一個區塊的最大尺寸。這個區塊大小限制了一個區塊可以包含多少筆交易。

例如,比特幣最初的設計是將區塊大小限制在 1M 字節。在2017年,比特幣實施了一項名為隔離見證(Segregated Witness)或 SegWit 的升級,以提高交易吞吐量。它將理論上的區塊大小限制增加到約 4M 字節。

如果交易數量超過此限制,將導致網絡擁塞。

產塊時間

產塊時間是指新區塊被添加到區塊鏈的頻率。比特幣大約每10分鐘添加一個新區塊。如果交易的創建速度和量遠高於此,將會出現交易積壓。

網絡擁塞的後果是什麼?

區塊鏈網絡擁塞可能導致多種負面後果,阻礙網絡順利運作。

交易手續費增加

礦工被激勵優先處理支付較高手續費的交易。因此,當區塊鏈網絡擁擠時,用戶通常需要支付較高的交易手續費,以激勵礦工優先處理他們的交易。這可能使使用區塊鏈比平常更加昂貴,尤其是對於較小的交易。

延遲的交易確認時間

網絡擁塞可能導致交易確認和最終確定的等待時間變長。在極端情況下,交易可能需要數小時、數天甚至更長時間才能確認。這可能會讓用戶體驗不佳。

用戶體驗不佳

高昂的手續費和緩慢的交易確認時間會導致極差的用戶體驗,進而影響區塊鏈的骰用率和可用性。

市場波動

擁塞可能會加劇不確定性並導致市場波動。如果有很多使用者試圖出售加密貨幣,但網絡過於擁塞以至於無法處理這些交易,使用者可能會恐慌並試圖迅速出脫他們的持有。

還有其他後果,包括安全風險和網絡集中風險。具體而言,較長的確認時間可能會增加雙重支付攻擊的風險,而高手續費則可能導致礦業算力的集中。

網絡擁塞例子

比特幣和以太坊網絡都遭遇了嚴重的網絡擁塞問題。

比特幣網絡擁塞

比特幣在 2017 年底至 2018 年初的顯著價格上漲,導致了迄今為止最為突出的網絡擁塞事件之一。比特幣的普及激增導致需求和交易大幅增加,從而導致了顯著的延遲和令人瞠目結舌的交易費用增加。某一時刻,平均交易費用超過 50 美元。

在 2023 年的春天,由於與 BRC-20 代幣相關的交易活動增加,比特幣網絡變得擁擠,導致待處理的交易和手續費飆升。曾經有近 40 萬筆未確認的交易記錄,導致記憶池出現瓶頸。在短短幾週內,交易手續費增加了超過 300%。

以太坊網絡擁塞

以太坊網絡在 2017 年發生了一個明顯的擁擠例子,當時"加密貓"項目爆紅,大大減緩了網絡速度。由於 DeFi 熱潮,網絡擁擠問題也時有發生,導致 Gas Fee 上漲。

任何區塊鏈網絡都可能出現擁塞情況。但比特幣和以太坊網絡的網絡擁塞情況引起了比其他區塊鏈更多的關注,因為它們的普及度和重要性使其影響更廣泛。

緩解網絡擁塞的解決方案

解決區塊鏈網絡擁塞是一個複雜的問題。有幾種方法,每種方法都有其優點和缺點。

增加區塊大小

增加區塊大小可以讓更多的交易在每個區塊中被處理,有效地提高網絡的吞吐量。但是,較大的區塊需要更長的時間在網絡中傳播,增加了暫時分叉的風險。它們還需要更多的存儲空間,這可能導致中心化的增加。

減少區塊時間

縮短區塊時間可以讓網絡更快地處理交易。然而,較短的區塊時間可能會增加孤立區塊的數量,並潛在地危及安全性。

Layer 2 解決方案

這些離鏈(off-chain)解決方案在主區塊鏈之外處理交易並將最終狀態記錄在鏈上。比特幣的閃電網絡和以太坊的Plasma就是這些解決方案的例子。這些解決方案可以提高可擴展性,但實施起來較為複雜並可能引入額外的安全問題。

分片

分片是一種技術,將區塊鏈分成幾個較小的分片,每個分片都能夠處理交易和智能合約。這可以顯著增加網絡的容量。但與 Layer 2 解決方案類似,分片增加了複雜性,也可能引入額外的安全風險。

其他可能解決網絡擁塞的方法包括費用調整和擴展解決方案,包括樂觀(optimistic)和零知識(zero-knowledge) Rollups。權益證明(PoS)共識機制通常比工作證明(PoW)更快。

結論

隨著區塊鏈技術預計在未來幾年被更多用戶採用,網絡擁塞問題日益突出(gaining prominence)。網絡有效處理大量交易的能力對於廣泛採用和可用性至關重要。這對於促進日常實時交易的區塊鏈系統尤其相關。

雖然區塊鏈網絡擁塞帶來了重大挑戰,但社區仍在不斷開發解決方案,以幫助緩解這些問題。這就是為什麼區塊鏈可擴展性增強的研究一直處於行業的前沿。