스마트계약

Smart Contract

스마트계약(Smart Contract)은 블록체인을 이용하여 일정 조건이 만족되면 자동으로 거래가 실행되도록 작성된 컴퓨터 프로토콜 또는 코드를 뜻한다. 1996년 닉 자보(Nick Szabo)가 이 용어를 처음으로 사용하였다. 그는 이 새로운 스마트계약이 디지털 혁명에 의해 종이 계약보다 더 기능적이며, 인공지능을 사용하지 않고서도 계약 당사자들의 약속을 실행하게 만드는 프로토콜을 가진 디지털 형태의 약속세트라고 정의하였다. 2015년 7월 비탈릭 부테린(Vitalik Buterin)이 블록체인 기술을 통해 컴퓨터 분산네트워크를 구성해서 금융거래 이외에도 계약기능 등을 구현한 ‘이더리움’(Ethereum)이라는 가상통화 플랫폼 서비스를 시작한 후에 이 스마트계약이 더 확산되고 있다.

이 기능을 활용하면 개발자가 프로그래밍 언어로 직접 계약조건과 내용을 코딩할 수 있기 때문에 원칙적으로 모든 종류의 계약을 체결하고 이행할 수 있다. 금융거래·부동산계약·공증·지적재산권·공유경제 등 다양한 형태의 계약을 체결·이행할 수 있으며 ‘블록체인 2.0’이라고도 말한다.

스마트계약은 블록체인 공유네트워크를 통해 계약 이행 및 검증 과정이 자동화되고 계약조건을 확인하는 사람의 간섭과 추가 비용 없이 직접 처리되도록 만든 일종의 컴퓨터 프로그램이다. 따라서 전통적인 계약에 비해 상대방의 불이행 리스크 최소화 및 결제시간의 감소로 비용이 낮아지며, 투명성도 향상되어 신뢰도가 높아짐으로써 더 안전하게 계약이 실행될 수 있다.

예를 들면 손해보험 보상업무의 경우 보험가입자·보험사·손해사정인· 정비업체·병원·사법기관 등 여러 이해관계자들이 각각 확인 및 검증절차를 처리해야 함으로써 많은 비용과 시간이 들어간다. 하지만 이미 합의한 내용이 담긴 스마트계약 프로그램에 따라 블록체인 기반 공유네트워크를 통해 자동 실행조건이 만족되면, 위변조를 막으면서도 각 이해관계자의 간섭 없이 계약이 자동 실행되고, 그 결과는 모든 이해관계자에게 공유됨으로써 계약이 신속하고 정확하며 안전하게 이행될 수 있는 것이다.

쉽게 이해하기

스마트계약은 '이 조건이 되면 이것을 한다'는 계약 내용을 프로그램으로 짜 두어, 조건이 맞는 순간 사람이 손대지 않아도 저절로 실행되게 하는 장치입니다. 돈을 넣고 버튼을 누르면 음료가 나오는 자판기처럼, 약속을 지키게 하는 일을 기계가 맡는다고 보면 됩니다.

왜 블록체인 위에 올릴까요? 프로그램이 한 회사의 서버에 있으면 그 회사가 코드를 고치거나 실행을 멈출 수 있어 결국 그 회사를 믿어야 합니다. 블록체인에서는 여러 참여자가 같은 코드와 기록을 나눠 갖고 함께 검증하므로, 누구 한 사람이 몰래 결과를 바꾸기 어렵습니다. 그래서 서로 모르는 사이라도 중개인 없이 약속 이행을 믿을 수 있게 됩니다.

아이디어 자체는 1990년대에 나왔지만, 널리 쓰이기 시작한 것은 이더리움이 코드를 올려 실행할 수 있는 블록체인을 내놓은 뒤입니다. 비트코인이 주로 '돈을 보내는' 기록에 머물렀다면, 이더리움부터는 계약 같은 임의의 규칙을 올릴 수 있게 되어 '블록체인 2.0'이라는 말이 붙었습니다.

좋은 점은 확인 절차를 거치는 사람과 시간이 줄어든다는 것입니다. 여러 기관이 서류를 주고받으며 하나씩 확인하던 일을, 모두가 보는 같은 기록과 미리 합의한 규칙이 대신합니다. 다만 코드는 쓰인 대로만 움직이므로, 조건을 잘못 짜거나 바깥 세상의 정보(사고 여부, 날씨 등)가 틀리게 들어오면 잘못된 결과도 그대로 자동 실행됩니다.

예를 들면

여행자보험을 스마트계약으로 짰다고 합시다. '항공편이 3시간 넘게 늦어지면 가입자에게 10만 원을 보낸다'는 조건을 코드에 넣어 둡니다. 항공사 운항 정보가 4시간 지연으로 들어오면, 가입자가 서류를 내거나 보험사 직원이 심사하지 않아도 10만 원이 곧바로 지급되고 그 기록을 관계자 모두가 확인할 수 있습니다.

이해를 돕기 위해 만든 사례이며, 실제 사안은 조건에 따라 달라질 수 있습니다.

함께 보면 좋은 용어

2개

이 코스에서 이어 읽기

심화디지털금융과 자산6 / 8번째