원자적 교환 — 먼저 받는 사람이 공개해야 할 비밀
2017년 Decred와 Litecoin의 교환은 누가 먼저 보내야 하는가라는 문제를 다뤘다. 두 계약과 하나의 비밀값, 서로 다른 환불 기한이 거래소에 두 자산을 맡기지 않고 교환을 연결했다.

3줄 퀵 브리핑
- 발단 / 역설Decred의 2017년 9월 20일 발표는 전날 Decred·Litecoin 원자적 교환이 이뤄졌다고 기록한다.
- 결정적 사건한 계약의 자금을 받으며 공개한 비밀값으로 상대가 다른 계약의 자금을 받고, 서로 다른 기한은 행동할 시간을 남긴다.
- 역사적 결말호환되는 체인과 거래 감시, 수수료, 거래 상대를 찾는 과정은 여전히 필요했다.
사건의 흐름 한눈에 보기
이튿날 Decred의 공식 글이 두 체인 간 교환을 기록했다.
저장소는 체인별 최대 데이터 크기 차이를 악용하지 못하도록 계약을 갱신했다고 알렸다.
Decred의 DEX 제안은 원자적 결제와 주문장·매칭·허위 주문 방지 문제를 나눠 다뤘다.
누가 먼저 보내야 할까
두 사람이 가격에 합의해도 문제는 남는다. 한쪽이 코인을 먼저 보내면, 상대가 자기 몫을 보내도록 무엇이 보장할까? Decred가 2017년 9월 20일 공개한 글은 전날 Decred와 Litecoin 사이에 원자적 교환이 이뤄졌다고 기록했다. 함께 공개한 도구는 제3의 보관자에게 돈을 넘기지 않고 두 지급을 연결하는 방법을 보여 줬다. 라이트닝 결제 채널이 아니라 각 체인에 거래를 남기는 온체인 교환이었다.[1]
두 체인이 하나의 장부로 합쳐진 것은 아니다. 각각 서명 확인, 호환되는 해시 검사, 시간 잠금 조건을 지원해야 했다. 이 조건은 맡긴 자금에 두 갈래를 만든다. 상대가 수령 조건을 충족해 가져가거나, 기한이 지난 뒤에도 쓰이지 않은 자금을 예치자가 회수한다. 스크립트에서 같은 해시 함수를 쓸 수 있어야 했으며, 채굴 알고리즘까지 같아야 하는 것은 아니었다.[3]
돈을 받으려면 비밀을 드러내야 한다
저장소의 예제는 Bitcoin과 Decred로 순서를 설명한다. 시작한 사람이 비밀값을 만들고 비트코인을 계약에 잠근 뒤, 비밀 자체가 아닌 그 해시를 전달한다. 상대는 다른 체인에서 같은 해시 조건으로 디크레드를 잠근다. 수령자의 서명도 필요하다. 비밀값을 알게 됐다는 이유만으로 관계없는 구경꾼이 자금을 가져갈 수 있는 구조는 아니다.[2]
시작한 사람이 디크레드를 받는 거래에 비밀값을 공개한다. 상대는 그 거래에서 값을 추출해 비트코인을 받을 수 있다. 문서의 도구는 먼저 만든 계약에 보통 48시간, 두 번째 계약에 보통 24시간의 환불 대기 시간을 둔다. 그 차이가 공개된 비밀값으로 상대가 행동할 시간을 남긴다. 이 숫자는 해당 도구의 예시 설정이지 모든 원자적 교환에 정해진 보편적 시간은 아니다.[2]
원자적이라는 말은 즉시 끝난다는 뜻이 아니다
실제로는 서로 다른 거래와 블록, 대기 시간이 존재한다. 참여자는 계약을 확인하고 시간이 남아 있을 때 수령 거래를 지켜봐야 한다. 수령 전에 교환이 중단되면 해당 기한 이후 아직 쓰이지 않은 자금을 환불받는 경로가 열린다. 조건에 따른 예치금 회수이지, 이미 발생한 모든 거래를 자동으로 되돌리는 기능은 아니다. README는 2018년 3월 1일의 보강도 기록한다. 체인별 데이터 크기 차이를 악용한 교환을 막으려고 비밀값 크기를 제한했다. 깔끔한 프로토콜 아이디어에도 세심한 구현이 필요했다.[2]
2017년 발표는 다른 한계도 분명히 밝혔다. 문자 기반 도구로 사용자끼리 정보를 전달해야 했고 주문장은 제공하지 않았다. 거래마다 체인 수수료를 내고 블록을 기다려야 했다. 같은 해시를 쓰므로 장부를 관찰하는 사람이 두 체인의 거래를 연결할 수도 있었다. 거래소의 보관 역할을 없애는 것과 즉시·무료·비공개 거래를 만드는 것은 별개였다.[1][3]
거래소가 하던 일은 하나가 아니었다
Decred는 2018년 6월 DEX 제안에서 남은 일로 돌아왔다. 이용자는 가격을 주고받을 곳, 주문을 제출하고 짝을 찾는 기능, 지킬 수 없는 주문을 막는 장치가 필요했다. 원자적 교환이 맞춰진 두 거래의 결제 방법을 다룬다면, 그 짝을 만드는 일은 시스템의 다른 부분이었다. 이 제안은 그런 서비스를 만들기 위한 설계였지, 2017년 명령줄 도구가 이미 모두 제공했다는 기록은 아니다.[4]
초기 교환의 성취는 이 작은 범위에서 더 또렷해진다. 한 사람이 받기 위해 한 행동이 상대가 받을 때 필요한 정보를 드러낸다. 서로 다른 기한은 두 번째 행동이 이뤄질 여유를 준다. 두 코인은 각자의 체인에 남지만, 자금을 쓸 수 있는 조건이 교환을 이어 준다. 보관자를 믿는 자리를 절차가 대신했고, 그 절차의 확인과 시간은 여전히 중요했다.[2][3]
이 인물 & 사건과 연결된 또 다른 이야기
역사의 나비효과로 이어진 블록체인 비하인드 스토리를 계속해서 탐험해 보세요.
출처 및 참고 자료
- [1]출처 1: 2017년 9월 공식 발표: 온체인 교환과 한계Decred / Jake Yocom-Piatt · 2017-09-20확인 2026-09-21
- [2]출처 2: 원자적 교환 README: 순서·기한·계약 확인·2018년 보강Decred확인 2026-09-21
- [3]출처 3: Decred 문서: 스크립트 조건과 제약Decred확인 2026-09-21
- [4]출처 4: 2018년 6월 DEX 설계: 추가로 필요한 시장 기능Decred / Jake Yocom-Piatt · 2018-06-05확인 2026-09-21

