brunch

비트코인 예약전송

비트코인의 예약 전송: 신뢰와 보안의 균형

by 이필립


비트코인은 탈중앙화된 금융 시스템을 구축하면서도, 기존 금융 시스템에서 제공하는 일부 기능을 기본적으로 지원하지 않는다. 그중 하나가 바로 예약 전송이다.

현재 비트코인 네트워크에서는 특정 날짜에 자동으로 송금하는 기능이 제공되지 않는다. 하지만 현실의 금융 환경에서 예약 전송은 필수적인 기능이다. 월급 지급, 정기 납부, 자동 송금 등 다양한 상황에서 예약 전송이 활용되기 때문이다. 그렇다면, 거래소를 거치지 않고 비트코인에서 예약 전송을 구현할 방법은 없을까?


예약 전송을 실현하는 방법은 크게 두 가지로 나뉜다.


첫 번째 방법은 에스크로(escrow) 시스템을 활용하는 방식이다. 이는 비트코인을 제3자(에스크로 서비스 제공자)에게 먼저 전송한 후, 일정 기간이 지난 뒤 최종 수신자에게 다시 송금하는 구조다. 기존 금융권에서 중개 은행이나 결제 대행사가 하는 역할과 비슷하다. 하지만 이 방식에는 근본적인 문제가 있다.


비트코인은 본질적으로 신뢰할 수 있는 제3자의 개입 없이 작동하도록 설계된 시스템이다. 그런데 에스크로 방식을 사용하면 결국 중간에서 자금을 보관하는 제3자의 신뢰성이 다시 문제가 된다. 만약 해당 에스크로 서비스 제공자가 파산하거나 악의적으로 자금을 유용한다면, 이용자는 비트코인을 잃게 된다. 이는 중앙화 거래소가 파산하면서 고객의 자산을 잃게 되는 문제와 본질적으로 다르지 않다. 결국, 탈중앙화된 시스템에서 중앙화된 신뢰 모델을 도입하는 것은 근본적인 모순을 내포하고 있다.


두 번째 방법은 비트코인의 서명(signing) 기능을 활용하는 방식이다.

이 방법은 미리 전송할 트랜잭션을 생성하고, 개인키로 서명한 후 데이터베이스에 저장해 두었다가 특정 날짜가 되면 이를 네트워크에 전송하는 방식이다. 여기서 중요한 점은 트랜잭션 자체는 이미 서명된 상태이므로, 사후 조작이 불가능하고 누구나 이를 실행할 수 있다는 것이다. 따라서 예약 전송을 위해 별도의 신뢰할 수 있는 제3자를 둘 필요가 없으며, 시스템이 자동으로 예약된 송금을 처리할 수 있다.


하지만 이 방식에도 단점이 존재한다.

트랜잭션을 미리 서명하고 보관해 두었더라도, 송금자가 예약 전송 전에 동일한 비트코인을 다른 곳으로 송금해 버린다면, 원래 예약된 트랜잭션은 무효화된다. 이는 일상적인 계약 관계에서 한쪽이 약속을 어기는 것과 같은 상황을 만든다. 하지만 차이점은 블록체인에 모든 기록이 남아 있기 때문에, 신뢰를 어긴 주체가 명확히 드러난다는 점이다. 이 방식은 거래소를 통한 예약 전송보다 더 투명하고 안전하다고 할 수 있다.


결론적으로, 비트코인 네트워크에서 예약 전송을 구현하는 가장 현실적인 방법은 개인키 서명 방식의 사전 생성 트랜잭션을 활용하는 것이다. 에스크로 방식보다 신뢰 문제가 적고, 블록체인의 특성을 유지하면서도 자동 송금 기능을 활용할 수 있기 때문이다. 다만, 예약 전송을 완벽하게 보장하기 위해서는 사용자가 해당 자금을 임의로 이동시키지 않는다는 신뢰가 필요하다.

이는 결국 비트코인이 기술적으로 제공하는 보안성과, 인간 사회에서의 신뢰 시스템 간 균형을 어떻게 맞출 것인가에 대한 문제다.

keyword
작가의 이전글비트코인, 블록체인 쉽게 이해하기