용어집개념
스마트 컨트랙트(Smart Contract)란?
스마트 컨트랙트(Smart Contract)는 블록체인에 배포돼, 정해 둔 조건이 충족되면 중개자 없이 자동으로 실행되는 프로그램입니다. 한 번 배포되면 누구나 코드와 실행 결과를 확인할 수 있고, 계약 내용이 코드대로 처리됩니다.
작성: COINOTAG Research Desk최종 업데이트 출처
스마트 컨트랙트의 작동 원리
- 작성: 개발자가 솔리디티(Solidity) 같은 언어로 '어떤 조건이면 무엇을 한다'는 규칙을 코드로 씁니다.
- 컴파일과 배포: 코드를 가상 머신이 읽을 수 있는 바이트코드로 바꾼 뒤 블록체인에 올리면 고유한 컨트랙트 주소가 생깁니다.
- 호출: 이용자나 다른 컨트랙트가 거래를 보내 함수를 실행합니다. 이때 계산량에 따라 가스비를 냅니다.
- 실행과 기록: 네트워크의 모든 노드가 같은 코드를 똑같이 실행해 결과를 검증하고, 바뀐 상태(잔고 등)를 블록에 기록합니다.
자판기에 비유하곤 합니다. 돈을 넣고 버튼을 누르면 사람이 개입하지 않아도 정해진 음료가 나오는 것처럼, 조건을 만족하는 거래가 들어오면 코드가 정해진 결과를 냅니다.
이더리움에서는 컨트랙트가 EVM(이더리움 가상 머신) 위에서 실행되고, 연산 하나하나에 가스가 매겨집니다. 이더리움 밖에서도 솔라나(Rust 기반 '프로그램'), 앱토스·수이(Move), 카르다노(Plutus), 폴카닷(Substrate) 등 여러 환경에서 스마트 컨트랙트가 운영됩니다. 흔히 '코드가 곧 법(Code is Law)'이라는 표현이 쓰이는데, 한 번 배포된 컨트랙트는 사람이 개입하지 않아도 정해진 규칙대로 결정론적으로 작동한다는 뜻입니다.
스마트 컨트랙트의 역사
- 1994년: 컴퓨터 과학자 닉 사보가 글 「Smart Contracts」에서 '계약 조건을 실행하는 컴퓨터화된 거래 프로토콜'이라는 개념을 제시하고, 그 원형으로 자판기를 들었습니다.
- 2015년 7월 30일: 이더리움 메인넷이 가동되며, 누구나 범용 스마트 컨트랙트를 배포할 수 있는 플랫폼이 처음 열렸습니다.
- 2016년 6월 17일: 투자 펀드형 DAO인 'The DAO'의 코드 결함이 악용돼, 모인 ETH의 약 3분의 1인 약 360만 ETH가 공격자의 주소로 옮겨졌습니다. 이더리움은 같은 해 7월 20일 하드포크로 자금을 되돌렸고, 이에 반대한 쪽 체인은 이더리움 클래식으로 남았습니다. 스마트 컨트랙트 보안의 중요성을 업계에 각인시킨 사건입니다.
- 2020년: 컴파운드, 에이브, 유니스왑 같은 대형 디파이 컨트랙트가 급성장한 'DeFi 여름'이 찾아왔습니다.
- 2021년: NFT 표준 ERC-721 기반 컨트랙트가 디지털 자산 시장을 크게 바꿨습니다.
- 2020년대: 영지식 증명 회로, 계정 추상화(ERC-4337) 등 새로운 방식이 등장했습니다.
- 현재: 디파이, NFT, 스테이블코인 등 대부분의 블록체인 서비스가 스마트 컨트랙트 위에서 만들어지고, 여러 체인이 각자의 방식으로 스마트 컨트랙트를 지원합니다.
스마트 컨트랙트는 어디에 쓰이나
- 토큰 발행: ERC-20 토큰, NFT가 모두 스마트 컨트랙트입니다.
- 탈중앙화 거래소·대출: 유동성 풀, 담보 대출, 자동 청산이 코드로 처리됩니다.
- 스테이킹: 이더리움 스테이킹 예치도 스마트 컨트랙트를 통해 이뤄집니다.
- 확장 네트워크: 레이어2는 이더리움 위의 컨트랙트로 자산을 연결합니다.
예시: 대출 프로토콜에 예치할 때
다음은 흐름을 보여 주기 위한 예입니다. 이용자가 대출 프로토콜의 USDC 풀에 USDC를 예치하면, 거래가 컨트랙트의 예치 함수를 호출하고 컨트랙트가 자동으로 ① USDC를 풀에 더하고, ② 예치 증표 토큰을 이용자에게 발행하고, ③ 풀의 이자율을 다시 계산하고, ④ 기록(이벤트)을 남깁니다. 나중에 자산을 찾을 때도 사람의 개입 없이 컨트랙트가 정산을 처리합니다.
알아 두면 좋은 개념
- 취약점: 재진입 공격(The DAO 사건에 쓰인 방식), 정수 오버플로 같은 코드 결함입니다. 상태를 먼저 바꾸고 외부 송금을 마지막에 하는 작성 방식 등이 대표적인 대책입니다.
- 감사(Audit): 배포 전에 전문가가 코드의 보안 문제를 점검하는 과정입니다.
투자자 유의사항
스마트 컨트랙트는 코드대로만 작동하므로 코드에 결함이 있으면 그 결함도 그대로 실행되며, 해킹으로 빠져나간 자산은 되찾기 어렵습니다. 감사(보안 점검)를 받았다고 해서 안전이 보장되지는 않고, 관리자 권한이 남아 있는 컨트랙트는 운영자가 규칙을 바꿀 수 있습니다. 모르는 컨트랙트에 토큰 사용 승인을 하면 자산을 잃을 수 있습니다. 이 글은 정보 제공 목적이며 특정 서비스 이용을 권유하지 않습니다.
투자자 유의사항
한국에서 가상자산 거래는 금융정보분석원(FIU)에 신고한 가상자산사업자를 통해 이루어지며, 2024년 7월 19일부터 「가상자산 이용자 보호 등에 관한 법률」이 시행되고 있습니다.
가상자산은 가격 변동성이 크고 원금 손실이 발생할 수 있습니다. 이 페이지는 정보 제공 목적이며 투자 권유가 아닙니다.
자주 묻는 질문
스마트 컨트랙트는 법적 계약인가요?
이름과 달리 스마트 컨트랙트 자체는 프로그램이며, 법적 계약으로 인정되는지는 나라와 상황에 따라 다릅니다. 코드가 실행된다고 해서 법적 분쟁이 사라지는 것은 아닙니다.
배포된 스마트 컨트랙트는 수정할 수 없나요?
기본적으로 배포된 코드는 바뀌지 않습니다. 다만 업그레이드가 가능하도록 설계한 컨트랙트는 관리자가 새 코드로 교체할 수 있어, 그 권한을 누가 가졌는지 확인해야 합니다.
비트코인에도 스마트 컨트랙트가 있나요?
비트코인도 간단한 조건부 거래 스크립트를 지원하지만, 이더리움처럼 범용 프로그램을 자유롭게 배포하는 구조는 아닙니다.

