1. 程式人生 > >區塊鏈開發技術從入門到精視訊課程

區塊鏈開發技術從入門到精視訊課程

 區塊鏈技術經歷了幾個階段的更新發展,技術上有了很大的革新,但區塊鏈技術發展的一個難題就是擴容問題。面對這個問題是要提升區塊大小還是分叉?這是比特幣曾經面對的難題,但好在“隔離見證+閃電網路”讓比特幣有了喘息之機。不過隨著使用者群體逐漸變大,交易量也不斷上升,如何解決擴容問題迫在眉睫。

  以太坊在面對擴容難題時,則採用了分片的方式,從側面提高區塊鏈系統的可擴充套件性。

  下面小編就給大家講講分片的相關知識。

  分片是傳統資料庫分割槽的一種,它將大型資料庫分成更小、更快、更容易管理的部分——資料碎片。那區塊鏈分片技術就是基於資料庫分片概念的一種擴容技術。

  分片基本思路是把網路中的節點劃分為不同的碎片,每個分片能夠並行處理不同交易,這樣一來就能夠並行處理相互之間未建立連線的交易,從而提高網路併發量。分片的特點表現是,網路吞吐量會隨著節點數目的增加而增加。

  核心難點在於資料分片的關鍵特徵值確定,還有因元資料在片區之間通訊的延遲而引起的不一致性問題,頻繁的跨碎片之間的通訊會使得區塊鏈網路效能大幅度下降。因為每個片區裡的資料是分開更新的,在設計應用邏輯時必須確保資訊的成功更新,同時也需要預留出一定的魯棒性,用來應對一個達成最終一致性過程中可能出現的不一致性。

  在區塊鏈中的分片根據物件可分為交易分片、網路分片和狀態分片,其中在區塊鏈中採用網路分片技術,即是將礦工分成幾個子網路,分別負責驗證該碎片上的交易,需要保證惡意節點的數目足夠小,所以在分配礦工的規則上需要注意保證隨機性。

  在區塊鏈中應用分片技術,還需要考慮的問題是對各種攻擊如女巫攻擊,DDOS攻擊、雙花攻擊的防禦,需要在權衡效率的同時,保證每個分片內的總節點數目足夠多,並且誠實的節點佔大多數,分片技術對安全性要求極高,區塊鏈系統中的節點數目比傳統資料庫中的可能要多,而且面臨頻寬的限制。需要充分考慮到延遲帶來的不一致性導致的效能和安全性問題,這也是為什麼鮮少有區塊鏈服務落地的相關專案。

  不管是區塊鏈領域還是資料庫領域,分片時要進行的首要步驟均要提取資料的關鍵特徵值,然後把關鍵特徵值按照一定的規則來劃分給不同的碎片來處理。關鍵特徵值的選擇十分重要,因為它關係著資料的表示唯一性保障以及分片的效果。