🔄 아토믹 스왑 Atomic Swap
서로 다른 블록체인에 있는 코인을 거래소나 중간자 없이 두 사람이 직접 맞바꾸는 방식이에요. 거래는 '전부 아니면 무효': 양측이 모두 완료하거나, 둘 다 자기 코인을 돌려받아요.
🏦 쉽게 풀면 — 두 사람을 위한 공동 금고
낯선 두 사람이 각자 물건을 특수 금고에 넣고, 둘 다 넣어야만 열리는 구조를 상상해보세요. 한 사람이 빠지면 금고가 열리지 않고 각자 물건을 돌려받아요. 아토믹 스왑이 딱 그 방식이에요. 서로 다른 블록체인에 있는 코인을 직접, 피어투피어로 교환하고, 거래소가 돈을 보관하는 일은 없어요. "아토믹(atomic)"이라는 말이 전부 아니면 무효를 뜻해요. 한쪽만 손해 보는 상황은 생기지 않습니다.
🔐 작동 원리 — 두 개의 자물쇠(HTLC)
아토믹 스왑은 해시 타임락 컨트랙트(HTLC)라는 스마트 컨트랙트로 작동해요. 이름 그대로 두 가지 잠금 장치가 있어요:
| 잠금 장치 | 하는 일 |
|---|---|
| 🔑 해시락(Hashlock) | 올바른 비밀키를 공개해야만 자금이 풀려요. 한 체인에서 비밀키를 공개하면 반대편도 해제돼요 |
| ⏳ 타임락(Timelock) | 기한이 정해져 있어요. 시간 내에 스왑이 완료되지 않으면 컨트랙트가 자동으로 취소하고 양측에 반환해요 |
흐름을 보면 이래요: 앨리스가 비밀을 만들고 그 해시값을 이용해 코인을 잠가요. 밥은 같은 해시값으로 자기 코인을 잠가요. 앨리스가 온체인에서 비밀을 공개해 밥의 코인을 가져가면, 그 공개된 비밀로 밥도 앨리스의 코인을 가져갈 수 있어요. 누군가 지연하면 타임락이 전부 돌려줘요. 계약이 이 모든 걸 강제하기 때문에 비신뢰 방식(trustless)이에요. 상대방도, 제3자도 믿을 필요가 없죠.
🆚 거래소 대신 쓸 이유가 있나요?
- 🔐 자기 보관 — 거래 중간에 어떤 회사도 내 코인을 보관하지 않아요. 해킹당하거나 파산한 거래소가 잃을 코인이 없는 거죠
- 💸 수수료 절감 — 중앙화 거래소가 중간에서 챙기는 수수료를 아낄 수 있어요
- 🌐 더 탈중앙화 — 두 사람이 직접 교환하고, 특정 회사 서버를 거치지 않아요
스왑은 각 블록체인 위에서 직접 처리하는 온체인 방식과, 라이트닝 네트워크처럼 결제 채널을 활용하는 오프체인 방식 모두 가능해요.
🚧 초보가 알아야 할 한계
- 🧩 모든 코인 쌍이 되는 건 아니에요 — 두 블록체인 모두 호환 가능한 해싱과 타임락 스크립팅을 지원해야 해서, 지원 쌍이 제한돼요
- 📥 초기 방식은 불편했어요 — 원조 온체인 방식은 두 블록체인의 풀노드를 각각 내려받아야 했어요
- 📈 속도와 보급이 과제 — 아토믹 스왑은 아직 속도·확장성·사용 편의 면에서 개선 중이에요
📜 어떻게 시작됐나요?
최초의 아토믹 스왑은 2017년 9월에 성공했어요. 디크레드(DCR)와 라이트코인(LTC) 사이에서 이뤄진 거래였죠. 며칠 뒤 라이트코인 창립자 찰리 리가 LTC와 비트코인을 직접 스왑했는데, 10 LTC를 0.1137 BTC와 교환했어요. 얼마 후 코모도(Komodo)가 결제 채널을 이용한 '라이트 모드'를 선보이면서 풀노드 없이도 스왑이 가능해졌어요. 처음 크립토를 배우는 입장에서는 크로스체인 앱이나 탈중앙 거래소 앱 안에서, 혹은 "거래소 말고 다른 방법도 있다"는 맥락에서 아토믹 스왑을 만나게 될 거예요.
❓ 자주 묻는 질문
- 상대방이 내 코인만 가져가고 튈 수 있지 않나요?
- 아니요. 아토믹 스왑은 설계 자체가 '전부 아니면 무효'입니다. 정해진 시간 안에 거래가 완료되지 않으면 타임락이 양측 코인을 자동으로 돌려줘요. 계약이 규칙을 강제하기 때문에, 상대를 신뢰할 필요가 없습니다.
- 모든 코인 조합으로 스왑할 수 있나요?
- 그렇지는 않아요. 두 블록체인 모두 호환 가능한 해싱과 타임락 방식의 스크립팅을 지원해야 하기 때문에, 지원되는 코인 쌍이 제한돼요. 초기 온체인 방식은 더 불편해서, 사실상 두 블록체인의 풀노드를 각각 내려받아야 했습니다.
- 결국 거래소랑 뭐가 다른 건가요?
- 거래소는 거래가 이뤄지는 동안 회사가 코인을 보관해요. 아토믹 스왑은 중간에 코인을 보관하는 주체가 없고, 스마트 컨트랙트가 양측 사이에서 직접 교환을 처리해요. 내 코인이 내 지갑에 있는 상태로 거래가 끝납니다.