天天看點

什麼是區塊鍊的鍊外交易和鍊内交易

以比特币為代表的公有區塊鍊系統一直有一個廣為诟病的缺點:交易性能低。交易性能低包括兩方面:一是交易吞吐量小,二是交易速度慢。交易吞吐量是指系統在機關時間内處理請求的交易數量。交易速度是指系統對交易從送出請求到确認交易成功的平均時間。

在比特币區塊鍊系統中,這兩個值低得可憐。交易吞吐量是平均每秒7筆,交易速度是平均1小時能完成交易确認。對比一下一般商業銀行的核心系統交易處理能力,交易吞吐量超過每秒2000筆,交易速度基本要達到實時。 

正是由于比特币區塊鍊的交易性能太低,很多人認為這個性能缺陷是導緻比特币無法成為交易貨币的重要原因。是什麼導緻了比特币區塊鍊系統的交易性能低呢?

區塊鍊作為一種分布式賬本技術,核心功能是要把賬目都記下來。通常公有區塊鍊的記賬方式相當于每個人都在一頁賬頁上一條一條的記錄交易,記錄了一定時間後,通過某種競争辦法選出記錄的最好的一張紙,大家都複制一份,添到自己的賬本上,然後開始新的賬頁記錄和競争。

這裡面有兩個限制:賬頁的大小和記賬的周期。賬頁大小确定了每個區塊所能容納的交易數量,每個區塊容納的交易數量除以記賬周期就是交易吞吐量;

而記賬周期則直接決定了交易确認時間,記賬周期乘以大機率确認區塊有效性的區塊數(比如比特币裡我們通常認為6個區塊基本上就能确定交易有效)就是交易确認時間。 

要想提升公有區塊鍊的性能,最直接的辦法就是增加每個賬頁内的交易數量(區塊擴容)和減少記賬周期。(比特币的擴容之争,以及比特币現金(BitCoin Cash)的出現,就是區塊擴容引起的,以後我們會詳細講這個問題。)對于區塊擴容,通常直接影響到區塊的傳播速度。當然,以現在的網絡帶寬和速度來看,比特币當初确定的1MB大小的區塊确實是比較小,但是小區塊也有小區塊的好處——可以采用更多的通訊方式進行傳播,比如衛星通訊。

減少記賬周期,則會影響到區塊傳播的範圍。如果區塊過大并且記賬周期太短,就會造成去中心化程度的降低。原因很簡單,一個礦工挖到了一個區塊,其他礦工還在下載下傳接收這個區塊時,他已經開始挖下一個區塊了。顯然,接收一個區塊所占用的時間在一個記賬周期中的比例越低,對于全體礦工來說就越公平。否則,先發優勢過于明顯,導緻整個系統的去中心化程度降低。與此同時,整個網絡同時挖出塊的機率将會大大增加,就會需要更加複雜的機制來解決這個問題。 

是以,對于公有鍊來說,用改變區塊鍊自身的方式來提升區塊鍊的交易性能,想要追趕現在金融系統的交易處理能力,難度還是非常高的。換句話說,我們想提高公有鍊的鍊内交易的交易性能,難度極大。

轉回頭看看傳統金融系統的結構。在我國,不同的商業銀行通過央行提供的大小額支付系統實作了跨行交易。而普通使用者在使用銀行系統的時候,很多交易都是在同一個銀行内進行的,隻有涉及到跨行交易時,交易資料才會被送出到央行的系統上進行處理。是以,大小額支付系統上的交易數大大降低了。 

區塊鍊上也可以采用類似的辦法來解決。我們把這種方式統一叫做鍊外交易。也就是說,某一個組織或者機構可以提供一些服務,讓我們在鍊外記錄這些交易,每隔一定的時間,把這些交易的結果寫入區塊鍊即可。

舉例來說:Alice、Bob、Charlie、Dave 4個人之間發生了一系列交易:一開始每個人都有100美元,然後Alice轉給Bob 50,Bob轉給Dave 120,Dave轉給Alice 50,Dave轉給Charlie 100,Charlie轉給Bob 80,Bob轉給Dave 100。整個轉賬過程如圖所示:

這些交易之間經過清算,結果就是:

盡管轉賬的過程非常複雜,但是隻需要在鍊上記錄下來每個時刻的賬戶狀态(就是每個時間段的清算結果),最終結果與所有交易資訊都記到鍊上效果是一樣的。差別在于從鍊上的資料并不知道交易發生的真實情況。

除了這個差別以外,還有一個重要的差別:在鍊外交易時,提供這些鍊外交易服務的組織或機構的信用與整個公有鍊的信用是有差别的。在鍊外交易時,這些交易已經不是一個去中心化的交易了,而是一種局部的中心化的交易系統。當然,由于定時會把交易清算結果寫回鍊上,一旦結果寫回鍊上,我們就能夠确認提供鍊外交易的組織是否存在篡改資料的情況。

從經濟學角度上看,小額交易由于額度較小,對于鍊外交易的服務商來說,篡改資料獲得的利益要小于持續提供服務帶來的盈利。是以,小額交易轉移到鍊外進行,從信任角度來講,沒有過于明顯的差別。未來公有鍊的發展趨勢很可能最終變成一個類似央行清算中心的服務提供者,而實際上大量的小額交易隻需要在鍊外交易中進行即可。

本文作者:敖萌

繼續閱讀