183 / 691NEUTRINO

Neutrino

Neutrino Bitcoin 경량 클라이언트

Neutrino는 피어가 제공하는 압축 필터로 지갑의 거래를 찾도록 합니다. 로컬 저장 공간을 절약하지만 올바른 기록 복구, 블록 가용성, 경량 검증의 한계는 여전히 중요합니다.

Neutrino는 Lightning Labs가 Go로 구현한 경량 클라이언트로 Lightning Network와 함께 쓰는 모바일 환경도 고려합니다. BIP 157과 BIP 158을 사용하며, 모든 경량 클라이언트의 통칭이나 Full Node의 독립적인 대체품은 아닙니다.

앱은 피어 연결, 데이터베이스, 헤더 동기화를 관리하는 ChainService를 시작합니다. 지갑은 이를 이용해 입금과 출금을 찾습니다. Neutrino 사용만으로 누가 개인키를 보유하거나 결제를 승인하는지 정해지지 않습니다. 그러한 기능과 사용자 백업은 상위 앱의 몫입니다. [Lightning Labs — Neutrino README]

클라이언트는 블록 헤더와 필터 헤더를 동기화하고 필요할 때 필터와 일치하는 블록을 가져옵니다. 자신의 스크립트는 로컬에서 검사합니다. 일치는 거짓 양성일 수 있으므로 실제 블록을 조사해 거래를 찾아야 합니다. 필터만으로 금액이나 특정 지갑이 출력을 제어한다는 증거를 얻을 수는 없습니다. [Lightning Labs — Neutrino README] [BIP 157 — Client Side Block Filtering] [BIP 158 — Compact Block Filters]

경량 클라이언트는 헤더와 연결을 확인하지만 Full Node처럼 모든 거래와 합의 조건을 독립적으로 검증하지 않습니다. 또한 필터 헤더 체인에 대한 약정은 Bitcoin 블록 헤더에 포함되지 않습니다. 따라서 해시만 검증해서는 내부적으로 일관된 사기 필터를 배제할 수 없습니다. [BIP 157 — Client Side Block Filtering] [Bitcoin developer guide — Operating Modes]

BIP 157은 응답 비교와 최소 하나의 정직한 피어로 잘못된 필터를 찾아냅니다. 같은 공격자의 여러 기기에 연결하는 것은 이 조건을 충족하지 못합니다. 클라이언트가 고립되면 결제나 새로운 체인 상태가 숨겨질 수 있습니다. 단지 연결 수가 0보다 큰 것이 아니라 사용 가능한 다양한 출처가 필요합니다. [BIP 157 — Client Side Block Filtering]

README의 Rescan은 시작과 끝 블록을 선택할 수 있고, 시작점을 지정하지 않으면 마지막으로 알려진 블록부터 스캔합니다. 이것이 복원한 지갑의 전체 기록을 자동으로 검색하는 것은 아닙니다. 앱은 충분히 이른 시작점과 전체 감시 스크립트 집합을 제공해야 합니다. 올바른 필터도 클라이언트가 찾지 않는 주소는 발견하지 못합니다. [Lightning Labs — Neutrino README]

문서에 설명된 recvtx와 redeemingtx 이벤트는 거래가 Mempool에 들어올 때가 아니라 확인될 때 도착합니다. 미확인 결제를 표시하는 지갑에는 적절한 추가 메커니즘이 필요합니다. 전파, 피어 수락, 블록 확인은 별개 사건이며, 알림 부재만으로 전송되지 않았다고 증명할 수는 없습니다. [Lightning Labs — Neutrino README]

Rescan은 연결되거나 분리된 블록을 알려 앱이 재구성 후 상태를 다시 계산하게 합니다. 필터가 일치해도 실제 블록을 가져와야 합니다. 블록을 구할 수 없는 상태를 잔액 0으로 표시하면 안 됩니다. 피어는 검색 주소 목록을 받지 않아도 블록 요청과 네트워크 데이터를 볼 수 있습니다. [Lightning Labs — Neutrino README] [BIP 157 — Client Side Block Filtering]

README는 요청한 필터를 저장하고 블록은 영구 보관하지 않고 불러온다고 설명합니다. 실제 동작은 버전과 설정을 확인해야 합니다. Neutrino는 체인 데이터를 제공하며 현재 Lightning 채널 상태의 백업이 아닙니다. 배포 전 기록 복구, 피어 상실, 재구성, 앱의 채널 복구 절차를 각각 시험해야 합니다. [Lightning Labs — Neutrino README] [Bitcoin developer guide — Operating Modes]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Compact Block Filters, Compact Block Filters, Full Node, Lightning Network, Eclipse attack. 다음 항목에서도 이 글을 참조합니다 Compact Block Filters, Compact Block Filters.

DOC · 001Lightning Labs — Neutrino README1차 출처DOC · 002BIP 157 — Client Side Block Filtering명세DOC · 003BIP 158 — Compact Block Filters명세DOC · 004Bitcoin developer guide — Operating Modes문서
1차 출처 우선 · 투자 조언이 아닙니다