不可不知 擴容與隔離見證(SegWit)

常聽到比特幣需要「擴容」、然後又討論要不要支援「SegWit 隔離見證」,到底這個「SegWit 隔離見證」是甚麼?它對比特幣會有甚麼影響?

隔離見證(SegWit)背景

「隔離見證」的英文是「Segregated Witness」,一般會簡稱為「SegWit」,是 Bitcoin Core 團隊提出的比特幣擴容方案之一,目前最多人使用的 比特幣節點(node)軟體就是 Bitcoin Core 所開發的,他們 團隊 裡面也有很多知名的比特幣與區塊鏈開發者,所以他們在比特幣社區的「江湖地位」也比較高。

隔離見證起初的目標是為了解決比特幣的 交易延展性(transaction malleability)攻擊問題,但因為隔離見證所用到的技術也可以令比特幣交易功能更多樣化,所以逐漸變成解決擴容問題的其中一個可行方案。

比特幣擴容問題

有用比特幣的朋友或許會察覺到,近年傳送比特幣都需要等好一段時間對方才會收到,如果不幸設定的手續費過低,甚至可能會等上好幾天才能完成交易。

出現這種狀況是因為比特幣網絡正面對「擴容問題」,因為比特幣區塊鏈每個區塊的容量有限(目前是 1MB),如果鏈上交易要求數量太多,一個區塊容不下所有交易,手續費較低的交易會先被忽略,直到有區塊有空間可以容下它們,這些交易才會被處理。

試想像比特幣的區塊是一架公車,而每一筆交易都是一個人,當要乘公車的人超過公車容量,不能上車的人就要等下一班,如果公車容許付較高車資的人先上車,那不願付高車資的人就要一直等下去。

那把區塊容量增加不就將問題解決了嗎?有些比特幣的開發者也是這麼想,所以在比特幣歷史中,就出現過幾個增加容量的建議方案,包括 Bitcoin Classic(2MB)、Bitcoin XT(8MB/20MB)和最近出現的 Bitcoin Unlimited(無限容量)。

那為什麼 Bitcoin Core 堅持保留 1MB 容量、還特意外加一個 SegWit,而這個看似比較複雜的方案,竟然是目前支持度最高的?

隔離見證擴容方案

隔離見證的擴容方案主要分兩個部份,第一個部份是將區塊上限提升到最多 4MB… 喂!等一下!剛不是說 Bitcoin Core 堅持保留 1MB 容量嗎?沒錯!隔離見證並沒有把比特幣原來的區塊容量改變,1MB 這個容量是被保留下來,但在這 1MB 之上,外加一個 3MB 的 SegWit 資料區塊,利用英文可能會表達得簡潔一點:

SegWit replaces the 1MB block-size limit with a 4MB block-weight limit

大家應該會察覺到「block-size」與「block-weight」兩個不同的字,所以隔離見證不像其他擴容方案那麼直覺地把區塊容量(block-size)變大,而是把區塊的「載量」(block-weight)增加。聽起來很複雜?沒搞懂我在講甚麼?

我們把公車的例子再搬過來講吧!現在公車大小沒有變,要搭車的人還是一樣多,擠不上去的還是一大堆;這個時候我們在公車後面掛一個像露營車的貨車(SegWit 車箱!),所有上公車的人都要把背包和行李放到這個貨車上面,因為少了隨身物品,每個人佔的空間變少了,那公車就可以多載一些人,乘載量就變多了。

隔離見證的 3MB 區塊會把交易細明包括交易地址、金額、認證資料等分開來處理,從而提升原有 1MB 區塊能盛載的交易數量,效果跟直接把區塊變大差不多,而且這些本來雜七雜八的交易資料被分開處理掉,解決垃圾交易訊息擠滿原有區塊的問題。

閃電網絡(Lightning Network)

說了這麼多還是在講隔離見證方案的「第一個部份」(這部分確實比較難理解),方案第二個部份是在比特幣網絡上再外加一個「閃電網絡(Lightning Network)」的東西,把原有比特幣鏈上金額較少的交易,轉移到這個閃電網絡來處理,完成後再記錄到原鏈上。

這是一種「鏈外交易(Off-chain transaction)」,目的是解決「微支付(micropayment)」所遇上的問題,加快交易速度,以太坊(Ethereum)也有類似的方案叫「Raiden Network」,我們之後會再詳細探討這種技術。

在公車路線旁邊再架一條鐵路,讓擠不上公車的人直接去坐火車,這樣子解決掉太多人要搭公車、而公車太小的問題。

隔離見證主要就是透過這兩種方法,雙管齊下去把擴容問題解決,因為在理論與技術層面都把比特幣交易網絡提昇到另一個層次,讓比特幣可以跟一般電子支付的功能和速度媲美,所以被認為是最好的解決方案,目前支持度比較高。

隔離見證啟動時間

Bitcoin Core 團隊給了一個啟動隔離見證的時機,就是當 95% 的網路算力都支持啟動,隔離見證就會被實裝。

為甚麼要 95% 呢?因為如果支持度不夠,整個比特幣網絡就有機會被分裂成兩半,然後就會出現兩種不同的比特幣,嚴重影響比特幣的生態和經濟價值;但只要有 95% 的算力支持,其餘的 5% 會因為算力不足、沒有足夠礦工處理交易和保障網絡安全而慢慢被淘汰。

圖片: Shutterstock

你也可能對這些主題有興趣...