Tech Lab4 min read

블록체인 코스 #14 이더리움: 프로그래밍 가능한 블록체인과 스마트 계약

이더리움이 디지털 화폐를 넘어 DApp과 스마트 계약을 실행하는 프로그래밍 가능한 블록체인이 된 과정을 다룹니다. 비탈릭의 시각, EVM, 튜링 완전성을 중심으로 정리한 블록체인 코스 #14 강의 노트입니다.

#블록체인#코스#이더리움#스마트#계약#프로그래밍#가능한#블록체인#EVM

독자는 이 글을 통해 이더리움이 비트코인과 무엇이 다른지, 왜 ‘프로그래밍 가능한 블록체인’이라고 불리는지를 이해하고, 스마트 계약·EVM·튜링 완전성까지 한 흐름으로 정리해 볼 수 있습니다.

이더리움

비탈릭 부테린과 비트코인의 한계 인식

이더리움(Ethereum)은 한 사람의 문제의식에서 출발했습니다. 비탈릭 부테린(Vitalik Buterin) 은 어릴 때부터 수학, 프로그래밍, 경제학에 관심이 많았고, 2011년 처음 비트코인을 접하면서 블록체인의 가능성에 매료됩니다.

비트코인은 탈중앙화 디지털 화폐라는 전혀 새로운 개념을 제시했지만, 비탈릭의 눈에 비친 비트코인에는 분명한 한계도 있었습니다.

비탈릭이 본 비트코인의 한계

  • 디지털 화폐 중심의 용도
    • 비트코인은 주로 가치 저장·송금 수단에 초점이 맞춰져 있었고, 그 이상을 표현하기에는 구조가 단순했습니다.
  • 제한적인 스크립트 언어
    • 비트코인의 스크립트는 고의적으로 기능이 제한된, 튜링 불완전 언어에 가깝습니다.
    • 이는 보안과 단순성을 위한 선택이지만, 복잡한 애플리케이션이나 스마트 계약을 구현하기에는 부족했습니다.
  • 확장된 로직에 대한 수요
    • 커뮤니티 내부에서는 조건부 송금, 다중 서명, 더 나아가 탈중앙화 애플리케이션에 대한 요구가 점점 커지고 있었습니다.

비탈릭은 이러한 한계를 해결하기 위해, 비트코인 커뮤니티에 스크립트 언어를 확장해 튜링 완전성(Turing Completeness)을 부여하자고 제안합니다. 하지만 커뮤니티는 보안과 안정성을 이유로 이 제안을 거절합니다.

튜링 완전성(Turing Completeness)
이론적으로 충분한 시간과 메모리가 주어지면 임의의 계산을 표현·실행할 수 있는 시스템을 의미합니다.
조건문, 반복문, 임의의 메모리 접근이 가능하면 보통 튜링 완전하다고 봅니다.

이 거절이 바로 새로운 블록체인 플랫폼, 이더리움을 만들게 된 직접적인 계기가 됩니다.

이더리움: 새로운 블록체인 플랫폼의 설계

커뮤니티에서 아이디어가 받아들여지지 않자, 비탈릭은 아예 새로운 블록체인 플랫폼을 설계하기로 결심합니다. 그 결과가 2013년에 공개된 이더리움 백서(Whitepaper) 입니다.

이더리움의 핵심 목표는 다음과 같이 정리할 수 있습니다.

  • 단순 송금을 넘어서는 탈중앙화 애플리케이션(DApps) 플랫폼
  • 누구나 로직을 올리고 공유할 수 있는 프로그래밍 가능한 블록체인
  • 코드가 곧 규칙이 되는 스마트 계약(Smart Contract) 인프라

이더리움의 핵심 목표

  • 스마트 계약(Smart Contract)
    • 조건과 규칙을 코드로 작성해 블록체인에 배포하고,
      특정 조건이 충족되면 자동으로 실행되는 프로그램입니다.
    • 이를 통해 DeFi, NFT, DAO 등 다양한 서비스가 중앙 서버 없이 동작할 수 있습니다.
  • 탈중앙화 애플리케이션(DApps)
    • 이더리움은 단순한 트랜잭션 레이어가 아니라,
      금융, 게임, 소셜, 거버넌스 등 다양한 애플리케이션을 실행하는 플랫폼을 목표로 합니다.
  • 프로그래밍 가능성
    • Solidity와 같은 튜링 완전한 언어로 스마트 계약을 작성할 수 있도록 설계했습니다.
    • 이는 비트코인과의 본질적 차이로, “블록체인 위에서 동작하는 일반적인 프로그램”을 허용합니다.

비트코인은 단일 송금, 이더리움은 스마트 계약과 DApp을 올린 구조를 비교하는 다이어그램

비트코인 vs 이더리움: 관점의 차이

간단한 표로 두 블록체인을 비교해 보면, 각자의 지향점이 더 잘 보입니다.

항목비트코인(Bitcoin)이더리움(Ethereum)
1차 목적디지털 화폐, 가치 저장DApp·스마트 계약 플랫폼
스크립트/언어제한적 스크립트, 튜링 불완전Solidity 등 튜링 완전 언어
상태 모델UTXO 기반계정(Account) 기반 상태 저장
대표 사용 사례가치 전송, 디지털 골드DeFi, NFT, DAO, 게임, 소셜 DApp 등

블록체인 자체의 시간·타임스탬프 개념은 블록체인 타임스탬프 이해하기 글과 함께 보면, 이더리움이 어떤 레이어 위에서 동작하는지 더 잘 이해할 수 있습니다.

이더리움을 프로그래밍 가능하게 만드는 요소들

이제 “이더리움은 왜 프로그래밍 가능한 블록체인인가?” 라는 질문으로 돌아가 봅시다. 핵심 요소는 세 가지입니다.

  1. 스마트 계약(Smart Contract)
  2. 이더리움 가상 머신(EVM)
  3. 튜링 완전한 언어와 상태(State)

스마트 계약(Smart Contract)

  • 스마트 계약은 블록체인 위에서 실행되는 자율적인 프로그램입니다.
  • 예를 들어 “A가 일정 금액을 예치하면, 30일 후 자동으로 이자와 함께 돌려준다” 같은 조건을 코드로 작성해 둘 수 있습니다.
  • 이 로직은 배포 후 누구나 검증 가능하며, 중앙 관리자 없이도 신뢰를 유지할 수 있습니다.

이 덕분에 이더리움 위에서는 다음과 같은 것들이 가능합니다.

  • 탈중앙화 거래소(DEX)
  • 대출·예치 프로토콜 등 DeFi 서비스
  • NFT 발행 및 마켓플레이스
  • DAO(탈중앙화 자율 조직)의 규칙 자동화

이더리움 가상 머신(EVM)

  • EVM(Ethereum Virtual Machine) 은 스마트 계약을 실행하는 가상 컴퓨터입니다.
  • 개발자는 Solidity로 코드를 작성하고, 이를 바이트코드 형태로 EVM에 배포합니다.
  • 이더리움 네트워크의 모든 노드는 동일한 입력에 대해 같은 EVM 실행 결과를 계산하고, 그 결과를 블록체인 상태로 반영합니다.

EVM은 일종의 “전 세계가 공유하는 컴퓨터”이며, 실행 결과는 블록체인에 기록되어 변경 불가능한 로그 + 상태가 됩니다.

튜링 완전성과 상태(State)

  • Solidity와 EVM은 튜링 완전한 계산 모델을 제공합니다.
  • 조건문, 반복문, 함수 호출, 스토리지 접근 등이 가능하여 일반적인 애플리케이션 로직을 충분히 표현할 수 있습니다.
  • 이더리움은 계정(Account)과 스마트 계약에 상태(State)를 저장할 수 있도록 허용합니다.
    • 예: 잔액, 투표 결과, NFT 소유 정보, DAO 설정 값 등

이 조합 덕분에 이더리움은 “단순 트랜잭션 로그”를 넘어 상태를 가진 애플리케이션 플랫폼이 됩니다.

정리: 코스 #14에서 가져가야 할 포인트

블록체인 코스 #14에서 기억해야 할 핵심은 다음과 같습니다.

  • 이더리움은 비트코인의 한계를 보완하기 위해 등장한 프로그래밍 가능한 블록체인이다.
  • 비탈릭 부테린은 비트코인의 제한적인 스크립트 언어가 다양한 애플리케이션 구현을 막고 있다고 보았다.
  • 이더리움은 스마트 계약, EVM, 튜링 완전한 언어, 상태 모델을 결합해 DApp 플랫폼으로 발전했다.
  • 오늘날 DeFi·NFT·DAO 등 대부분의 웹3 애플리케이션은 이더리움 모델을 기반으로 설계되고 있다.

참고 링크

다음으로 읽어볼 글