[Blockchain] UTXO Model VS Account Model

minhye kim·2024년 4월 5일
0

Blockchain

목록 보기
2/9

UTXO란

간단하게 말하자면 현찰을 생각하면 된다. 대표적으로 비트코인은 UTXO Model을 사용하고 있다.

UTXO는 Unspent Transaction Output의 약자로 사용되지 않은 거래의 출력값을 의미한다.

예를 들면, ‘Max’가 자신의 Wallet으로 세 사람에게 1BTC, 2BTC, 3BTC를 송금 받았다고 가정한다면 현실 세계에서 우리는 당연하게도 6BTC가 Max의 Wallet에 남아있다고 생각하겠지만 그렇지 않다. Max의 Wallet에는 3개의 UTXO가 저장되어 있다.

여기서 UTXO의 중요한 성질은 바로 1회성이라는 것이다. UTXO는 지갑에 입금될 때마다 생성되며 인출되는 순간 새로운 UTXO가 형성된다.

그래서 한 번 사용하면 사라지는 UTXO의 특징으로 인해 익명성과 보안성이 강해진다는 장점이 있지만 매 UTXO마다 수수료를 부과되게 때문에 비용적인 측면에서는 단점이 있다.

Pros

  • Output이 이미 사용되었는지 쉽게 확인할 수 있으므로 이중 지불 공격을 피할 수 있다.
  • 트랜잭션들은 병렬로 쉽게 처리할 수 있어서 확장성이 향상된다.
  • 사용자가 각 트랜잭션마다 새로운 Address를 사용할 수 있기 때문에 개인 정보보호에 더 강하다.

Cons

  • 자주 거래를 하게 되면 과도한 UTXO로 인해서 불필요한 수수료를 내야 한다.
  • 새로운 사용자들이 이 시스템을 이해하기 어려움이 있다.
  • UTXO가 어떤 State도 추적하지 않기 때문에 Smart Contract를 구현하기가 더 어렵다.

Account Model이란

간단하게 말하자면 은행 계좌를 생각하면 된다. 대표적으로 이더리움과 EVM 계열이 Account Model을 사용하고 있다.

예를 들면, Alice 계좌에 10ETH가 있고 Bob 계좌에 1ETH가 있다. Alice가 Bob에게 8ETH를 보낸다면, Alice 계좌에는 2ETH가 되고 Bob은 9ETH가 된다.

Pros

  • Smart Contract를 구현하기 쉽다.
  • 트랜잭션들이 더욱 작으며 저장 공간을 줄일 수 있다.

Cons

  • 서로 다른 트랜잭션의 영향을 받는 글로벌 상태가 있기 때문에 병렬 트랜잭션을 구현하는 것이 까다롭다.
  • 거래가 계정에 묶여 있기 때문에 개인 정보보호 기능이 약하다.
  • 이중 지불 공격에 취약하다.

Reference
비트코인 UTXO VS 이더리움 Account Model

profile
안녕하세요. 블로그를 시작하게 되었습니다! 앞으로 유용한 정보와 좋은 내용을 많이 공유할게요:)

0개의 댓글