分片技術(shù)究竟是什么?為什么能解決區(qū)塊鏈的擴(kuò)容問(wèn)題?
要談區(qū)塊鏈擴(kuò)容,我們想要先了解一個(gè)概念——吞吐量。在區(qū)塊鏈平臺(tái)上,網(wǎng)絡(luò)處理交易任務(wù)的速率就是吞吐量,目前絕大部分公有鏈的交易吞吐量都非常低,比特幣在擴(kuò)容之前平均每秒只能處理6.7交易。區(qū)塊鏈想要發(fā)展成為主流系統(tǒng),如此低的吞吐量顯然不夠,擴(kuò)容問(wèn)題就由此產(chǎn)生。
我們可以做個(gè)簡(jiǎn)單的運(yùn)算:
每秒的交易量=一個(gè)區(qū)塊里包含的交易總量/一個(gè)區(qū)塊產(chǎn)生的時(shí)間
從這個(gè)公式可以看出,想要增加每秒的交易量,有兩種方式:
第一,增加一個(gè)區(qū)塊里包含的交易總量;
第二,減少區(qū)塊產(chǎn)出的時(shí)間。
減少出塊時(shí)間是很多區(qū)塊鏈采用的方案,但是該方案僅僅是縮短了確認(rèn)時(shí)間,并不能提升單位時(shí)間的處理能力。
增加區(qū)塊包含的交易總量就是一個(gè)更好的方式,這就需要用到分片技術(shù)。
分片(sharding)是數(shù)據(jù)庫(kù)分區(qū)的一種,它將大型數(shù)據(jù)庫(kù)分成更小、更快、更容易管理的部分,這些部分叫做數(shù)據(jù)碎片。數(shù)據(jù)庫(kù)越大,數(shù)據(jù)庫(kù)內(nèi)的交易越多,處理交易的時(shí)間就會(huì)越長(zhǎng);反之,數(shù)據(jù)庫(kù)越小,交易數(shù)量越少,處理交易的時(shí)間就越短。一個(gè)區(qū)塊能包含的交易數(shù)量有兩個(gè)影響因素,一個(gè)是區(qū)塊大小,另一個(gè)就是處理交易的速度,速度越快,相同時(shí)間,區(qū)塊里記錄的交易總量就越多,區(qū)塊鏈的吞吐量自然就增加了。
由本能區(qū)塊鏈實(shí)驗(yàn)室研發(fā)的支持移動(dòng)端訪(fǎng)問(wèn)的公有鏈——IFMChain使用的眾多分片技術(shù)中就包含了數(shù)據(jù)庫(kù)分片技術(shù),僅此一項(xiàng)分片技術(shù)的性能提升部分就超過(guò)比特幣的幾百倍。