169 / 691SWAP

Submarine Swap

온체인 비트코인과 Lightning 결제 사이의 교환

Submarine Swap은 조건으로 두 결제 단계를 연결합니다. 원자적 연결도 수수료, 기한, 수령과 환불 책임을 없애지 않습니다.

Submarine Swap은 보통 온체인 비트코인을 Lightning 결제로 바꾸며 Reverse Submarine Swap은 반대 방향입니다. 해시와 시간 조건이 두 단계를 연결해 올바르게 검증하는 클라이언트가 서비스에 원금의 무제한 수탁을 맡기지 않도록 합니다.

일반 스왑에서는 사용자가 온체인 비트코인을 잠그고 서비스가 사용자의 Lightning 청구서를 결제합니다. Reverse Submarine Swap에서는 조건부 Lightning 결제를 제공하고 온체인 출력을 수령합니다. 반드시 다른 통화로 바꾸거나 자신의 채널을 단순히 닫는 것은 아닙니다. [Boltz — Swap types and states]

SHA256 해시와 일치하는 preimage로 연계된 결제를 정산하고 잠긴 출력을 수령할 수 있습니다. 역방향에서는 클라이언트가 preimage를 만들며 공개 전까지 서비스가 Lightning HTLC를 보류합니다. 온체인 claim은 비밀을 공개할 수 있고 협력 경로는 오프체인으로 서비스에 전달할 수 있습니다. 보류 결제는 최종 정산이 아닙니다. [Boltz — Swap types and states] [Lightning Loop — Architecture]

자금을 넣기 전에 클라이언트는 네트워크, 수수료 포함 금액, 해시, 키, 기한, 스크립트 또는 Taproot 트리와 목적지 주소의 연결을 검증해야 합니다. 청구서는 합의한 해시와 금액에 맞아야 합니다. API가 제공한 임의 주소를 검증 없이 결제하면 올바른 암호기술도 도움이 되지 않습니다. [Boltz — Client verification]

Taproot 스왑은 양측의 MuSig2 key-path 서명으로 공간을 줄이고 스크립트를 숨길 수 있습니다. 상대가 협력하지 않으면 클라이언트는 해당 script-path claim 또는 refund를 지원해야 합니다. 빠른 협력 환불은 선택지를 추가하며 단독 복구의 시간 조건을 없애지는 않습니다. [Boltz — Claims and refunds] [Lightning Loop — Architecture]

일반 스왑이 실패하고 온체인 자금이 이미 잠겼다면 클라이언트가 refund 거래를 직접 만들고 전파합니다. 단독 경로는 timelock을 기다립니다. 미정산 역방향 Lightning 결제는 HTLC를 취소해 이런 사용자 환불 거래 없이 자금을 해제할 수 있습니다. 하지만 preimage 공개 후 이미 정산된 결제가 자동 반환된다고 가정하면 안 됩니다. [Boltz — Swap types and states] [Boltz — Claims and refunds]

스왑에는 서비스, 라우팅, 온체인 비용이 들며 일반 스왑 실패는 환불 수수료를 더할 수 있습니다. claim 확인 전에 preimage를 공개하면 기한과 경쟁하게 됩니다. Loop는 timeout에 가까워져 sweep 수수료를 올리면 원래 한도를 넘을 수 있다고 명시합니다. 견적이 모든 위험의 무조건적 상한은 아닙니다. [Lightning Loop — Fees] [Lightning Loop — Sweep fee limits]

사용하는 클라이언트에 따라 refund 키나 rescue key와 스왑 데이터를 보관해야 합니다. 다른 지갑의 일반 시드는 보편적인 스왑 복구 수단이 아닙니다. Boltz restore는 키를 파생하고 스왑을 찾지만 xpub만으로 서명할 수 없습니다. 서비스 식별자뿐 아니라 스크립트, 출력, timeout도 중요합니다. [Boltz — Swap restore] [Boltz — Claims and refunds]

Boltz 역방향에서 invoice.settled는 preimage 전달 후 Lightning 청구서가 정산됐다는 뜻일 수 있지만 Boltz는 클라이언트가 claim을 전파했는지 추적하지 않습니다. 완료 처리나 재결제 전에 자신의 목적지 출력과 필요한 확인을 검증해야 합니다. Taproot key-path는 스크립트 노출을 줄일 뿐 제공자의 금액과 시점에 대한 지식을 없애지 않습니다. [Boltz — Swap types and states] [Boltz — Client verification]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 Lightning Network, HTLC, Inbound Liquidity, Taproot, MuSig2, CHECKLOCKTIMEVERIFY. 다음 항목에서도 이 글을 참조합니다 Lightning 유동성, Inbound Liquidity, Boltz.

DOC · 001Boltz — Swap types and states문서 ↗DOC · 002Boltz — Client verification문서 ↗DOC · 003Boltz — Claims and refunds문서 ↗DOC · 004Lightning Loop — Architecture문서 ↗DOC · 005Lightning Loop — Fees문서 ↗DOC · 006Lightning Loop — Sweep fee limits문서 ↗DOC · 007Boltz — Swap restore문서 ↗
1차 출처 우선 · 투자 조언이 아닙니다