[이더리움 기초] #2. 이더리움이 이끌어낸 블록체인의 혁신, 스마트 컨트랙트

안희재
17 min readOct 29, 2023

--

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

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

Reviewer: 11기 정지수

본 글은 시리즈의 2편으로 본편에서는 스마트 컨트랙트 기술에 대해 다룹니다. 다른 편을 읽고 싶으시다면 아래의 리스트를 확인해주십시오.

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

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

이전 글인 ‘이더리움과 스마트 컨트랙트 맛보기’에서는 이더리움의 기본적인 개념과 작동 원리를 알아보았다. 이번 글에서는 이더리움의 핵심 기술 중 하나인 ‘스마트 컨트랙트’를 중점적으로 살펴보면서 다양한 활용 예시를 통해 스마트 컨트랙트를 보다 자세히 이해하고자 한다.

스마트 컨트랙트란 무엇인가

스마트 컨트랙트(Smart Contract)는 프로그래밍 코드로 작성된 자동화 계약 시스템으로, 특정한 입력을 받으면 자동으로 거래를 전송하는 백엔드 코드이다. 즉, 거래 당사자 외의 제 3자 개입 없이 미리 설정한 조건 및 합의한 내용에 부합하면 자동으로 특정 작업이 실행되어 계약과 이행이 이루어진다. 게다가 블록체인상에서 작동하는 스마트 컨트랙트는 계약의 두 당사자가 서로를 모르거나 신뢰하지 않더라도 계약을 체결할 수 있다. 계약 내용을 스마트 컨트랙트 소스 코드로 작성하여 블록체인 네트워크에 전송하면 네트워크 참여자(노드)들의 유효성 검증이 이뤄지며, 검증 완료 시 해당 스마트 컨트랙트가 포함된 블록이 생성되어 배포된다.

스마트 컨트랙트는 블록체인이 비트코인과 같은 1세대 블록체인에서 2세대 블록체인으로 넘어 가도록 한 가장 중요한 계기 중 하나이다.

스마트 컨트랙트 개념은 1994년 암호학자인 Nick Szabo가 ‘스스로 이행이 되는 자동화된 약정’이라 칭하며 처음으로 고안해냈다. 이더리움은 이론으로만 존재하던 스마트 컨트랙트를 이더리움 메인넷에 최초로 도입함으로써 모든 종류의 계약을 처리할 수 있도록 하였고, 이것을 이용해 탈중앙화 어플리케이션(DApp)을 개발하였다.

이더리움 네트워크 상에서 스마트 컨트랙트가 구현되기 이전에는 블록체인 기술이 금융 관련 기능을 지원하는 것에 집중되어 있었으나, 스마트 컨트랙트 기술 도입 이후에는 모든 종류의 다양한 계약을 지원할 수 있게 되었다. 현재는 이더리움뿐만 아니라 많은 블록체인 네트워크 위에서 스마트 컨트랙트가 구현되어 있다. 이처럼 스마트 컨트랙트는 블록체인 생태계를 크게 확장하는 수단으로서 동작하여 큰 의미를 가지고 있으며, 실제로 다양한 방식의 블록체인 생태계 확장이 이루어지고 있다.

이더리움 스마트 컨트랙트. 출처: finematics.com

스마트 컨트랙트의 몇 가지 특징은 다음과 같다.

  • 튜링 완전성
    비트코인의 스크립트 언어는 보안을 목적으로 최소한의 처리 과정만 거치도록 자체적으로 편집된 튜링 완전하지 않은 언어이다. 자금 전송 기능으로 능력이 제한되어 있는 비트코인 스크립트 언어와 달리, 이더리움 스마트 컨트랙트는 컴퓨터 프로그램이 할 수 있는 모든 작업을 수행할 수 있다.
  • 코드 실행의 자동화
  • 누구나 배포 가능
  • 누구나 검증 가능
  • 한 번 생성되면 코드 변경 불가
  • 이더리움 네트워크의 경우, 가상 실행 환경인 EVM(Ethereum Virtual Machine)에서 작동되어 이더리움의 상태(State)를 동적으로 변경
  • 이더리움 네트워크의 경우, Solidity, Vyper와 같은 독자적인 프로그램 언어 이용

스마트 컨트랙트의 장점은 크게 다음과 같이 분류된다.

  • 자율성
    제3자의 개입 없이 거래 당사자들이 계약에 대한 온전한 권한과 통제성을 갖는다.
  • 비용 절감
    거래를 보증하고 관리하는 별도의 기관을 필요로 하지 않아 비용 절감의 효과를 가지며, 거래 프로세스가 간소화된다.
  • 신뢰성
    계약이 공정하게 진행되며 문서의 위변조가 사실상 불가능하여 높은 신뢰성을 가진다.
  • 보안성
    문서가 암호화되어 블록체인 내 분산 원장 기술에 의해 안전하게 보관된다.

스마트 컨트랙트를 실생활에 어떻게 활용할 수 있을까?

스마트 컨트랙트는 현재 일정한 형식의 반복적인 계약이 많은 분야, 원격자 간 계약 체결이 필요한 분야, 제품의 유통 및 추적이 필요한 분야 등에서 우선적으로 도입되고 있으며, 해외 금융 업계, 보험 업계, 공유 서비스를 중심으로 다양한 스마트 컨트랙트 비즈니스 모델이 출현하고 있다.

스마트 컨트랙트가 실생활에 어떻게 적용되어 어떤 역할을 할 수 있는지 활용 사례를 통해 알아보자.

1) 보험

Blockchain-powered vehicle insurance sector. 출처 : Nizamuddin, Nishara & Abugabah, Ahed. (2021). Blockchain for automotive: An insight towards the IPFS blockchain-based auto insurance sector. International Journal of Electrical and Computer Engineering. 11. 2443–2456. 10.11591/ijece.v11i3.pp2443–2456.

보험에 있어서 블록체인은 상품 개발부터 보험료 산정, 언더라이팅, 보험료 납부, 보험금 청구, 백오피스 관리, 리스크 관리 등 전 분야에서 적용 가능하다. 특히 스마트 컨트랙트를 통한 보험금 청구 자동화와 P2P(Peer-to-Peer) 보험 등에 적합하다.

보험 거래 내역이 한 번 등재되면 모든 거래자가 확인할 수 있게 되어 거래 투명성이 확보되고, 승인 과정의 암호화로 정보의 위변조를 막아 보안 비용을 줄일 수 있으며, 보험 프로세스 중 검증 및 확인 절차가 단순화되어 효율성이 증가한다.

보험 회사는 스마트 컨트랙트를 통해 보험료를 자동 지급함으로써 지급 결제 시스템을 간소화하고, 위변조가 어려운 원장을 만들어 보험 사기를 미연에 방지할 수 있다. 스마트 컨트랙트라는 새로운 기술을 활용하여 자동 집행 계약 및 보험금 지급 자동화, 사물 인터넷 연계 보험 및 마이크로 보험 등의 새로운 보험 사업을 개발할 수도 있다.

AXA의 항공기 지연 보험 Fizzy. 출처 : AXA 홈페이지

2017년, 프랑스의 대형 보험사 악사(AXA)에서는 이더리움 블록체인 스마트 컨트랙트 기술을 적용한 항공기 지연 보험 피지(Fizzy)를 출시했다(현재는 서비스 종료). 해당 보험 상품은 사용자의 항공 정보를 추적해서 비행기가 2시간 이상 지연됐을 경우 보험금을 지급한다. 즉, ‘비행기가 2시간 이상 지연’이라는 보상 조건이 충족되면 보험금 지급이라는 계약 및 특정 작업 이행이 이루어지는 것이다.

2) 여론 조사 및 투표

기존 오프라인 투표 시스템은 신뢰할 수 있는 중앙 관리 기관이 투표의 모든 프로세스를 관리해야 투표 결과에 대한 신뢰도를 얻을 수 있고, 온라인 투표 시스템은 기술적인 보안성과 안정성이 완벽히 구현되었을 때 가능하며 보안 위험에 대한 불확실성을 가지고 있다.

스마트 컨트랙트 기술을 온라인 투표 시스템에 적용하면 투표 항목, 투표 참여자, 투표 후보자, 투표 시간 등의 투표 업무에 필요한 일체의 요소들과 프로세스를 블록체인에 등록하여 자동화 처리를 할 수 있고, 중앙 관리 기관 없이도 신뢰도 높은 온라인 투표를 할 수 있다. 이에 따라 중앙 관리 기관을 유지하는 비용이나 투표 결과를 얻는 데까지 걸리는 시간이 크게 절약된다. 또한 투표자 정보 및 집계 정보를 분산 관리 하므로 투명성과 기밀성이 보장된다.

경기도 ‘따복공동체 주민 제안 사업 심사’ 온라인 투표 시스템. 출처 : 오픈소스 소프트웨어 통합지원센터

블록체인 스타트업 블로코는 국내 최초로 스마트 컨트랙트 기술을 적용하여 ‘따복공동체 주민 제안 사업 심사’ 온라인 투표 시스템’을 개발했다. 지금까지 일부 주민 대표만이 참석하여 진행했던 심사 과정을 블록체인 기술을 활용하여 지역 주민 모두가 직접 참여할 수 있도록 하였고 신뢰성과 투명성, 객관성을 제고하였다. 이것은 블록체인 심사를 도입함으로써 대의 민주주의의의 한계를 직접 민주주의 방식으로 보완한 사례이다. 블록체인 및 스마트 컨트랙트 기술을 적용한 따복 공동체 투표 시스템은 직접 민주주주의의 길을 열어 정책 전반에 주민의 참여도를 높이며, 주민의 공동체 역량을 강화하고, 매우 적은 예산이 투입되어 예산 절감에도 큰 도움이 된 것으로 평가된다.

이외에도 스마트 컨트랙트는 지적 재산권 보호, 공유 서비스업, 무역 및 유통, 공공 서비스 운용 등 다양한 분야에서 이용할 수 있다.

스마트 컨트랙트를 활용한 탈중앙화 애플리케이션

스마트 컨트랙트는 탈중앙화 애플리케이션인 디앱을 개발할 때 사용된다.

2015년에 이더리움이 처음으로 “Hello World”라는 단어만 포함된 디앱을 소개했고, 이것은 디앱 성장의 시발점이 되었다. 이더리움은 튜링 완전한 블록체인이기 때문에 디앱과 같은 다양한 블록체인 서비스 개발이 가능하다.

종종 디앱과 스마트 컨트랙트를 혼용해서 쓰는 경우가 있는데, 이 두 가지는 엄연히 다른 개념이다.

디앱(DApp, Decentralized Application)이란 블록체인을 기반으로 작동하는 탈중앙화된 분산 애플리케이션으로, 스마트 컨트랙트와 사용자 인터페이스(UI)를 포함한 그 외의 부분으로 이루어진 프로그램 전체를 말한다.

디앱의 핵심 기술 중 하나가 스마트 컨트랙트이며, 스마트 컨트랙트는 화면을 통해 볼 수 있는 사용자 인터페이스가 없으므로 사용자들이 스마트 컨트랙트를 사용하는 서비스를 이용할 수 있도록 디앱이라는 형태로 제공하는 것이다.

기존의 중앙화 애플리케이션이 중앙 서버의 데이터베이스에 정보를 저장하고 서비스 제공 역시 중앙 서버를 통해 했던 것과 달리, 디앱은 중앙 서버 없이 서버가 가졌던 신뢰와 권한을 블록체인 네트워크에 참여하는 수 많은 컴퓨터가 나누어 가진다.

전통적인 앱과 탈중앙화 앱. 출처 : btcc.com

디앱은 스마트 컨트랙트가 도입되면서 본격적으로 사용되기 시작하여 현재는 DAO, DeFi, NFT, P2E(Play-to-Earn)등 다양한 형태로 발전하였고, 다양한 블록체인 네트워크 위에서 디앱이 구동되고 있다.

이 중 이더리움 블록체인을 기반으로 하는 대표적인 디앱들을 알아보자.

1) Decentraland : 메타버스 게임 플랫폼

디센트럴랜드. 출처 : Decentraland

디센트럴렌드(Decentraland)는 이더리움 블록체인을 기반으로 하는 가상 현실(VR) 기술과 블록체인 기술을 결합한 메타버스 게임 플랫폼이다.

디센트럴랜드의 주요 활동은 부동산(LAND) 구매, 부동산 내 가게 경영, 재산 매매 등의 경제 활동이다. 디센트럴랜드 세계에서는 마나(MANA)라는 화폐(토큰)가 통용되며 사용자들은 자신만의 땅, 작품, 대체 불가능한 토큰(NFT) 등을 개발하고 소유한다. 사용자는 자신이 소유한 LAND에 갤러리, 게임 공간 등 원하는 모든 것을 만들 수 있다. 개임 내의 모든 수집품은 디세트럴렌드 마켓 플레이스에서 사고 팔 수 있는 NFT를 사용하여 생성된다.

쉽게 말하자면 사용자들이 가상 현실 환경에서 소유, 판매 및 상호 작용하는 디지털 공간을 제공하는 플랫폼인 것이다. 블록체인을 사용하여 가상 부동산을 소유할 수 있고, 가상 현실 내에서 다른 사용자들과 상호 작용할 수 있는 디지털 소유권 시스템을 구축한다.

디센트럴랜드 마켓 플레이스. 출처 : 디센트럴랜드 홈페이지

디센트럴랜드의 아키테처는 3개의 레이어로 이루어져 있다.

  • 합의 레이어(Consensus Layer) : 토지의 소유권과 콘텐츠를 관리한다. 이더리움의 스마트 컨트랙트를 이용해 가상 세계의 토지에 대한 소유권을 유지한다. 클라이언트는 이더리움 네트워크에 연결하여 LAND의 스마트 컨트랙트에 대한 업데이트를 가져온다.
  • 콘텐츠 배포 레이어(Content Distribution Layer) : 탈중앙화된 배포 시스템을 통해 자산을 다운로드한다. 디센트럴랜드는 가상 세계를 랜더링에 필요한 분산 스토리지 시스템을 이용하여 배포한다. 랜더링될 필요가 있는 부분의 내용이 스마트 컨트랙트에 의해 검색된다.
  • 실시간 레이어(Real-time Layer) : 사용자 간의 커뮤니케이션을 P2P로 실시간 연결한다.

2) 0x : 디지털 자산 거래 프로토콜 및 플랫폼

제로엑스. 출처 : hash.kr

제로엑스(0x)는 사용자가 이더리움 토큰 및 기타 자산의 무허가 P2P 교환을 스마트 컨트랙트를 통해 쉽게 거래할 수 있도록 하는 인프라 프로토콜 및 플랫폼이다. 스마트 컨트랙트를 활용한 오픈 프로토콜을 통해 누구나 탈중앙화 거래소를 운영할 수 있는 환경을 만든다. ZRX는 제로엑스 프로토콜 네이티브 거버넌스 및 스테이킹 토큰이다. ZRX는 제로엑스 플랫폼 내 거버넌스 부여 및 예치(Staking)의 수단으로 사용된다.

제로엑스에서는 0x Launch Kit을 사용하여 플랫폼 위에서 자신만의 탈중앙화 거래소(DEX)를 구축하고 서비스 요금을 부과할 수 있다. 덱스(DEX) 거래소라 불리는 기존의 탈중앙화 거래소는 판매 등록과, 취소, 수정 등 다양한 행위들을 할 때마다 모든 내용을 블록체인에 기록하기 때문에 높은 수수료와 상대적으로 느린 속도를 가지는 단점이 있었다. 제로엑스는 오프체인과 온체인을 이용하여 다양한 행위들이 오프체인에서 이루어지고 최종적으로 거래가 확정되었을 때만 온체인에 기록한다. 즉, 제로엑스는 주문이 체결될 때에만 거래를 블록체인에 기록한다. 따라서 제로엑스는 기존 덱스 거래소의 속도와 비효율적인 측면을 개선하며 비용을 절감하고 블록체인의 블록이 커지는 것을 방지한다.

다른 많은 이더리움 분산형 교환 프로토콜과는 달리, 0x는 대체 가능한 (ERC-20) 토큰과 대체 불가한 (ERC-723) 토큰을 모두 지원한다. 이는 광범위한 자산의 무허가 거래에도 사용될 수 있다는 것을 의미하며, 십여 개가 넘는 다양한 앱들을 통해 이더리움 자산의 대부분을 사고, 팔고, 교환할 수 있는 방법을 제시할 수 있음을 의미한다.

스마트 컨트랙트의 한계점

스마트 컨트랙트는 블록체인 기술의 혁신적인 측면을 대표하는 중요한 요소 중 하나이다. 스마트 컨트랙트는 블록체인의 가능성을 크게 확장시켰으며 제3자를 거쳐야 했던 기존의 계약 시스템의 문제를 일부 해결하고, 더 편리하게 계약 당사자 간 직접 거래를 할 수 있게 해주었다. 그러나 스마트 컨트랙트 기술에도 여러 가지 한계가 있다.

  • 용이하지 않은 수정

앞서 살펴본 스마트 컨트랙트의 특징 중 하나가 일단 생성되면 코드를 변경할 수 없다는 것이었다. 이것은 악의적인 공격자가 코드를 쉽게 위조하거나 변조할 수 없어 보안성이 유지되도록 하기도 하지만, 동시에 단점으로 작용하기도 한다. 스마트 컨트랙트 코드에 문제가 있거나 업그레이드를 해야 할 때, 기존에 배포된 코드는 수정할 수 없어 수정된 코드를 반영한 새로운 스마트 컨트랙트를 배포해서 사용해야 한다.

이러한 문제를 보여주는 대표적인 사건이 ‘The DAO’ 해킹 사건이다. 2016년 탈중앙화 조직 DAO에 자금을 빼낼 수 있는 허점이 발견되어 수백만 이더가 도난 당하는 일이 발생했다. 그러나 블록체인상에 기록된 코드를 수정할 수 없어 유출된 이더리움을 제자리로 돌려놓는 하드포크를 진행하게 되었다. 이 해킹 사건은 스마트 컨트랙트의 모든 코드가 공개되어 있다는 점과도 연관된다.

  • 외부 소스 사용 불가

스마트 컨트랙트는 거래를 진행하는 블록체인이 아닌 외부 블록체인의 정보와 블록체인 밖에 있는 정보를 스스로 가져올 수 없다. 이것은 거래의 원활한 진행을 방해하는 요소가 되는데, 특정 조건을 충족하여 계약이 이행되는 과정에서 조건의 충족 여부 확인을 위해 외부 정보가 필요할 때 문제가 발생한다. 이로 인해 때때로 계약 이행 과정에서 잘못된 데이터를 가져오거나 신뢰할 수 없는 정보에 의존해야 하는 상황이 발생한다.

  • 시스템 결함 가능성

스마트 컨트랙트를 실행하는 시스템에 결함이 생기면 작동이 안 되거나 특정 부분에서 거래가 진행되지 않는 문제가 발생할 수 있다. 이런 경우 단순한 시스템 오류에서 멈추지 않고 계약 전체에 영향을 주기 때문에 2차, 3차 사고로도 번질 가능성이 있다.

  • 네트워크 환경에 따른 비용

트랜잭션의 처리 속도와 비용은 블록체인 네트워크 환경의 영향을 받는다. 블록체인 네트워크에서는 트랜잭션을 처리할 때 해당 트랜잭션을 블록에 담은 채굴자에게 실행과 검증에 대한 보상으로 수수료를 지불한다. 트랜잭션 수수료는 네트워크에 따라 고정되어 있을 수도 있지만, 그렇지 않은 경우에는 네트워크 환경 상태에 따라 수수료를 더 많이 지불해야 한다. 이것은 블록체인 네트워크에서 처리해야 할 트랜잭션의 양이 많을수록 트랜잭션 처리 속도가 더 오래 걸리게 되고, 이더리움 등 일부 체인에서는 수수료를 높게 지불한 순서대로 트랜잭션을 처리하기 때문이다. 따라서 사용자가 많은 네트워크에서 트랜잭션을 빠르게 배포하거나 사용하고 싶은 경우, 수수료를 더 많이 지불하여 채굴자가 자신의 트랜잭션을 먼저 블록에 넣도록 유인을 제공해야 한다.

마무리

지금까지 스마트 컨트랙트의 메커니즘, 활용 사례, 한계점에 대해 살펴보았다. 스마트 컨트랙트는 이더리움을 시작으로 블록체인 기술에 다양한 혁신을 가져왔고 블록체인의 생태계를 크게 확장하는 데에 중요한 역할을 했다. 이 혁신은 거래와 계약의 방식을 바꾸고 새로운 형태의 플랫폼 및 비즈니스 모델을 가능하게 했다. 그러나 스마트 컨트랙트는 여전히 발전 중이며 기술의 한계와 도전 과제 역시 존재한다.

블록체인과 스마트 컨트랙트의 미래는 무궁무진하며 우리는 더 많은 혁신과 가능성을 기대할 수 있을 것이다.

--

--