W jaki sposób portfel sprzętowy współdziała z siecią bitcoin?

Nov 22 2020

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

3 ieatpizza Nov 22 2020 at 18:14

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.

2 chytrik Nov 23 2020 at 02:37

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.