용어집 / 라이트닝과 레이어 2
Watchtower
- Watchtower란 무엇입니까?
- Watchtower(감시탑)은 라이트닝 노드가 오프라인인 동안 블록체인을 감시하도록 비용을 지불하거나 요청하는 서비스로, 채널 상대방이 오래된 잔액을 게시하면 처벌할 준비가 되어 있습니다.
라이트닝 채널이 정직하게 유지되는 이유는 어느 한쪽이 오래된 상태를 게시하면 상대방이 채널 잔액 전체를 가져갈 수 있기 때문이지만, 그것은 누군가가 제때 알아차릴 때만 가능합니다. Watchtower가 바로 그 누군가입니다. Watchtower는 16바이트 힌트와, 해당 트랜잭션이 온체인에 나타나기 전까지는 읽을 수 없는 암호화된 블롭을 보관합니다. 노드가 절전에 들어가는 노트북에서 돌아간다면, Watchtower 하나쯤 두는 것이 좋습니다.
작동 방식
Watchtower는 키를 보관하지 않으며, 무언가 잘못되기 전까지는 자신이 어느 채널을 보호하고 있는지도 알지 못합니다.
채널 잔액이 바뀔 때마다 노드는 곧 폐기할 상태에 대한 처벌 트랜잭션을 만들고 암호화한 뒤, Watchtower에 두 가지를 넘깁니다. 하나는 힌트로, 폐기된 커밋먼트 트랜잭션 txid의 처음 16바이트입니다. 다른 하나는 암호문입니다. Watchtower는 고정 크기 블롭을 저장하고, 모든 블록을 스캔해 txid가 자신의 힌트 중 하나로 시작하는 트랜잭션을 찾습니다. 그뿐입니다. 일치하는 트랜잭션이 나오면 Watchtower는 같은 txid에서 복호화 키를 도출하고, 스윕 지시를 풀어내며, 자신이 새로 서명하는 것은 없이 완성된 처벌 트랜잭션을 브로드캐스트합니다. 회수된 코인은 지갑이 미리 정해 둔 주소로 들어갑니다.
Watchtower에 의존하기 전에 알아 둘 만한 한계가 두 가지 있습니다. lnd에서 타워 세션은 클라이언트가 새 세션을 열기 전까지 최대 1024건의 백업을 받으며, 처벌 트랜잭션은 기본 수수료율 10sat/byte로 구성되는데, 이는 wtclient.sweep-fee-rate 설정으로 높일 수 있습니다. 두 번째 한계는 적용 범위입니다. lnd 타워는 폐기된 커밋먼트의 to_local 및 to_remote 출력을 백업하지만, 아직 처리 중인 결제의 출력은 백업하지 않습니다. 따라서 타워를 고용하면 노출이 줄어들 뿐 사라지지는 않습니다.
확인할 수 있는 곳
Watchtower는 대부분의 사람이 sats를 보낼 때 쓰는 앱이 아니라 노드 소프트웨어 설정에 나타납니다.
lnd를 운영한다면 공개 키와 호스트를 지정해 타워를 추가하며, 친구를 위해 포트 9911에서 하나를 운영할 수도 있는데, 이것이 기본값입니다. 배포된 모든 타워는 이타적 타워입니다. 프로토콜의 유료 버전은 명세만 되고 완성되지 않았기 때문에, 수수료를 떼는 대신 회수한 전부에서 채굴 수수료를 뺀 금액을 돌려줍니다. 수탁형 라이트닝 앱은 이런 기능을 전혀 노출하지 않으며, 대부분의 휴대폰 지갑도 마찬가지입니다. 그 채널은 절대 절전에 들어가지 않는 자체 기계를 운영하는 제공자가 관리하기 때문입니다.
주로 사고 보유하려는 사람에게 솔직한 답은 이렇습니다. 아마 필요하지 않을 것입니다. 라우팅 노드를 운영하거나, 몇 주씩 서랍에 넣어 두는 컴퓨터의 채널에 의미 있는 잔액을 두는 경우에는 필요합니다. 라이트닝이 커피값을 담아 두는 휴대폰 앱이라면, 대비해야 할 손실은 부정행위를 하는 상대가 아니라 휴대폰이 강에 빠지는 것입니다.
Watchtower vs 라우팅 노드
Watchtower는 채널을 방어하고, 라우팅 노드는 수수료를 받고 다른 사람의 결제를 전달하며, 이 두 역할은 기계 하나 외에는 공유하는 것이 없습니다. 라우팅 노드는 오프라인이면 수입이 줄기 때문에 온라인을 유지합니다. 진지한 라우팅 운영자가 직접 타워가 되기보다 타워를 고용하는 이유가 바로 여기에 있습니다. 한 대의 기계에서 둘 다 운영할 수 있습니다. 두 역할은 반대의 질문에 답합니다. 어떻게 계속 벌 것인가, 그리고 보지 않는 동안 어떻게 도난을 피할 것인가.