← 回到 DEVCON 8

Haskell 版 libp2p:共享狀態管理與尚待完成的互通工作

hs-libp2p: A Haskell Implementation of the libp2p Stack

場次摘要

Shouki 介紹以 Haskell 實作 libp2p 的工作,從共識客戶端使用的點對點網路協定談起,說明不同語言實作有助於降低單一錯誤波及整個網路的風險。他希望引入函數式程式設計,並以純函數、強靜態型別與不可變資料說明選用 Haskell 的理由。 他以 Yamux 串流狀態及軟體交易記憶體(STM)示範共享狀態管理,讓一組更新全部完成或全部不生效。他表示,Kademlia 分散式雜湊表已通過與其他實作的測試,但未交代完整範圍;QUIC 功能仍不完整,尚缺大量資料傳輸。這套實作尚未用於正式環境,也未整合其他客戶端。與 Go、Rust 實作協調測試及後量子簽章、金鑰交換,仍是待推進的工作。

值得記下的 5 件事

  1. [1:20]
    以 Haskell 增加實作多樣性 講者認為,不同語言的實作有助於降低單一錯誤影響整個網路的風險,因此希望引入 Haskell 與函數式程式設計

    這是專案動機,並非已證明能消除網路故障。

  2. [3:20]
    用交易式更新管理共享狀態 講者以 Yamux 的串流生命週期示範狀態建模,再介紹軟體交易記憶體(STM)

    這種機制讓一組共享狀態更新全部完成或全部不生效,開發者不必自行用鎖協調這類更新。

  3. [5:40]
    已有局部測試,但尚未整合客戶端 講者表示,Kademlia 分散式雜湊表已通過與其他實作的測試,但未提供完整測試範圍

    問答時他說,目前只涉及點對點網路節點,尚未整合其他客戶端;雖想與 Go、Rust 實作協調測試,仍沒有具體計畫。

  4. [4:00]
    QUIC 功能仍待補齊 講者表示實作支援 QUIC 傳輸協定,但功能尚不完整,仍需實作大量資料傳輸

    逐字稿不足以確認其他可用功能的範圍,不能據此認定 QUIC 已完整可用。

  5. [4:20]
    尚未正式部署,後量子工作仍在探索 講者明言這套 libp2p 尚未用於正式環境,仍需補充實作並邀請其他點對點網路開發者參與

    他也提到嘗試導入後量子簽章與金鑰交換,但未清楚交代進度,不能視為已完成的功能。

下載摘要 下載 Word 摘要(.docx)

更多來自 DEVCON 8

訂閱