科普:分片技術(shù)
1. 為什么需要 Sharding
現(xiàn)在感覺整個(gè)世界最熱的詞就是區(qū)塊鏈了,各大公司各個(gè)行業(yè)急吼吼的布局區(qū)塊鏈技術(shù)忙得不亦樂(lè)乎绊序,但是讓我們看一下目前落地項(xiàng)目里最牛的兩個(gè)項(xiàng)目比特幣和以太坊的表現(xiàn)如何浩嫌?
目前以太坊 TPS(每秒處理的交易數(shù))在 15 筆鸦概,比特幣 5-7 筆忙菠,而我們生活中使用的 PalPay 近 200 筆,VISA 1700筆渐北。差的可不少一個(gè)量級(jí),距離能真正進(jìn)行商業(yè)規(guī)模應(yīng)用還很遠(yuǎn)很遠(yuǎn)铭拧。
這大概就是理想與現(xiàn)實(shí)的差距吧赃蛛,但是沒(méi)事兒,畢竟改變世界不是那么簡(jiǎn)單的一件事兒搀菩,只要不斷一直努力著呕臂,就有希望
為了提高交易速度,比特幣矚目的擴(kuò)容之爭(zhēng)一直沒(méi)有停歇秕磷,隔離見證诵闭、閃電網(wǎng)絡(luò)等嘗試也不曾停止。那么以太坊做了什么呢澎嚣?
就在上個(gè)月底疏尿,V 神發(fā)推特:“Sharding is comming.”—— 分片來(lái)了!易桃!
2. 啥是 Sharding
以太坊和比特幣一樣褥琐,每筆交易都需要所有的節(jié)點(diǎn)進(jìn)行驗(yàn)證。網(wǎng)絡(luò)中那么多節(jié)點(diǎn)晤郑,這得耗費(fèi)多長(zhǎng)時(shí)間啊~?
如果交易只需經(jīng)過(guò)小部分節(jié)點(diǎn)的驗(yàn)證敌呈,其他部分節(jié)點(diǎn)同時(shí)驗(yàn)證別的交易,效率肯定會(huì)大大提升造寝。Sharding 就是每一筆交易只讓一小部分節(jié)點(diǎn)看到和處理磕洪,所有的節(jié)點(diǎn)可以同時(shí)平行處理更多的交易。
Sharding(分片技術(shù)):最簡(jiǎn)單的分片技術(shù)就是把系統(tǒng)切分成獨(dú)立的數(shù)片诫龙,每片有專門的節(jié)點(diǎn)來(lái)維護(hù)析显,但這就相當(dāng)于數(shù)個(gè)獨(dú)立的區(qū)塊鏈,真正的分片技術(shù)必須有片間的交流
在以太坊的開發(fā)者大會(huì)中签赃,Vitalik是這樣解釋分片的:
假設(shè)以太坊被分割成成千上萬(wàn)個(gè)小的島嶼谷异。每個(gè)島嶼都是自治的。每個(gè)島嶼都有自己的特色(features)锦聊,島嶼上的每個(gè)人都可以跟其他島民互動(dòng)歹嘹,并且隨意享用這個(gè)島嶼的特色。如果你想跟其他島嶼互動(dòng)孔庭,就必須使用某種特定的協(xié)議尺上。
(注:feature是指一個(gè)系統(tǒng)的功能,特點(diǎn),是一種它可以提供的東西)
3. 故事理解 Sharding
舉個(gè)小故事:
一個(gè)班級(jí)50名同學(xué)來(lái)一起批改一份試卷尖昏,試卷有
100 道題目仰税。以太坊和比特幣之前的做法是把正張?jiān)嚲矶家嗝總€(gè)同學(xué)挨個(gè)驗(yàn)證答案。通過(guò)分片技術(shù)呢抽诉,把試卷分成了 10 個(gè)部分陨簇,每個(gè)部分 10
道題。不用 50 名學(xué)生都驗(yàn)證這些題迹淌,而是同學(xué)分成對(duì)應(yīng)的 10組河绽,也就是每 5 個(gè)同學(xué)驗(yàn)證試卷的十分之一的題目。這樣整體效率是不是提高了 10
倍唉窃?
確定是 10 倍耙饰?說(shuō),你數(shù)學(xué)是不是體育老師教的~ 每部分驗(yàn)證的節(jié)點(diǎn)從 50個(gè)減少到了 5 個(gè)纹份,并且10 組同學(xué)同時(shí)驗(yàn)證苟跪,所以很明顯是在 10 倍以上的。
例子不是絕對(duì)的恰當(dāng)蔓涧,但是足夠簡(jiǎn)單的理解分片了件已。
因此?Sharding 的作用就是減少交易的驗(yàn)證時(shí)間,提高交易速度元暴。
4. Sharding 的風(fēng)險(xiǎn)
對(duì)于每一個(gè)分片來(lái)講篷扩,因?yàn)轵?yàn)證的節(jié)點(diǎn)變少,發(fā)動(dòng)對(duì)單片的攻擊的成本降低茉盏。
每個(gè)分片需要保持一定獨(dú)立性鉴未,但各個(gè)節(jié)點(diǎn)間的通訊以及和主鏈之間的通訊變得復(fù)雜。