Beam Atomic Swap Demo

Min Seo Park
BEAM Korea
Published in
6 min readAug 19, 2019

Bema 과 Bitcoin, 아토믹 스왑 데모 시연

아토믹 스왑 개발 자체는 작년 10월 부터 지속적으로 해왔습니다. 지속적인 실험 끝에 1월에 런칭하였습니다. 해당 데모에서는 Bitcoin과 Beam 코인이 atomic swap 되는 과정을 보여줄 예정입니다.

  1. 역시나, 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

--

--

Min Seo Park
BEAM Korea

Interested in Blockchain, Project Financing and Smart city and Love DJing and EDM