Beam Atomic Swap Demo
Bema 과 Bitcoin, 아토믹 스왑 데모 시연
아토믹 스왑 개발 자체는 작년 10월 부터 지속적으로 해왔습니다. 지속적인 실험 끝에 1월에 런칭하였습니다. 해당 데모에서는 Bitcoin과 Beam 코인이 atomic swap 되는 과정을 보여줄 예정입니다.
- 역시나, Alice 와 Bob 이 등장할 예정입니다.
Alice 는 9.9999 Bitcoin을 보유하고 있고 Bob 은 엄청난 양을 보유하고 있습니다.
2. Alice 와 Bob 은 각각 Beam Cli 지갑 역시 소유하고 있는데요. Alice 는 43 Beam 코인을 Bob 은 오직 6 Beam 코인만을 보유하고 있습니다.
3. Bob 은 자신의 Bitcoin 을 Beam 으로 교환하려고 합니다. 그래서 아래와 같은 명령어를 입력하여 이 둘을 교환하려고 합니다.
$ beam-wallet swap_listen -n eu-node01.masternet.beam.mw:8100 -- amount 1
--swap_amount 100000000 -- btc_node_addr 127.0.0.1:3400 --btc_pass 123
--btc_user Bob
위의 명령어에서 amount 1 은 받고자 하는 Beam 의 양, amount 100000000 은 보내고자 하는 satoshi의 양입니다.
실행을 하면 위의 화면같이 됩니다.
4. Alice 도 swap 에 참여하기 위해 아래의 명령어를 입력합니다.
$ beam-wallet -n eu-node01.masternet.beam.mw:8100 swap_coins --amount 1
--fee 100 -r 10be182a6b0b72ba10ba2d3bbfb86a737db8ee9a2b3752 1ed80bfa07643bcf42964 --swap_amount 100000000 --swap_beam_side --btc_node_addr 127.0.0.1:3300 --btc_pass 123 --btc_user Alice
여기서 -r 뒤의 10be~~~ 은 위의 Bob 이 명령어를 실행했을 때 나온 월렛 ID 입니다. Bob 과 똑같이 받을 satoshi의 양과 보낼 Beam 의 양을 같이 기입하고 실행을 합니다.
5. 실행을 하고 나면 아래와 같은 화면을 볼 수 있게 됩니다.
Swap 이 시작되면 3가지 다른 종류의 거래가 형성이 되는데요.
1) lock-up 거래 , 2) Refund 거래 그리고 3) Redeem 거래입니다.
6. Bitcoin network에서 7개의 블록을 임의로 생성합니다. 아래에 보면 7개의 블록이 생성되었음을 확인할 수 있습니다.
7. 어떤 일들이 벌어지고 있는지 그림과 함께 한번 더 알아보도록 하겠습니다.
i) Swap invitation 이 실행됩니다. 여기서 Alice 와 Bob 의 지갑 정보가 교환됩니다.
ii) 그 후 위에서 언급한 3가지의 거래가 일어납니다.
Lock Tx 는 교환될 코인들을 lock 합니다.
iii) Refund Tx 는 swap 이 잘 일어나지 않았을 때, lock 해 놓았던 나의 코인을 다시 받을 수 있게 도와줍니다.
iv) Redeem Tx 는 swap 이 잘 일어났을때, 실행됩니다.
8. 이제 Tx가 충분한 confirmation 을 받기 위해 Beam network 에서 일정시간동안 기다립니다. 일정시간 기다리고 나면 아래처럼, 충분한 confirmation 이 형성되었음을 확인할 수 있습니다.
양쪽의 화면 모두에서 거래들이 잘 진행되고 완성되었음을 확인할 수 있습니다.
9. 정보를 Bitcoin Cli 에서도 확인해보면 초기와는 다르게 Balance 가 변화 했음을 알 수 있습니다. 이를 통해, Beam 과 Bitcoin 이 완벽하게 swap 에 성공했음을 알 수 있습니다.
물론, 실제 거래 상황에서는 이 전체과정이 더 오랜 시간동안 일어납니다. 블록 생성 시간 등도 고려해야하고 충분한 confirmation 이 양쪽 network 에서 모두 일어나야 하기 때문입니다.
하지만, 기능 자체는 현재 완벽하게 구현되어 있고 지속적으로 해당 과정을 더 빠르고 효율적으로 처리할 기술을 연구하고 있습니다.
본 글은 데모 영상을 보고 단계별로 나누어 설명한 글입니다. 글은 Beam Ambassador ‘중앙대학교 블록체인 학회 C-Link’ 가 작성하였습니다.
저희 C-Link는 지속적으로 Mimblewimble 기술에 대한 분석과 Beam 의소식을 빠르고 정확하게 전달할 예정이며, 이를 넘어서 Beam 프로젝트에 개발에도 직접 기여할 것입니다.
앞으로도 Beam Ambassador ‘C-Link’ 의 활약을 기대해주십시오.
Facebook: https://www.facebook.com/CAUCLink
Join Beam’s developer community:
Gitter — https://gitter.im/beamprivacy/Lobby?
Telegram: t.me/BeamPrivacy
Reddit: reddit.com/r/beamprivacy/
Twitter: twitter.com/beamprivacy
Discord: discord.gg/BHZvAhg