관리 메뉴

개발이야기

[블록체인 이론] 비트코인 vs 이더리움 -1 "UTXO vs Account" 본문

블록체인 /블록체인 이론

[블록체인 이론] 비트코인 vs 이더리움 -1 "UTXO vs Account"

안성주지몬 2018. 8. 30. 14:46

안녕하세요. 이번 포스팅에서는 첫 번째 암호화폐이자 기축통화 역할을 하고 있는 '비트코인'과 스마트 컨트랙트를 이용하여 다양한 서비스를 블록체인 네트워크 위에서 실행할 수 있게한 블록체인 플랫폼 '이더리움'을 비교해보겠습니다. 


이 글은 암호화폐의 전반적인 지식이 있는 분을 대상으로 하기 때문에 프로세스에 대해서 자세한 설명은 하지 않고 비교 위주로 글을 써보도록 하겠습니다. 이번 주제는 첫 번째 비교기준인 "UTXO vs Account" 입니다.


글의 순서는 비트코인의 UTXO부터 살펴보고 다음 이더리움의 Account에 대해 설명한 후 둘의 차이점과 장단점을 비교해보도록 하겠습니다.



1. 비트코인의 UTXO 


UTXO 란 Unspent Transaction Output 의 약자로 사용되지 않은 거래의 출력값을 의미합니다. UTXO를 예로 들어 설명하면 'Joe'라는 사람이 자신의 지갑으로 세 사람에게 1BTC,2BTC,3BTC를 송금 받았다고 가정해봅니다. 현실 세계에서 우리가 흔히 생각하기로는 6BTC가 Joe의 지갑에 남아있다고 생각하겠지만 그렇지 않습니다. Joe의 지갑에는 3개의 UTXO가 저장되어 있죠. 


위 그림은 비트코인의 트랜잭션 예제입니다. 'Joe'라는 사람이 자신의 지갑에 있는 0.1BTC를 이용하여 커피값 0.015BTC를 구매하는 예제입니다. 그림에서 보시다시피 0.015BTC는 커피 판매자 계정으로 새로운 UTXO로 들어가게 되고 남은 잔액인 0.0845BTC도 새로운 트랜잭션으로 다시 'Joe' 의 계정으로 들어가는 것을 볼 수 있습니다. 남은 금액인 0.0005BTC는 이 트랜잭션을 블록에 포함시킨 채굴자에게 주는 수수료입니다. 



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


"    그래서 UTXO의 장점으로는 이렇게 한 번 사용되면 사라지기 때문에 익명성과 보안성이 강합니다. 하지만 매 UTXO마다 수수료가 부과되기 때문에 수수료 측면에서는 단점을 가지고 있습니다.    "



2. 이더리움의 Account 


이더리움은 두 가지의 Account가 있습니다. 바로 외부 소유 계정(Externally Owned Account, EOA)와 컨트랙트 계정(Contract Account, CA)입니다. 외부 소유 계정은 지갑과 같은 역할을 하며 컨트랙트 계정은 컨트랙트와 관련된 계정으로 코드를 가지고 있습니다.


이더리움의 외부 소유 계정은 비트코인의 UTXO와 달리 잔액만 보여집니다. 또 누구한테 받았는지에 대한 정보는 나와있지 않습니다. 외부 소유 계정만 보면 현실 세계에서 사용하는 은행 계좌와 별 차이가 없습니다. 하지만 이더리움 계좌에는 컨트랙트 계정이 있죠. 이 컨트랙트 계정은 코드에 의해 실행됩니다. 즉 스마트 컨트랙트에 코드에 의해서 거래가 진행되며 외부 소유 계정의 소유자라고 해도 컨트랙트 계정을 통제할 수 없습니다. 


"    컨트랙트 계정을 통해 이더리움은 비트코인과 다르게 다양한 제약 조건을 설정할 수 있게 됩니다. 비트코인이 단순히 스크립트 언어로서 UTXO만을 활용하여 잔액만 계산할 수 있었다면 이더리움은 컨트랙트 계정과 스마트 컨트랙트를 이용하여 다양한 조건을 설정할 수 있고  Multi-sig와 같은 시스템도 구현할 수 있게 되었습니다.     "




3. 차이점 비교  


비트코인의 UTXO, 이더리움의 Account 는 각각의 장단점이 있습니다. 어떤 것이 더 훌륭하다라는 것은 이 둘의 기능과 역할에 따라 달라질것 같습니다. 화폐로서의 역할에 충실해야 한다면 비트코인의 UTXO가 보안적으로 더 뛰어나니 비트코인이 더 훌륭하다라고 할 수 있겠고만약 DApp과 같이 다양한 기능을 구현하고 싶다면 스마트 컨트랙트를 활용할 수 있는 이더리움의 Account가 더 낫다고 생각합니다. (개인적인 의견입니다.) 




참고자료

1) https://steemit.com/kr/@dongsamb/ethereum 

2) https://steemit.com/kr/@feyee95/5lzztc

3) https://steemit.com/coinkorea/@etainclub/smart-contract-6-dapp



Comments