Security
輕量級 LN 錢包是否容易受到交易扣留的影響?
據我所知,LN 要求使用者觀看區塊鏈,以便及時執行懲罰。但是,執行全節點對於一些使用者來說可能是一個沉重的負擔,尤其是對手機來說。我曾經聽說輕量級錢包的改進協議(如 Neutrino)可以解決這個問題,但我也聽說這種輕量級錢包協議仍然意味著信任提供服務的全節點或伺服器。特別是,惡意全節點可以隱藏其客戶端的交易,這似乎是對輕量級 LN 錢包的潛在威脅。
執行完整節點在安全性和信任方面無可替代。
有不同的“輕量級客戶端”概念。他們之中有一些是…
BIP37(布隆過濾器):
- [減號] 使用目前使用的誤報率,對等方可以了解所有錢包地址
- [減號] 通常通過未加密的通道 (p2p 8333)、ISP 等完成。還可以了解您的所有地址
- [plus] 客戶端可以驗證交易是否在一個區塊中(merkleblock)
- [plus] 客戶保留一個只有標頭的區塊鏈,至少可以檢查 PoW
- [plus] 只使用很少的頻寬
- [減號] 隱藏交易是可能的
- [加]“不可能”偽造交易
Neutrino(緊湊型塊過濾器 BIP158):
- [plus] 比 BIP37 更少的隱私影響,因為過濾發生在本地
- [減號] 需要更多資源(從創世塊到塊 560000 的基本過濾器需要 ~3.5GB 空間/頻寬)
- [減去] 更多頻寬消耗,因為必須下載完整塊(而不是 BIP37 中的 Merkle-“塊”)
- [減號] 隱藏交易仍然是可能的(雖然更複雜),因為塊過濾器沒有送出給塊(需要軟分叉)。未送出意味著,對等方可以偽造過濾器並讓您錯過相關事務(可以通過比較來自不同對等方的過濾器[部分]緩解)
- [減號] 記憶體池過濾沒有解決方案(無法顯示“傳入交易”可靠)
- [加]“不可能”偽造交易
集中驗證(Bitpay、Samourai 等)
- [減號] 完全信任公司/伺服器(他們知道您的所有地址)
- [減號] 可以隱藏交易
- [減號]可以人為地創建交易
- [加] 最小的頻寬消耗
一些應用程序混合了不同的方法(例如 Electrum 進行 Merkle-tree 檢查並保留僅標頭鏈以緩解“可以人為地創建交易”問題)。
結論
如果你想在沒有受信任的第三方的情況下觀看區塊鏈,你必須執行一個完整的節點(雖然 <10GB 的空間要求可以被修剪,但閃電實現還不完全兼容)。
如果(且僅當)BIP158塊過濾器被送出(通過軟分叉,在類似的塊 coinbase 中散列),通過對等方隱藏交易,提供過濾器,將不再可能。
推薦的實用方法
購買一台微型電腦(Raspberry、Odroid、Pine64)
購買 >500GB SSD(USB3 SSD,2019 年約 100 美元)
- 不,.. 不要使用舊硬碟(同步時間會慢 20 倍)。
安裝比特幣核心(有預建構的 ARM64 二進製文件)
以大容量執行
-dbcache
(如果您有 2GB+ RAM)同步鏈
zzzZZZ(可能需要一周時間)
享受成為真正的比特幣人(通過避免所有受信任的第三方)