티스토리 뷰

피오나의 비트코인 이야기 #48

비트코인 거래 수수료와 블록 공간, 거래 크기, 네트워크 수요의 관계를 보여주는 디지털 이미지

 

비트코인 수수료는 왜 거래 금액과 상관없이 달라질까?

비트코인 지갑을 공부하고 나니 또 궁금한 게 생겼습니다.

비트코인을 보내려면 수수료를 내야 한다는 것은 알고 있었습니다.

그런데 문득 이런 생각이 들었습니다.

“잠깐만… 10만 원 보내는 사람과 1,000만 원 보내는 사람의 수수료가 꼭 다를까?”

은행을 생각하면 당연히 금액이 많으면 수수료도 많을 것 같았습니다.

그런데 비트코인은 조금 달랐습니다.

알아보니 비트코인 수수료는 얼마를 보내느냐보다 그 거래가 블록 공간을 얼마나 차지하느냐, 그리고 그때 네트워크가 얼마나 붐비느냐와 관련이 있었습니다.

처음에는 이 말도 조금 어려웠습니다.

“블록 공간?”

비트코인을 보내는데 갑자기 공간 이야기가 왜 나오는 걸까요?

그래서 이번에는 수수료 하나를 제대로 알아보기로 했습니다.

비트코인 거래도 자리를 차지한다고?

이것부터 이해해야 했습니다.

비트코인 거래는 그냥 숫자 하나를 인터넷으로 보내는 것으로 끝나는 것이 아니었습니다.

내가 비트코인을 보내겠다고 거래를 만들면 그 거래에는 여러 정보가 들어갑니다.

그리고 그 거래는 비트코인 네트워크에서 확인된 뒤 블록에 기록됩니다.

그런데 블록에는 담을 수 있는 데이터의 양이 한정되어 있습니다.

저는 이걸 생각하다가 주차장이 떠올랐습니다.

주차장에 차를 무한대로 넣을 수는 없습니다.

자리가 정해져 있는데 차가 한꺼번에 몰리면 먼저 들어가려는 경쟁이 생깁니다.

비트코인의 블록 공간도 비슷한 면이 있었습니다.

거래를 담을 수 있는 공간은 한정되어 있는데 거래가 몰리면 경쟁이 생기는 것입니다.

아!

그래서 수수료가 생기는 거였구나.

조금씩 이해되기 시작했습니다.

그런데 내가 보내는 돈이 많으면 공간도 더 많이 차지할까?

여기서 또 궁금해졌습니다.

“그럼 1,000만 원을 보내는 거래는 10만 원을 보내는 거래보다 블록 공간을 더 많이 차지하는 거 아닌가?”

그런데 꼭 그렇지는 않았습니다.

이게 제가 가장 헷갈렸던 부분입니다.

비트코인 거래의 데이터 크기는 보내는 금액 자체로 결정되는 것이 아니기 때문입니다.

예를 들어 과거에 여러 번 나누어 받은 비트코인을 한꺼번에 사용해서 새로운 거래를 만들면 거래에 포함되는 정보가 많아질 수 있습니다.

반대로 구조가 단순한 거래라면 상대적으로 적은 데이터만 필요할 수 있습니다.

그러니까

“1,000만 원을 보내니까 수수료가 비싸다.”

라고 단순하게 생각하면 안 되는 것이었습니다.

오히려

“이 거래는 블록 공간을 얼마나 사용할까?”

를 생각해야 했습니다.

이걸 알고 나니 비트코인 수수료가 은행 수수료와는 상당히 다른 방식으로 만들어진다는 게 재미있었습니다.

수수료를 이해하려면 vByte를 알아야 했습니다

여기서부터는 조금 더 깊이 들어가야 했습니다.

비트코인 수수료를 제대로 이해하려면 vByte(가상 바이트)라는 단위를 알아둘 필요가 있습니다.

쉽게 말하면 거래가 블록 공간을 얼마나 차지하는지를 나타내는 기준 중 하나입니다.

그리고 수수료는 단순히 “거래 하나에 얼마”라고 정해지는 것이 아니라, 일반적으로 거래 크기(vByte)와 수수료율(sat/vB)을 함께 생각해야 합니다.

여기서 sat는 사토시를 의미합니다.

1 BTC는 1억 사토시로 나뉩니다.

그래서 수수료율을 sat/vB로 표시한다는 것은 쉽게 말해 거래 데이터 1vByte당 몇 사토시를 지불할 것인가를 나타내는 방식이라고 볼 수 있습니다.

이걸 알고 나니 예전에 지갑에서 보던 수수료 숫자가 조금 다르게 보였습니다.

그냥 “비트코인을 보내는 비용”이 아니라 한정된 블록 공간을 사용하기 위해 지불하는 가격에 가까웠던 것입니다.

블록 공간은 왜 이렇게 중요할까요?

비트코인 네트워크에는 수많은 거래가 발생합니다.

하지만 한 번에 모든 거래를 하나의 블록에 담을 수는 없습니다.

블록에는 데이터 공간의 제한이 있기 때문입니다.

그러다 보니 거래가 몰리는 순간에는 자연스럽게 경쟁이 생깁니다.

특히 빨리 처리되고 싶은 거래는 상대적으로 높은 수수료율을 제시할 수 있습니다.

채굴자는 제한된 블록 공간을 활용하면서 수수료가 높은 거래를 우선적으로 선택할 유인이 생깁니다.

그래서 수수료는 고정된 가격표가 아니라 블록 공간에 대한 수요와 공급의 영향을 받는 시장 가격처럼 움직일 수 있습니다.

이 부분이 저는 상당히 재미있었습니다.

비트코인에서는 코인의 가격만 시장에서 움직이는 것이 아니라, 거래가 블록에 들어가기 위해 필요한 공간의 가격도 상황에 따라 움직이고 있었던 것입니다.

수수료가 갑자기 비싸지는 날에는 무슨 일이 생길까?

예전에는 비트코인 수수료가 올라갔다는 이야기를 들으면 비트코인 가격이 올랐기 때문이라고 생각했습니다.

그런데 꼭 그런 것은 아니었습니다.

비트코인 가격과 거래 수수료는 서로 다른 문제입니다.

네트워크에 거래가 갑자기 많이 몰리면 블록 공간을 원하는 사람이 많아집니다.

이때 빠른 처리를 원하는 사람들은 더 높은 수수료율을 선택할 수 있습니다.

그러면 상대적으로 낮은 수수료율의 거래는 블록에 들어가기까지 더 오래 기다릴 수도 있습니다.

그래서 비트코인 수수료를 볼 때는 가격 차트만 볼 것이 아니라 현재 네트워크가 얼마나 붐비고 있는지도 함께 보는 것이 중요했습니다.

멤풀이라는 대기줄도 있었습니다

수수료를 공부하다 보니 또 하나의 낯선 단어를 만났습니다.

멤풀(Mempool)입니다.

처음에는 무슨 어려운 기술 이름인가 싶었습니다.

그런데 쉽게 생각하면 블록에 아직 포함되지 않은 거래들이 기다리는 대기줄과 비슷합니다.

내가 지갑에서 비트코인을 보냈다고 해서 그 순간 바로 블록체인에 기록되는 것은 아닙니다.

거래가 네트워크로 전달되고 검증된 뒤 블록에 포함될 때까지 기다릴 수 있습니다.

이 과정에서 아직 처리되지 않은 거래들이 멤풀에 존재할 수 있습니다.

그래서 비트코인을 보내고 지갑에 “확인 중” 같은 표시가 뜬다고 해서 거래가 사라진 것은 아닙니다.

아직 블록에 포함되지 않은 상태일 수 있는 것입니다.

이것을 알고 나니 예전에 거래가 바로 완료되지 않았던 이유도 조금 이해할 수 있었습니다.

그럼 수수료를 많이 내면 무조건 빨리 처리될까?

여기까지 알아보니 또 욕심이 생겼습니다.

“그럼 그냥 수수료를 많이 내면 되는 거 아닌가?”

그런데 이것도 그렇게 단순하지 않았습니다.

수수료율이 높으면 블록에 포함될 가능성을 높이는 데 도움이 될 수 있지만 정확히 몇 분 뒤에 완료된다고 보장되는 것은 아닙니다.

블록 생성 자체가 확률적인 과정이기 때문입니다.

비트코인의 블록은 평균적으로 약 10분 간격으로 생성되지만 정확히 10분마다 만들어지는 것은 아닙니다.

그래서

“수수료를 많이 냈으니 10분 뒤에는 무조건 끝난다.”

라고 생각하면 안 됩니다.

중요한 것은 현재 네트워크 상황과 내가 원하는 처리 속도를 고려해 적절한 수수료율을 선택하는 것입니다.

수수료를 무조건 높게 내는 것도 좋은 방법은 아니었습니다

비트코인을 처음 보내는 사람이라면 거래가 늦어질까 봐 가장 높은 수수료를 선택하고 싶을 수도 있습니다.

하지만 필요 이상으로 높은 수수료를 내는 것도 좋은 방법은 아닙니다.

지갑에서 제시하는 수수료율을 확인하고 현재 네트워크 상황을 살펴보면서, 얼마나 빨리 거래가 확인되어야 하는지를 생각하는 것이 더 합리적입니다.

급하게 처리해야 하는 거래와 몇 시간 정도 기다릴 수 있는 거래가 같은 수수료를 낼 필요는 없기 때문입니다.

저는 여기에서 또 하나 배웠습니다.

빠르다고 무조건 좋은 것이 아니라, 상황에 맞는 선택이 중요하다는 것.

수수료는 누구에게 가는 걸까?

또 하나 궁금했습니다.

은행에서 송금 수수료를 내면 은행이 가져갑니다.

그렇다면 비트코인 수수료는 누가 가져갈까요?

비트코인에서는 거래 수수료가 블록을 생성하는 채굴자에게 보상의 일부로 돌아갑니다.

채굴자는 거래를 블록에 포함시키고 네트워크의 합의 과정에 참여합니다.

그러니까 내가 지불한 수수료는 단순히 어떤 회사에 내는 이용료가 아니었습니다.

비트코인 네트워크가 거래를 처리하고 유지되는 구조와 연결된 비용이었습니다.

이걸 알고 나니 수수료를 바라보는 시선도 달라졌습니다.

작은 금액을 보내는데 수수료가 더 아깝게 느껴지는 이유

여기서 현실적인 문제가 하나 생깁니다.

예를 들어 1만 원 정도의 비트코인을 보내는데 수수료가 2천 원이라면 솔직히 아깝습니다.

하지만 네트워크 입장에서는 내가 1만 원을 보내는지 100만 원을 보내는지와 관계없이 거래를 처리하기 위한 데이터 공간이 필요합니다.

그래서 소액을 보낸다고 수수료가 자동으로 아주 작아지는 것은 아닙니다.

이런 구조 때문에 비트코인을 일상적인 소액 결제에 사용하려면 다른 방법이 필요하다는 이야기가 나왔습니다.

그 과정에서 등장한 것이 라이트닝 네트워크입니다.

라이트닝 네트워크는 모든 소액 결제를 비트코인 블록체인에 직접 기록하지 않고 별도의 방식으로 빠르고 저렴한 결제를 가능하게 하려는 기술입니다.

비트코인이 만들어지고 끝난 기술이 아니라, 실제 사용에서 생기는 문제를 해결하기 위한 기술도 계속 발전하고 있다는 점이 흥미로웠습니다.

수수료 하나를 공부했는데 비트코인이 달라 보였습니다

처음에는 수수료를 그냥 비용이라고 생각했습니다.

그런데 알고 보니 그 안에 비트코인의 구조가 꽤 많이 들어 있었습니다.

블록에는 공간이 한정되어 있고, 거래는 그 공간을 차지합니다.

거래가 몰리면 블록 공간을 먼저 사용하려는 경쟁이 생깁니다.

빠른 처리를 원하는 사람은 상대적으로 높은 수수료율을 제시할 수 있습니다.

그리고 거래가 블록에 들어가야 확인 과정이 진행됩니다.

처음에는 어려웠습니다.

그런데 하나씩 연결해 보니 재미있었습니다.

“아, 그래서 수수료가 상황에 따라 달라지는 거구나.”

이제야 이해가 됐습니다.

지갑에서 수수료를 볼 때 달라진 점

#47에서는 비트코인 지갑을 공부했습니다.

그때는 주소와 개인키, 시드 문구가 가장 중요하다고 생각했습니다.

그런데 이번에는 지갑에서 비트코인을 보내는 화면을 볼 때도 눈에 들어오는 것이 달라졌습니다.

예전에는

“얼마 보낼까?”

만 생각했습니다.

이제는

“수수료는 얼마지?”

“지금 네트워크가 많이 붐비나?”

“꼭 빨리 확인되어야 하는 거래인가?”

이런 것도 생각하게 됩니다.

별것 아닌 것 같지만 저는 이런 변화가 공부라고 생각합니다.

처음에는 그냥 눌렀던 버튼 하나가 이제는 왜 필요한지 알게 되었으니까요.

피오나의 한마디

비트코인 수수료를 처음 봤을 때는 솔직히 “왜 이렇게 받지?”라는 생각부터 했습니다.

그런데 알아보니 비트코인은 내가 보내는 돈의 액수보다 거래가 차지하는 공간과 당시 네트워크의 상황이 더 중요했습니다.

특히 블록 공간이 한정되어 있고 거래가 몰리면 사람들이 처리 순서를 놓고 경쟁한다는 것이 재미있었습니다.

수수료 하나를 공부했을 뿐인데 블록과 멤풀, 수수료율, 채굴자까지 연결되어 버렸습니다.

그래서 요즘은 비트코인을 볼 때 가격만 보지 않으려고 합니다.

“이 숫자 뒤에서는 지금 무슨 일이 벌어지고 있을까?”

이 질문을 하나씩 던져보는 것이 제가 비트코인을 공부하는 방법이 되어가고 있습니다.

아직 모르는 것이 많습니다.

그런데 이상하게도 하나를 알면 또 하나가 궁금해집니다.

저는 그게 비트코인 공부의 가장 재미있는 부분인 것 같습니다.


※ 투자 유의사항

이 글은 가상자산에 대한 이해를 돕기 위한 정보성 콘텐츠입니다.
가상자산은 가격 변동성이 크므로 투자 전 충분히 확인하고 신중하게 판단하시기 바랍니다.

모든 투자에 대한 최종 판단과 책임은 투자자 본인에게 있습니다.

다음 이야기

피오나의 비트코인 이야기 #49

비트코인 거래는 왜 바로 끝나지 않을까?

(확인 1회, 블록체인, 블록 생성, 거래 확정)