그런데 비트코인은 이렇게 작동하지 않음!
비트코인은 잔고를 직접 줄이는 게 아니라, 이전 UTXO를 없애고 새로운 UTXO를 만들면서 거래가 이루어짐.
👤 당신은 0.7 BTC, 0.3 BTC UTXO를 가지고 있음.
💰 친구한테 0.8 BTC를 보내야 함.
1️⃣ 0.7 BTC + 0.3 BTC 두 개의 UTXO를 사용해서 1.0 BTC를 만듦
2️⃣ 0.8 BTC는 친구한테 보냄
3️⃣ 거스름돈 0.2 BTC는 너에게 새로운 UTXO로 생성됨
이전 UTXO(0.7, 0.3 BTC)는 네트워크에서 소멸됨
새로운 UTXO(0.8 BTC → 친구, 0.2 BTC → 너)가 생성됨
비트코인 지갑 앱에서는 마치 "잔고"처럼 보이지만, 실제로는 여러 개의 UTXO들을 합쳐서 계산한 것.
그래서 비트코인을 보낼 때 잔고에서 일부 차감되는 게 아니라, 새로운 거래 내역이 만들어지는 것.
즉, 비트코인은 "기존 금액을 차감하는 방식"이 아니라 "새로운 UTXO를 생성하는 방식"으로 동작함.
만약 비트코인이 은행처럼 잔고 차감 방식(Account Model)을 사용하면, 동시에 같은 돈을 두 번 보내는(이중 지불) 문제가 발생할 가능성이 큼.
예를 들어,
당신이 1 BTC를 가지고 있다고 가정하고,
A한테 1 BTC, B한테도 1 BTC를 동시에 보내면?
블록체인 네트워크에서 처리 순서가 꼬이면 둘 다 승인될 수도 있음! (이중 지불 문제)
한 번 사용된 UTXO는 더 이상 쓸 수 없기 때문에 이중 지불 자체가 불가능.
사용되지 않은(미사용) 코인만 유효하기 때문에, 트랜잭션 검증이 훨씬 명확함.
비트코인은 탈중앙화 네트워크이기 때문에 여러 노드가 동시에 검증해야 하는데, 잔고 차감 방식이면 트랜잭션 처리 속도가 느려짐.
각각의 UTXO는 독립적이기 때문에 여러 노드가 동시에 트랜잭션을 검증할 수 있음.
예를 들어, 당신이 0.5 BTC, 0.3 BTC, 0.2 BTC 총 1 BTC를 보유 중이라고 하면,
→ 각각의 UTXO를 병렬로 검증 가능.
반면, 계좌 방식은 전체 잔고를 체크해야 하므로 동시 검증이 어려움.
즉, UTXO 방식은 블록체인 네트워크에서 여러 트랜잭션을 동시에 검증할 수 있어 더 빠름!
비트코인의 UTXO 모델은 기존의 계좌 기반 시스템보다 익명성이 높음.
계좌 방식은 하나의 고유한 주소(계좌 번호)로 모든 거래가 연결됨.
UTXO 방식은 새로운 주소를 계속 생성하면서 송금 가능 → 특정 주소를 추적하기 어려움.
예를 들어, 거스름돈을 받을 때마다 새로운 UTXO가 생기기 때문에 한 주소에서 계속 거래가 일어나는 것이 아님.
즉, 모든 거래가 같은 계좌에 남는 것이 아니라, 새로운 코인처럼 동작하기 때문에 익명성이 향상됨!
✅ 결론: UTXO 방식의 핵심 장점
1️⃣ 이중 지불 방지 → 한 번 사용된 코인은 다시 사용할 수 없음.
2️⃣ 빠른 병렬 처리 → 여러 개의 트랜잭션을 동시에 검증 가능.
3️⃣ 프라이버시 향상 → 새로운 주소를 계속 생성하면서 송금 가능.