[이더리움 기초] #1.이더리움과 스마트 컨트랙트 맛보기

안희재
EWHA-CHAIN
Published in
14 min readOct 29, 2023

이화여자대학교 블록체인학회 이화체인 12기 기초리서치 1팀에서 이더리움의 기술, 이더리움 업그레이드 등 개념과 스마트 컨트랙트 활용과 한계까지 시리즈 아티클을 연재합니다.

Author: 12기 안희재, 문서영, 배유선

Reviewer: 11기 정지수

본 글은 시리즈의 1편으로 본편에서는 이더리움의 개념과 업그레이드까지의 내용을 다룹니다. 다른 편을 읽고 싶으시다면 아래의 리스트를 확인해주십시오.

1편: 이더리움과 스마트 컨트랙트 맛보기

2편: 이더리움이 이끌어낸 블록체인의 혁신, 스마트 컨트랙트

출처 : hash.kr

암호화폐 시장에서 비트코인 다음으로 높은 18.5% 점유율을 가진 이더리움은 어떻게 이런 높은 점유율을 차지할 수 있게 된 것일까? 이더리움만의 차별성이 무엇일까?

이 글에서는 기본적인 이더리움의 메커니즘을 알아보고, 다음 시리즈인 ‘이더리움이 이끌어낸 블록체인의 혁신, 스마트 컨트랙트’에서는 이더리움만의 차별성인 스마트 컨트랙트에 대해 자세히 다뤄보고자 한다.

이더리움의 정의

이더리움(Ethereum)은 종종 ‘월드 컴퓨터 (world computer)’라고 하는데, 그 의미는 무엇일까? 컴퓨터 과학의 관점에서 보자면 이더리움은 결정론적(deterministic)이지만, 사실상 한정되지 않은 상태 머신 (unbounded state machine) 이며, 이것은 전역적으로 (globally) 접근 가능한 싱글톤(singleton) 상태와 그 상태를 변화 시킬 수 있는 가상 머신으로 구성되어 있다. 이렇게 설명하니 너무 어려워 보이지만 간단하게 말해 이더리움은 블록체인 기반 소프트웨어 플랫폼이다. 즉, 탈중앙화된 어플리케이션 플랫폼이다. 비트코인처럼, 인터넷을 통해 가치를 전달하는 데 사용할 수 있는 자체 암호화폐 이더(ether)를 보유하고 있다. 그러나 비트코인과 달리, 개발자들이 블록체인 위에 자신만의 애플리케이션을 만들 수 있도록 허용한다.

사람들이 비트코인 모델의 힘을 인식하고 암호화폐 애플리케이션을 넘어서려고 시도했던 당시에 이더리움이 구상되기 시작했다. 2013년 말 캐나다계 러시아인 프로그래머, 비탈릭 부테린(Vitalik Buterin)이 튜링 완전한 범용 블록체인인 이더리움의 개념을 설명하는 백서를 공유하며 이더리움은 세상에 소개 되었다. 이 백서는 사람들이 비트코인처럼 인터넷을 통해 가치를 이전할 수 있게 해줄 뿐만 아니라, 개발자들이 스마트 컨트랙트라는 새로운 유형의 컴퓨터 프로그램에 의해 구동되는 앱을 만들 수 있는, 새로운 2세대 블록 체인(이더리움)을 설명했고, 당시 암호화폐 커뮤니티에 큰 충격을 주었다. 스마트 컨트랙트는 이더리움만의 차별성으로 이와 관련해서는 밑에서 자세하게 설명하도록 하겠다.

이더리움의 구성 요소

본격적으로 이더리움의 세계에 들어서기 전에 알아야 할 점이 있다. 이더리움의 작동 방식과 그 핵심인 스마트 컨트랙트를 이해하기 위해서는 주요 개념에 대한 사전 지식이 필요하니, 간단하게 설명하고 진행하겠다.

1) 이더리움 네트워크

비트코인과 많은 면에서 유사하며 ‘노드’라고 불리는 분산된 기여자 그룹에 의해 유지 및 운영된다. 이러한 노드들은 거래를 브로드캐스트하고 기록을 하는 등 다양한 작업을 수행하며 거래를 이더리움 블록체인에 추가한다.

  • 노드 (Node)
    이더리움은 탈중앙화가 강조되는 블록체인 기반 플랫폼이다. 따라서 어느 한 개체에 의해서 통제되지 않고, 노드들의 분산된 참여와 협력을 통해 존재할 수 있다.
  • 이더 (Ether)
    이더리움 블록체인 상에서 트랜잭션을 실행할 때 가스 비용으로 사용하는 기본 암호화폐이다. ETH 또는 Ξ, 그리스 대문자 Xi 문자로 표현할 수 있다.

2) 이더리움 블록체인

이더리움에서 수행되는 모든 활동, 지갑 간 자금 이동이나 DApp 사용과 같은 활동은 트랜잭션으로서 이더리움 블록체인에 저장된다. 이 데이터 트랜잭션을 블록체인에 추가하려면 채굴자에게 가스비라는 수수료를 지불해야 한다. 이때, 가스 비는 경매 스타일 시스템으로 운영되는데, 더 높은 가스비를 자신의 거래에 첨부한 사람들이 일반적으로 블록체인에 더 빨리 추가된다. 이더리움 블록체인은 거래를 기록하는 분산 원장뿐만 아니라 ‘스마트 컨트랙트(smart contract)’라고 불리는 특수한 컴퓨터 프로그램을 실행하고 기록한다.

예를 들어, 특정 암호화폐 지갑 주소로 정확한 양의 담보 자금을 입금한 순간에 대출금을 즉시 대출해주는 스마트 계약을 가진 DApp을 만들 수 있다. 이 경우, 트랜잭션을 보내도록 스마트 컨트랙트를 활성화하는 입력은 특정 지갑으로부터 자금을 받는 것이다. 현재 이더리움 계정과 잔액, 블록체인에서 생성되고 실행되는 모든 스마트 컨트랙트의 집합은 이더리움 ‘State’의 일부이다. 새로운 트랜잭션과 스마트 트랜잭션 코드를 포함한 새로운 블록이 이더리움 블록체인에 추가될 때마다 이더리움의 State가 동적으로 변경된다.

  • 스마트 컨트랙트 (smart contract)
    스마트 컨트랙트는 서면에서 이루어지던 기존의 계약을 코드로 구현해서 계약 조건이 충족될 때 자동으로 계약이 실행되도록 하는 백엔드 코드이다. 비트코인과 같은 1세대 블록체인과 이더리움으로 대표되는 2세대 블록체인간의 가장 큰 차이점은 스마트 컨트랙트이다. 비트코인의 경우 다른 코인들과의 상호작용이 어렵다는 한계가 있지만, 이더리움에서부터 그러한 한계를 극복하게 된 것이다. 이로 인해 DApp이나 DeFi, NFT와 같은 다양한 방식이 등장하게 되었다. 이에 대한 내용은 다음 챕터에서 더 확인해보자.
  • 가스비 (Gas Fee)
    가스는 이더리움에서 트랜잭션 및 스마트 컨트랙트 실행의 복잡성을 측정하는 단위이다. 스마트 컨트랙트의 복잡성과 난이도에 따라 소모해야 하는 가스의 양이 결정되기 때문에 이더리움 가스 가격은 네트워크의 혼잡에 따라 변동될 수 있다.

3)EVM (이더리움 가상 머신)

스마트 컨트랙트를 블록체인 저장하는 것만으로는 충분하지 않으며 이러한 작업을 실제로 처리할 수 있는 무언가가 필요하다. 블록체인에 저장된 스마트 컨트랙트는 실행 환경인 ‘이더리움 가상 머신(EVM)’에서 실행된다. 모든 거래, 데이터 및 state를 검증하고 기록하는 네트워크에 참여하는 풀 노드(Full Node)마다 자체 EVM이 있다.

모든 노드는 자체 EVM에서 모든 스마트 컨트랙트를 실행하고 다른 모든 노드와 결과를 확인한다. (학생들이 동일한 시험 문제를 풀고 서로의 답을 확인하며 올바르게 해결했는지 확인하는 것과 유사하다.) 이더리움의 모든 노드에는 EVM이 내장되어 있어, 스마트 컨트랙트 코드를 독립적으로 실행할 수 있다. EVM은 이더리움 네트워크의 분산화된 환경에서 스마트 컨트랙트의 코드를 안전하게 실행할 수 있게 한다.

  • 합의 알고리즘
    이더리움은 업그레이드 ‘더 머지(The Merge)’를 통해 합의 알고리즘을 작업 증명(Proof-of-Work, PoW) 방식에서 지분 증명(Proof-of-Stake, PoS) 방식으로 변경했다.

이더리움의 스마트 컨트랙트

2015년 7월, 이더리움은 시장에서 최초로 스마트 컨트랙트 기반의 블록체인 생태계를 소개하였다. 이더리움의 핵심 기능 중 하나인 스마트 컨트랙트는 전통적인 계약의 자동화된 버전으로 볼 수 있다. 이더리움의 튜링 완전성은 EVM(Ethereum Virtual Machine)을 통해 제공되며, 이로 인해 사실상 어떠한 프로그램도 이더리움 위에서 작동될 수 있다.

스마트 컨트랙트는 기존의 서면 계약을 코드로 전환하여, 특정 조건이 충족될 때 계약이 자동으로 실행되도록 한다. 이는 디앱(Decentralized Application)의 백엔드와 유사하며, 특정 조건을 충족시키면 자동으로 코드가 실행된다. 스마트 컨트랙트는 Solidity나 Vyper 같은 전용 프로그래밍 언어를 통해 작성되며, 구조적으로는 객체 지향 프로그래밍의 클래스와 유사한 형태를 가진다. 이러한 특성으로 인해 디앱은 탈중앙화된 환경에서도 안정적으로 운영될 수 있지만, 한번 배포된 스마트 컨트랙트는 변경이 어렵기 때문에 설계 시 극도의 주의가 필요하다.

디앱은 블록체인 기술을 기반으로 하며, 최근 NFT, 디파이(Defi), 다오(DAO) 등 다양한 형태로 시장에 소개되고 있다. 디앱은 자동화된 경제 활동을 통해 혁신적인 경제적 가치를 창출하며, 특히 ERC-20 같은 스마트 컨트랙트 표준을 통해 다양한 분야에서 그 가능성을 확장하고 있다. 이더리움과 스마트 컨트랙트 기반의 디앱은 블록체인 기술의 획기적인 발전을 이끌어냈으며, 그 중심에는 튜링 완전성과 EVM이 있었다. 이러한 기술의 발전은 다양한 산업 분야에서의 새로운 가능성을 제시하며, 혁신적인 경제 활동의 새로운 패러다임을 제시하고 있다.

이더리움 업그레이드

빠르게 변화하는 암호화 세상과 발 맞추어 이더리움 역시 변화했다. 2015년 정식으로 런칭된 이더리움은 암호화 채굴에 많은 에너지가 필요하고, 보안은 좋지만, 초 당 제한된 수의 트랜잭션만 처리할 수 있다는 한계가 있었다. 이러한 문제들을 해결하고, 더 많은 사용자를 유입하기 위해 이더리움은 일련의 업그레이드를 계획했다. 이를 ‘이더리움 로드맵’이라고 한다. 이더리움 로드맵은 대중들에게는 ‘이더리움 2.0(Eth2)’으로 더 잘 알려져 있다.

이더리움 2.0 업그레이드 출시 단계는 다음과 같다.

  • Phase 0: 비콘 체인(Beacon chain)및 지분 증명(Proof-of-Stake) 출시
  • Phase 1: 기존 이더리움 블록체인과 새로운 이더리움 블록체인 병합
  • Phase 2: 샤드 체인(Shard chain) 및 roll-up 기술 도입
  • Phase 3: 보안 개선

이더리움 2.0이라는 용어는 2020년 12월 Proof-of-stake(지분 증명)으로 전환 전까지 이더리움의 미래를 설명하는 데 사용되었지만, 이와 관련하여 지속적으로 혼란과 오개념이 발생하였기 때문에 현재는 사용하지 않고 있다. 이와 반대로 업그레이드를 하지 않은 오리지널 이더리움 블록체인은 ‘이더리움 클래식’이라고 한다. 2016년 7월, 이더리움은 ‘DAO 해킹 사건’으로 블록체인의 기본 기능을 수정하는 하드포크를 결정했으나, 이더리움 클래식은 하드포크를 거치지 않았다. 즉, 이더리움 클래식은 Proof-of-work(작업 증명) 방식을 사용하며, 토큰을 2억 3000만 개 제작할 수 있게 제한하는 이더리움의 오리지널 규칙을 엄격히 준수한다.

이더리움과 이더리움 클래식

[공통점]

  • 탈중앙화
    이더리움과 이더리움 클래식은 모두 단일 담당자가 운영하지 않는, 분산형 플랫폼.
  • 스마트 컨드랙트
    이더리움과 이더리움 클래식은 모두 스마트 컨트랙트로 운영.
  • 익명
    이더리움과 이더리움 클래식은 모두 익명으로 작동.
    트랜잭션의 공용 키는 공개되지만, 사용자 및 기타 식별 세부 정보는 설정에 보이지 않음.

[차이점]

  • 불변성
    이더리움은 트랜잭션 변경, 조정 가능.
    이더리움 클래식은 사용자가 거래 변경 불가능.
  • 채굴 과정
    이더리움은 지분 증명 (PoS) 방식 사용.
    이더리움 클래식은 작업 증명 (PoW) 방식 사용.
  • 제한
    이더리움은 이론적으로 토큰 제작의 한계 X.
    이더리움 클래식은 2억 3000만 토큰으로 제한.
  • 가치
    이더리움은 시중 2위 암호화폐로 토큰 가격이 3400달러, 시가총액이 4000억 달러에 육박.
    이더리움 클래식은 시가총액이 70억 달러, 토큰 가격이 55달러.
  • 잠재적 변화 가능성
    이더리움은 앞으로 추가적인 업그레이드 등 다양한 변화 가능성.
    이더리움 클래식은 이더리움의 오리지널 규칙을 엄격히 준수.

이더리움 로드맵은 비탈릭 부테린의 트위터를 통해 공개되었다.

출처 : https://twitter.com/VitalikButerin/status/1588669782471368704

위는 2022년 11월 5일에 공개된 이더리움 로드맵 다이어그램의 업데이트 버전이다. 위 다이어그램의 항목인 ‘The Merge’, ‘The Surge’, ‘The Scourge’, ‘The Verge’, ‘The Purge’, ‘The Splurge’는 이더리움 로드맵을 구성하는 핵심적인 업데이트 요소로 볼 수 있다.

  • The Merge: PoW(작업 증명)에서 PoS(지분 증명)으로의 전환과 관련된 업그레이드 (머지에 대해 더 알고 싶다면 The Merge 에서 확인 할 수 있다.)
  • The Surge: 롤업 및 데이터 샤딩을 통한 확장성과 관련된 업그레이드
    *샤딩: 거래 데이터를 여러 개의 샤드 체인에 분할해 병렬 처리가 가능하게 하는 기술
  • The Scourge: MEV(Masimal Extractable Value, 블록 생산에서 획득 가능한 최대 가치)의 검열 저항, 분산화 및 프로토콜 위험과 관련된 업그레이드
  • The Verge: ‘머클 트리’로 되어있는 검증을 ‘버클 트리’로 변경하는 블록 검증과 관련된 업그레이드
  • The Purge: 노드 실행의 계산 비용 절감 및 프로토콜 단순화와 관련된 업그레이드
  • The Splurge: 네트워크의 기능과 효율성을 더욱 향상시킬 수 있는 각종 마무리 업그레이드

작년 9월, PoW(작업 증명)에서 PoS(지분 증명)으로의 전환을 꿰한 The Merge 이후, 올해 4월 상하이 업그레이드 (Shanghai Upgrade)가 이루어졌다. 상하이, 카펠라(Capella), 샤펠라(Shapella) 등 이번 업그레이드를 지칭하는 다양한 용어가 존재하지만, 각 용어는 하드포크가 발생한 체인을 기준으로 나눌 수 있다.

  • 상하이 업그레이드(Shanghai Upgrade): 이더리움 실행 레이어(Execution layer, 메인넷)에서 발생한 하드포크
  • 카펠라 업그레이드(Capella Upgrade): 이더리움 합의 레이어(Consensus Layer, 비콘 체인)에서 발생한 하드포크
  • 샤펠라 업그레이드(Shapella Upgrade): 상하이 업그레이드와 카펠라 업그레이드를 합쳐 통합적으로 사용되는 용어

하지만 대다수의 사람들이 레이어별로 용어를 구분 하지 않고 상하이 업그레이드로 통합하여 사용한다.

상하이 업그레이드는 다음 5개의 EIP를 포함하고 있다. EIP는 ‘Ethereum Improvement Proposal”의 약자로 이더리움 개선안이라는 뜻이다. EIP는 이더리움 네트워크에 기능을 추가하고 새로운 표준을 만들기 위해 제시된 제안이다.

EIP-3651: COINBASE address를 warm address로 옮김으로써 가스비 감소

EIP-3855: 상수 값 0을 스택에 푸시하는 PUSH0(0x5f) 명령어를 도입

EIP-3860: initcode의 최대 크기를 기존 49152로 증가시키고 initcode의 32-byte 청크마다 추가 가스 비용 적용

EIP-6049: SELFDESTRUCT 사용을 중지

EIP-4895: 비콘 체인에 대한 스테이킹 출금 기능 활성화

상하이 업그레이를 통해 2020년 12월 이후 2년이 넘는 기간 동안 오직 스테이킹(Staking)만 가능했던 비콘 체인(Beacon Chain)으로부터 출금이 가능하게 되었다.

이더리움 생태계는 그들의 로드맵에 따라 계속해서 앞으로 나아가고 있다. 앞으로 진행 될 이더리움의 지속적인 대규모 업그레이드는 이더리움의 네트워크 환경을 개선하고, 많은 사람들을 블록체인 생태계로 유입시키며, 변화해 나갈 것이다.

지금까지는 이더리움의 기초적인 작동 방식과 업그레이드에 대해서 다뤄보았다. 다음 편에서는 이더리움의 핵심 기술인 스마트 컨트랙트와 활용 사례에 대해 다뤄 볼 것이다.

--

--