A) 비트코인과 이더리움 네트워크는 상태(State) 관리 방식에서 차이가 있고 각각 UTXO 모델, Account 모델로 표현됩니다.
각 모델의 상태 관리 방식을 간단하게 표현하면 아래와 같습니다.
항목 | 비트코인 (UTXO 모델) | 이더리움 (계정 모델) |
---|---|---|
상태 저장 방식 | 트랜잭션 기반 (UTXO를 추적) | |
정확히는 UTXO 모음 | 계정(Account) 기반 | |
잔액 확인 방법 | UTXO 목록에서 검색 후 합산 | 계정(Account)에 저장된 잔액 조회 |
상태 업데이트 방식 | 기존 UTXO 소멸 & 새 UTXO 생성 | 계정 상태 직접 변경 |
데이터 저장 구조 | UTXO Set (Key-Value Store, LevelDB) | 월드 스테이트 (머클 패트리샤 트라이) |
위 내용으로는 약간은 추상적으로 느껴질 수도 있기 때문에 아래에는 좀 더 구체적인 내용을 적어보겠습니다.
비트코인 UTXO 모델과 이더리움 계정 모델의 개념, 차이점을 쉽게 이해하려면 각 네트워크의 목적성을 확인하면 좋습니다.
각 네트워크의 백서(White Paper)를 확인하시면 다음의 문구를 확인할 수 있습니다.
We propose a solution to the double-spending problem using a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions.
To accomplish this without a trusted party, transactions must be publicly announced, and we need a system for participants to agree on a single history of the order in which they were received.
We have proposed a system for electronic transactions without relying on trust.
And now, attention is rapidly starting to shift toward this second part of Bitcoin's technology, and how the blockchain concept can be used for more than just money.
What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create "contracts" that can be used to encode arbitrary state transition functions, allowing users to create any of the systems described above, as well as many others that we have not yet imagined, simply by writing up the logic in a few lines of code.
네트워크들은 각각 단순 거래, 그 이상의 프로그래밍 플랫폼의 목적이 있고, 해당 목적을 만족하는 코드가 구현되어있습니다.
한 번에 이 두 모델의 개념, 차이점을 완벽히 아는 것은 어려울 수 있기 때문에, 두 모델의 가장 큰 차이점을 비교하고, 후에 부가적으로 각 모델이 가지고 있는 특징을 이해하는 것을 추천 드립니다.