블록체인 프로젝트에선 빠지지 않는 개념이 있다. 블록체인상 거래의 기초가 되는 ‘스마트컨트랙트’다.
이 스마트컨트랙트는 미국의 컴퓨터과학자 닉 자보(Nick Szabo)가 최초로 떠올린 개념이다. 계약 조건이 디지털 명령어로 기록될 경우, 조건이 충족되면 자동으로 계약이 이행되는 것을 말한다. 이를 활용하면 계약 당사자 간 분쟁이나 중개자 없는 투명한 거래가 가능해진다.
암호화폐의 아버지로 불리는 닉 자보는 1994년 스마트 컨트랙트를 최초로 고안했다. 1998년에는 스마트 컨트랙트를 기반으로 비트골드(Bit Gold)라는 분산된 전자화폐를 제안했다. 그는 컴퓨터 과학자이자, 법률학자이며, 암호학자이다.
닉 자보는 오는 그랜드 인터컨티넨탈 서울 파르나스에서 개최되는 코리아 블록체인 위크(KBW 2019)의 메인 행사인 디파인(D.FINE) 컨퍼런스에 연사로 참여한다. KBW 2019는 오는 9월 27일부터 10월 4일까지 일주일간 열린다. 디파인은 9월30일, 10월1일 이틀간 인터콘티넨탈 파르나스 호텔 2층과 5층 전체에서 진행될 예정이다.
스마트컨트랙트, 어떤 가치를 가질까?
닉 재보의 제안으로부터 20여 년이 지난 후, 스마트 컨트랙트는 널리 퍼져나가고 있다. 블록체인 기술과 결합하면서다. 모두가 거래 내역을 열람하고 공유할 수 있는 퍼블릭 블록체인에선 거래가 성사되는 과정이 투명해야 한다. 스마트 컨트랙트는 그 투명성을 보장한다.
스마트계약의 영향력은 이더리움의 탄생과 함께 더욱 커졌다. 최초의 블록체인인 비트코인은 거래를 위해 스크립트라는 명령문 집합체를 이용하는데, 여기엔 연산부호로 스크립트를 기록하면 조건에 따라 자동으로 계약을 이행하는 스마트 컨트랙트가 있었다. 하지만 비트코인 스크립트에는 반복문을 사용할 수 없다는 한계가 있다. ‘A가 B 행위를 100번 할 경우’라는 계약 조건을 명시하려면 ‘A가 B 행위를 할 경우’를 100번 써야 했다.
이를 해결한 것이 이더리움이다. 이더리움 블록체인은 가스(Gas)비라는 수수료 개념을 도입하고 이 수수료의 한계를 설정해뒀다. 계약 조건을 충족시킬 때마다 수수료가 발생하는데, 이 수수료가 한계에 달하면 조건 반복이 멈춘다. 이로써 반복문까지 허용된 편리한 스마트 컨트랙트가 탄생했고, 블록체인을 기반으로 개발되는 서비스들은 서비스 내 거래를 스마트 컨트랙트로 설계할 수 있게 됐다.
스마트 컨트랙트 보안 솔루션 기업인 ‘수호’의 박지수 대표는 “스마트 컨트랙트를 통해 중개인 없이도 기록을 저장하고, 자산을 이동하고, 계약을 이행하는 일련의 과정이 굉장히 효율적으로 변했다”며 “이를 기반으로 비효율적이던 기존 거래 시스템이 발전해가고 있다”고 설명했다.
현재의 스마트컨트랙트는 갈 길 남아…한계 보완 노력도 지속
그러나 스마트 컨트랙트를 도입한 블록체인 서비스 중 실생활에 널리 쓰이는 서비스는 아직 찾아보기 힘들다. 스마트 컨트랙트 자체에 한계점이 존재하며, 아직 이를 완벽히 극복하지 못했기 때문이다.
현재 스마트 컨트랙트는 이름과 달리 설정된 모든 조건이 자동으로 실행되지 않는다. 컨트랙트가 어떤 동작을 하기 위해서는 외부 명령이 필수다.
‘1월 1일 0시 0분 김○○에게 100만 원을 보내줘’라는 스마트 컨트랙트를 구성했다고 예를 들어 보자. 이 경우 1월 1일 0시 0분이 되더라도 자동으로 김○○에게 100만원이 전송되지 않는다. 누군가 전송을 명령하면 스마트 컨트랙트가 계약 조건이 합당한지 본 후 이를 실행한다. ‘자동 계약’이라고 하지만 100% 자동이 아니기 때문에 사용에 불편함을 겪을 수 있다.
현재 개발자들은 이런 문제점을 외부 스케줄러를 활용해 해결하고 있다. IFTTT(If This Then That)와 같은 자동 명령 프로그램을 이용해 특정 시기가 되면 스마트 컨트랙트에게 명령을 넣도록 하는 것이다.
혹은 스마트 컨트랙트에게 수동적인 명령을 넣기도 한다. ‘1월 1일 토큰을 지급해줘’가 아니라 사전에 토큰을 모두 지급한 후 ‘1월 1일부터 토큰을 이동할 수 있게 해줘’와 같은 형식이다. 사용자가 약속된 시간에 토큰을 이동하는 행위 자체가 명령이 돼 스마트 컨트랙트를 실행하는 것이다.
스마트 컨트랙트가 가진 또 다른 한계점은 수정이 불가하다는 점이다. 이는 이더리움에 한정된 문제점이다. 이더리움 스마트 컨트랙트에 한 번 입력한 항목은 수정할 수 없다. 비가역성 부분에서 신뢰도를 높이는 데 도움이 되지만 단점이 되기도 한다.
실수로 항목을 잘못 적었을 경우 기존 것은 폐기하고 새로운 스마트 컨트랙트를 만들어야 하는 번거로움이 있다. 이오스, 온톨로지 등 이더리움 이후에 나온 블록체인 플랫폼들은 이 같은 단점을 파악하고 상호 합의 아래 수정할 수 있게 문제를 개선했다.
스마트 컨트랙트의 한계점을 보완하려는 노력은 계속되고 있다. 앞으로는 계약 기능을 넘어 하나의 소프트웨어로서 기능할 것이라는 의견도 나온다. 이진호 헥슬란트 블록체인 개발자는 “계약이라고 얘기하지만 사실 스마트 컨트랙트는 블록체인 위에 올라가 있는 하나의 소프트웨어이자 프로그램”이라며 “지금은 계약이라는 단어에 얽매여 문서를 대체하는 디지털 계약서와 같은 역할을 하지만, 앞으로는 블록체인 서비스를 위한 소프트웨어 형태로 발전해나갈 것”이라고 내다봤다.
/박현영·노윤주기자 hyun@decenter.kr
- 박현영 기자
- hyun@decenter.kr