티스토리 뷰
피오나의 비트코인 이야기 #50

비트코인은 거래가 취소될 수 있을까?
비트코인을 공부하다 보면 꼭 한 번은 이런 걱정이 생깁니다.
“만약 비트코인을 잘못 보내면 어떻게 하지?”
은행 송금이라면 잘못 보냈을 때 은행에 연락해볼 수 있습니다.
물론 돈을 반드시 돌려받을 수 있다는 뜻은 아니지만, 적어도 어디에 문의해야 하는지는 알고 있습니다.
그런데 비트코인은 조금 다릅니다.
주소를 잘못 입력해서 전혀 다른 사람에게 비트코인을 보냈다면 어떻게 될까요?
처음에는 저도
“거래가 아직 확인되지 않았다면 취소하면 되지 않을까?”
라고 생각했습니다.
그런데 알아보니 비트코인에는 일반적인 은행 송금처럼 ‘취소 버튼’이 존재하지 않았습니다.
여기서부터 궁금해졌습니다.
왜 비트코인은 한번 보낸 거래를 쉽게 취소할 수 없는 걸까요?
전송 버튼을 누르면 바로 블록체인에 기록되는 걸까요?
#49에서 거래 확인 과정을 공부하면서 이것부터 다시 생각해봤습니다.
내가 비트코인을 보내면 거래가 만들어지고 네트워크로 전달됩니다.
아직 블록에 들어가지 않은 거래라면 다른 거래들과 함께 대기할 수 있습니다.
이 상태를 흔히 미확인 거래(unconfirmed transaction)라고 합니다.
그러니까 비트코인을 보냈다고 해서 모든 과정이 그 순간 끝나는 것은 아닙니다.
이 지점에서 저는 가능성을 하나 생각했습니다.
“그렇다면 아직 블록에 들어가기 전에는 거래를 바꿀 수 있는 경우도 있는 것 아닌가?”
맞았습니다.
하지만 여기에는 중요한 조건이 붙었습니다.
모든 거래를 마음대로 취소할 수 있는 것은 아니었습니다.
비트코인에는 ‘취소’와 비슷해 보이는 기능이 있습니다
비트코인을 공부하다 보면 RBF(Replace-by-Fee)라는 말을 만나게 됩니다.
처음에는 이름부터 어려웠습니다.
하지만 뜻을 풀어보면 조금 재미있습니다.
말 그대로 기존의 미확인 거래를 더 높은 수수료를 가진 새로운 거래로 대체할 수 있도록 하는 방식입니다.
예를 들어 내가 비트코인을 보내면서 수수료를 너무 낮게 설정했다고 해보겠습니다.
거래가 오랫동안 블록에 포함되지 않을 수 있습니다.
이때 RBF가 적용 가능한 거래라면 조건에 따라 기존 거래를 더 높은 수수료의 새로운 거래로 교체해 블록에 포함될 가능성을 높일 수 있습니다.
그런데 여기서 중요한 점이 있습니다.
RBF는 일반적인 의미의 ‘송금 취소’와는 다릅니다.
이미 확정된 거래를 마음대로 되돌리는 기능이 아니라, 아직 블록에 포함되지 않은 거래를 다른 거래로 대체할 수 있는 메커니즘에 가깝습니다.
저는 이 차이가 상당히 중요하다고 느꼈습니다.
그럼 주소를 잘못 입력한 거래도 RBF로 되돌릴 수 있을까요?
여기서 제가 가장 궁금했던 질문입니다.
만약 A에게 보내야 하는데 실수로 B의 주소를 입력했다고 해보겠습니다.
“아직 확인이 안 됐으니까 RBF로 취소하면 되겠네?”
라고 생각할 수 있습니다.
그런데 그렇게 단순하지 않습니다.
RBF는 기존 거래를 단순히 없애는 기능이 아닙니다.
조건을 충족하는 새로운 거래가 기존 거래를 대체하는 방식입니다.
따라서 이미 다른 사람에게 보내는 거래가 블록에 포함됐다면 일반적인 방법으로 그 거래를 취소할 수 없습니다.
결국 주소를 보내기 전에 확인하는 것이 훨씬 중요합니다.
비트코인은 편리하지만 실수를 대신 고쳐주는 중앙기관이 없다는 점을 다시 느꼈습니다.
블록에 들어간 거래는 왜 되돌리기 어려울까요?
이제 핵심이 나왔습니다.
비트코인 거래가 블록에 포함되면 그 거래는 블록체인의 일부가 됩니다.
그리고 그 뒤에 새로운 블록들이 계속 연결됩니다.
#49에서 배운 확인 횟수가 여기서 다시 연결됩니다.
처음 블록에 들어간 거래보다 그 위에 여러 블록이 추가된 거래를 되돌리기는 더 어렵습니다.
누군가 과거 거래를 뒤집으려면 그 거래가 포함된 블록 이후의 블록들을 다시 따라잡아야 하는 문제가 생기기 때문입니다.
그래서 시간이 지나고 확인 횟수가 늘어날수록 거래를 되돌리는 것은 더욱 어려워집니다.
이것이 비트코인의 확률적 최종성과 연결되는 부분입니다.
완전히 마법처럼 “절대로 변경될 수 없다”고 말하는 것보다, 시간이 지나고 블록이 쌓일수록 거래를 되돌릴 가능성이 현실적으로 크게 낮아지는 구조라고 이해하는 것이 더 정확합니다.
그렇다면 비트코인은 정말 한 번 보내면 영원히 끝일까요?
여기에서는 조금 조심해서 생각해야 합니다.
비트코인 거래가 블록에 포함됐다고 해서 세상에서 일어날 수 있는 모든 일이 끝나는 것은 아닙니다.
예를 들어 내가 비트코인을 다른 사람에게 잘못 보냈다면 블록체인 자체에서 그 거래를 취소할 수는 없어도 받은 사람이 자발적으로 돌려주는 것은 가능합니다.
하지만 이것은 블록체인이 거래를 취소해주는 것과는 완전히 다른 이야기입니다.
받은 사람이 돌려주지 않는다면 어떻게 될까요?
일반적인 은행 송금처럼 비트코인 네트워크에 연락해서 강제로 되돌리는 방법은 없습니다.
그래서 비트코인을 직접 보관하고 사용하는 사람에게는 송금 전 확인하는 습관이 굉장히 중요합니다.
비트코인 주소를 왜 두 번 확인해야 할까요?
이제 저는 비트코인을 보낼 때 주소를 더 꼼꼼하게 보게 될 것 같습니다.
특히 복사해서 붙여넣었다고 안심하면 안 됩니다.
악성 프로그램이나 사기 방식에 따라 복사한 주소가 다른 주소로 바뀌는 경우도 있기 때문입니다.
그래서 주소를 입력한 뒤에는 화면에 표시된 주소와 내가 의도한 주소가 맞는지 확인하는 습관이 중요합니다.
특히 처음 거래하는 상대방에게 큰 금액을 보낼 때는 더 조심해야 합니다.
저라면 큰 금액을 한 번에 보내기 전에 소액으로 먼저 테스트하는 방법도 고려할 것 같습니다.
조금 귀찮더라도 잘못 보내고 나서 후회하는 것보다는 훨씬 낫기 때문입니다.
‘미확인 거래’라고 해서 안전한 것은 아닙니다
또 하나 기억해야 할 부분이 있습니다.
거래가 아직 확인되지 않았다고 해서 무조건 취소할 수 있는 것도 아니고, 반대로 이미 돈을 받은 것처럼 행동해도 되는 것도 아닙니다.
미확인 거래는 아직 블록에 포함되지 않은 상태이기 때문에 최종적으로 어떻게 처리될지 기다려야 합니다.
특히 상점이나 거래 서비스처럼 비트코인을 받고 물건이나 서비스를 제공하는 곳에서는 몇 번의 확인을 요구할지 자체적인 기준을 정할 수 있습니다.
왜냐하면 미확인 거래와 충분히 확인된 거래의 위험 수준이 다르기 때문입니다.
이런 부분을 알고 나니 #49에서 배운 ‘확인’이라는 개념이 단순한 숫자가 아니었다는 것도 다시 느껴집니다.
RBF를 알면 오히려 더 조심해야 할 부분도 있습니다
RBF를 공부하면서 저는 한 가지를 더 생각하게 됐습니다.
“아직 확인되지 않은 거래는 상황에 따라 바뀔 가능성이 있다는 뜻이구나.”
그렇습니다.
RBF가 가능한 거래에서는 기존 거래가 다른 거래로 대체될 가능성이 있기 때문에, 미확인 상태만 보고 거래가 완전히 끝났다고 판단하는 것은 조심해야 합니다.
특히 물건을 판매하는 입장에서는 더욱 중요합니다.
고객이 비트코인을 보냈다는 화면만 보고 바로 물건을 넘기는 것과, 거래가 충분히 확인된 뒤 물건을 넘기는 것은 위험 관리 측면에서 차이가 있습니다.
이런 이유 때문에 비트코인 결제를 받는 서비스들이 확인 횟수나 별도의 위험 관리 기준을 두는 것입니다.
비트코인은 왜 이렇게 불편하게 만들어졌을까?
여기서 저는 조금 다른 생각도 해봤습니다.
“그냥 은행처럼 잘못 보내면 취소할 수 있게 만들면 편하지 않을까?”
그런데 다시 생각해 보니 비트코인이 애초에 중앙에서 모든 거래를 관리하는 시스템이 아니기 때문에 가능한 구조였습니다.
은행에서는 중앙기관이 거래 기록을 관리합니다.
문제가 생기면 그 기관이 거래를 확인하고 일정한 절차에 따라 처리할 수 있습니다.
하지만 비트코인은 특정 회사가 모든 거래를 관리하지 않습니다.
네트워크 참여자들이 정해진 규칙을 따라 거래를 검증하고 블록체인을 유지합니다.
그래서 누군가 마음대로 거래를 취소하거나 수정할 수 없도록 만든 것이 오히려 비트코인의 중요한 특징이기도 합니다.
편리함을 조금 포기하는 대신 중앙기관의 허가 없이 직접 자산을 관리할 수 있는 구조라고 볼 수 있습니다.
되돌릴 수 없다는 것은 장점일까, 단점일까?
저는 이 질문이 꽤 재미있었습니다.
처음에는
“되돌릴 수 없으니 단점 아닌가?”
라고 생각했습니다.
실수했을 때 정말 곤란하기 때문입니다.
그런데 반대로 생각하면 누군가 내 거래 기록을 임의로 바꿀 수 없다는 장점도 있습니다.
은행처럼 특정 기관의 승인이나 허가에 의존하지 않고 네트워크의 규칙에 따라 거래가 처리됩니다.
결국 같은 특징을 가지고도 보는 관점에 따라 장점이 되기도 하고 단점이 되기도 합니다.
되돌리기 어렵다는 것은 사용자에게 더 큰 책임을 요구하는 대신, 거래 기록을 임의로 바꾸기 어렵게 만드는 특성이기도 했습니다.
이것이 비트코인의 재미있는 부분인 것 같습니다.
피오나가 비트코인을 보낼 때 꼭 확인할 것
이번에 공부하고 나니 비트코인을 보낼 때 제가 확인해야 할 것이 조금 정리됐습니다.
먼저 받는 주소가 정확한지 확인합니다.
그다음 보내는 금액을 확인합니다.
그리고 수수료를 확인합니다.
거래가 만들어진 뒤에는 미확인인지, 블록에 포함됐는지 확인합니다.
마지막으로 큰 금액이라면 충분한 확인이 이루어졌는지도 살펴봅니다.
무엇보다 중요한 것은
“보내고 나서 고치면 되지.”
라는 생각을 하지 않는 것입니다.
비트코인은 그런 방식으로 사용하기에는 되돌리는 과정이 상당히 어렵기 때문입니다.
비트코인은 실수를 대신 고쳐주지 않습니다
이번 글을 쓰면서 가장 기억에 남은 문장은 이것입니다.
비트코인은 사용자의 실수를 대신 고쳐주는 시스템이 아니다.
처음에는 조금 무섭게 들렸습니다.
하지만 생각해 보면 자기 책임이라는 것이 비트코인의 중요한 특징이기도 합니다.
은행이나 거래소 같은 중간기관에 맡기는 방식이 아니라 직접 지갑과 키를 관리한다면 그만큼 내가 확인해야 할 것도 많아집니다.
그래서 비트코인을 많이 가지고 있는 것이 중요한 게 아니라 어떻게 안전하게 관리하느냐를 아는 것도 중요하다는 생각이 들었습니다.
한 번의 실수가 큰 금액의 손실로 이어질 수 있기 때문입니다.
피오나의 한마디
예전에는 비트코인을 보내면서
“잘못 보내도 취소하면 되겠지.”
라고 막연하게 생각했습니다.
그런데 이번에 공부하고 나니 그 생각부터 바꿔야겠다는 생각이 들었습니다.
특히 RBF처럼 미확인 거래를 대체할 수 있는 기능이 있다는 것과 이미 블록에 포함된 거래를 일반적인 송금 취소처럼 되돌리는 것은 전혀 다른 이야기라는 것을 알게 된 것이 가장 큰 수확이었습니다.
이제 비트코인을 보낼 일이 생긴다면 예전보다 훨씬 천천히 확인할 것 같습니다.
주소 한 번 더 보고,
금액 한 번 더 보고,
마지막으로 정말 보내도 되는지 생각해 볼 겁니다.
조금 귀찮아도 괜찮습니다.
보내는 데 1분 더 쓰는 것이, 잘못 보내고 며칠을 후회하는 것보다 훨씬 낫기 때문입니다.
비트코인을 공부하면 할수록 자유와 책임이 항상 같이 따라온다는 생각이 듭니다.
그게 비트코인의 가장 어려운 점이면서, 한편으로는 가장 독특한 매력인지도 모르겠습니다.
※ 투자 유의사항
이 글은 가상자산에 대한 이해를 돕기 위한 정보성 콘텐츠입니다.
가상자산은 가격 변동성이 크므로 투자 전 충분히 확인하고 신중하게 판단하시기 바랍니다.
모든 투자에 대한 최종 판단과 책임은 투자자 본인에게 있습니다.
다음 이야기
피오나의 비트코인 이야기 #51
비트코인은 어떻게 새로운 코인을 만들어낼까?
(채굴 보상, 블록 보조금, 신규 발행, 비트코인 공급 구조)

