스마트 계약 쉽게 이해하기
스마트 계약은 블록체인에 저장된 프로그램입니다. 조건이 충족될 때마다 적힌 그대로 정확히 실행됩니다. 이 레슨에서는 그것이 무엇을 가능하게 하고 위험은 어디에 있는지 설명합니다.
변호사가 아니라 자판기
이 용어는 1994년 컴퓨터 과학자 닉 재보(Nick Szabo)가 만들었습니다. 그가 든 비유는 자판기였습니다. 상품을 고르고 값을 치르면 기계가 상품을 내줍니다. 점원이 무엇을 판단할 필요가 없습니다.
스마트 계약도 마찬가지입니다. "이런 일이 생기면 저렇게 하라"는 형태의 규칙을 담고 있습니다. 올바른 입력을 보내면 프로그래밍된 결과를 내놓습니다.
이름과 달리 스마트 계약은 법적 계약이 아닙니다. 코드입니다. 만든 사람의 의도와 달라도 코드에 적힌 대로 움직입니다.
무엇이 유용할까
- 자동. 조건이 충족되면 코드가 실행됩니다. 누군가 단계마다 승인할 필요가 없습니다.
- 예측 가능. 같은 입력은 언제나 같은 결과를 냅니다.
- 공개. 누구나 사용하기 전에 계약의 활동, 그리고 대개는 코드까지 살펴볼 수 있습니다.
- 바꾸기 어려움. 한번 배포된 계약의 코드는 수정할 수 없습니다.
어떤 프로젝트는 나중에 개발자가 코드를 교체할 수 있는 업그레이드 스위치를 넣습니다. 버그를 고칠 수 있지만, 그 스위치를 쥔 사람을 믿어야 한다는 뜻이기도 합니다.
어디에 쓰일까
스마트 계약은 토큰을 만들고, 거래소와 대출 서비스를 운영하며, 스테이블코인을 발행합니다. 어떤 회사도 키를 갖지 않은 채 큰돈을 보관할 수 있습니다. 그것이 강점이자, 실수가 그토록 비싼 이유입니다.
코드가 틀렸을 때
2016년, 수천 명이 이더리움 위의 투자 펀드인 The DAO에 이더를 모았습니다. 한 공격자가 코드의 결함을 찾아내 360만 ETH가 넘는 돈을 빼 갔습니다.
계약은 코드가 허용하는 일을 했을 뿐입니다. 돈을 돌려주기 위해 이더리움 커뮤니티 대부분은 2016년 7월 20일 장부 자체를 바꾸는 데 동의했습니다. 일부는 원칙상 이를 거부하고 옛 체인을 유지했고, 그 체인은 오늘날 이더리움 클래식으로 이어지고 있습니다.
이런 구제가 다시 일어나리라고 기대하지는 않습니다. 오늘날 계약이 악용되면 돈은 대개 사라집니다.
여러분에게 의미하는 것
스마트 계약을 쓴다는 것은 지갑으로 거래에 서명한다는 뜻입니다. 그 서명이 계약에 여러분의 토큰을 옮길 권한을 줄 수 있습니다.
- 서명하기 전에 지갑에 나오는 내용을 읽으세요. 이해하지 못한 것을 승인하는 것을 블라인드 서명이라고 하며, 큰 위험입니다.
- 오랫동안 운영되었고 독립 감사인의 검토(감사)를 받은 계약을 고르세요. 감사는 위험을 낮출 뿐 없애지는 않습니다.
- 뜻밖의 보상을 "받으려고" 서명하지 마세요. 악성 승인은 레슨 37에서 다룹니다.
스마트 계약에 버그가 있으면 개발자가 언제든 코드를 고칠 수 있을까?
스마트 계약은 스스로 집행되는 코드입니다. 중개자를 없애는 동시에, 실수를 바로잡아 줄 사람도 없앱니다.
출처
- ethereum.org: Introduction to smart contracts
- ethereum.org: Timeline of all Ethereum forks
- ethereum.org: What is Ethereum?
- ethereum.org: Ethereum security and scam prevention
2026년 10월 8일에 이 출처들과 사실을 대조했습니다.
이메일로 듣는 강좌
시작을 돕는 짧은 이메일 5통, 그 후에는 한 달에 한 번 새 소식을 보냅니다. 가격 예측도, 과장 광고도 없습니다.