인사이트
블록체인 스마트 컨트랙트 개념 및 장점
2023년 01월 20일
블록체인을 공부하거나, 암호화폐 투자를 하다 보면 ‘스마트 컨트랙트(Smart contract)’라는 용어를 한 번쯤은 들어보셨을 거예요.
스마트 컨트랙트를 한글로 직역하면 ‘똑똑한 계약서’라는 뜻인데요. 똑똑한 계약서라니, 무엇을 의미하는 걸까요?
스마트 컨트랙트는 계약 당사자 간 거래 내용을 코드로 기록해 블록체인에 올리면, 계약 조건이 충족됐을 때 계약을 자동으로 이행해 주는 시스템입니다. 이를 통해 은행처럼 계약 이행을 검증・보증하는 중앙화된 제3자 없이도 계약을 자동으로 이행할 수 있다는 점에서 매우 편리하고 경제적이라는 장점이 있습니다.
그렇다면, 기존의 계약 방식에는 어떤 문제가 있길래 스마트 컨트랙트라는 개념이 등장한 걸까요?
1) 주식거래
온라인으로 주식 거래해 보신 적 있으신가요? 주식 거래를 한다는 건 주식을 팔려고 하는 매도자와 주식을 구매하려고 하는 매수자 간에 자산을 거래하는 것입니다. 즉, 거래 자체는 매도자와 매수자 간에 직접적으로 발생합니다.
그러나, 실제로 주식 거래를 할 때는 매수자가 매매 대금을 은행에 지불하면, 은행은 한국예탁결제원에 장부상 소유권 이전을 요청합니다. 매매 대금은 다시 시중은행 간 계정을 통해 결제됩니다.
2) 해외 송금
해외 송금을 할 때도 이와 비슷합니다. 외국으로 송금을 할 때는 다음과 같은 과정을 거칩니다.
1. 은행에 해외 송금을 요청한다.
2. 은행은 외환중개은행에 지급을 요청한다.
3. 외환중개은행은 송금받을 해외 은행에 입금한다.
4. 해외 은행은 수취인에게 전달한다.
이러한 과정에서 은행이 외환중개은행에 요청할 때 송금 수수료와 전신료가 발생하며, 외환중개은행이 해외은행에 입금할 때도 중개 수수료가 발생합니다. 또한 해외 은행이 입금받는 과정에서도 수취료가 발생하죠.
주식 거래와 해외 송금 사례에서 알 수 있듯이, 개인 간 거래를 할 때도 수많은 중개자를 거쳐야 합니다. 그렇다면 왜 이런 복잡한 절차를 거쳐 거래를 해야 할까요? 이는 디지털 데이터의 특징 때문입니다.
디지털 데이터는 복제가 쉽다는 특징이 있습니다. ctrl+c(복사), ctrl+v(붙여넣기) 한 번으로 어떠한 데이터든 원본과 완전히 동일한 데이터를 만들어낼 수 있는 것이죠.
따라서 디지털 자산 역시 복제될 위험이 있습니다. 내 계좌에 있는 1만 원을 복제할 수 있다면, 이는 금융 시스템 붕괴로 이어질 수 있습니다. 따라서 아무나 디지털 자산을 함부로 다룰 수 없도록 은행과 정부는 신뢰할 수 있는 금융 기관을 설립해 거래를 검증합니다. 이렇게 디지털 상에서 거래할 때 거래를 검증하는 기관을 신뢰할 수 있는 제3자(trusted third party)라고 하는데요. 오늘날의 디지털 자산 거래는 신뢰할 수 있는 제3자라는 중앙 주체에게 무결성과 보안을 의존해야 하는 시스템입니다.
신뢰할 수 있는 제3자를 통한 디지털 자산 거래는 매우 불편합니다. 거래 중간 과정에서 제3자가 많아질수록 거래가 처리되는 데 시간이 오래 걸릴 수밖에 없습니다. 또한, 신뢰할 수 있는 제3자를 유지하는 비용은 국가의 세금 또는 개개인의 수수료로 충당되는 경우가 많습니다. 즉, 신뢰할 수 있는 제3자를 통한 금융 거래를 위한 비용은 사용자가 부담해야 하는 것이죠.
기존 디지털 거래 시스템은 신뢰할 수 있는 제3자를 통해 거래를 할 수 있었습니다. 이로 인해 개인이 부담해야 하는 비용이 컸고, 제3자 시스템에 보안 등의 문제가 생기는 경우 개인이 자신의 자산을 보호할 수 있는 방법이 없었죠.
따라서 1980년대부터 많은 사람들이 디지털 상에서 제3자 없이 개인과 개인이 직접 거래를 할 수 있는 방안을 연구하기 시작했습니다. 그리고 1994년 암호학자 닉 사보(Nick Szabo)는 자신의 아티클 <Smart Contract>를 통해 오늘날 우리에게 익숙한 스마트 컨트랙트의 개념을 다음과 같이 정의했습니다.
“a computerized transaction protocol that executes the terms of a contract (계약 사항을 이행하는 전산화된 거래 프로토콜)“
앞서 설명한 것처럼 스마트 컨트랙트란 당사자 간에 계약을 작성하고, 계약 조건을 만족하면 컴퓨터를 통해 자동으로 계약을 이행한다는 것인데요.
닉 사보는 스마트 컨트랙트를 설명하기 위해 자판기를 예로 들었는데요.
커피 자판기에 300원을 넣으면 자판기는 우리에게 커피를 제공합니다. 다시 말해, 자판기와 나 사이에는 ‘300원을 넣으면(조건), 커피를 내려준다(이행)’이라는 계약이 존재하는 것입니다.
중요한 것은, 자판기의 계약 실행 과정에서 신뢰할 수 있는 제3자가 필요하지 않다는 점입니다. 자판기에는 이 계약이 프로그래밍 되어 있으며, 자판기의 하드웨어가 300원이 들어왔다고 인식하는 순간 자동으로 계약을 이행하기 때문이죠.
닉 사보가 제안한 스마트 컨트랙트는 다음의 특징을 가지고 있습니다.
1. 지불 조건, 유치권, 기밀 보장 등 일반적인 계약의 조건을 만족해야 한다.
2. 계약 지불 조건이 만족되면, 자동으로 계약이 이행되어야 한다. 이를 위해 컴퓨터 코드로 스마트 컨트랙트를 작성하고, 조건에 따라 자동으로 계약이 수행되도록 해야 한다.
그러나 스마트 컨트랙트의 개념이 등장한 후, 실제로 스마트 컨트랙트가 구현되기까지는 많은 시간이 걸렸습니다. 스마트 컨트랙트의 핵심은 컴퓨터 코드로 계약 내용을 작성하고, 조건을 만족하면 컴퓨터가 이를 자동으로 이행해줘야 하는데, 컴퓨터 시스템에 있는 데이터는 쉽게 위변조가 가능하기 때문입니다.
오늘날에는 데이터의 무결성을 보장할 수 있는 다양한 방법이 있지만, 스마트 컨트랙트의 개념이 처음 등장했을 때에는 이 개념을 구현할 기술이 충분하지 않았기 때문에 한계가 있었습니다.
그리고 우리는 이러한 기술적 한계를 극복할 수 있는 방향을 블록체인에서 찾았습니다.
2009년 비트코인이 등장하면서, Peer-to-Peer 네트워크 기반 분산 데이터베이스를 통해 데이터의 무결성을 보장할 수 있는 방법이 생긴 것입니다. 블록체인에서는 네트워크에 참여하는 노드가 동일한 데이터를 공유하고, 암호화 기술을 사용해 데이터의 무결성을 검증할 수 있습니다.
마찬가지로 스마트 컨트랙트를 블록체인 네트워크에 공유하면 스마트 컨트랙트 코드가 변경되었는지의 여부를 검증할 수 있으며, 조건을 이행하면 실행할 수 있습니다.
스마트 컨트랙트는 중앙집중형 디지털 계약과 비교했을 때 다음과 같은 장점이 있습니다.
스마트 컨트랙트는 블록체인 네트워크 위에서 생성되고 실행됩니다. 따라서 컨트랙트 코드와 컨트랙트 수행 내역 역시 블록체인 네트워크에 참여하는 모든 노드가 공유하게 되죠. 따라서 누군가가 계약 기록을 조작하기 위해서는 이 기록을 가지고 있는 모든 노드의 데이터를 변조해야 합니다. 노드의 수가 많을 수록 조작은 점점 더 어려워집니다.
스마트 컨트랙트 코드에 작성된 조건이 만족되면, 계약이 이행됩니다. 이 계약 이행은 계약 당사자의 컴퓨터에서 기록되는 것이 아니라, 많은 노드들에 의해 검증됩니다. 만약 계약 이행 검증 시 문제점이 발견되면 계약 이행 자체가 취소됩니다. 즉, 계약 내용 및 계약 이행 결과를 위변조 하는 것이 어렵고, 여러 노드에 의해 계약 결과가 검증되기 때문에 신뢰성과 투명성이 높습니다.
한번 스마트 컨트랙트 코드를 작성해 배포하고 나면 계약 당사자들이 수동으로 데이터를 입력하거나, 상대방의 계약 의무 이행 여부를 검증하거나, 제3자를 통해 계약 이행 여부를 확인하지 않아도 되기 때문에 효율성이 높습니다.
지금까지 스마트 컨트랙트의 개념과 등장 배경, 장점 등 기본적인 개념을 알아봤는데요. 이어 다음 아티클을 통해서는 스마트 컨트랙트의 작동 방식과 활용 사례를 더 확인해 보겠습니다.
글 이유진 R&D Blockchain Engineer
편집 최인성 Content Manager
🚀 블록체인 개발자 커리어의 시작,
블록체인 부트캠프가 더 궁금하다면?
목록 보기
추천글