Coldstorage
硬體錢包如何與比特幣網路互動?
我試圖了解硬體錢包如何將交易發送到另一個比特幣地址的原理,因為它沒有通過完整節點連接到區塊鏈。我找到了這個答案:硬體錢包如何與外界通信?
我是否理解正確,像 Ledger、Trezor 或 Shiftcrypto 這樣的每個硬體錢包公司都在他們的公司網路中執行一個完整的節點(例如 bitcoind),每個硬體錢包通過發送者電腦上本地安裝的公司軟體連接只是發送一個請求像這樣到這個完整的節點?
bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
如果是這樣,公司是否執行它自己的(封閉原始碼)完整節點,它以不同的方式工作?唯一的例外似乎是來自 ShiftCrypto 的 BitBoxBase,它是開源的。
但基本上,硬體錢包和區塊鏈之間的交易處理原理總是一樣的,對吧?所以每家公司都執行自己的完整節點。只是硬體錢包和這個全節點之間的傳輸“協議”是不同的和非標準化的吧?
不。
硬體錢包公司有時會執行一個節點,但您可以輕鬆地使用像 Electrum 這樣的客戶端,並在硬體錢包中使用 Electrum 節點。所有節點用於檢查交易和發布交易。
錢包軟體將使用硬體錢包中的 xpub 來檢查人們使用這些遠端完整節點之一發送到您的地址的付款。
現在,假設你收到了一些比特幣並且你想花掉它。你的錢包軟體會在你的電腦上生成一個未簽名的交易,然後它會將未簽名的交易發送到你的硬體錢包進行簽名,然後錢包軟體將使用全節點發布這個簽名的交易。
因此,就像您連結到的答案所指出的那樣,所有完整節點都用於 1)查詢現有區塊鏈數據,以及 2)發布(不創建)已經簽名的原始交易。