nix-bitcoin 如何為安裝比特幣節點提供更高的安全性?
nix-bitcoin 在其 GitHub 儲存庫上聲稱有助於安裝比特幣節點和更高層協議(例如閃電網路)並提高安全性?它是如何做到的?
[編輯:正如 RedGrittyBrick 在下面指出的那樣,截至撰寫本文時(2020 年 8 月),該項目正在進行中]
nixbitcoindev在這裡解釋說,nix-bitcoin 提供的額外安全性是由於極簡主義、程式碼可重複性、劃分和深度防禦。
nix-bitcoin 使用 NixOS,這是一個純粹的功能性作業系統,這意味著它從 Linux 核心的每個應用程序的原始碼建構整個作業系統,從而每次部署時都會產生相同的系統。
對於一般的 Linux 發行版,不可能解除安裝所有不需要的軟體包,因為它最終會導致系統損壞。NixOS 有一種公式,它會遍歷併計算你需要的東西,然後只建構它。這種極簡主義顯著減少了攻擊面。
一切都可以通過 NixOS重現,不僅包括比特幣核心、c-lightning、lnd 等比特幣相關軟體,而且包括 Linux 核心在內的整個堆棧。結果,您知道您擁有與其他人完全相同的系統。這是對開發人員插入惡意程式碼或上游程式碼受到損害的非常強大的防禦。一旦開發人員驗證了軟體,在散列中它將是每個人都在使用的同一個軟體。
每個服務都在自己的使用者下執行在自己的小盒子裡。它只能看到自己的目錄和網路名稱空間,它甚至無法覆蓋整個網路。它只能確定自己的網路和它的 Linux 命名空間以及它被允許看到的那些。該網路名稱空間之外的外部程序也無法查看內部。這提供了很大的安全性,因為現在像 Spark 錢包這樣的程序連接到你的 c-lightning,他們永遠不會看到 JoinMarket,他們永遠不會看到 Electrum,他們永遠不會看到 bitcoind。它們被最大程度地劃分。
縱深防禦意味著建立多堵牆或多道防線。nix-bitcoin 由使用者隔離並在網路級別與 systemd 隔離。