當(dāng)前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 任何一個(gè)曾經(jīng)開發(fā)過DApp的程序員都必須考慮到當(dāng)前公共區(qū)塊鏈的局限性,其中區(qū)塊鏈局限性的最重要和最明顯的問題就是有限的吞吐量,比如,每秒處理的交易量過少。為了運(yùn)行一個(gè)能夠處理實(shí)際吞吐量需求的DA

任何一個(gè)曾經(jīng)開發(fā)過DApp的程序員都必須考慮到當(dāng)前公共區(qū)塊鏈的局限性,其中區(qū)塊鏈局限性的最重要和最明顯的問題就是有限的吞吐量,比如,每秒處理的交易量過少。為了運(yùn)行一個(gè)能夠處理實(shí)際吞吐量需求的DApp,區(qū)塊鏈就必須具有可擴(kuò)展性。

進(jìn)行區(qū)塊鏈擴(kuò)容的一個(gè)答案就是分片技術(shù)(Sharding)。分片技術(shù)承諾通過改變網(wǎng)絡(luò)驗(yàn)證的方式來增加吞吐量。分片技術(shù)獨(dú)特于其他解決擴(kuò)容的鏈上技術(shù)的關(guān)鍵特性,就是它可以進(jìn)行水平擴(kuò)容,也就是說,網(wǎng)絡(luò)的吞吐量隨著挖礦網(wǎng)絡(luò)的擴(kuò)展而增加。這種特殊的特性可能使它成為推動區(qū)塊鏈技術(shù)被快速采用的理想技術(shù)。

本文將簡要地討論現(xiàn)有區(qū)塊鏈平臺的擴(kuò)容問題,因?yàn)榇蠖鄶?shù)讀者都必須要熟悉這一問題。然后我們將進(jìn)一步討論分片技術(shù)和它的不同形式將如何成為一個(gè)有希望解決擴(kuò)容問題的方案。這篇文章還將涉及到實(shí)現(xiàn)分片技術(shù)的一些理論基礎(chǔ)和其所面臨的實(shí)際挑戰(zhàn),以及我們?nèi)绾文芸朔@些挑戰(zhàn)。

現(xiàn)有區(qū)塊鏈的擴(kuò)容問題

公共區(qū)塊鏈平臺今天面臨的最大問題之一就是可擴(kuò)展性。所有主流的平臺都在努力提高每秒的交易量。事實(shí)上,當(dāng)今的公共以太坊網(wǎng)絡(luò)和比特幣網(wǎng)絡(luò)平均每秒可以處理7-10筆交易。這一數(shù)字遠(yuǎn)低于像Visa這樣的集中支付處理器,后者平均每秒能處理約8000筆交易。

緩慢的交易處理造成了一個(gè)主要問題,因?yàn)榇罅康奈赐瓿山灰鬃枞司W(wǎng)絡(luò),使得那些諸如實(shí)時(shí)支付這樣的應(yīng)用程序很難在區(qū)塊鏈上一展身手。隨著確認(rèn)支付的時(shí)間拉長,最終就會給用戶帶來諸多不便;這也是為什么像PayPal和Visa這樣的信用卡支付方式仍然更具吸引力的主要原因之一。隨著更多更復(fù)雜的DApps開始依賴于相同的一個(gè)區(qū)塊鏈網(wǎng)絡(luò),遲緩的交易速度所導(dǎo)致的問題只會變得更加復(fù)雜。

從技術(shù)角度來看,所有區(qū)塊鏈的共識協(xié)議都有一個(gè)具有挑戰(zhàn)性的限制:網(wǎng)絡(luò)中的每一個(gè)完全參與的節(jié)點(diǎn)都必須要驗(yàn)證每一筆交易,并且這些節(jié)點(diǎn)必須和它的其他節(jié)點(diǎn)保持一致,這是區(qū)塊鏈技術(shù)的組成部分,它通過創(chuàng)建分布式的賬本來保證區(qū)塊鏈的安全。

在大多數(shù)像比特幣和以太坊這樣的區(qū)塊鏈上,節(jié)點(diǎn)都是由公眾進(jìn)行運(yùn)行的。雖然去中心化的共識機(jī)制提供了一些重要的優(yōu)勢,比如容錯(cuò)性、安全性、政治中立和真實(shí)性,但是這種驗(yàn)證鏈的方法是以降低可擴(kuò)展性為代價(jià)的。當(dāng)這些公共區(qū)塊鏈變得更大時(shí),它將需要越來越多的處理能力來驗(yàn)證這些公共區(qū)塊鏈,這可能會在這些區(qū)塊鏈的網(wǎng)絡(luò)中造成瓶頸,從而減慢那些創(chuàng)建新應(yīng)用程序的速度。

分片技術(shù):分而治之

分片技術(shù)是一種基于數(shù)據(jù)庫分片傳統(tǒng)概念的擴(kuò)容技術(shù),它將數(shù)據(jù)庫分割成多個(gè)碎片并將這些碎片放置在不同的服務(wù)器上。在公共區(qū)塊鏈的情境中,網(wǎng)絡(luò)上的交易將被分成不同的碎片,其由網(wǎng)絡(luò)上的不同節(jié)點(diǎn)組成。因此,每個(gè)節(jié)點(diǎn)只需處理一小部分傳入的交易,并且通過與網(wǎng)絡(luò)上的其他節(jié)點(diǎn)并行處理就能完成大量的驗(yàn)證工作。將網(wǎng)絡(luò)分割為碎片會使得更多的交易同時(shí)被處理和驗(yàn)證。因此,隨著網(wǎng)絡(luò)的增長,區(qū)塊鏈處理越來越多的交易將成為可能。這種屬性也稱為水平擴(kuò)容。

我們可以想象一下,現(xiàn)有的區(qū)塊鏈就像一條繁忙的高速公路,這條高速公路的收費(fèi)站只有一個(gè)收費(fèi)口。這種布局的結(jié)果將是導(dǎo)致交通堵塞,因?yàn)槿藗儗⑴胖L隊(duì)等待通過這唯一的收費(fèi)站。實(shí)現(xiàn)一個(gè)基于分片技術(shù)的區(qū)塊鏈就像在高速公路上增加15或20個(gè)收費(fèi)口。它將極大地提高汽車通過收費(fèi)站的速度。因此,分片技術(shù)將帶來巨大的差異,并顯著提高區(qū)塊鏈的交易速度。

基于分片技術(shù)的區(qū)塊鏈的實(shí)現(xiàn)對公共區(qū)塊鏈有著不同的好處。首先,區(qū)塊鏈上處理交易的速度變成了每秒上千筆甚至更多,這改變了人們對加密貨幣作為支付方式效率的看法。改善交易吞吐量將會給去中心化的系統(tǒng)帶來使越來越多的用戶和應(yīng)用程序,而這將反過來促進(jìn)區(qū)塊鏈的進(jìn)一步采用,也使挖礦變得更有利可圖,同時(shí)也能吸引更多加入到公共網(wǎng)絡(luò)上的節(jié)點(diǎn),從而形成一個(gè)良性循環(huán)。

此外,分片技術(shù)可以幫助降低交易費(fèi)用,因?yàn)轵?yàn)證單筆交易的處理量減少了;節(jié)點(diǎn)可以在依然盈利運(yùn)營的同時(shí)收取較小的費(fèi)用。在現(xiàn)實(shí)世界中,我們將低費(fèi)用與高交易處理能力結(jié)合起來,會使公共鏈將變得越來越有吸引力。這些積極的趨勢所持續(xù)的時(shí)間越長,我們就會越能看到更多的主流的加密技術(shù)和區(qū)塊鏈應(yīng)用程序的出現(xiàn)。

分片技術(shù)的策略

這部分主要講的是相關(guān)的基本概念,但是我們有更細(xì)分的方法來實(shí)現(xiàn)分片策略,如網(wǎng)絡(luò)分片和交易分片,以及狀態(tài)分片等。通過網(wǎng)絡(luò)和交易分片,區(qū)塊鏈節(jié)點(diǎn)的網(wǎng)絡(luò)被分割成不同的碎片,每個(gè)碎片都能形成獨(dú)立的處理過程并在不同的交易子集上達(dá)成共識。通過這種方式,我們可以并行處理相互之間未建立連接的交易子集,通過提高數(shù)量級顯著提高交易的吞吐量。

另一方面,在當(dāng)今的主流公共區(qū)塊鏈上,所有公共節(jié)點(diǎn)都承擔(dān)著存儲交易、智能合約和各種狀態(tài)的負(fù)擔(dān),這可能使其在為了獲得更大的存儲空間而進(jìn)行巨大的花費(fèi),以維持其在區(qū)塊鏈上的正常運(yùn)轉(zhuǎn)。

為了解決這一問題,有一種可被稱為狀態(tài)分片的可行方法已被提出。這一技術(shù)的關(guān)鍵是將整個(gè)存儲區(qū)分開,讓不同的碎片存儲不同的部分;因此,每個(gè)節(jié)點(diǎn)只負(fù)責(zé)托管自己的分片數(shù)據(jù),而不是存儲完整的區(qū)塊鏈狀態(tài)。

分片技術(shù)的復(fù)雜性

盡管所有不同形式的分片技術(shù)都可能非常直觀,但通過對技術(shù)細(xì)節(jié)的解讀,我們可以看到這一方法的復(fù)雜性和潛在的挑戰(zhàn)。分片技術(shù)的其中一些挑戰(zhàn)是很容易克服的,而另一些則不然。一般來說,網(wǎng)絡(luò)和交易分片更容易實(shí)現(xiàn),而狀態(tài)分片則要復(fù)雜得多。下面,對于不同的分片機(jī)制,我們會明確地討論它們所面臨的一些挑戰(zhàn),以及它們的可行性。

網(wǎng)絡(luò)分片

分片的第一個(gè)也是最重要的挑戰(zhàn)是創(chuàng)建碎片。開發(fā)者需要開發(fā)一種機(jī)制來確定哪些節(jié)點(diǎn)可以按照安全的方式保留在哪些碎片中,這樣就能避免那些控制大量特定碎片的人所發(fā)起的攻擊 。

打敗攻擊者的最佳方法(至少在大多數(shù)情況下)就是建立隨機(jī)性。通過利用隨機(jī)性,網(wǎng)絡(luò)可以隨機(jī)抽取節(jié)點(diǎn)形成碎片。這樣一種隨機(jī)抽樣的方式可以防止惡意節(jié)點(diǎn)過度填充單個(gè)碎片。

但是,我們?nèi)绾谓㈦S機(jī)性呢?最容易獲得公共隨機(jī)性的來源是區(qū)塊,例如,交易的Merkle tree root。在區(qū)塊中所提供的隨機(jī)性是可被公開驗(yàn)證的,并且可以通過隨機(jī)提取器中提取統(tǒng)一的隨機(jī)比特。

然而,簡單地使用隨機(jī)機(jī)制將節(jié)點(diǎn)分配給碎片仍是不夠的。我們還必須要確保網(wǎng)絡(luò)的一個(gè)碎片中不同成員意見的一致性。這可以通過像工作量證明這樣的共識協(xié)議來實(shí)現(xiàn)。

交易分片

交易分片可聽起來那么簡單。考慮到在一個(gè)類似于比特幣的系統(tǒng)中引入交易分片(沒有智能合同),系統(tǒng)的狀態(tài)是用UTXOs來進(jìn)行定義的。我們假設(shè)網(wǎng)絡(luò)已經(jīng)由碎片所組成,用戶發(fā)送一筆交易,每一筆交易有兩個(gè)輸入和一個(gè)輸出。那么,該筆交易將如何分配給一個(gè)碎片呢?

最直觀的方法是根據(jù)交易哈希值的最后幾位來決定碎片。例如,如果哈希值的最后一個(gè)比特是0的話,那么交易將被分配給第一個(gè)碎片,否則它被分配給第二個(gè)碎片(假設(shè)我們只有兩個(gè)碎片)。這允許我們在單個(gè)碎片中驗(yàn)證交易。但是,如果用戶是惡意的,他可能會創(chuàng)建另一筆具有兩個(gè)相同輸入但不同輸出的交易——是的,就是一個(gè)雙花交易。第二筆交易將有一個(gè)不同的哈希值,因此,這兩筆交易就可能形成不同的碎片。然后,每個(gè)碎片將分別驗(yàn)證接收到的交易,同時(shí)忽略在另一個(gè)碎片中驗(yàn)證的雙花交易。

為了防止雙花問題,在驗(yàn)證過程中,碎片將不得不進(jìn)行相互通信。事實(shí)上,由于雙花交易可能會在任何碎片中出現(xiàn),因此特定碎片所接收到的交易將不得不與其它的碎片進(jìn)行通信。而實(shí)際上,這種相互之間的通信可能會破壞交易分片的整個(gè)目的。

另一方面,當(dāng)我們有一個(gè)基于賬戶的系統(tǒng)(沒有智能合約)時(shí),問題就簡單得多了。每一筆交易將會有一個(gè)發(fā)送者的地址,然后系統(tǒng)可以根據(jù)發(fā)送者的地址分配一個(gè)碎片。這確保了兩筆雙花交易將在相同的碎片中得到驗(yàn)證,因此系統(tǒng)可以很容易地檢測到雙花交易,而不需要進(jìn)行任何跨碎片的通信。

狀態(tài)分片

狀態(tài)分片帶來了新的挑戰(zhàn)。事實(shí)上,狀態(tài)分片是迄今為止最具挑戰(zhàn)性的分片技術(shù)提案。

繼續(xù)使用我們的基于賬戶的模型(我們暫時(shí)不在我們的例子中引入智能合約),在一個(gè)狀態(tài)分片的區(qū)塊鏈中,一個(gè)特定的碎片只會保留一部分狀態(tài)。例如,如果我們有兩個(gè)碎片和兩個(gè)用戶帳戶,分別為Alice和Bob,那么每個(gè)碎片將保留一個(gè)用戶的余額。

假設(shè)Alice創(chuàng)建了一筆交易,她將支付Bob一筆錢。這筆交易將由第一個(gè)碎片進(jìn)行處理,一旦該筆交易被驗(yàn)證,關(guān)于Bob的新余額的信息就必須與他所在的碎片進(jìn)行共享。如果兩個(gè)受歡迎的帳戶由不同的碎片進(jìn)行處理,那么這可能需要進(jìn)行頻繁的跨碎片通信和狀態(tài)交換。確保跨碎片通信不會超過狀態(tài)分片的性能收益仍然是一個(gè)值得公開的研究問題。

減少跨碎片通信開銷的一種可能方法,是限制用戶進(jìn)行跨碎片交易。以我們上面的例子來說,這就意味著系統(tǒng)不允許Alice直接與Bob進(jìn)行交易。如果Alice必須與Bob交易的話,她將不得不在那塊碎片中占有一個(gè)帳戶。雖然這確實(shí)消除了任何跨碎片通信,但它可能會限制平臺的可用性。

狀態(tài)分片的第二個(gè)挑戰(zhàn)是數(shù)據(jù)的可用性。我們可以考慮這樣一個(gè)場景,由于某種原因,一些特定的碎片遭到了攻擊而導(dǎo)致其脫機(jī)。由于碎片并沒有復(fù)制系統(tǒng)的全部狀態(tài),所以網(wǎng)絡(luò)不能再驗(yàn)證那些依賴于脫機(jī)碎片的交易。因此,在這樣的情況下區(qū)塊鏈基本上是無法使用的。解決此問題的方法是維護(hù)存檔或進(jìn)行節(jié)點(diǎn)備份,這樣就能幫助系統(tǒng)進(jìn)行故障修復(fù)以及恢復(fù)那些不可用的數(shù)據(jù)。但是,這樣就使得節(jié)點(diǎn)將不得不存儲系統(tǒng)的整個(gè)狀態(tài),因此這還可能會引發(fā)一些中心化的風(fēng)險(xiǎn)。

我們在任何分片機(jī)制(當(dāng)然不是特定于狀態(tài)分片)中需要考慮的另一個(gè)要點(diǎn)是,確保碎片在抵御攻擊和失敗時(shí)是具有彈性的; 網(wǎng)絡(luò)必須接受新的節(jié)點(diǎn)并以隨機(jī)的方式將這些分配給不同的碎片。換句話說,網(wǎng)絡(luò)必須在一段時(shí)間內(nèi)進(jìn)行節(jié)點(diǎn)的重新分配。

然而,在狀態(tài)分片的情況下,重新分配節(jié)點(diǎn)是非常棘手的。由于每個(gè)碎片只保留了狀態(tài)的一部分,所以在一次重新調(diào)整網(wǎng)絡(luò)的過程中,在同步完成前可能會出現(xiàn)導(dǎo)致使整個(gè)系統(tǒng)失效的問題。為了防止系統(tǒng)的中斷,我們必須對網(wǎng)絡(luò)進(jìn)行逐步調(diào)整,以確保每個(gè)碎片在所有節(jié)點(diǎn)被清空前仍有足夠多的舊節(jié)點(diǎn)。

類似地,一旦一個(gè)新節(jié)點(diǎn)加入了一個(gè)碎片中,系統(tǒng)就必須確保該節(jié)點(diǎn)有足夠的時(shí)間與碎片狀態(tài)進(jìn)行同步;否則,傳入節(jié)點(diǎn)將完全拒絕每一筆交易。

結(jié)論

綜上所述,分片技術(shù)是區(qū)塊鏈的一個(gè)令人興奮的技術(shù),他讓我們看到了希望,它可以在不影響去中心化和透明度的情況下解決擴(kuò)容問題。然而,毫無疑問的是,分片技術(shù),尤其是狀態(tài)分片,在設(shè)計(jì)層面和實(shí)現(xiàn)層面都是非常困難的。

我們應(yīng)該小心的處理分片技術(shù)。此外,開發(fā)者們還需要做更多的研究來確定狀態(tài)分片的可行性,因?yàn)樗赡懿皇墙鉀Q存儲問題的法寶。研究人員和開發(fā)者們正在積極尋找那些可替代的解決方案。也許,答案就在我們眼前。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉