比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

分片技術——提升區塊鏈TPS的利刃-ODAILY_DIN

Author:

Time:1900/1/1 0:00:00

編者按:本文來自哈希未來,作者:陳致佳蒙繹澤江澤武,星球日報經授權轉發。

報告摘要:

分片是源自數據庫的擴容技術,可用于提高區塊鏈系統的可擴展性,基本思想是將網絡中的節點分成不同的碎片,各分片可以并行處理不同交易,這樣可以并行處理相互之間未建立連接的交易,以提高網絡并發量。它的特點是隨著節點數目的增加,網絡吞吐量也隨之增加。核心難點在于數據分片的關鍵特征值確定,以及元數據在片區之間通信的延遲造成的不一致性問題,頻繁的跨碎片之間的通信會使得區塊鏈網絡性能大大降低。由于每個片區里的數據是分開更新的,在設計應用邏輯時必須確保信息的成功更新,同時也需要預留出一定的魯棒性來應對一個達成最終一致性過程中可能出現的不一致性。

在區塊鏈中的分片根據對象分為交易分片、網絡分片和狀態分片,其中值得注意的是,在區塊鏈中采用網絡分片技術,也就是將礦工分成幾個子網絡分別負責驗證該碎片上的交易,需要保證惡意節點的數目足夠小,也因此在分配礦工的規則上需要注意保證隨機性。在區塊鏈中應用分片技術,還需要考慮的問題是對各種攻擊如女巫攻擊,DDOS攻擊、雙花攻擊的防御,需要在權衡效率的同時,保證每個分片內的總節點數目足夠多,并且誠實的節點占大多數,分片技術對安全性要求極高,同時,區塊鏈系統中的節點數目比傳統數據庫中的可能要多,并且面臨帶寬的限制,需要充分考慮到延遲帶來的不一致性導致的性能和安全性問題,因此鮮少有落地的相關項目。需要在大規模的網絡中進行長時間的測試驗證,并結合嚴謹的理論方案證明,才能令人信服。

掌柜調查署 | Marco:未來必然有越來越多的項目會基于分片技術打造或改造:在今日舉行的《掌柜調查署 | Near分片技術如何引領web3.0時代》直播中,針對“分片技術在行業內的落地情況如何?”的問題,Buildlinks合伙人、Near中國線上黑客松冠軍Marco表示,不管是老項目的擴容改造,還是新項目的能力建設,分片方案都是目前最佳的選擇。所以,未來必然有越來越多的項目會基于分片技術打造或改造。當前大部分分片方案,都是基于信標鏈模式,比如,以太坊上的信標鏈,波卡上的中繼鏈,Cosmos的Cosmos Hub。而這個模式的由來,也是為了解決分片本身所面臨的幾大挑戰之一:安全性挑戰。因為每分片上驗證人數目隨著分片而減少,如何保證分片的安全性是分片系統面臨的最基礎挑戰。信標鏈作為分片的基準鏈,提供統一的隨機性,讓分片上的驗證人隨機產生,使得從概率上攻擊單個分片的難度與攻擊全鏈一致。除了安全性挑戰外,分片協議還普遍面臨:跨分片通信;數據一致性問題;數據有效性和可用性等挑戰。特別的,信標鏈模式的分片系統還面臨一個分片規模受限的問題。因為信標鏈要處理所有分片的驗證人分配,以及對分片快照這些工作,其本身是一個能力受限的瓶頸。除此以外,信標鏈系統設計復雜,僅分叉選擇邏輯一項,就需要處理信標鏈分叉和分片鏈分叉兩種情況及其相互之間的關聯關系。NEAR為什么這么受追捧,跟它的分片協議關系很大了。NEAR在分片技術上獨樹一幟,采用了無信標鏈的構建方式。[2020/8/14]

傳統概念里的分片技術,是將數據庫分割成多個碎片并放置在不同的服務器上。在現代的云服務中,數據常常被托管在不同站點并進行分區。這一做法的原因包括使多臺計算機之間的負載平衡,進而提高可擴展性;通過多站點存儲數據,來提高可用性等。而區塊鏈分片技術則是基于數據庫分片概念的一種擴容技術。

聲音 | Solana CEO:分片技術可能會為區塊鏈項目引入安全風險:分片被廣泛認為是區塊鏈可擴展性的解決方案。但Solana首席執行官Anatoly Yakovenko稱,實施分片技術的項目可能會在其區塊鏈中引入新的安全風險,可能使它們容易受到共識攻擊。 他認為,與分片相關的風險遠遠超過任何可能的可擴展性好處。“一旦你拆分網絡,就會引入一個額外的攻擊媒介。分片技術會破壞安全性。”如果一個分片被黑客接管,可能會引發多米諾效應,影響代幣價格,導致用戶和節點的大規模外流。他補充道,分片允許黑客利用分而治之的策略摧毀原本欣欣向榮的生態系統。 Radix(XRD)CTO兼聯合創始人Dan Hughes表示,分片的區塊鏈容易受到安全風險的影響,但他們已經創建了一個安全的分片實現。他補充,雖然第一次的分片迭代可能會讓區塊鏈容易受到攻擊,但這項技術正在快速發展。區塊鏈項目在安全性和可擴展性之間可走的道路狹窄,但它并非不可逾越。[2019/8/29]

無論在區塊鏈領域或數據庫領域,分片時要進行的第一步工作都是提取數據的關鍵特征值,并將關鍵特征值按照一定的規則來劃分給不同的碎片來處理。關鍵特征值的選擇非常重要,它關系著數據的表示唯一性保障以及分片的效果。關于特征值的選取方法,一個言簡意賅的標準:basedonwhatyouthinktheprimaryaccesspatternwillbe。因此我們在區塊鏈項目中經常可以看到分片的依據是用戶的私鑰/賬戶地址等等,因為這些值是唯一性且不隨時間改變的,分片時邏輯比較清晰。

動態 | MultiVAC:已在分片技術獲得了“突破”:據cointelegraph報道,根據11月5日的新聞稿,區塊鏈平臺MultiVAC聲稱已經在區塊鏈擴容技術分片(sharding)中獲得了“突破”。MultiVAC報告稱使用64個分片實現了每秒30784次交易(TPS)。雖然所使用的所有分片的交易總量在其峰值時超過30K,但單個分片達到533 TPS。MultiVAC還在新聞稿中聲稱,他們的“全維分片擴展解決方案”或可用于大規模商業應用,以及低性能計算機上的加密挖掘。[2018/11/10]

在傳統的數據庫技術中,數據的分片主要有三種方式:

1.哈希方式,直接取模:例如有3個碎片,就將數據經過哈希運算后用3求模,根據結果分配至特定的碎片,此種策略的目的是減少碎片負載不均衡的發生,因為哈希函數計算出來的結果毫無規律,也就打破了因為一些關鍵特征值和負載的量相關的情況,因此數據更有可能均勻分散于各個碎片之間。一個反例則是,如果數據的關鍵特征值是注冊時間順序的話,剛注冊的數據更為活躍,則有可能會把它們都分到某一個碎片里。但是這一方法的缺點在于如果有新的碎片加入,重新平衡分片比較困難;其優點則在于不需要額外維護狀態信息。

金色財經現場報道 以太坊創始人Vitalik Buterin對Casper與分片技術最新進展做出演講 :金色財經6月3日現場報道,在今天的以太坊技術及應用大會上,以太坊創始人Vitalik Buterin做了題為“Casper與分片技術最新進展”的主題演講。第一步為存款:簽名和公鑰地址不一定是一樣的,可以讓別人為你參加共識機制,能用熱錢包簽名,將資金留在冷錢包中。完成取款,第二步為等待加入,可能需要一天時間(還不完全確定)第三步為參加驗證機制:驗證節點有兩個作用:敲定主鏈的區塊,驗證分片上的區塊。[2018/6/3]

2.一致性哈希:無虛擬節點的一致性哈希方式是指數據按照特征值映射到首尾相連的哈希環上,同時也將節點按照一定規則映射上去,數據順時針找到的第一個節點為其所存儲的節點。有虛擬節點的一致性哈希和此類似,不過是將虛擬節點映射到哈希環上,也因此一個實際的物理節點可以占據哈希環上的多個范圍。此種方法需要維護狀態信息,也就是數據具體被分到哪個節點了,但是優點在于如果碎片的數目需要增加,則重新平衡分片更為容易。但是分片狀態信息的維護需要考慮一致性問題,較為復雜。

Penta發布全新PSG分片技術:Penta(梵塔網絡/PNT)發布了全新的PSG(Penta Sharding Graph)分片技術,它可以通過對不同地址或DAPP的交易采用動態分組的方式實現區塊鏈的并行處理,并自動協調交易的并行和串行處理,同時采用自動壓力平衡技術,有效提升交易的并行處理能力。另外,PSG分片采用的DSC共識算法機制,確保了包括智能合約等交易的一致性,以及共識生成區塊時與主鏈一致的公平性。在整體系統的安全性、跨分片交易事務的一致性方面也有顯著提高。分片技術被認為是可擴展性問題最可能的解決方案,近日Vitalik Buterin多次談到以太坊分片技術,包括QuarkChain等項目也都有用到該技術,PSG分片技術的出世或許將對交易環節的可擴展性帶來重要意義。[2018/5/16]

3.Rangebased:按照關鍵特征值劃分成不同區間,每個節點對應一個或多個區間,類似一致性哈希的方式,也需要維護狀態信息。

在區塊鏈系統中,需要有機制來知道哪個節點實現了哪個分片,在傳統數據庫系統中分片信息一般需要專門的服務器存儲,有時為了減輕元數據服務器的壓力,分布式系統中,會在其他節點緩存元數據。在區塊鏈中的思路也大體一致,需要保證在節點之間緩存的元數據的一致性,或者引入一個類似的主服務器來保證性能,但都帶來了一致性的挑戰。

多個副本的一致性、可用性是CAP理論討論的范疇,主要有兩種可用的方案。

第一種是主從同步,首先選出主服務器,只有主服務器提供對外服務,主服務器將元數據的更新信息以日志的方式存至某個共享的存儲空間,然后從服務器從共享存儲空間讀取日志并應用,達到與主服務器一致的狀態,如果主服務器被檢測到故障,那么會重新選出新的主服務器。在網絡分割的情況下,有可能出現大家認為原來的主服務器已經宕機了,就選舉出新的主服務器,但是實時上原來的主服務器還在繼續提供服務,這就導致出現了“雙主”現象,為了解決這種問題,需要想辦法把舊的主服務器隔離,使其不能正常對外提供服務。為了保證元數據的強一致性,在進行準備切換的時候,新的主服務器必須要在確認元數據完全同步之后才能繼續對外提供服務。為了達到這個目的,一種方式是當元數據變化時立即通知所有的緩存服務器,并鎖定數據,例如如果系統要完成的任務需要多個碎片里同時對狀態進行更新,那么在更新完成之前,訪問將被拒絕。另一種在高度可擴展的NoSQL數據庫中經常實現的復制數據之間保持高度一致性的方法是使用讀寫仲裁和版本控制。這種方法避免了鎖定數據,代價是讀取和寫入數據的過程中會帶來額外的復雜度。

第二種方式,通過分布式一致性協議來達到多個副本件的一致,比如Paxos和Raft協議,協議可以實現所有備份均可以提供對外服務,并且保證強一致性。

區塊鏈的狀態分片是指每個節點只存儲了一部分的區塊鏈狀態信息,亦需要類似的機制來維護狀態信息,以知道哪個片存儲了需要的狀態。需要解決的一致性問題和以上所述類似,而交易分片的實現更為簡單。在基于賬戶的區塊鏈系統中,每一筆交易將會有一個發送者的地址,然后系統可以根據發送者的地址分配一個碎片。這確保了兩筆雙花交易將在相同的碎片中得到驗證,因此系統可以很容易地檢測到雙花交易,而不需要進行任何跨碎片的通信。如果節點是確定的,那么幾乎不存在上述討論的元數據的更新帶來的問題。但是如果交易驗證時涉及到跨碎片之間的通信,通常開銷成本很高,將影響網絡的吞吐量和經濟效益。

區塊鏈的網絡分片指將礦工劃分成幾個組,同時驗證交易,提高系統并行處理交易的能力,進而可提高TPS。通常可以通過定期以隨機數生成來決定選取達成共識的節點,只要將其映射到已經編好號的碎片中問題也就變的好處理多了。但是如果有節點宕機,重新分配節點時,就需要在碎片之間形成一致性共識。值得注意的是,在區塊鏈中采用網絡分片技術,也就是將礦工分成幾個子網絡分別負責驗證該碎片上的交易,需要保證惡意節點的數目足夠小,也因此在分配礦工的規則上需要注意保證隨機性。

分片技術的關鍵在于由于每個片區里的數據是分開更新的,在設計應用邏輯時必須確保在平衡效率的前提下,對信息進行成功更新,同時也需要預留出一定的魯棒性來應對一個達成最終一致性過程中可能出現的不一致性。在區塊鏈中應用分片技術,還需要考慮的問題是對各種攻擊如女巫攻擊,DDOS攻擊、雙花攻擊的防御,需要在權衡效率的同時,保證每個分片內的總節點數目足夠多,并且誠實的節點占大多數,分片技術對安全性要求極高,同時,區塊鏈系統中的節點數目比傳統數據庫中的可能要多,并且面臨帶寬的限制,需要充分考慮到延遲帶來的不一致性導致的性能和安全性問題,因此鮮少有落地的相關項目。需要在大規模的網絡中進行長時間的測試驗證,并結合嚴謹的理論方案證明,才能令人信服。

參考文獻:

1.《帶著問題學習分布式系統之數據分片》,https://www.cnblogs.com/xybaby/p/7076731.html

2.《分片技術——區塊鏈擴容問題的良方》,http://www.8btc.com/sharding-blockchain-scalability

3.《sharding》,https://docs.mongodb.com/manual/sharding/

4.《Shardingpattern》,https://docs.microsoft.com/en-us/azure/architecture/patterns/sharding

5.《DatabaseshardingexplainedinplainEnglish》,https://www.citusdata.com/blog/2018/01/10/sharding-in-plain-english/

6.盧曉明,《被看做公鏈未來的分片技術,究竟離我們還有多遠?》,https://www.odaily.com/post/5132394

7.幣學院,《分片概述、Zilliqa和QuarkChain》,http://8btc.com/article-4660-1.html

Tags:區塊鏈DINHARDSHA區塊鏈運用的技術中不包括哪一項項Dino Runner Fan Tokenhard幣官網SHARE

POL幣最新價格
節慶之下,區塊鏈打響民俗安全保衛戰-ODAILY_ION

春節一直都是中國人最重要的傳統節日,雖然今年的春節對所有中國人來說都是個特殊的春節,但就是這樣一個有點冷清的春節讓我們更加懷念往年的那份熱鬧.

1900/1/1 0:00:00
投資“通證類數字資產”的風險和價值-ODAILY_SHIB

在昨天的文章中,我和大家分享了原生數字資產投資過程中的風險及投資策略。今天我和大家分享通證類資產在投資過程中的風險及投資策略.

1900/1/1 0:00:00
2.16比特幣行情解析:幣圈套路你知道多少?-ODAILY_Optimism

不管是不是減半行情或是各類消息刺激,我們能在市場上賺錢的根源,其實都只是趨勢的錢,并不是我們的能力有多強,只是恰好符合市場趨勢而已。至于虧錢,則一定是與趨勢作對、逆勢而為的結果.

1900/1/1 0:00:00
起源故事:甕城、沙盒與可信計算-ODAILY_cLA

本文來源:Phala可信網絡作者:佟林,PhalaNetworkCEOhttps://mp.weixin.qq.com/ 甕城 公元1268年,忽必烈派劉整與阿術率軍攻打襄陽,發起元滅宋之戰.

1900/1/1 0:00:00
12月19日比特幣行情分析:大漲千點還需正確把握獲利節奏-ODAILY_加密貨幣

重點資訊 加密貨幣公司最近表示,考慮到2019年數字貨幣的交易和使用速度,預計2020年加密貨幣的采用率將會大幅上升.

1900/1/1 0:00:00
?「DarcMatter」將推出去中心化另類投資平臺,用區塊鏈高效、低成本連接基金經理和投資人-ODAILY_ETH

由于管理過程多集中在線下,另類投資通常是低效且缺乏透明度的,線下也同時意味著要高度依靠人工做銷售。因此,另類投資行業發展較為緩慢.

1900/1/1 0:00:00
ads