區塊鏈技術一直在顛復和傳播數據的民主化。這促進了它的使用。區塊鏈范式已經從金融用途轉向了應用程序開發用途。
在使用區塊鏈技術的應用中,游戲應用是使用區塊鏈技術開發最為廣泛的應用。比特幣通過共享數據結構或賬本提供小原子數據的交易。數據交易的去中心化結構保證了一個高效的系統。
隨著區塊鏈技術在物聯網(Internet of Things)范式中的應用,出現了一個新的應用領域,稱為自主去中心化點對點遙測(ADEPT),
這是設備之間的另一種自通信方法,它消除了中介,與區塊鏈方法非常相似。
這里的問題是,什么是節點?“節點是通過數據塊存儲和共享數據的節點,這些數據塊是用于提高交易處理速度和可伸縮性的批量數據。傳統的數據傳播是通過網絡中的多個節點來進行的。
但是,如果數據量很大,那么塊的大小也很大,并且塊將數據共享給網絡中的每個節點,直到所有節點都有了新信息,這將導致數據傳播速度變慢。
這就是Velocity可以創造奇跡并加速數據傳播速率的地方。Velocity使用噴泉代碼進行高效和細粒度的交易處理,以防止中斷通道上的任何傳輸。它提供了急需的事交易吞吐量。
在進一步討論之前,讓我們首先了解基本的傳播過程。
區塊鏈協議和數據傳播:
我們都知道,區塊鏈是一個通過若干節點分批共享數據的網絡,這些節點中存儲著不受信任的參與者,這些參與者通過協商共識算法對相同的數據進行驗證。
當這些信息到達節點時,通常稱為引導,當這種引導節點用于數據交換時,這種交換稱為塊傳播。
有幾種不同的方法來阻止傳播:
緊湊的塊:
這是一種經過BIP(區塊鏈改進協議)驗證的有效載荷降低方法。這種方法的工作原理是假設必要的信息集已經發送給對等節點,并且只需要與節點交換集合的差異。
圖像源:低帶寬緊湊塊傳播
該方法通過高、低帶寬提供了一個有效的中繼過程。它利用額外的帶寬來停止往返時間(RTT)。這種方法減少了有效載荷的大小。但這一方法有兩大缺點:
· 需要“短id”來標識丟失的交易,這些交易需要更多的存儲空間。
· 每當一個節點處理多個交易時,由于缺少對未知交易的優化,就會出現差異。
Thinblocks (Xthin):
由比特幣無限改進協議(BUIP)開發和提出,這種方法使用bloom過濾器來更有效地比較集合差異。它允許更有效地檢測未知交易,但它通過編碼成員信息增加了傳播過程的開銷。存在安全問題,因為惡意節點可以發送偽造的過濾器來創建沖突攻擊。
石墨烯:
針對Xthin塊方法的不足,提出了一種新的改進方法。它重新傳輸塊來接收故障。它利用單個對等點作為關鍵點,節點一次性發送所有數據,而不是多個節點共享部分數據。這些塊僅用于塊傳播,而不用于節點引導。
分布式哈希表(DHT):
DHT t主要用于對等發現。將DHT作為“初始播種機”的系統——這是一個負責構建整個系統的單個節點,其中引導過程允許多個參與者共享公共DHT。
該方法減少了上述三種方法中出現的問題,利用節點所擁有的部分信息作為新的資源,緩解了未知交易檢測的瓶頸或差異。但也有兩個重要的缺點:
· 由于工作量證明挖掘協議,企業參與是一個問題,它已經成為移動應用程序開發使用的障礙,涉及協議遵守和收入模型的問題。
· 該系統需要一個通用的中心節點來引導發現,這本身就違反了區塊鏈的去中心化結構。
通過噴泉速度編碼
噴泉碼——通常被稱為無速率擦除碼,它提供了一種獨特的方式,將信息編碼成片段,當片段數量達到閾值時,可以將這些片段重新組裝為原始數據。
由于數據的重構是基于段而不是單獨的塊,因此與DHTs、相比,它能提供更健壯、更平滑的數據傳輸。雖然噴泉代碼的概念在區塊鏈范例中非常有用,但它還沒有在區塊鏈領域中使用。
對于區塊鏈應用程序,噴泉代碼是理想的,它可以將單個信息分割成大小相等的元素。然后這些元素被編碼成特定的“符號”。這些符號是特定于任務的,并傳輸到一個或多個源,由接收者聚合信息。
這個接收者為每個符號編碼一個算法。但是解碼算法的可能性幾乎為零??梢詫elocity與噴泉代碼一起使用。
Velocity使用這些噴泉碼的糾錯特性來允許來自多個源并具有同步廣播的塊傳播。
通過噴泉代碼逐步阻止傳播:
1. 在實現新節點時,發送方節點將Inv發送到附近的節點。塊被編碼為預先確定大小的符號。
2. 接收方接收Inv消息,并使用get_sym請求所有節點的任何未知塊。
3. 擁有所請求塊信息的對等節點通過sym響應重復提供響應,在符號中對每個塊進行編碼。
4. 接收器收集所有的符號,并使用塊標頭id提供的映射形成一類符號對。這個過程確保了塊的安全性,因為每個塊必須擁有一個頭來避免DOS攻擊。
5. 接收機有一個預先確定的符號體積閾值,當這些符號達到閾值時,接收機開始重構塊。
6. 在執行重構過程時,如果相同的操作失敗,則接收方嘗試檢測不符合的符號對。
7. 如果重構過程成功,則將接收到的消息發送到發送節點,以停止符號的傳輸。
了解“Velocity”速度使用的收入點:
挖掘池通常使用歷史數據來確定收入模型塊的最佳大小。有時,交易費用并不能成為孤立塊的理由。為了緩解這些問題,并根據交易費用來決定塊的大小,我們可以使用兩個參數:
符號大?。?/p>
塊大小和符號大小的比例對于確定符號大小非常重要,因為我們希望在對等通信中聚合符號。
孤立率:
這些是未被接受的孤立塊,因為在區塊鏈操作期間問題中的塊存在時間延遲。
結論:
使用Velocity可以優化塊傳播以獲得更好的收益,從而利用區塊鏈增強對企業和企業的財務激勵。這種方法當然可以改變區塊鏈進程以優化塊大小,幫助采礦者在更高的安全性下實現更流暢、更快的交易。
責任編輯;zl
評論