스마트 컨트랙트란?

스마트 컨트랙트는 블록체인에서 코드대로 실행되고 자금을 보유하는 프로그램입니다. 디파이와 엔에프티의 기반이지만 실행은 되돌릴 수 없습니다.

핵심 답변: 스마트 컨트랙트는 블록체인에 저장된 프로그램으로, 누군가 거래를 보내면 작성된 그대로 실행됩니다. ethereum.org에 따르면 특정 주소에 있는 코드와 데이터의 모음이며, 자금을 보유할 수 있는 계정의 한 종류입니다. 스마트 컨트랙트는 디파이, 엔에프티, 다오를 움직이지만, 코드 버그나 무심한 승인 한 번으로 돈을 잃을 수 있고 그 거래는 되돌릴 수 없습니다.

스마트 컨트랙트를 쉬운 말로 이해하기

이름은 법률 문서처럼 들리지만 스마트 컨트랙트는 그저 소프트웨어입니다. ethereum.org 스마트 컨트랙트 문서(2026-11-01 확인)는 "스마트 컨트랙트는 이더리움 블록체인에서 실행되는 프로그램일 뿐"이라고 설명합니다. 지갑처럼 주소가 있어 잔액을 보유하고 거래를 받을 수 있습니다. 차이는 개인키로 이를 통제하는 사람이 없다는 점이며, 무슨 일이 일어날지는 코드가 정합니다.

ethereum.org가 컴퓨터 과학자 닉 사보의 비유로 소개하는 대표적인 예가 자판기입니다. 정확한 동전을 넣고 버튼을 누르면 기계에 내장된 로직이 과자를 내줍니다. 카운터 뒤에서 마음을 바꿀 사람은 없습니다. 스마트 컨트랙트도 마찬가지로, 올바른 입력이 주어지면 프로그램된 로직이 결과를 내놓습니다.

스마트 컨트랙트는 디파이(대출, 거래), 엔에프티, 다오를 이루는 기본 구성 요소입니다.

작동 방식: 구체적인 예

탈중앙화 거래소(덱스)에서 토큰을 교환한다고 생각해 봅시다.

  1. 덱스 웹사이트를 열고 지갑을 연결합니다. 웹사이트는 화면일 뿐이고 실제 작업은 체인 위의 스마트 컨트랙트가 합니다.
  2. USDC 같은 토큰을 팔려면 먼저 승인에 서명합니다. "이 덱스 컨트랙트가 내 USDC를 최대 X개까지 옮길 수 있다"고 USDC 컨트랙트에 알리는 거래입니다.
  3. 그다음 스왑 거래에 서명하면 지갑이 가스비와 함께 덱스 컨트랙트로 보냅니다.
  4. 검증자가 거래를 블록에 담으면 컨트랙트 코드가 실행됩니다. 풀 가격을 확인하고, 내 USDC를 가져가고, 같은 거래 안에서 다른 토큰을 보내 줍니다. 확인 하나라도 실패하면 거래 전체가 취소되지만, 이미 쓴 가스비는 그대로 냅니다.

모든 것이 공개되어 있습니다. 거래 해시를 블록 탐색기에 붙여 넣으면 어떤 컨트랙트가 호출되었고 무엇이 움직였는지 정확히 볼 수 있습니다.

ethereum.org가 밝힌 두 가지 사실이 위험을 결정합니다. 첫째, 컨트랙트를 배포하거나 사용하는 것도 거래이므로 가스비가 듭니다(가스 계산기로 추정할 수 있습니다). 둘째, 스마트 컨트랙트는 기본적으로 삭제할 수 없고, 컨트랙트와의 상호작용은 되돌릴 수 없습니다.

스마트 컨트랙트와 일반 계약 비교

일반 계약스마트 컨트랙트
작성 언어법률 문장프로그램 코드(예: 솔리디티)
집행 주체법원, 은행, 사람블록체인 노드
중개자가 멈출 수 있나보통 가능코드에 그 권한이 있을 때만
투명성당사자끼리만 공유코드와 거래가 체인에 공개
문제가 생기면협상, 지급 취소, 소송대개 되돌릴 수 없음, 코드에 따라 다름
주요 위험상대방 불이행버그, 악성 코드, 잘못된 승인

스마트 컨트랙트를 안전하게 쓰는 단계

  1. 공식 출처에서 주소를 확인하세요. 프로젝트 공식 사이트나 문서를 이용하고 즐겨찾기에 저장합니다. 피싱 사이트는 화면을 똑같이 베낍니다.
  2. 블록 탐색기에서 컨트랙트를 살펴보세요. 소스 코드가 검증되었는지, 얼마나 오래되었는지, 얼마나 많이 쓰이는지 확인합니다. 갓 배포되었고 검증되지 않은 컨트랙트는 특히 조심해야 합니다.
  3. 지갑이 서명을 요구하는 내용을 읽으세요. "승인"이나 "허가" 요청은 컨트랙트에 내 토큰을 옮길 권리를 줍니다. 지갑이 허용한다면 무제한 대신 필요한 수량만 승인하세요.
  4. 소액으로 시작하세요. 작은 금액으로 교환이나 예치를 먼저 해 보고 탐색기에서 결과를 확인합니다.
  5. 큰 자산은 다른 지갑에 두세요. 디파이에는 금액이 제한된 핫월렛을 쓰고, 장기 자산은 따로 보관합니다.
  6. 필요 없는 승인은 취소하세요. 토큰 승인 강의에서 승인 내역을 확인하고 취소하는 방법을 배울 수 있습니다.

온체인 거래 전 과정은 덱스를 안전하게 쓰는 법과 덱스 입문 가이드를 참고하세요.

흔한 실수와 위험

  • 감사를 받았으니 안전하다고 믿기. 감사는 위험을 줄이지만 버그가 없다는 것을 증명하지는 못하며, 감사받은 코드에서도 큰 손실이 났습니다.
  • 무제한 승인. 승인해 둔 컨트랙트가 나중에 공격당하면, 무제한 승인 때문에 공격자가 지갑의 해당 토큰을 모두 빼 갈 수 있습니다.
  • 관리자 키와 업그레이드. 팀 키로 업그레이드하거나 일시 정지할 수 있도록 일부러 설계된 컨트랙트도 있습니다. 키를 누가 쥐고 있느냐에 따라 사용자를 보호할 수도, 해칠 수도 있습니다.
  • 버그는 고치기 전까지 남아 있습니다. ethereum.org 역사 페이지에 따르면 2016년 다오 공격으로 안전하지 않은 컨트랙트에서 360만 ETH 이상이 빠져나갔고, 이는 포크 강의에서 다룬 하드포크로 이어졌습니다.
  • 내용을 모른 채 서명하기. 가짜 "에어드롭 수령"이나 "지갑 동기화" 페이지는 토큰을 넘겨주는 거래에 서명하도록 유도합니다.

자주 묻는 질문

배포된 스마트 컨트랙트를 바꿀 수 있나요?

주소에 있는 코드가 스스로 바뀌지는 않지만, 개발자가 업그레이드 가능하거나 관리자 키로 통제되도록 설계할 수 있습니다. 프로젝트 문서와 탐색기 페이지에서 어느 쪽인지 확인하세요.

스마트 컨트랙트에 법적 효력이 있나요?

소프트웨어일 뿐 자동으로 법적 계약이 되지는 않습니다. 법적 합의가 적용되는지는 프로젝트 약관과 거주 국가의 법에 따라 다릅니다.

실패한 거래에도 왜 수수료가 나가나요?

컨트랙트가 호출을 거부하기 전에 검증자가 이미 계산 작업을 했기 때문에, 거래가 취소되어도 사용된 가스비는 지불됩니다.

스마트 컨트랙트를 쓰려면 코드를 읽을 줄 알아야 하나요?

아닙니다. 다만 공식 컨트랙트인지 확인하고, 무엇을 승인하는지 보고, 소액으로 시작해야 합니다.

결론

스마트 컨트랙트는 자금을 자동으로 보관하고 옮기는 공개 프로그램으로, 점원 없는 자판기와 같습니다. 덕분에 디파이와 엔에프티가 가능하지만, 실수나 공격은 되돌리기 어렵거나 불가능합니다. 주소를 확인하고, 서명 내용을 읽고, 승인 한도를 줄이고, 소액으로 시험해 보세요.

교육용 자료이며 투자 조언이 아닙니다. 규칙 확인일 2026-11-01.

관련 읽을거리