UTXO가 어떤 원리로 이중지불을 방지할 수 있는지 궁금합니다.

한 때 이더리움에서 이중지불 문제로 인해 문제가 있었으며, 작년 이오스가 이더리움에서 메인넷을 시도할 시 이중지불 문제로 인해 프라이빗키 분실 되는 사건이 발생된 적도 있었습니다. (다행이도 복구솔루션이 도입 예정이라는 소식이 있습니다.)

이중지불방지 기술인 UTXO라는 기법이 있다고 들었는데요.

  • UTXO가 어떠한 원리로 방지할 수 있는지 잘 이해가 가지 않습니다.

    1개의 답변이 있어요!

    • 질문자께서 질문해주신 내용을 중심으로 답변을 드리도록 하겠습니다.

      • UTXO가 어떠한 원리로 이중지불을 방지할 수 있는지 잘 이해가 가지 않습니다.

        1. 미사용 트랜젝션 출력이라는 것은 비트코인의 잔고라고 할 수 있습니다. 비트코인 트랜젝션에서 전송이 이루어지고 나면 남아 있는 잔고를 UTXO로 남기게 되는데요, 어떤 지갑 주소의 잔고를 계산하려고 하면 그 동안의 모든 거래 내역을 검토할 것이 아니라 UTXO만을 확인하여 내역을 표시해 주기만 하면 됩니다.

        2. 예를 들어 UTXO가 없다면 해당 지갑 주소의 모든 입출금 거래 내역을 매 번 계산해야 하겠지만 UTXO의 존재로 인해 각 거래가 이루어질 때마다 남은 비트코인이 얼마인지, UTXO 값만 확인하여 보여주면 되는 것입니다.

        3. 또한 이중지불과 관련해서도 공격이 들어왔을 때 해당 지갑 주소의 UTXO를 검사하여 이전에 이미 같은 지불 요청에 대해 거래가 완료된 내역이 있다면 UTXO 잔고가 없거나 부족함에도 이중으로 지불을 요구한 것이므로 해당 트랜젝션을 블록에 포함시키지 않는 방식으로 취소시킬 수 있으리라 생각합니다.

      답변이 도움이 되길 바랍니다.