W jaki sposób portfel sprzętowy współdziała z siecią bitcoin?
Próbowałem zrozumieć zasadę, w jaki portfel sprzętowy wysyła transakcje na inny adres Bitcoin, ponieważ nie jest on połączony przez pełny węzeł z łańcuchem bloków. Znalazłem odpowiedź: W jaki sposób portfele sprzętowe komunikują się ze światem zewnętrznym?
Czy dobrze rozumiem, że każda firma zajmująca się portfelami sprzętowymi, taka jak Ledger, Trezor lub Shiftcrypto, uruchamia pełny węzeł (np. Bitcoind) w swojej sieci firmowej, a każdy portfel sprzętowy, który jest połączony za pośrednictwem oprogramowania firmy zainstalowanego lokalnie na komputerze nadawcy, po prostu wysyła żądanie do tego pełnego węzła w ten sposób?
bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
Jeśli tak, czy firmy mają własny (zamknięty) pełny węzeł, który działa w inny sposób? Jedynym wyjątkiem wydaje się być BitBoxBase z ShiftCrypto, który jest open source.
Ale w zasadzie zasada obsługi transakcji między portfelem sprzętowym a blockchainem jest zawsze taka sama, prawda? Tak więc każda firma ma swój własny pełny węzeł. Tylko „protokół” transmisji między portfelem sprzętowym a tym pełnym węzłem jest inny i niestandardowy, prawda?
Odpowiedzi
Nie.
Firma zajmująca się portfelem sprzętowym czasami uruchamia węzeł, ale równie łatwo można zamiast tego użyć klienta takiego jak Electrum i zamiast tego użyć węzłów Electrum z portfelem sprzętowym. Cały węzeł jest używany do sprawdzania transakcji i publikowania transakcji.
Oprogramowanie portfela użyje xpub z portfela sprzętowego, aby sprawdzić płatności, które ludzie wysłali na twoje adresy, używając jednego z tych zdalnych pełnych węzłów.
Teraz załóżmy, że otrzymałeś trochę Bitcoinów i chcesz je wydać. Oprogramowanie twojego portfela wygeneruje niepodpisaną transakcję na twoim komputerze, następnie wyśle tę niepodpisaną transakcję do twojego portfela sprzętowego w celu podpisania, a następnie oprogramowanie portfela użyje pełnego węzła do opublikowania tej podpisanej transakcji.
Tak więc, jak wskazałaś odpowiedź, do której dołączyłeś, wszystkie pełne węzły są używane do 1) wysyłania zapytań o istniejące dane łańcucha bloków i 2) publikowania ( NIE tworzenia) już podpisanej surowej transakcji.
Czy dobrze rozumiem, że każda firma zajmująca się portfelami sprzętowymi, taka jak Ledger, Trezor lub Shiftcrypto, uruchamia pełny węzeł (np. Bitcoind) w swojej sieci firmowej, a każdy portfel sprzętowy, który jest połączony za pośrednictwem oprogramowania firmy zainstalowanego lokalnie na komputerze nadawcy, po prostu wysyła żądanie do tego pełnego węzła w ten sposób?
Nie.
Na poziomie podstawowym portfel sprzętowy to tylko urządzenie, które może tworzyć i przechowywać klucze prywatne oraz podpisywać transakcje, a wszystko to w środowisku offline. Sposób, w jaki to urządzenie współdziała z szerszą siecią, jest zmienny, ale nie ma wymogu korzystania z usług węzłów producenta portfela sprzętowego (należy pamiętać, że takie postępowanie nie będzie dobre dla prywatności użytkownika).
Zwróć uwagę, że interfejs portfela sprzętowego to narzędzie, którego można używać do interakcji z portfelem sprzętowym bezpośrednio z własnego węzła rdzenia bitocin. Strona github, do której prowadzi link, wymienia w szczególności 8 różnych modeli portfela sprzętowego, które są obecnie kompatybilne.