57 / 691TOWER

Lightning Watchtower

Watchtower — 위임된 채널 감시

Lightning Watchtower는 철회된 채널 상태의 공개를 감시하고 클라이언트가 자리를 비운 동안 사전에 승인된 구제 트랜잭션을 전파할 수 있습니다. 보호는 전달된 데이터, 지원되는 출력, 대응 트랜잭션의 적시 확정에 달려 있습니다.

Lightning Watchtower는 페널티 방식 채널의 위반에 대응하는 서비스이며 일반 지갑 키의 보관자가 아닙니다. 클라이언트는 특정 철회된 commitment의 데이터를 준비해 암호화하여 타워에 전달합니다. 해당 commitment가 공개되면 타워가 justice transaction을 재구성하고 전파할 수 있습니다. Bitcoin 합의를 바꾸지 않으며 모든 자금의 회수를 보장하지 않습니다.

페널티 방식 채널에서 상대방은 의도적으로 또는 실수로 철회된 commitment를 공개할 수 있습니다. 예를 들어 자신에게 더 유리했던 과거 잔액의 상태입니다. 현재 유효한 commitment로 일방적으로 채널을 종료하는 것 자체는 위반이 아닙니다. 핵심은 해당 상태가 철회되었는지입니다. 타워는 단순히 트랜잭션이 오래되었다는 이유가 아니라 준비된 데이터를 근거로 대응합니다. [BOLT 3 — Revocation and delayed outputs] [Lightning Labs — Watchtower operation]

LND v0.21.3-beta에서 BreachHint는 바이너리 txid의 SHA-256 중 첫 16바이트입니다. BreachKey는 같은 바이너리 txid를 두 번 이어 붙인 뒤 SHA-256을 계산합니다. 표시된 txid의 첫 16글자나 단순한 앞쪽 절반이 아닙니다. 클라이언트가 JusticeKit를 암호화하며, 일치하는 트랜잭션을 알면 키를 파생하여 데이터를 복호화할 수 있습니다. [LND v0.21.3-beta — Breach hint and key derivation] [LND v0.21.3-beta — Watchtower backup task]

JusticeKit에는 특정 구제 트랜잭션을 위한 서명 등의 자료가 들어 있습니다. 타워는 seed나 클라이언트의 다른 코인을 자유롭게 지출할 권한을 받지 않습니다. 무보상 모델은 보호 자금에서 온체인 수수료를 빼고 클라이언트에게 돌려줍니다. 보상 모델은 합의된 타워용 출력을 추가할 수 있지만, 코드에 해당 유형이 있다는 사실만으로 유료 서비스의 이용 가능성이 입증되지는 않습니다. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower blob types] [LND v0.21.3-beta — Watchtower configuration]

클라이언트는 보호할 철회된 상태에 해당하는 업데이트를 만들고 전달해야 합니다. 타워 주소를 추가하거나 작업을 대기열에 넣었다고 저장이 확인된 것은 아닙니다. 연결 끊김, session 용량 소진, 백업 거부는 보호 공백을 만듭니다. 타워는 올바른 체인을 감시하고 구제 트랜잭션의 전파와 확정도 제때 이루어지도록 해야 합니다. [LND v0.21.3-beta — Watchtower client RPC] [Lightning Labs — Watchtower operation]

이 서비스는 분실한 seed, 손상된 백업, 침해된 서명 장치를 복구하지 못합니다. LND Static Channel Backup (SCB)은 채널 종료를 통한 자금 복구를 위한 것입니다. watchtower blob과 같은 기록도 아니고 각 commitment의 지속적인 복사본도 아닙니다. 오래된 channel.db를 복원하면 철회된 상태가 공개될 수 있습니다. 지갑과 채널 백업은 별도로 관리해야 합니다. [LND v0.21.3-beta — Recovery and static backups]

검증한 LND v0.21.3-beta의 backupTask는 철회된 commitment에 존재하는 dust가 아닌 to_local 및 to_remote 출력을 준비합니다. 모든 HTLC 출력에 대한 일반적인 보호를 포함하지 않으며 관련 문서는 이를 향후 확장으로 설명합니다. 따라서 Bitcoin Script가 어떤 출력을 처벌할 수 있다는 사실을 특정 타워가 그 출력의 보호 데이터를 실제 저장했다는 사실과 혼동해서는 안 됩니다. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower configuration]

LND는 서버용 watchtower.active와 클라이언트용 wtclient.active를 구분합니다. 서버를 켜는 것만으로 자기 채널을 다른 타워에 백업하도록 설정되지는 않습니다. lncli tower info는 서버의 pubkey, listeners, uris를 보여 주고 lncli wtclient add는 클라이언트에 타워를 등록합니다. 타워 공개 키는 Lightning 노드 키와 다릅니다. 네트워크, 주소 접근성, 사용 빌드의 RPC 지원을 확인하세요. [LND v0.21.3-beta — Watchtower configuration]

BOLT 3의 to_local 출력에서 commitment 소유자는 to_self_delay 블록을 기다려야 하지만 올바른 철회 키를 가진 상대방은 그 지연 없이 페널티 분기를 사용할 수 있습니다. CSV는 해당 출력이 확정된 시점부터 상대적 경과를 측정합니다. 지연이 지나도 철회 분기는 사라지지 않지만 소유자도 같은 자금을 두고 경쟁할 수 있게 됩니다. 기한 전에 전파했다는 사실만으로 먼저 확정되는 것은 보장되지 않습니다. [BOLT 3 — Revocation and delayed outputs] [BIP 112 — CHECKSEQUENCEVERIFY]

LND v0.21.3-beta의 policy와 session에 있는 sweep_sat_per_vbyte 필드는 sat/vB 단위 수수료율입니다. 수수료는 반환 금액을 줄입니다. backupTask는 가치가 너무 작거나 session 매개변수가 부적합한 상태를 거부할 수 있어 모든 준비 작업이 적격 백업은 아닙니다. 나중에 설정을 바꿨다고 이전에 서명한 트랜잭션이 바뀌었다고 볼 수 없으며, 너무 낮은 수수료율은 대응을 지연시킬 수 있습니다. [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]

독립적인 여러 타워와 자체 감시는 한 번의 장애가 미치는 영향을 줄일 수 있습니다. 다만 각 타워가 실제로 받은 업데이트를 확인해야 합니다. 여러 주소를 등록한 것만으로 모든 상태의 복제가 입증되지는 않습니다. 별도 장비, 네트워크, 위치는 공통 장애를 줄입니다. 암호화된 blob과 인증된 연결은 잔액 노출을 제한하지만 메타데이터, 업데이트 빈도 노출, 상관 분석 위험을 없애지는 않습니다. [LND v0.21.3-beta — Watchtower configuration] [Lightning Labs — Watchtower operation]

lncli wtclient towers, lncli wtclient tower, lncli wtclient stats, lncli wtclient policy를 사용하세요. LND v0.21.3-beta에서 num_backups와 num_pending_backups를 구분해야 하며 후자는 타워 확인을 기다리는 백업 수입니다. stats 응답의 num_failed_backups는 실패하여 확인받지 못한 백업 수입니다. 통계는 클라이언트 시작 이후의 기간에 해당합니다. active_session_candidate는 sessions의 후보임을 뜻할 뿐 완전한 보호의 증거가 아닙니다. [LND v0.21.3-beta — Watchtower client RPC]

클라이언트와 타워의 정확한 릴리스, 지원 채널 및 session 유형, 데이터 최신성, 수수료, 체인 동기화를 확인하세요. 대응 기능은 격리된 테스트 환경에서 시험하세요. 일반적인 force close는 철회된 상태에 대한 대응을 입증하지 못합니다. 일치하는 breach, 재구성된 justice transaction, 확정된 출력이 결과의 증거입니다. 시연에 성공해도 향후 가용성을 보장하거나 Lightning의 모든 위험을 없애지는 않습니다. [BOLT 3 — Revocation and delayed outputs] [LND v0.21.3-beta — Watchtower backup task] [LND v0.21.3-beta — Watchtower client RPC]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Lightning Network, Payment Channel, 자기 보관. 다음 항목에서도 이 글을 참조합니다 Payment Channel.

DOC · 001BOLT 3 — Revocation and delayed outputs명세 ↗DOC · 002LND v0.21.3-beta — Breach hint and key derivation문서 ↗DOC · 003LND v0.21.3-beta — Watchtower backup task문서 ↗DOC · 004LND v0.21.3-beta — Watchtower blob types문서 ↗DOC · 005LND v0.21.3-beta — Watchtower configuration문서 ↗DOC · 006LND v0.21.3-beta — Watchtower client RPC문서 ↗DOC · 007LND v0.21.3-beta — Recovery and static backups문서 ↗DOC · 008Lightning Labs — Watchtower operation문서 ↗DOC · 009BIP 112 — CHECKSEQUENCEVERIFY명세 ↗
1차 출처 우선 · 투자 조언이 아닙니다