스마트 컨트랙트란? 초보자를 위한 안내서

A pen and a point ‘I agree’

스마트 컨트랙트란 무엇을 위한 것인가?

집을 팔아야 한다고 상상해 보자. 이는 복잡하고도 힘든 과정으로서, 수많은 서류 작업, 다양한 회사 및 사람들과의 의사소통 그리고 다양하고도 큰 위험이 수반된다. 집을 파는 사람들의 절대 다수가 부동산 중개인을 찾아 모든 서류작업 처리와 부동산 판매를 맡기고, 협상 시의 중개자 역할과 거래가 종결될 때까지 이를 주관하도록 하는 이유는 이 때문이다.

게다가, 부동산 중개소가 제공하는 에스크로 서비스는 이 같은 거래에서 특히 유용한데, 이는 관련된 금액이 대개는 상당히 큰 데다가 거래 상대방을 사실상 완전히 신뢰할 수 없기 때문이다. 하지만 거래가 성공적으로 이루어지고 나면 판매자와 구매자의 중개인들은 판매 가격의 약 7퍼센트를 수수료로 나눠 갖는다. 이는 판매자에게는 상당한 재정적 손실이 아닐 수 없다.

스마트 컨트랙트는 바로 이러한 상황에서 그야말로 편리하며, 업계 전체를 효과적으로 혁신할 수 있다. 그러면서도 이러한 과정이 주는 부담은 크게 덜어준다. 아마도 가장 중요한 것은 신뢰성 문제가 해결된다는 점일 것이다. 스마트 컨트랙트는 ‘~할 경우 ~이다(If-Then )’라는 원칙을 따르는데, 이는 합의된 금액이 시스템에 전송되어야만 주택 소유권이 매입자에게 양도됨을 뜻한다.

스마트 컨트랙트는 에스크로 서비스 역할도 한다. 즉, 돈과 소유권이 모두 시스템에 저장되어 참여 당사자들에게 정확히 동시에 분배되는 것이다. 더구나 이 거래는 수백 명의 사람들이 증인이 되고 검증하기 때문에 완전무결한 전달이 보장된다. 당사자들 간의 신뢰는 더 이상 문제되지 않으므로 중재자가 필요 없다. 부동산 중개인이 하는 모든 기능을 스마트 컨트랙트에 미리 프로그램해 넣을 수 있으므로 판매자와 구매자 모두가 상당한 금액을 절약할 수 있다.

하지만 이것은 스마트 컨트랙트의 여러 가지 잠재적 용도 중 한 예에 불과하다. 스마트 컨트랙트는 돈, 재산 및 가치 있는 그 밖의 모든 것을 쉽게 교환할 수 있게 해주며, 완전한 투명성을 보장하고, 중개자의 서비스와 그에 수반되는 수수료를 피하며, 당사자들 간의 신뢰 문제를 근절시킬 수 있다. 특정 스마트 컨트랙트의 코드에는 당사자들이 합의한 모든 약관이 포함되며, 거래 자체에 대한 정보는 탈중앙화된 분산형 공공 원장인 블록체인에 기록된다.

A judge and an Ether relaxing on a beach

스마트 컨트랙트의 작동 방식

간단히 말하자면, 스마트 컨트랙트의 작동 방식은 자판기와 닮은 점이 많다. 필요한 만큼의 암호화폐를 스마트 컨트랙트에 넣기만 하면 에스크로, 주택소유권, 운전면허증 등이 자신의 계좌로 들어온다. 모든 규칙과 벌칙은 스마트 컨트랙트에 의해 사전에 정의되어 있을 뿐만 아니라 집행도 스마트 컨트랙트에 의해서 이루어진다.

상호의존성

스마트 컨트랙트는 단독으로 작동할 수 있지만, 다른 스마트 컨트랙트와도 그 개수가 몇 개이든 함께 구현될 수 있다. 이들은 서로 의지하게 되는 방식으로 설정될 수 있다. 예를 들어, 특정 스마트 컨트랙트 하나를 성공적으로 완료하면 다른 스마트 컨트랙트가 시작되도록 할 수 있다. 이론적으로, 시스템과 조직 전체가 전적으로 스마트 컨트랙트 상에서 운영될 수 있다. 이는 어느 정도까지는 다양한 암호화폐 시스템에 이미 구현되어 있다. 이 경우, 모든 법칙이 사전에 정의되어 있기 때문에 네트워크 자체가 자율적이고 독립적으로 기능할 수 있다.

스마트 컨트랙트의 객체

기본적으로, 모든 스마트 컨트랙트에는 필수적인 부분 세 가지가 있는데, 이를 객체라고도 한다. 첫 번째는 서명인, 즉 스마트 컨트랙트를 이용하는 둘 이상의 당사자로서, 이들은 디지털 서명을 이용해 계약 조건에 동의하거나 동의하지 않는다.

두 번째 객체는 동의의 대상이다. 이것은 스마트 컨트랙트의 환경 내에 존재하는 객체이어야만 한다. 또는, 스마트 컨트랙트가 해당 객체에 대해 아무런 제약 없이 직접 접근할 수 있어야 한다. 스마트 컨트랙트가 처음 논의된 것은 1996년도였지만, 그 개발이 진전되지 못한 것은 바로 이 객체 때문이었다. 이 문제는 2009년에 최초의 암호화폐가 등장한 후에야 비로소 부분적으로나마 해결되었다.

마지막으로, 모든 스마트 컨트랙트에는 구체적인 조건이 포함되어야 한다. 이러한 조건은 자세하게, 그리고 특정 스마트 컨트랙트의 환경에 적절한 프로그래밍 언어를 이용해 수학적으로 기술되어야 한다. 여기에는 앞서 언급된 조건과 관련된 모든 규칙, 보상 및 처벌은 물론 모든 참여 당사자에게 기대되는 요건들도 포함된다.

환경

스마트 컨트랙트가 존재하면서 제대로 기능하기 위해서는 특정하고 적절한 환경 내에서 운영되어야 한다. 첫째로, 이 환경은 공개키 암호 방식의 사용을 지원해야 한다 이를 통해 사용자는 자신의 고유하며 특별 생성된 암호 코드를 이용해 거래를 승인할 수 있다. 바로 이것이 현존하는 암호화폐의 절대다수가 사용하고 있는 시스템이다.

둘째, 스마트 컨트랙트는 모든 계약 당사자가 전적으로 신뢰할 수 있고 완전히 자동화된 개방적이고 탈중앙화된 데이터베이스를 필요로 한다. 또한 스마트 컨트랙트가 구현되기 위해서는 환경 전체가 탈중앙화 되어야 한다. 블록체인, 그 중에도 특히 이더리움 블록체인은 스마트 컨트랙트에 완벽한 환경이다.

마지막으로, 스마트 컨트랙트에 사용되는 디지털 데이터의 출처는 완전히 신뢰할 수 있어야 한다. 여기에는 이미 널리 사용되고 있으며 오늘날의 소프트웨어 대부분에서 자동적으로 구현되고 있는 루트 SSL 보안 인증서, HTTPS 및 기타 보안 연결 프로토콜의 사용이 포함된다.

스마트 컨트랙트의 장점

자율성 — 스마트 컨트랙트는 제3자 중개자의 진행이 필요 없으므로 기본적으로 계약에 대한 완전한 통제권을 부여한다.

신뢰 — 어느 누구도 문서를 훔치거나 잃어버릴 수 없다. 문서는 암호화 되어 보안 유지가 이루어지는 공유 원장에 안전하게 저장되기 때문이다. 게다가, 상대방을 신뢰할 필요가 없으며, 그들이 신뢰해 주기를 기대할 필요도 없다. 스마트 컨트랙트의 공정한 시스템이 본질적으로 신뢰를 대체하기 때문이다.

비용 절감 — 스마트 컨트랙트 덕분에 공증인, 부동산 중개업자, 조언자, 지원자 및 기타 수많은 중개자가 필요 없다. 더 나아가, 이들의 서비스와 관련된 터무니없이 높은 수수료도 낼 필요가 없다.

안전성 — 올바르게 구현된 스마트 컨트랙트는 해킹하기가 극히 어렵다. 게다가, 스마트 컨트랙트를 위한 완벽한 환경은 복잡한 암호화로 보호되므로 사용자의 문서를 안전하게 지켜준다.

효율성 — 스마트 컨트랙트를 이용하면 일반적으로 산더미 같이 쌓인 문서들을 수작업으로 처리하거나 특정 장소로 전송 또는 운송하느라 낭비되던 수많은 시간을 절약할 수 있다.

자세한 내용은 '블록체인 기술의 작동 방식' 참조

스마트 컨트랙트의 개발자와 사용자

스마트 컨트랙트가 처음 기술된 것은 1996년에 컴퓨터 과학자이자 암호학자인 닉 재보(Nick Szabo)에 의해서였다. 그는 수년간 이 개념을 다시 연구하여 여러 권의 출판물을 발표했는데, 여기에서 기술한 것이 인터넷에서 서로 모르는 이들 간의 전자 상거래 프로토콜을 설계함으로써 계약법 관련 사업 관행을 확립한다는 개념이었다.

Nick Szabo and ethers

하지만 스마트 컨트랙트는 2009년에 이르러서야 비로소 구현되었다. 이 당시에 최초의 암호화폐 비트코인이 블록체인과 함께 등장했는데, 이로서 마침내 스마트 컨트랙트에 적절한 환경이 제공되게 되었다. 흥미로운 점은, 닉 재보가 1998년에 비트 골드(Bit Gold)라고 하는 탈중앙화 디지털 화폐의 메커니즘을 고안해냈다는 것이다. 이것은 비록 구현되지는 않았지만, 그로부터 10년쯤 후에 비트코인이 자랑하게 되는 특징들 다수를 이미 갖추고 있었다.

오늘날의 스마트 컨트랙트는 주로 암호화폐와 관련이 있다. 둘 중 어느 쪽도 단독으로는 존재할 수 없다고 하는 것이 타당할 것이다. 탈중앙화 암호화폐 프로토콜은 본질적으로 탈중앙화된 보안 및 암호화 기능을 갖춘 스마트 컨트랙트이기 때문이다. 이들은 현존하는 암호화폐 네트워크 대부분에서 널리 사용되고 있으며, 이더리움에서 가장 두드러지고 대대적으로 선전되는 특징 중 하나이다.

자세한 내용은 '이더리움이란?' 참조

스마트 컨트랙트의 사용 예

암호화폐에 대한 세계각국의 정부, 금융 규제기관 및 은행의 입장은 극도의 조심성으로부터 신중한 수용에 이르기까지 다양하지만, 암호화폐를 뒷받침하고 있는 기술인 블록체인과 스마트 컨트랙트는 획기적인 것으로서 널리 받아들여지고 있으며, 모든 수준 전반에 걸쳐 구현되고 있다.

예를 들어, 아주 최근에는 증권예탁결제원(Depository Trust and Clearing Corporation , DTCC)과 4대 은행(뱅크오브아메리카 메릴린치, 씨티은행, 크레딧 스위스 및 J.P.모건)이 액소니(Axoni)가 개발한 블록체인에서 스마트 컨트랙트를 이용해 신용부도스왑(credit default swaps, CDS)을 성공적으로 거래했다. 사용된 스마트 컨트랙트에는 개별 거래의 세부사항과 거래 상대방 위험지표와 같은 정보가 들어 있는데, 이는 보도자료에 따르면 파트너와 규제당국에 새로운 수준의 투명성을 제공한다고 한다.

비슷한 일이 곳곳에서 이루어지고 있다. 최근에는 한국과 일본의 61개 은행으로 구성된 컨소시엄이 리플의 블록체인(Ripple’s Blockchain)과 스마트 컨트랙트를 시험했는데, 이는 양국간 송금을 가능하게 하기 위한 것이다. 이 새로운 시스템의 출시 예정 시기는 2018년이었다. 심지어는 암호화폐에 적대적인 것으로 악명 높았던 국가인 러시아의 정부 관리 은행인 스베르방크(Sberbank)조차도 이더리움의 블록체인과 이를 통해 가능한 스마트 컨트랙트를 시험 중이다.

이 테스트는 스베르방크의 이더리움 기업 연합(Enterprise Ethereum Alliance, EEA) 가입을 고려해 이루어진 것이다. 시스코, BP, ING, 마이크로소프트 등의 최상위 기업을 비롯해 100여 개 이상의 기업들로 구성된 이 컨소시엄의 목표는 비즈니스 용도에 맞게 잘 조정된 블록체인을 개발하여 특정 기업에 필요한 스마트 컨트랙트를 개발 및 구현할 수 있도록 하는 것이다.

스마트 컨트랙트는 암호화폐와 연계해 개발되었기 때문에 여전히 금융 및 은행업 분야에 구현되는 경우가 대부분이다. 하지만 이 기술은 세계각국의 정부들이 투표 시스템을 보다 이용하기 쉽고 투명하게 만드는 데도 이용할 수 있다. 공급망에서는 이를 상품의 모니터링은 물론 관련된 모든 업무와 결제를 자동화하는 데도 이용할 수 있다. 부동산, 의료, 조세, 보험 및 수없이 많은 다른 산업분야도 스마트 컨트랙트의 구현에 따른 이점을 누릴 수 있다.

Smart contracts as a bowling ball and corruption as pins

단점

스마트 컨트랙트는 극히 최근에 개발된 기술이다. 그 전망은 매우 밝지만 아직은 문제도 많다. 예를 들어, 스마트 컨트랙트를 구성하는 코드는 완벽하고 버그가 없어야 한다. 그렇지 않으면 실수를 야기할 수 있으며, 때로는 그 같은 버그가 사기꾼들에게 악용될 수 있다. The DAO의 해킹 사례에서 볼 수 있었듯이, 잘못된 코드가 있는 스마트 계정에 돈을 넣을 경우 도난 당할 수도 있는 것이다.

게다가 이 기술의 새로움으로 인해 여전히 많은 의문이 제기되고 있다. 정부는 그 같은 계약을 어떻게 규제하려 할 것인가? 세금은 어떻게 매길 것인가? 이 계약서가 합의 주제에 접근할 수 없거나 계약서에 예기치 않은 일이 발생하면 어떻게 되는가? 만약 이러한 일이 전통적인 계약이 이루어진 상태에서 발생한다면 법정에서 철회될 수 있겠지만, 블록체인은 '코드가 법(Code is Law)'이라는 방침에 따라 어떤 일이 있어도 계약이 이행되도록 만든다.

하지만 이러한 문제 대부분은 순전히 스마트 계약이 개발된 지 얼마 안 된 기술이기 때문에 발생하는 것이다. 놀라운 미래를 약속하는 이 기술은 시간이 지남에 따라 완벽해질 것이 틀림없다 스마트 컨트랙트는 머지않아 우리 사회의 필수불가결한 일부가 될 것임이 분명하다.

참고 기사:

스마트 컨트랙트 뉴스