#dusk @Dusk 今晚我在網絡層面上“鑽研”了一番(而不是照常處理應用層的內容)。具體來說:爲什麼 Dusk 要把普通的“閒聊式”傳播替換成叫做 kadcast 的東西?說實話?😂 我沒想到網絡拓撲竟然會對共識性能產生這麼大的影響。
所以大多數區塊鏈是把消息簡單地泛洪給所有已連接的對等方:這很直觀,但相當浪費,會有大量冗餘傳輸。kadcast 則基於 Kademlia 構建一種結構化的覆蓋網絡:每個節點都會通過對其 IP 和端口做哈希得到一個 128 位 ID,然後消息會依據“節點 ID 之間的異或距離”的確定性路徑進行轉發,而不是一次性到處廣播。節點會維護 k 個“桶(k buckets)”來存儲已知鄰居,併爲每個桶設置一個小的委託數量(delegate count),由少量代理節點負責繼續廣播,而不是讓每個節點都轉發給每一個其他節點。測量結果大約是相較於 gossip,帶寬使用降低 25% 到 50%,並且延遲更可預測,而不是 gossip 那種不可控的“扇出(fan out)”。
自從我一頭扎進去之後,我反覆回到一個相對爲人熟知的擔憂:在 Kademlia 研究裏,基於確定性 ID 距離的結構化路由意味着在該 ID 空間中的“位置”並不是隨機的。我沒有看到 Dusk 的具體文檔討論這一點是否會在我之前提到的委員會投票傳播(以及我用簡潔證明/簡短 attestations 寫過的那個上下文)中引入任何 eclipse(自我隔離)或定向定位(targeted positioning)的風險;相比之下,一個完全非結構化的 gossip 網絡那種“定位”在同樣程度上是沒法實現的。
不過,對共識消息而言,真實可測的帶寬降低確實是一個非常具體的效率收益,而不只是紙面上聽起來更優雅的架構。
說實話,不知道這種結構化路由的取捨是否真的引入了有意義的新風險,還是效率提升在這裏明顯更佔優??
🤔
$DUSK
所以大多數區塊鏈是把消息簡單地泛洪給所有已連接的對等方:這很直觀,但相當浪費,會有大量冗餘傳輸。kadcast 則基於 Kademlia 構建一種結構化的覆蓋網絡:每個節點都會通過對其 IP 和端口做哈希得到一個 128 位 ID,然後消息會依據“節點 ID 之間的異或距離”的確定性路徑進行轉發,而不是一次性到處廣播。節點會維護 k 個“桶(k buckets)”來存儲已知鄰居,併爲每個桶設置一個小的委託數量(delegate count),由少量代理節點負責繼續廣播,而不是讓每個節點都轉發給每一個其他節點。測量結果大約是相較於 gossip,帶寬使用降低 25% 到 50%,並且延遲更可預測,而不是 gossip 那種不可控的“扇出(fan out)”。
自從我一頭扎進去之後,我反覆回到一個相對爲人熟知的擔憂:在 Kademlia 研究裏,基於確定性 ID 距離的結構化路由意味着在該 ID 空間中的“位置”並不是隨機的。我沒有看到 Dusk 的具體文檔討論這一點是否會在我之前提到的委員會投票傳播(以及我用簡潔證明/簡短 attestations 寫過的那個上下文)中引入任何 eclipse(自我隔離)或定向定位(targeted positioning)的風險;相比之下,一個完全非結構化的 gossip 網絡那種“定位”在同樣程度上是沒法實現的。
不過,對共識消息而言,真實可測的帶寬降低確實是一個非常具體的效率收益,而不只是紙面上聽起來更優雅的架構。
說實話,不知道這種結構化路由的取捨是否真的引入了有意義的新風險,還是效率提升在這裏明顯更佔優??
🤔
$DUSK
Yes
0%
No
0%
0 票 • 投票已結束