brunch

You can make anything
by writing

C.S.Lewis

by 오진미 Feb 11. 2022

중앙화 거래소의 시스템 - 입금, 출금, 내부 거래

지난 글인 [중앙화 거래소의 역할과 구성]에서는 중앙화 거래소가 하는 역할이 무엇이며, 어떻게 구성되어 있는지 다루었다. 이번 글에서는 앞서 설명한 거래소의 구성에 따라 거래소의 시스템이 어떻게 작동하는지 알아보자.


거래소 시스템은 기본적으로 입금 / 출금 / 내부거래로 구성되어 있다. 이 외에도 스테이킹이나 담보 대출 시스템을 갖춘 거래소도 있지만, 이 글에서는 거래소의 기본이자 필수적인 3가지 시스템만 다루겠다.


입금이란, 거래소 외부의 주소에서 거래소 내부의 주소로 자산이 이동하는 것이다.

출금이란, 거래소 내부의 주소에서 거래소 외부의 주소로 자산이 이동하는 것이다.

- 내부 거래란, 거래소 내부에서 발생한 사용자 간 거래이다. 사용자 간 자산 전송, 자산 매수 및 매도 등이 이에 해당한다.




입금 시스템


중앙화 거래소의 입금 시스템

중앙화 거래소에서 자산을 거래하기 위해서는 해당 자산을 거래소로 이동해야 한다. 그래서 사용자는 거래소에서 입금 주소를 발급받고, 해당 주소로 거래할 자산을 입금한다.

이때 입금된 자산은 일정 주기마다 거래소의 대표 주소로 이동한다. 그렇게 거래소의 모든 자산은 대표 주소로 모이며, 대표 주소에 보관된다. 은행에 입금한 돈을 사용자 별 금고에 보관하는 것이 아니라 중앙의 금고에 모아 보관하는 것과 같다.




출금 시스템


중앙화 거래소의 출금 시스템

입금된 자산은 대표 주소에 모여 보관된다. 그래서 사용자가 출금을 진행하면 거래소의 대표 주소에서 외부의 주소로 자산이 출금된다. 해당 출금 내역은 블록체인 상에 기록되는데, 이를 살펴보면 내가 입금 시 사용한 주소와 출금 시 사용한 주소가 다르다는 것을 확인할 수 있다.

이처럼 대표 주소에서 출금이 진행되기 때문에 블록체인 상에도 보내는 주소(From Address)가 대표 주소로 기록된다. 따라서 누가 출금을 시도했는지 특정할 수 없다. 단지 어떤 거래소에서 출금된 건 인지만 짐작할 수 있을 뿐이다.




내부 거래 시스템


중앙화 거래소의 내부 거래 시스템

중앙화 거래소 내부에서 발생한 거래는 블록체인 상 거래가 아니다. 이는 중앙화 거래소의 구조 때문이다. 앞서 설명했듯이 거래소의 모든 자산은 대표 주소에 모여 보관된다. 그래서 사용자 간 거래가 이루어지더라도 자산이 사용자의 주소에서 주소로 직접 이동하지 않는다. 그 대신 거래소의 DB에 거래 내역을 기록하여 자산의 소유를 식별한다. (단, 거래소 정책에 따라 주소 간 실제 이동을 발생시킬 수 있다. 이 경우 거래 내역이 블록체인 상에 기록된다.)


사용자 A가 1 ETH를 0.01 BTC에 매도하고, 사용자 B가 1 ETH를 0.01 BTC에 매수한다고 가정하자. 두 사용자의 조건이 부합하므로 거래가 이루어진다. 하지만 거래가 완료된 후에도 두 사용자의 입금 주소에는 아무런 변화가 없다. 두 사용자가 가진 1 ETH와 0.01 BTC는 대표 주소에 보관되어 있기 때문이다. 대신 1 ETH와 0.01 BTC의 소유가 변경되었다는 내역을 DB에 기록하여 두 사용자의 잔고를 식별한다.


왜 블록체인 상 거래를 발생시키지 않을까?

A의 주소에서 B의 주소로 자산이 실제로 이동하는 것은 블록체인 상 거래에 해당한다. 이 경우 사용자는 거래를 할 때마다 해당 내역이 블록에 반영되는 시간을 기다려야 하며, 블록체인 네트워크의 높은 수수료를 감당해야 한다. 실시간으로 빈번하게 거래가 이루어지는 거래소의 특성과 맞지 않는다.


반면 발생한 거래를 DB 상으로 처리할 경우 자산이 블록체인 네트워크 상에서 거래되는 것이 아니므로 블록에 반영되는 시간을 기다릴 필요가 없으며, 높은 수수료 또한 불필요하다. 그래서 빠르게 거래를 진행할 수 있으며 빈번하게 거래를 하더라도 수수료 부담이 적다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari