# 아토믹 스왑 (Atomic Swap)

아토믹 스왑은 서로 다른 블록체인의 자산을 중앙화 거래소나 중개인 없이 당사자끼리 직접 맞교환하는 방식입니다. '아토믹(원자적)'이라는 말처럼 교환은 양쪽 모두 성사되거나 양쪽 모두 취소되며, 한쪽만 돈을 잃는 중간 상태가 생기지 않습니다.

## 자세히 알아보기

대표적인 구현은 해시 시간 잠금 계약(HTLC)입니다. 앨리스가 BTC를, 밥이 LTC를 가지고 있다고 해 봅시다.

1. 앨리스가 비밀값 s를 만들고, 그 해시 H(s)를 조건으로 BTC를 잠급니다. 밥이 s를 제시하면 가져갈 수 있고, 정해진 시간이 지나면 앨리스가 환불받을 수 있습니다.
2. 밥은 같은 H(s)를 조건으로 LTC를 잠그되, 환불 시간을 더 짧게 정합니다.
3. 앨리스가 s를 공개하며 LTC를 가져가면, 블록체인에 드러난 s로 밥이 BTC를 가져갑니다.
4. 누군가 중간에 멈추면 시간 잠금이 끝난 뒤 각자 원래 코인을 돌려받습니다.

두 체인이 같은 해시 함수와 시간 잠금 기능을 지원해야 하고, 트랜잭션이 확정되기까지 여러 번의 컨펌을 기다려야 하므로 즉시 체결되지는 않습니다. 상대방을 찾는 과정도 직접 해야 해서 유동성이 낮은 편입니다. 또 한쪽이 시세 변동을 보고 진행을 포기할 수 있는 '무료 옵션' 문제가 알려져 있습니다.

## 블록체인·암호화폐에서는

비트코인, 라이트코인처럼 스크립트로 해시 잠금과 시간 잠금을 표현할 수 있는 체인 사이에서 처음 시연되었고, 라이트닝 네트워크의 결제 경로도 같은 HTLC 원리를 씁니다. 이더리움 계열에서는 스마트 컨트랙트로 구현합니다. 브리지와 달리 자산을 다른 체인으로 '옮기는' 것이 아니라 각 체인에 있는 자산을 서로 바꾸는 것이므로, 래핑 토큰이나 브리지 운영자를 믿을 필요가 없습니다.

### 한계와 현재 모습

아토믹 스왑은 이론적으로 깔끔하지만 널리 쓰이기에는 걸림돌이 있습니다.

- **양쪽 체인의 기능 요구**: 두 체인 모두 같은 해시 함수로 잠금을 걸 수 있어야 하고, 시간 잠금을 지원해야 합니다. 스크립트 기능이 부족한 체인끼리는 직접 스왑이 어렵습니다.
- **속도**: 각 체인에서 잠금 트랜잭션이 충분히 확정되기를 기다려야 하므로, 비트코인이 끼면 수십 분에서 한 시간 이상 걸릴 수 있습니다.
- **상대 찾기**: 중앙화 거래소의 호가창 같은 매칭 장치가 없으면 원하는 가격과 수량의 상대를 직접 찾아야 합니다.
- **사용성**: 비밀값과 환불 시간을 직접 관리해야 하므로 일반 사용자에게 어렵습니다. 환불 시간을 놓치면 자금이 위험해질 수 있습니다.

그래서 오늘날에는 아토믹 스왑을 직접 쓰기보다, 이 원리를 내부에 넣은 탈중앙화 거래 프로토콜이나 라이트닝 기반 서비스(서브마린 스왑 등)를 이용하는 경우가 많습니다. 서브마린 스왑은 온체인 비트코인과 라이트닝 채널의 비트코인을 같은 HTLC 원리로 맞교환하는 방식입니다.

## 예시

앨리스가 1 BTC를 H(s) 조건과 48시간 환불 조건으로 잠그고, 밥이 대응하는 LTC를 같은 H(s)와 24시간 환불 조건으로 잠급니다. 환불 시간을 다르게 두는 이유는, 앨리스가 s를 늦게 공개하더라도 밥이 BTC를 가져갈 시간을 확보하기 위해서입니다.

## 쉽게 말하면

두 사람이 같은 자물쇠 번호를 걸어 둔 금고에 각자 물건을 넣고, 한 사람이 번호를 말해 물건을 꺼내는 순간 상대도 그 번호로 자기 몫을 꺼낼 수 있게 하는 맞교환입니다.

---
출처: https://achivx.kr/glossary/atomic-swap-%EC%9B%90%EC%9E%90-%EC%8A%A4%EC%99%91/ · ACHIVX 용어 사전 · 수정일 2026-10-20
