블록체인

스마트 컨트랙트란

sungjae0309 2026. 5. 18. 00:50

스마트 컨트랙트란? 

스마트 컨트랙트는 "서면으로 체결하던 계약 조건을 코드로 작성해서 블록체인에 넣어두고, 특정 조건이 충족되면 제3자의 개입 없이 자동으로 계약이 실행되도록 하는 기술" 이다. 

 

첫 탄생 

1994년 암호학자인 Nick Szabo가 처음 제안한 개념이다. 

닉 사보가 든 가장 유명한 예시가 바로 자판기이다. 자판기는 사용자가 금액을 투입하고, 음료수 버튼을 누르는 조건을 충족하면 중개자 없이 자판기가 알아서 음료수를 내어준다. 스마트 계약은 이 흐름을 블록체인 네트워크에서 구현한 것이라 생각하면 된다. 


작동 원리 

스마트 계약은 기본적으로 프로그래밍의 조건문 구조를 따른다

  1. 계약 조건 정의 ( = If ) : 계약 당사자들이 조건과 합의한 내용을 코드로 작성한다 
    1. 예를 들면, A가 B에게 5월 20일까지 물품 배송 완료하면, A에게 1개의 이더리움을 전송한다
  2. 블록체인 배포: 작성한 코드가 블록체인에 올라간다. 이때부터 코드는 임의로 수정/삭제가 불가능하다 
  3. 조건 충족 및 검증: 외부 데이터를 통해 조건이 충족되었음이 확인되면, 네트워크의 노드들이 이를 검증한다
  4. 자동 실행 ( = then ) : 조건이 참으로 판명되면, 계약이 자동으로 실행되어 자산이 이동하거나 데이터가 변경된다

핵심 특징과 장점

  • 탈중앙성: 은행, 부동산 ,중개인, 법무사 등 계약을 보증할 수 있는 제 3자가 필요 없어지게 된다. 
  • 자동화 및 고속 처리: 사람이 수동으로 서류 확인하고 승인하는 과정이 생략되므로, 조건이 충족되는 즉시 실시간으로 계약이 이행된다
  • 변조 불가능: 한 번 블록체인에 기록된 스마트 계약 코드는 누구도 임의로 수정할 수 없다 
  • 투명성: 블록체인 위에 공개되어 있으므로, 계약 조건과 이행 조건을 누구나 투명하게 추적하고 검증할 수 있습니다 

스마트 컨트랙트의 한계

  • 코드 취약점: 개발자가 작성한 계약 코드에 치명적인 버그나 오타가 있을 수 있다
    • 이는 해커의 타깃이 될 수 있으며 수정이 불가능하다는 장점이 오히려 독이 될 수 있다.
    • 대표적 사례: 2016년 The DAO 해킹 사건 
      • The DAO 사건은 블록체인 역사상 가장 치명적인 사건이다. 이 사건으로 인해 이더리움이 이더리움과 이더리움 클랙식으로 쪼개진 결정적인 계기가 되었다
      • 우선 DAO란, Decentralized Autonomous Organization의 약자로 탈중앙화 자율 조직 을 의미한다. 이들의 목적은, 자금을 모아 중앙 관리자 없이 오직 스마트 계약과 투표를 통해 유망한 프로젝트에 투자하는 일종의 벤처캐피탈이었다.2016년 당시 기준으로 1억5천만 달러 상당의 이더리움을 펀딩으로 모으며 시작하게 된다
      • 그러나 2016년, 해킹 사건이 터진다. 비유를 하자면 아래와 같다. ATM기에서 돈을 출금하는 상황을 상상해보자  
        • ATM기에서 돈을 출금하는 기본 원리는 아래와 같다
          1. 고객이 출금 요청
          2. ATM기가 고객의 통장 잔고 확인
          3. 돈을 지급
          4. 통장 잔고 차감 
        • 그러나, 해커는 3번과 4번 사이의 미세한 틈을 노렸다 
          1. 해커는 돈을 출금하는 함수를 호출한다
          2. 스마트 컨트랙트가 자신의 잔고를 깎기도 전에, 즉 4번이 실행되기 전 다시 출금 함수를 호출하도록 하였다
          3. 스마트 컨트랙트는 잔고가 줄어들지 않았으니 아직 돈이 있다고 판단하고 또 돈을 출금을 한 것이다 
          4. 해커는 이 과정을 무한 반복하면서 잔고는 그대로 둔 채 시스템의 돈만 계속해서 빼내 간다 
          5. 이 방식으로 해커는 당시에 약 360만개의 ETH 탈취하는데에 성공한다 
  • 오라클 문제: 스마트 계약은 블록체인 외부의 현실 세계 데이터를 알지 못한다.
    • 외부 데이터를 블록체인 안으로 가져오는 과정을 "오라클"이라고 한다.
    • 이 외부 데이터를 제공하는 주체가 조작되거나 거짓 정보를 준다면 계약이 잘못 실행될 수 있다
  • 법적 규제: 현실의 법적 분쟁 시 스마트 계약의 자동 이행을 취소하거나 되돌리기 어렵다
    • 따라서 기존에 있는 법 체계와 어떻게 융합하질에 대한 논의가 더 필요하다 

 

'블록체인' 카테고리의 다른 글

Solidity 실습 준비: MacOS에서 Foundry 개발 환경 설치  (0) 2026.05.20
Solidity 알아보기 ( 공식 문서 참고 )  (0) 2026.05.19
레이어란  (0) 2026.05.17
Validator와 Staking  (0) 2026.05.16
노드란  (0) 2026.05.15