암호화폐 거래소의 암호화폐 입출금은 스마트컨트랙트로 진행되는 것인가요?
암호화폐 거래소마다 암호화폐 입출금 정책이 다르다고 알고 있습니다만,
실제로 암호화폐가 입금되고 전송되는 과정에서 스마트컨트랙트로 진행이 되는 것인가요?
답변에 미리 감사드립니다!
거래소에서 외부로 출금을 할 때 이더리움의 경우 스마트 컨트랙트 방식으로 출금을 하는 거래소들이 늘어나고 있는 것으로 알고 있습니다.
(이 경우 출금된 이더리움을 수령하는 상대 측 거래소가 컨트랙트 방식의 입금을 지원하지 않는다면 잔고에 제대로 반영되지 않을 수 있으므로 주의해야 합니다. 만약 상대 측 거래소가 스마트 컨트랙트 방식의 출금을 지원하지 않을 경우 개인지갑으로 출금했다가 다시 전송 해야됩니다.)
일반적으로 개인 간의 이더리움 전송이나 개인이 거래소로 전송을 할 때는 송신자가 이더리움의 전송 트랜젝션을 발생시키면 그것이 블록체인에서 처리되어 수신자의 주소에 도착하는 방식으로 이루어집니다.
송신자 -> 이더리움 블록체인 -> 수신자
하지만 스마트 컨트랙트 방식의 출금은 일반적인 이더리움의 전송 방식과 차이가 있습니다.
스마트 컨트랙트 방식은 아래와 같은 과정에 따라 전송됩니다.
유저가 거래소 사이트나 앱 상에서 이더리움을 다른 주소로 보내는 출금 신청을 합니다.
거래소 사이트나 앱 상에서 해당 유저의 이더리움 지갑에서 다른 지갑 주소로의 출금 신청이 승인됩니다.
이더리움 네트워크 상에서, 거래소 지갑에서 거래소의 이더리움 출금 컨트랙트 주소로 출금 승인 코드가 포함된 0이더를 전송하는 트랜젝션을 발생시킵니다.
출금 승인 코드가 포함된 트랜젝션이 이더리움 네트워크 상에서 승인됩니다.
출금 승인 코드가 포함된 0 ETH 트랜젝션이 거래소의 이더리움 컨트랙트 주소로 전달되고 스마트 컨트랙트에 따라, 다시 유저가 전송을 신청했던 다른 지갑 주소로 보내기 위한 내부적인 트랜젝션(거래소 지갑에서 외부 지갑으로의)이 실행됩니다.
유저가 이더리움을 보내기로 했던(출금 신청을 한) 지갑 주소로 이더리움이 성공적으로 전송됩니다.
유저(송신자)의 출금 요청 -> 거래소 이더리움 지갑 -> 출금 승인 코드 포함된 0 ETH 트랜젝션이 컨트랙트 주소로 전송 및 승인 -> 거래소 이더리움 컨트랙스 주소에서 내부적인 이더리움 전송 스마트 컨트랙트 실행 -> 거래소 이더리움 지갑 -> 최종 수신자의 이더리움 수령
이러한 과정은 이 트랜젝션(https://etherscan.io/tx/0xc33abf1d0087e7947649e792bde3be7543a2004874c0dfde94fa0cc95d2789d8) 내역을 살펴 보시면 좀 더 확실히 이해가 되실 거라고 생각합니다.
끝으로 이 내용의 경우 거래소마다 차이가 있거나 세부적인 부분에서 잘못된 부분이 있을 수도 있다는 것을 감안하고 참고해 주시면 좋겠습니다.
답변이 도움이 되길 바랍니다.