Blockchain
是否可以創建一個沒有下載所有區塊鏈的錢包服務?
是否可以創建一個沒有下載所有區塊鏈的錢包服務?就像不執行完整節點本身一樣?
如果沒有任何安全權衡與執行驗證節點,就無法在不下載和驗證區塊鏈的情況下創建錢包服務。
如果 SPV 節點安全權衡是可以接受的,您可以考慮使用這些來執行錢包服務。
SPV 節點不完全驗證區塊鏈,只下載最長的頭鏈。但是,由於他們只在頭鏈中驗證 POW,並且不索引所有交易(僅與錢包服務地址相關的交易),他們需要獲得通過確認感興趣的 tx 的證明。另一個全節點對等體。這個證明可以傳遞一個 merkle-proof,它代表 merlke-tree 的一個特定分支,以感興趣的 txid 開頭,其中的根被送出給每個塊頭。
SPV 節點的安全權衡有兩個方面:
- 隱私:由於錢包服務對與特定地址相關的 tx 感興趣,因此有關地址的一些資訊必然會洩露給查詢的全節點。
- 遺漏的可能性:在 SPV 客戶端無法證明這一點的情況下,對等方可以始終對特定的已確認交易保持沉默,這可能需要在驗證對等方之間進行交叉比較啟發式。
- SPV 客戶端不驗證任何共識規則,因此不知道它所遵循的鏈/分支是否根據使用者支持的驗證規則集正確驗證。
對的,這是可能的。但如上所述,有取捨。
我確實認為,當您想快速製作原型或只是隨便玩玩時,最好不要下載完整的區塊鏈。
為此,我知道Bcoin有一個你可以指向的完整節點(這是修剪過的節點)
還有一些其他服務,例如<https://bitcore.io/>(我從未使用過)