区块链研习 | 什么是区块链的链外交易和链内交易
以比特幣為代表的公有區(qū)塊鏈系統(tǒng)一直有一個(gè)廣為詬病的缺點(diǎn):交易性能低。交易性能低包括兩方面:一是交易吞吐量小,二是交易速度慢。交易吞吐量是指系統(tǒng)在單位時(shí)間內(nèi)處理請求的交易數(shù)量。交易速度是指系統(tǒng)對交易從提交請求到確認(rèn)交易成功的平均時(shí)間。
在比特幣區(qū)塊鏈系統(tǒng)中,這兩個(gè)值低得可憐。交易吞吐量是平均每秒7筆,交易速度是平均1小時(shí)能完成交易確認(rèn)。對比一下一般商業(yè)銀行的核心系統(tǒng)交易處理能力,交易吞吐量超過每秒2000筆,交易速度基本要達(dá)到實(shí)時(shí)。
正是由于比特幣區(qū)塊鏈的交易性能太低,很多人認(rèn)為這個(gè)性能缺陷是導(dǎo)致比特幣無法成為交易貨幣的重要原因。是什么導(dǎo)致了比特幣區(qū)塊鏈系統(tǒng)的交易性能低呢?
區(qū)塊鏈作為一種分布式賬本技術(shù),核心功能是要把賬目都記下來。通常公有區(qū)塊鏈的記賬方式相當(dāng)于每個(gè)人都在一頁賬頁上一條一條的記錄交易,記錄了一定時(shí)間后,通過某種競爭辦法選出記錄的最好的一張紙,大家都復(fù)制一份,添到自己的賬本上,然后開始新的賬頁記錄和競爭。
這里面有兩個(gè)限制:賬頁的大小和記賬的周期。賬頁大小確定了每個(gè)區(qū)塊所能容納的交易數(shù)量,每個(gè)區(qū)塊容納的交易數(shù)量除以記賬周期就是交易吞吐量;
而記賬周期則直接決定了交易確認(rèn)時(shí)間,記賬周期乘以大概率確認(rèn)區(qū)塊有效性的區(qū)塊數(shù)(比如比特幣里我們通常認(rèn)為6個(gè)區(qū)塊基本上就能確定交易有效)就是交易確認(rèn)時(shí)間。
要想提升公有區(qū)塊鏈的性能,最直接的辦法就是增加每個(gè)賬頁內(nèi)的交易數(shù)量(區(qū)塊擴(kuò)容)和減少記賬周期。(比特幣的擴(kuò)容之爭,以及比特幣現(xiàn)金(BitCoin Cash)的出現(xiàn),就是區(qū)塊擴(kuò)容引起的,以后我們會(huì)詳細(xì)講這個(gè)問題。)對于區(qū)塊擴(kuò)容,通常直接影響到區(qū)塊的傳播速度。當(dāng)然,以現(xiàn)在的網(wǎng)絡(luò)帶寬和速度來看,比特幣當(dāng)初確定的1MB大小的區(qū)塊確實(shí)是比較小,但是小區(qū)塊也有小區(qū)塊的好處——可以采用更多的通訊方式進(jìn)行傳播,比如衛(wèi)星通訊。
減少記賬周期,則會(huì)影響到區(qū)塊傳播的范圍。如果區(qū)塊過大并且記賬周期太短,就會(huì)造成去中心化程度的降低。原因很簡單,一個(gè)礦工挖到了一個(gè)區(qū)塊,其他礦工還在下載接收這個(gè)區(qū)塊時(shí),他已經(jīng)開始挖下一個(gè)區(qū)塊了。顯然,接收一個(gè)區(qū)塊所占用的時(shí)間在一個(gè)記賬周期中的比例越低,對于全體礦工來說就越公平。否則,先發(fā)優(yōu)勢過于明顯,導(dǎo)致整個(gè)系統(tǒng)的去中心化程度降低。與此同時(shí),整個(gè)網(wǎng)絡(luò)同時(shí)挖出塊的概率將會(huì)大大增加,就會(huì)需要更加復(fù)雜的機(jī)制來解決這個(gè)問題。
因此,對于公有鏈來說,用改變區(qū)塊鏈自身的方式來提升區(qū)塊鏈的交易性能,想要追趕現(xiàn)在金融系統(tǒng)的交易處理能力,難度還是非常高的。換句話說,我們想提高公有鏈的鏈內(nèi)交易的交易性能,難度極大。
轉(zhuǎn)回頭看看傳統(tǒng)金融系統(tǒng)的結(jié)構(gòu)。在我國,不同的商業(yè)銀行通過央行提供的大小額支付系統(tǒng)實(shí)現(xiàn)了跨行交易。而普通用戶在使用銀行系統(tǒng)的時(shí)候,很多交易都是在同一個(gè)銀行內(nèi)進(jìn)行的,只有涉及到跨行交易時(shí),交易數(shù)據(jù)才會(huì)被提交到央行的系統(tǒng)上進(jìn)行處理。因此,大小額支付系統(tǒng)上的交易數(shù)大大降低了。
區(qū)塊鏈上也可以采用類似的辦法來解決。我們把這種方式統(tǒng)一叫做鏈外交易。也就是說,某一個(gè)組織或者機(jī)構(gòu)可以提供一些服務(wù),讓我們在鏈外記錄這些交易,每隔一定的時(shí)間,把這些交易的結(jié)果寫入?yún)^(qū)塊鏈即可。
舉例來說:Alice、Bob、Charlie、Dave 4個(gè)人之間發(fā)生了一系列交易:一開始每個(gè)人都有100美元,然后Alice轉(zhuǎn)給Bob 50,Bob轉(zhuǎn)給Dave 120,Dave轉(zhuǎn)給Alice 50,Dave轉(zhuǎn)給Charlie 100,Charlie轉(zhuǎn)給Bob 80,Bob轉(zhuǎn)給Dave 100。整個(gè)轉(zhuǎn)賬過程如圖所示:
這些交易之間經(jīng)過清算,結(jié)果就是:
盡管轉(zhuǎn)賬的過程非常復(fù)雜,但是只需要在鏈上記錄下來每個(gè)時(shí)刻的賬戶狀態(tài)(就是每個(gè)時(shí)間段的清算結(jié)果),最終結(jié)果與所有交易信息都記到鏈上效果是一樣的。區(qū)別在于從鏈上的數(shù)據(jù)并不知道交易發(fā)生的真實(shí)情況。
除了這個(gè)區(qū)別以外,還有一個(gè)重要的區(qū)別:在鏈外交易時(shí),提供這些鏈外交易服務(wù)的組織或機(jī)構(gòu)的信用與整個(gè)公有鏈的信用是有差別的。在鏈外交易時(shí),這些交易已經(jīng)不是一個(gè)去中心化的交易了,而是一種局部的中心化的交易系統(tǒng)。當(dāng)然,由于定時(shí)會(huì)把交易清算結(jié)果寫回鏈上,一旦結(jié)果寫回鏈上,我們就能夠確認(rèn)提供鏈外交易的組織是否存在篡改數(shù)據(jù)的情況。
從經(jīng)濟(jì)學(xué)角度上看,小額交易由于額度較小,對于鏈外交易的服務(wù)商來說,篡改數(shù)據(jù)獲得的利益要小于持續(xù)提供服務(wù)帶來的盈利。因此,小額交易轉(zhuǎn)移到鏈外進(jìn)行,從信任角度來講,沒有過于明顯的區(qū)別。未來公有鏈的發(fā)展趨勢很可能最終變成一個(gè)類似央行清算中心的服務(wù)提供者,而實(shí)際上大量的小額交易只需要在鏈外交易中進(jìn)行即可。
原文發(fā)布時(shí)間為:2017-10-17
本文作者:敖萌
本文來源:雷鋒網(wǎng),如需轉(zhuǎn)載請聯(lián)系原作者。
總結(jié)
以上是生活随笔為你收集整理的区块链研习 | 什么是区块链的链外交易和链内交易的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安装Neo4j提示:Unable to
- 下一篇: Spring--Redis入门集成配置