477 / 736BOLTZ

Boltz

Bitcoin, Lightning과 다른 계층 사이의 스왑

일반 지갑에 비트코인이 있지만 Lightning으로 결제해야 하나요? 반대 방향도 필요할 수 있습니다. Boltz는 이런 사용 방식을 연결합니다. 교환 과정과 비용, 완료하거나 자금을 복구하는 데 필요한 사항을 설명합니다.

Boltz는 Bitcoin, Lightning, 그 밖의 지원 네트워크 사이에서 교환하는 서비스이자 공개 소프트웨어입니다. 이런 교환을 swap이라고 합니다. 예를 들어 일반 지갑에서 비트코인을 보내고, 빠른 비트코인 결제를 위한 Lightning 네트워크로 지급받을 수 있습니다. 같은 Bitcoin 출력이 다른 환경으로 이동하는 것은 아닙니다. 조건부 거래가 양쪽을 연결합니다. 이것이 각 부분을 암호학적 조건으로 묶는 Atomic Swap의 개념입니다. 그렇다고 모든 일이 저절로 끝난다는 보장은 아닙니다. 올바르게 작동하는 앱, 저장된 키, 제때 전파하는 거래도 필요합니다. Boltz는 전송을 위한 도구이지 장기 저축을 보관하는 계좌가 아닙니다.

먼저 교환 방향을 봅니다. 메인체인에 비트코인이 있고 Lightning 지갑을 채우려면 Submarine Swap을 사용합니다. 블록체인에 기록되는 온체인 거래로 내고 Lightning으로 받는 방식입니다. Reverse Swap은 반대입니다. 필요한 정보가 담긴 결제 요청인 Lightning 인보이스를 지불하고 체인의 자금을 가져올 수 있게 됩니다. Chain Swap은 Bitcoin과 Liquid처럼 두 체인을 연결합니다. 뒤의 두 유형에서는 앱이 실제로 자금을 가져오는 claim 거래를 전파해야 합니다. 결제했다고 내 역할이 끝난 것은 아닙니다. 또 Liquid에서 받는 L-BTC는 해당 별도 네트워크의 자산이며 Bitcoin 메인체인의 일반 출력이 아닙니다. 확인하기 전에 목적지 네트워크도 살펴야 합니다. [1]

서버가 주소와 지불 금액을 보내왔다고 가정해 봅시다. 추가 검증이 없다면 합의한 swap과 맞는다는 말을 믿을 뿐입니다. Boltz 클라이언트, 즉 기기에서 실행되는 앱은 금액을 직접 계산하고 Lightning 인보이스의 결제 해시를 확인해야 합니다. 해시는 계산으로 얻은 지문으로, 결제를 올바른 교환과 연결합니다. 앱은 주소와 스크립트도 확인합니다. 스크립트는 누가 언제 자금을 쓸 수 있는지 정하는 조건입니다. Bitcoin 출력을 만드는 방식인 Taproot에서는 키와 가능한 지출 조건을 정리한 스크립트 트리도 검증합니다. 일반 이용자가 손으로 계산할 필요는 없지만, 실제로 검증하는 클라이언트를 사용해야 합니다. boltz-web-app의 공개 코드는 검토할 수 있으나, 그것만으로 다른 연동이나 현재 브라우저에 불러온 앱까지 올바르다고 입증되지는 않습니다. [5] [9]

swap 주소는 필요한 금액을 조금씩 모으는 계좌가 아닙니다. Boltz 문서는 교환 규칙에 따라 자금을 잠그는 최초 전송, lockup 거래를 한 번만 사용하도록 요구합니다. 같은 주소로 나중에 보낸 금액은 합산되지 않고, 교환에는 첫 거래만 사용됩니다. 실수로 적게 보냈다면 차액을 자동으로 추가 송금하지 마세요. Chain Swap에서는 환불 대신 실제 수령액에 맞춘 새 견적을 클라이언트가 제시할 수 있습니다. 다만 충분한 시간이 남고 금액이 한도에 맞으며, 환불인 refund의 서명이 아직 생성되지 않아야 합니다. 서비스에도 자금이 충분해야 합니다. 잘못 입금된 Chain Swap을 처리하는 특정 절차이지, 실패한 모든 전송을 추가 입금으로 채울 수 있다는 뜻은 아닙니다. [2] [8]

비용은 광고의 비율만 보지 말고 전체 경로를 따라 비교해야 합니다. Boltz 서비스 수수료와 별개로 각 체인의 거래 비용도 있습니다. Reverse Swap의 기술 정보에 나오는 onchainAmount는 Boltz가 자신의 lockup 수수료를 반영한 뒤 이용자를 위해 잠그는 금액입니다. 이것이 아직 지갑의 순수령액은 아닙니다. 자금을 가져오는 자신의 claim 거래도 지불해야 하기 때문입니다. Chain Swap에서는 처음 보내는 거래 비용도 냅니다. 따라서 총지출과 최종 수령액을 비교하세요. 요율, 최소액, 한도는 방향과 네트워크 조합에 따라 정해지며 네트워크 상황에 따라 바뀔 수 있습니다. 오래된 홍보 예시는 현재 견적이 아닙니다. [6]

자금을 보낸 뒤 Submarine Swap이나 Chain Swap이 실패하면 직접 거래를 만들어 돌려받아야 할 수 있습니다. refund 키와 저장된 swap 정보가 필요합니다. Taproot에서는 Boltz가 협력할 때 시간 조건을 기다리지 않고 공동 서명으로 돌려주는 더 빠른 key path refund가 가능할 수 있습니다. 협력이 없다면 script path를 통해 미리 정한 스크립트에 따라 반환받습니다. 이때 거래 규칙의 시간 제한인 timelock이 충족되어야 합니다. 이런 선택지가 있다고 거래가 저절로 전파되지는 않습니다. 클라이언트가 실행해야 합니다. 반면 Reverse Swap의 아직 정산되지 않은 Lightning 결제가 취소되어 대기 자금이 풀리는 것은 다른 경우입니다. 이를 모든 앱 오류나 놓친 claim 뒤에 자동 복구가 된다는 뜻으로 받아들여서는 안 됩니다. [3]

Reverse Swap에서는 Lightning 결제 정산과 체인 자금 수령이 별개입니다. invoice.settled 상태는 Boltz가 preimage를 받았다는 뜻일 수 있습니다. preimage는 그 해시에 연결된 결제를 완료할 수 있게 하는 비밀 값입니다. 서버는 그 뒤 앱이 실제로 claim을 전파했는지 추적하지 않습니다. 따라서 클라이언트는 자신에게 배정된 자금인 출력을 확인하고 timeout 전에 가져와야 합니다. 그 경계를 지나면 상대방이 자금을 되찾을 수 있습니다. 닫힌 앱, 잃어버린 데이터, 너무 낮은 거래 수수료는 완료를 어렵게 할 수 있습니다. 휴대전화 알림은 앱을 깨울 수 있지만 전파된 거래를 대신하지 않습니다. 초록색 성공 메시지보다 실제 수령을 기준으로 판단해야 합니다. [1] [2]

일반 지갑 백업에 진행 중인 swap의 모든 정보가 담겨 있지는 않을 수 있습니다. Boltz Rescue Key는 지원되는 복구 절차를 위한 백업 단어 모음입니다. Swap Restore는 이를 이용해 개별 미사용 거래 출력을 다루는 호환 UTXO swap을 재구성합니다. 클라이언트는 관련 swap을 찾는 확장 공개 키 xpub와 해당 개인 키를 파생합니다. claim을 위해서는 preimage도 올바르게 복원해야 합니다. 다른 앱의 시작 비밀 값인 임의의 seed를 자동으로 사용할 수는 없습니다. 파생 방식과 복구 형식이 맞아야 합니다. 개인 키는 기기에 남습니다. 전송한 xpub로 자금을 쓸 수는 없지만 swap 이력은 Boltz 서버에 드러납니다. 따라서 평소 지갑 백업과 함께 해당 클라이언트의 기록과 보유 중인 예전 refund 파일도 보관하세요. [4] [2]

거래는 블록에 들어가기 전에 네트워크에 나타날 수 있습니다. 이 단계에서 받아들이는 것을 0-conf, 즉 확인 없는 수락이라고 합니다. Boltz 문서에 따르면 full-RBF 확산으로 Bitcoin 메인체인에서는 이런 이용자 입금을 받지 않습니다. full-RBF는 특정 조건에서 원래 교체 가능 표시가 없더라도 미확인 거래를 더 높은 수수료의 거래로 바꿀 수 있는 규칙입니다. 반대로 Reverse Swap에서 미확인 거래를 받아들이면 수령자가 위험을 부담합니다. 한 네트워크 조합의 규칙을 다른 모든 조합에 적용할 수는 없습니다. 문서를 열 수 있다는 사실도 서비스가 지금 내 전송에 충분한 자금을 보유했다는 증거는 아닙니다. 결제 전에 현재 조건, 완료할 시간, 해당 swap의 상태를 확인하세요. [7] [6]

더 정확히 이해하려면 이 항목과 함께 다음도 읽어 보세요 자기 수탁, Submarine Swap, Lightning Network, Timelock. 다음 항목에서도 이 글을 참조합니다 Bull Bitcoin.

DOC · 001Boltz — Swap directions and lifecycle문서 DOC · 002Boltz — Client integration requirements문서 DOC · 003Boltz — Claims and refunds문서 DOC · 004Boltz — Rescue key and Swap Restore문서 DOC · 005Boltz — Verify server responses문서 DOC · 006Boltz — Swap limits and full fee components문서 DOC · 007Boltz — Zero-confirmation policy문서 DOC · 008Boltz — Chain swap renegotiation문서 DOC · 009Boltz — Official web client source1차 출처
개정일: 1차 출처 우선 · 투자 조언이 아닙니다