본문 바로가기
[투자] 오늘보다 나은 내일/크립토 cryptocurrency

스마트 콘트랙(Smart contract)이 어떻게 블록체인을 특별하게 만드는가?

by actuary 2022. 12. 7.

안녕하세요. 오늘은 우리에게 친숙한 개념에 빗대어 스마트 콘트랙이란 무엇인지, 이것이 왜 블록체인을 특별하게 만드는지 포스팅해보도록 하겠습니다. 흔히들 이더리움을 스마트콘트랙(스마트 콘트랙트, 스마트 컨트랙이라고도 부르더라구요.) 을 구현 가능한 블록체인이라고 부르는데요, 스마트 콘트랙이란 중개기관 없이 이루어지는 개인 간의 (Peer-to-Peer) 거래를 일컫습니다. 스마트 콘트랙이라는 이름이 생소하게 들리시겠지만, 사실 우리는 이미 실생활에서 스마트콘트랙을 매일 만나고 있는 셈입니다. 

 

#1. 스마트 콘트랙(Smart contract)이란?

스마트 콘트랙(Smart contract)이란, 블록체인에 새겨진 프로그램으로, 미리 주어진 조건이 만족되면 저절로 이루어지는형태의 계약을 일컫습니다. 오늘 겪은 스마트 콘트랙 몇개를 소개하겠습니다. 저는 오늘 아침, 출근길 지하철을 타기 위해 개찰구에서 교통카드를 찍었습니다. 교통카드가 찍히면 제 작고 소중한 체크카드에서 교통비가 빠져나가고, 저와 제 교통카드는 지하철 승차 처리가 됩니다. 미리 주어진 조건이 만족되자, 계약이 자동 체결되었으므로(카드 태그시 교통비 차감, 승차처리), 이게 바로 스마트 콘트랙입니다. 또한 저는 출근한 이후에, 친한 동료들과 점심을 먹은 뒤, 회사 뒤 카페 키오스크에서 커피를 주문했습니다. 아이스아메리카노 1잔과 라뗴 2잔을 누르고, 카드 결제를 하니, 잠시 후 커피가 나왔습니다. 이 또한 미리 주어진 조건을 바탕으로 중재자 없이 계약이 체결되었으니, 스마트 콘트랙의 일종입니다. 스마트 콘트랙 하면 빼놓을 수 없는 가상자산이 바로 이더리움인데요, 이더리움이 무엇인지에 관해서도 별도의 포스팅으로 다루겠습니다.

 

#2. 스마트콘트랙의 장점

스마트 콘트랙의 장점은 스마트콘트랙의 언어를 뺴놓고 얘기할 수 없습니다. 스마트 콘트랙은 솔리디티라는 언어를 통해 구현되는데, 이 솔리디티의 구문 구문을 레고블럭처럼 이해할 수 있습니다. 모자이크와 같이 작은 레고블럭으로는 뭐든 만들 수 있듯이(레고스토어 가보시면 깜짝 놀라실겁니다.), 솔리디티는 IF~, FOR~의 단순한 구문을 레고블럭처럼 쌓아가는 구조로, 사실상 상상할 수 있는 모든걸 구현할 수 있는 언어라고 보실 수 있습니다. 레고블럭처럼 생긴 솔리디티의 구문 구조로 인해, 이더리움에서는 비트코인으로 만들 수 없는 스마트 콘트랙을 만드는 것이 가능합니다. 즉, 네트워크 참여자들 간 합의된 장부의 무결성 ('신뢰'라고 표현할 수 있습니다.)만 보장되던 비트코인과 달리, 이더리움에서는 제3자의 개입 없이 자유롭게 계약이 체결되고 이행됩니다. 이러한 '자유성'이 스마트콘트랙의 매력입니다. 무궁무진하게 활용 가능하다는 점이 바로 스마트콘트랙 앞에서 우리의 가슴이 웅장해지는 이유겠죠.

 

#3. 스마트콘트랙의 한계

이렇게 미래가 밝아보이기만 하는 스마트 콘트랙에도 사실 많은 약점이 있습니다. 첫번째로, 스마트 콘트랙의 레고블럭이라고 설명드렸던 솔리디티 언어 자체가 대중적인 프로그래밍 언어가 아니고, 솔리디티 언어를 통해서 콘트랙트를 설계하는 과정에서 고려해야 하는 문제들이 보기보다 까다롭습니다. 대표적으로 블록체인 밖에 있던 계약 내용을 스마트 콘트랙 안으로 끌어오는 과정에서, 프로그램 소스 코드가 맞다고 확신하기 어렵다는 문제가 있습니다. 예를 들어, 저희가 고깃집에서 양념돼지갈비를 먹는다고 할 때, 양념 맛에 가려져서 고기의 신선함을 확신하기 어려운 문제와 같은 상황이 스마트 콘트랙에서 벌어집니다. 특히, 스마트 콘트랙은 계약이기에, 계약 불이행이 코드 오류로 인해 발생하는 경우, 법률가와 IT전문가 모두를 모셔서 이를 해결해야 하는 매우 골치아픈 상황도 벌어질 수 있습니다.

두번째로, 스마트 콘트랙은 앞서 예로 들었던 지하철 카드 태그의 사례에서처럼, 특정한 거래가 발생하는 시점에 체결되는 것은 문제가 없으나, 미리 약속한 시점에 거래하기로 하는 '예약거래'의 기능은 지원하지 않는다는 점이 있습니다. 간단한 사례로 저는 매일 아침 6시 50분에 핸드폰 알람 앱을 통해 일어나는데요, 스마트콘트랙으로 알람 시계를 만들고자 한다면, 누군가 매일 아침 6시 50분에 직접 알람을 울려주어야만 비로소 가능합니다.(이 얼마나 바보같은 행동입니까!)

세번째로, 스마트 콘트랙은 매우 단순한 형태에서의 거래만 가능합니다. 스마트 콘트랙의 조건이 복잡해질수록, 그에 수반되는 수수료 개념인 가스비(gas fee)가 기하급수적으로 증가하기 때문에, 복잡한 조건의 거래에는 쓰이기 어렵습니다. 그러기에, 다양한 예외 케이스가 있는 거래의 경우, 스마트 콘트랙으로 구현하기 매우 까다로우며, 그런 점에서 스마트 콘트랙을 실제 거래 환경에 적용시, 예상치 못한 문제로 인한 사고 위험이 도사리고 있습니다.

 

이러한 스마트 콘트랙의 여러 한계점에도 불구하고, 이를 활용한 분야는 무궁무진하게 많을 것으로 전망됩니다. 금융, 정보저장, 광고, 게임, VR/AR, 미디어, 마케팅, 의료 등 수많은 프로젝트들이 지금도 활발하게 진행되고 있으며, 1970년 정도에 개발된 인터넷 기술이 2020년에야 비로소 우리 생활 깊숙이 침투했듯이(솔직히 코로나 영향이 컸다고 봅니다.), 2010년정도에 개발된 블록체인 기술이 현재의 스마트 콘트랙에서 도약하여, 우리 생활 깊숙이 침투하게 될 미래가 너무도 기대됩니다.

 

댓글