Bitcoin-Core
比特幣核心內部 Electrum 伺服器
是否存在技術原因導致比特幣核心中沒有選項可以部署內部 Electrum 伺服器或類似的東西以便軟體錢包可以獲取地址和余額?
Electrum 伺服器在開發或運營層面根本不兼容比特幣核心。它們需要創建節點沒有的大量索引,並且必須由外部工具創建。使用最先進的
electrs
Electrum 伺服器,創建這些索引需要一天以上的時間,並且需要在磁碟上儲存超過 50GB 的額外數據。為了使伺服器具有高性能,軟體的分支為這些索引使用了超過 1TB 的額外儲存空間。
我認為使用“比特幣核心作為錢包後端”的首選技術是通過塊過濾器,例如新的緊湊型塊過濾器(對布隆過濾器的改進)。該協議被稱為 Neutrino,它降低了比特幣核心節點的 CPU 和儲存要求(electrumx 數據庫目前大約需要 50 GB)。要在比特幣核心中創建這些過濾器,您需要啟動添加 bitcoind 選項
blockfilterindex=1
或blockfilterindex=basic
. 使用這些過濾器,您可以過濾影響屬於您錢包的地址(scriptPubKeys)的塊。幾個閃電錢包使用這種技術這種塊過濾技術會產生一些誤報,因此您將獲取最終不會影響您的地址的塊。因為您向錢包請求的不僅僅是相關交易,因此您最終會消耗比使用電子伺服器更多的頻寬,但它具有更私密的優勢。
Neutrino 被多個閃電網路錢包使用: