分片是一種基于數據庫分成若干片段的傳統概念擴容技術,它將數據庫分割成多個碎片并將這些碎片放置在不同的服務器上。大概意思就是如果有一個很大的倉庫,里面放了很多貨物,但是這個倉庫只有一個出入口,所以在取貨存貨的時候,效率就會低很多。但是如果把這個大倉庫改用成10個較小的倉庫,那么同時存貨取貨的效率就會高10倍。這個過程就相當于分片。
在底層公鏈的系統內,網絡上的交易將被分成不同的碎片,其由網絡上的不同節點組成。因此,只需要處理一小部分輸入的交易,并且通過與網絡上的其他節點并行處理就能完成大量的驗證工作。將網絡分割為碎片會使得更多的交易同時被處理和驗證,因此,隨著網絡的增長,
區塊鏈處理越來越多的交易將成為可能。但這極其具有挑戰。
分片技術應用在公鏈上,會有那些好處?
一是公鏈的處理速度將會達到每秒上萬筆,甚至更多,這將使
區塊鏈項目的真正落地成為可能,扼住項目落地的技術難題將被徹底解決;
二當處理速度很高的公鏈投入使用,將會帶來越來越多的用戶和應用程序,而這將反過來促進區塊鏈的進一步采用,也使挖礦變得更有利可圖,吸引更多節點加入網絡,從而形成一個良性循環。
三是分片技術可以減少節點的工作量,這將降低交易手續費,當我們將低費用與高效率結合起來的時候,必然會使公鏈變得越來越有吸引力。
以上就是目前公鏈存在的一些問題和分片技術的原理,其實分片技術不止一種,為了滿足不同的需求,分片技術還分為:網絡分片、交易分片和狀態分片等。
在網絡分片和交易分片中,區塊鏈中每一個節點中的數據都被分割成不同的碎片,然后這些碎片每一個都能獨立的處理分配給自己的這些交易,同時還能在不同的交易對象中達成共識。即雖然我這個碎片上面沒有你那個碎片上的交易信息,但是我也有辦法來承認你的交易時合法的。通過這種方式,就可以同時處理大量的相互之間沒有建立連接的交易,通過提高碎片的數量級來提高交易的吞吐量。
大家都知道,在現在主流的公鏈上面,每一個節點里面都會保存每一筆交易的這些數據:交易數量、交易時間、智能合約等等多有的信息,這顯然會消耗掉很多的存儲資源,如果一個節點內可以存放更多交易的話,那么也意味著用戶需要支付的手續費也會對應減少。這個不難理解,就像你去網購,單點一件東西可能不會給你包郵,但是你點的東西多了,商家自然給你包郵。
為了解決這個問題,狀態分片的可行方法被人提出。這個方法的核心部分就是將節點的整個存儲區分開來,讓不同的碎片來存儲不同類別的信息,然后每個節點只管負責好自己的分片數據,而不是像以往一樣把所有的數據都存儲起來。
目前,分片技術在區塊鏈上的應用核心難點在于數據分片的關鍵特征值確定,以及元數據在片區之間通信的延遲造成的不一致性問題,頻繁的跨碎片之間的通信會使得區塊鏈網絡性能大大降低。
除此之外,還需要考慮的問題是對各種攻擊如:女巫攻擊,DDOS攻擊、雙花攻擊的防御,需要在權衡效率的同時,保證每個分片內的總節點數目足夠多,并且誠實的節點占大多數,分片技術對安全性要求極高……
分片技術信息量巨大,它無疑是區塊鏈中解決擴容問題的一個絕佳方案,同時分片技術還可以保證了去中心化和透明度的情況。但是分片技術,在設計和實現層面都是困難重重的,挑戰還有很多,目前還只是個開始。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。