하드웨어 지갑은 비트 코인 네트워크와 어떻게 상호 작용합니까?
하드웨어 지갑이 전체 노드를 통해 블록 체인에 연결되어 있지 않기 때문에 다른 비트 코인 주소로 트랜잭션을 보내는 원리를 이해하려고했습니다. 이 답을 찾았습니다. 하드웨어 지갑은 외부 세계와 어떻게 통신합니까?
Ledger, Trezor 또는 Shiftcrypto와 같은 모든 하드웨어 지갑 회사가 회사 네트워크에서 전체 노드 (예 : bitcoind)를 실행하고 보낸 사람의 컴퓨터에 로컬로 설치된 회사의 소프트웨어를 통해 연결된 모든 하드웨어 지갑이 요청을 전송한다는 것을 이해합니까? 이 전체 노드에 이렇게?
bitcoin-cli createrawtransaction "[{\"txid\" : \"mytxid\",\"vout\":0}]" "{\"myaddress\":0.01}"
그렇다면 회사는 다른 방식으로 작동하는 자체 (폐쇄 된 소스) 전체 노드를 실행합니까? 유일한 예외는 오픈 소스 인 ShiftCrypto의 BitBoxBase입니다.
하지만 기본적으로 하드웨어 지갑과 블록 체인 간의 거래 처리 원칙은 항상 똑같죠? 따라서 모든 회사는 자체 풀 노드를 실행합니다. 하드웨어 지갑과이 풀 노드 사이의 전송 "프로토콜"만이 다르고 비 표준화되어 있지 않습니까?
답변
아니.
하드웨어 지갑 회사는 때때로 노드를 실행하지만 대신 Electrum과 같은 클라이언트를 쉽게 사용하고 하드웨어 지갑 대신 Electrum 노드를 사용할 수 있습니다. 사용되는 모든 노드는 트랜잭션을 확인하고 트랜잭션을 게시하는 것입니다.
지갑 소프트웨어는 하드웨어 지갑의 xpub를 사용하여 이러한 원격 전체 노드 중 하나를 사용하여 사람들이 주소로 보낸 지불을 확인합니다.
이제 비트 코인을 받았는데 사용하고 싶다고 가정 해 보겠습니다. 지갑 소프트웨어는 컴퓨터에서 서명되지 않은 트랜잭션을 생성 한 다음 서명을 위해 서명되지 않은 트랜잭션을 하드웨어 지갑으로 보낸 다음 지갑 소프트웨어가 전체 노드를 사용하여이 서명 된 트랜잭션을 게시합니다.
따라서 링크 한 답변과 같이 모든 전체 노드가 사용되는 것은 1) 기존 블록 체인 데이터를 쿼리하고 2) 이미 서명 된 원시 트랜잭션을 게시 ( 생성 하지 않음 )하는 것입니다.
Ledger, Trezor 또는 Shiftcrypto와 같은 모든 하드웨어 지갑 회사가 회사 네트워크에서 전체 노드 (예 : bitcoind)를 실행하고 보낸 사람의 컴퓨터에 로컬로 설치된 회사의 소프트웨어를 통해 연결된 모든 하드웨어 지갑이 요청을 전송한다는 것을 이해합니까? 이 전체 노드에 이렇게?
아니.
기본 수준에서 하드웨어 지갑은 오프라인 환경에서 개인 키를 생성 및 저장하고 트랜잭션에 서명 할 수있는 장치 일뿐입니다. 장치가 더 넓은 네트워크와 상호 작용하는 방식은 다양하지만 하드웨어 지갑 제조업체의 노드 서비스를 사용할 필요는 없습니다 (일반적으로 사용자의 개인 정보에 좋지 않음).
참고 것을 하드웨어 지갑 인터페이스는 자신의 bitocin 코어 노드에서 직접 하드웨어 지갑과 상호 작용하는 데 사용할 수있는 도구입니다. 링크 된 github 페이지에는 현재 호환되는 하드웨어 지갑의 8 가지 모델이 구체적으로 언급되어 있습니다.