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