풀노드와 서명 장치 연동
자신의 풀노드를 서명 장치 앱에 연결하면 직접 검증한 전체장부를 바탕으로 잔액과 거래 기록을 조회할 수 있습니다. 블루월렛과 애플 제품용 풀리노디드에 풀노드를 연결하는 방법을 설명합니다. 여기서는 개인키 없이 조회하는 워치온리 서명 장치로 앱을 사용합니다. 워치온리 앱은 스스로 서명할 수 없으며, 거래 서명은 개인키를 관리하는 별도 장치가 맡습니다. 에어갭 서명은 서명 장치를 네트워크에서 분리하는 방식이며, 자신의 풀노드 연결이 필수 조건은 아닙니다.
블루월렛 사용
1. 기본 개요
엄브렐 풀노드와 블루월렛을 연동하려면 먼저 엄브렐 풀노드의 비트코인 노드와 일렉트라 서버가 완전히 동기화되어야 합니다. 동기화가 완료되면 일렉트라 서버에서 제공하는 토르(Tor) 주소를 이용해 블루월렛을 연결합니다. 이 과정에서 토르 네트워크에 접속을 위해 오르보트(Orbot) 앱을 활용합니다.
2. 사전 준비
- 엄브렐 풀노드 동기화
- 비트코인 노드가 100% 동기화되어야 합니다.
- 동기화 상태는 "Synchronized 100%" 메시지를 통해 확인할 수 있습니다.
- 일렉트라 서버 동기화
- 비트코인 노드와 100% 동기화되어야 합니다.
- 동기화가 완료되면 일렉트라 서버의 토르 탭에서 QR 코드와 주소를 확인할 수 있습니다.
- 스마트폰 앱 설치
- 블루월렛(BlueWallet): 비트코인 서명 장치 앱입니다. 아래 절차에서는 워치온리 모드를 사용합니다.
- 오르보트(Orbot): 앱의 통신을 토르 네트워크로 보내는 도구입니다. 아래 절차에서는 휴대폰의 VPN 기능을 이용하는 모드를 사용합니다.
3. 구체적인 절차
-
오르보트 앱 설정
- 오르보트 앱을 설치 후 실행합니다.
- 안드로이드에서는 앱 설정에서 블루월렛을 토르 네트워크를 사용할 앱으로 등록합니다. 앱별 연결 설정은 오르보트 공식 안내를 참고하세요.
- 오르보트 시작 버튼을 눌러 토르 네트워크에 연결합니다. 연결 상태는 스마트폰 상단의 "VPN" 표시로 확인할 수 있습니다.
-
블루월렛 초기 설정
- 블루월렛을 실행한 후 공개 주소나 확장 공개키를 가져와 워치온리 서명 장치를 설정합니다. 블루월렛의 워치온리 안내에 따라 개인키나 니모닉은 가져오지 않습니다.
- 상단 메뉴에서 "설정(Settings)" > "네트워크(Network)"를 선택합니다.
-
블루월렛에서 토르 연결
- 블루월렛 내장 토르 옵션을 비활성화(disable)합니다.
- "일렉트럼 서버(Electrum Server)" 메뉴로 이동합니다.
- 일렉트라 서버의 토르 주소와 포트 번호(기본값: 50001)를 입력합니다.
- QR 코드를 스캔하거나 직접 입력할 수 있습니다.
-
설정 저장 및 동기화 확인
- 설정 저장 후 블루월렛을 종료하고 다시 실행합니다.
- 블루월렛이 오르보트를 통해 토르 네트워크에 연결되면 일렉트라 서버와 동기화가 진행됩니다.
- 동기화 후 해당 주소의 잔액과 트랜잭션 기록을 확인할 수 있습니다.
4. 동기화 완료 후 주의사항
- 오르보트 연결을 종료하면 토르 주소를 사용하는 풀노드 연결도 끊깁니다. 다시 조회할 때는 오르보트 연결 상태를 확인합니다.
- 개인키는 네트워크에서 분리한 하드웨어 서명 장치에서 관리하고, 니모닉 백업도 오프라인으로 보관합니다.
이 과정을 완료하면 엄브렐 풀노드와 블루월렛이 성공적으로 연동되어, 전체장부 데이터를 바탕으로 비트코인 트랜잭션을 관리할 수 있습니다.
풀리노디드 사용
1. 개요
풀리노디드(Fully Noded)는 비트코인 풀노드와 직접 연결하는 iOS 앱입니다. 공식 설명처럼 디스크립터와 PSBT를 활용할 수 있습니다. 아래 구성에서는 하드웨어 서명 장치의 공개키 정보를 가져와 워치온리로 사용하며, 개인키는 하드웨어 서명 장치에 둡니다.
2. 준비 사항
- 비트코인 풀노드
- 비트코인 코어(Bitcoin Core)가 100% 동기화된 풀노드가 필요합니다.
- Fully Noded는 일렉트럼 서버 대신 비트코인 코어와 직접 연결됩니다.
- 하드웨어 서명 장치와 스패로우 월렛(Sparrow Wallet)
- 아래 절차에서는 하드웨어 서명 장치의 공개키 정보를 스패로우 월렛으로 가져와 디스크립터(Descriptor)를 확인합니다. 디스크립터에는 주소를 구성하는 공개키와 스크립트 정보가 담깁니다.
- 디스크립터는 Fully Noded에서 워치온리 서명 장치를 생성하는 데 사용됩니다.
- iOS 기기
- Fully Noded 앱이 설치된 아이폰 또는 아이패드.
3. 절차
(1) 1단계: 비트코인 풀노드 연결
-
풀노드 QR 코드 생성
- 엄브렐의 비트코인 앱에서 외부 앱 연결 안내를 열고
RPC 토르(Tor)접속 정보를 확인합니다. 이는 Bitcoin Core 자체의 설정 메뉴 이름을 뜻하지 않습니다. - 비트코인 코어가 토르 네트워크를 통해 Fully Noded와 통신할 수 있도록 설정합니다.
- 연결 안내에서 RPC 접속 정보를 담은 QR 코드를 확인하거나 수동 입력에 필요한 정보를 준비합니다.
- 엄브렐의 비트코인 앱에서 외부 앱 연결 안내를 열고
-
Fully Noded에서 풀노드 연결
- 앱을 실행한 뒤, 설정(Settings) 메뉴에서 "노드 매니저(Node Manager)"를 선택합니다.
- QR 코드를 스캔하거나 노드 정보를 입력하여 비트코인 코어와 연결합니다.
- 연결 상태를 확인하며, 동기화가 완료된 풀노드 정보가 표시됩니다.
(2) 2단계: 스패로우 월렛에서 디스크립터 생성
-
하드웨어 서명 장치에서 공개키 내보내기
- 하드웨어 서명 장치에서 사용할 계정의 확장 공개키를 내보냅니다. 이때 니모닉이나 개인키를 스패로우 월렛으로 옮기지 않습니다.
- Xpub, Zpub 등 일반적으로 사용되는 형식으로 내보내기가 가능합니다.
-
스패로우 월렛에 공개키 가져오기
- 스패로우 월렛에서 공개키를 입력하여 워치온리 서명 장치를 생성합니다.
- 스패로우 월렛의 설정 화면에서 "스크립트 정책(Script Policy)" 아래 "디스크립터(Descriptor)"를 확인합니다.
-
디스크립터 QR 코드 생성
- 스패로우 월렛에서 디스크립터를 QR 코드로 변환합니다.
- Fully Noded는 디스크립터 형식을 지원하므로 이를 활용하여 워치온리 서명 장치를 가져옵니다.
(3) 3단계: Fully Noded에서 워치온리 서명 장치 생성
-
디스크립터 임포트
- Fully Noded 앱에서 "지갑 관리(Wallet Manager)" 메뉴를 선택합니다.
- QR 코드 스캔 기능을 통해 스패로우 월렛에서 생성한 디스크립터를 불러옵니다.
- 디스크립터 정보가 화면에 표시되며, 워치온리 서명 장치가 생성됩니다.
-
주소와 거래 정보 확인
- 생성된 워치온리 서명 장치의 주소 체계(Address Scheme)가 하드웨어 서명 장치와 일치하는지 확인합니다.
- 소액을 받아 주소와 잔액이 올바르게 조회되는지 확인합니다. 송금까지 시험하려면 하드웨어 서명 장치에서 거래에 서명해야 합니다.
4. 활용 팁
- 워치온리 서명 장치의 안전성
워치온리 서명 장치는 개인키를 포함하지 않아 조회 앱에 개인키를 노출하지 않고 잔액과 트랜잭션을 확인할 수 있습니다. 공개키 정보로도 거래 내역을 볼 수 있으므로 공유 범위를 관리합니다. - 트랜잭션 생성과 서명
Fully Noded를 통해 트랜잭션을 생성하고, 하드웨어 서명 장치에서 서명한 뒤 방송할 수 있습니다. 에어갭 트랜잭션(Air-gapped Transaction) 방식에서는 네트워크에서 분리한 장치로 서명하고, 서명된 거래를 온라인 앱으로 가져와 전파합니다. - 유지보수
Fully Noded는 풀노드와 연결되므로, 비트코인 코어와 앱 간의 동기화 상태를 주기적으로 확인해야 합니다.
이 구성에서는 하드웨어 서명 장치가 개인키 관리와 서명을 맡고, 스패로우 월렛과 Fully Noded가 공개키 정보와 거래를 다룹니다. 비트코인 기록은 장치 안에 담기는 것이 아니라 네트워크의 전체장부에 있으며, 자신의 풀노드가 이를 검증합니다.
스패로우의 디스크립터 표시와 QR 기능은 공식 설정 화면 소스에서 확인할 수 있습니다.