[basic] 이더리움 맛보기 <1> Bitcoin As A State Transition System

captaink.eth | 강선장
5 min readJul 28, 2022

--

이더리움 백서의 전체 내용을 정리하기엔 시간이 많이 소요될 것 같아, 이더리움의 원리만 이해하실 수 있도록 공식 문서 등에서 발췌하여 내용을 작성했습니다.

※ 본 게시물은 전에 작성한 비트코인 백서 읽기를 충분히 이해하시고 보시는 걸 추천 드립니다.

그럼 시작하겠습니다.

Bitcoin As A State Transition System

출처: Ethereum Whitepaper

From a technical standpoint, the ledger of a cryptocurrency such as Bitcoin can be thought of as a state transition system, where there is a “state” consisting of the ownership status of all existing bitcoins and a “state transition function” that takes a state and a transaction and outputs a new state which is the result.

기술적 관점에서 비트코인의 장부는 상태 변환 시스템(state transition sysytem)으로 볼 수 있습니다. 장부는 현재 존재하는 어떤 상태를 나타내고, 트랜잭션은 그 상태(이하 ‘스테이트’)를 변경 시키는 작용이라고 할 수 있습니다.

비트코인 스테이트는 UTXO로 구성되어 있습니다. 트랜잭션은 기존 UTXO의 값을 변화 시키기도 하고, 새롭게 UTXO를 만들기도 하죠(참고). 쉽게 말하면,스테이트는 장부, UTXO는 장부에 기록된 한 줄, 트랜잭션은 기록하는 행위라고 보시면 될 것 같습니다.

그럼 트랜잭션은 UTXO에 어떻게 소통을 할까요? 스마트 콘트랙트를 통해서 합니다. 비트코인에 스마트 콘트랙트라니 놀랍죠? 그 과정을 간단히 말씀드리겠습니다.

출처: Introduction to Bitcoin Smart Contracts

A가 TX_1을 통해 B에게 비트코인을 보낸다고 가정해보겠습니다:

  1. A의 트랜잭션을 통해 생성된 Output에는 Locking Script가 포함되어 있음: ‘B의 공개키로 Lock 함’
  2. B는 다음 트랜잭션에서 해당 Output을 사용할 때, TX_2 의 Input에 Unlocking Script를 포함: ‘B의 개인키로 Unlock 함’
  3. B의 트랜잭션을 받은 노드는 Script를 수행하여 오류가 없는 지 확인(키가 일치하는지, 사용하려는 UTXO가 이미 Spent가 되어있진 않은지)하여 결과 값 출력(문제가 있는 트랜잭션은 블록에 올라가지 않음)
  4. 블록 내의 모든 트랜잭션 확인 후, 논스 값을 찾아(PoW) 타 노드에 전송
  5. 타 노드들은 같은 방식으로 트랜잭션들을 검증하고 다음 블록으로 작업을 이어감

상기 과정에서 Script는 스마트 콘트랙트, 이 스마트 콘트랙트를 수행하는 노드는 Virtual Machine, 기록된 결과는 스테이트(=장부)가 되는 겁니다.

비트코인도 스마트 콘트랙트며 다 있는데 왜 이더리움이 나온 걸까요? 비트코인은 그 시작이 ‘탈중앙 화폐’였습니다. 때문에 비트코인에 구현된 스크립트, UTXO, 머클 트리 등 다양한 기술들은 ‘기록’과 송금’이라는 기능을 수행하는 데 최적화 되어 있고, 그 이상의 기능을 수행하기엔 부족합니다.

구체적으로 이더리움 백서에선 ‘튜링 불완전성’, ‘가치 무지’, ‘스테이트의 부재’, ‘블록체인 무지’ 등으로 비트코인의 한계를 설명하고 있으나, 이 부분은 추후 이더리움 백서 읽기에서 설명드리도록 하고, 여기선 ‘비트코인은 복잡한 거래를 수행하기엔 어렵구나…’라는 정도만 잡고 가시면 될 것 같습니다.

정리하자면:

  1. 비트코인은 상태 변환 시스템으로 볼 수 있음
  2. 트랜잭션은 상태를 변환 시키는 트리거이며, 트랜잭션에 소유권 검증을 위한 스크립트 삽입과 수행이 가능함
  3. 노드들은 PoW를 수행하는 과정에서 스크립트를 작동시키는 Virtual Machine 역할을 함
  4. 이처럼 비트코인도 연산력과, 저장공간이 있는 컴퓨터처럼 작동하지만 그 태생 상 복잡한 작업을 하기엔 무리가 있음
  5. 이러한 비트코인의 한계를 개선하고 나온 것이 바로 이더리움임

다음 챕터에선 이더리움이 비트코인의 한계를 어떻게 개선했는지 살펴보고, EVM과 스마트 콘트랙트에 대해 간략히 살펴보도록 하겠습니다.

👉🏻 다음 게시물: <2> Ethereum

저는 다음 두 채널에서 활동하고 있습니다. 언제든 편하게 와서 소통해주세요.

Treasure Hunt: https://t.me/look4treasure
고로치 같이투자 소통방: https://t.me/gachi2job1

--

--