기술 탐구 2. 블록체인을 응용한 대화, 스마트 컨트랙

목록으로 돌아가기

블록체인을 이용한 대화 기술, 스마트 컨트랙

이번 포스트에서는 공부한 지식을 기반으로 스마트 컨트랙에 대해 알아보고자 한다.

기술 탐구 중심이며, 공부한 바를 기반으로 작성하였으므로, 정확한 정보가 아닐 수 있다.

목차

  1. 개요

  2. 스마트 컨트랙

    2-1. 스마트 컨트랙의 장점

    2-2. 스마트 컨트랙의 예시

    2-3. 스마트 컨트랙의 단점

개요

저번 포스트를 통해 블록체인의 개념과, 이것이 돈이 되는 이유를 알아보았다. 특히 블록체인의 두 가지 특성(1. append만 가능, 2. 탈중앙화)을 자세히 살펴보았다.

그렇다면, 이를 통해 개발자들끼리 대화를 할 수 있는가? 그러한 기술은 무엇이라 부르며, 이를 통해 어떤 것을 할 수 있을까?에 대한 답으로 스마트 컨트랙을 알아보고자 한다.


screenshot

블록체인 기술 적용 원리 / “[Smart Contract] 쉽게 설명하는 스마트 컨트렉트”[웹사이트], (2021.07.12), https://steemit.com/kr/@skt/smart-contract.

스마트 컨트랙

스마트 컨트랙(smart-contract)이란, 특정 프로그래밍된 조건이 충족되면 자동적으로 계약을 이행하는 ‘자동화계약’ 시스템이다. 단, 이는 블록체인 기술을 기반으로 두고 있다. 스마트 컨트랙은 한 프로그래머가 짠 프로그램 혹은 코드를 블록체인 네트워크에 올리게 된다. 이 때 업로드된 프로그램은 블록체인 네트워크 내에서 검증이 이루어지고, 모든 검증이 마쳐지면 프로그램을 알아서 실행하게끔 네트워크에서 돌아다니게 된다. 이렇게만 보면 사실 다른 네트워크에 자신의 프로그램을 올리는 것과 다른 점이 별로 없어 보인다. 그렇다면 스마트 컨트랙의 장점은 어떻게 되는가.

스마트 컨트랙의 장점

스마트 컨트랙의 장점은 블록체인의 장점에서 드러난다. 이는 상당히 다양하고, 보안 측에서 뛰어난 점들이 많다. 저번 포스트에서 알아본 바와 같이 블록체인은 append만 가능하며, 탈중앙화되어있다. 이를 통해 스마트 컨트랙은 전세계적으로 널리 퍼져있는 네트워크에 그 프로그램을 올림으로써 네트워크의 검증을 받을 수 있다. 전세계의 모든 네트워크가 다운되지 않는 이상, 탈중앙화로 인해 반영구적으로 프로그램이 네트워크에 존재하게 된다. 또한 모든 사람이 코드를 보고 검증을 할 수 있지만, 수정이 불가능하므로 계약사항 등 수정에 민감한 문서들을 다룰 수 있다. 이를 통해 프로그램은 자동적으로 실행이 될 수 있기 때문에, 계약 혹은 일정 시간이 지난 후 이벤트를 실행해야할 때 유리한 점을 가져간다. 이에 대한 예시를 알아보자.

스마트 컨트랙의 예시

스마트 컨트랙은 일정 시간이 지난 후 일정 이벤트를 발생시키는데 유리하다고 앞서 설명하였다. 또한 수정이 불가능하여 보안적인 측면에서 뛰어나다고 설명하였다. 이에 따라 첫 번째 예시는 블록체인이 제일 먼저 적용된 금융에서 예시를 찾아보고자 한다.

첫 번째로, 금융 혹은 은행에서 스마트 컨트랙을 쓸 수 있다. 예를 들자면, 적금이 있다. 사용자로 하여금 일정 시간이 지나면 일정 금액을 받도록 한다. 그리하여 일정 년도가 지나서, 그 금액을 꾸준히 낸 사용자에게는 추가 이자를 더하여 사용자에게 반환한다. 이러한 메커니즘을 통해 블록체인 네트워크 상에서 자동적으로 실행시킬 수 있으며, 코드가 수정되기 어려우므로 혹은 불가능하므로, 앞선 예시는 충분히 가능하다.

두 번째로, 중계역할을 담당할 수 있다. 현재는 테슬라와 같이, 더 나아가자면 미래에서는 네트워트 및 IOT가 적용된 자동차 혹은 집 등의 다양한 매체에 있어서, 이를 누군가에게 빌려주거나 사고 팔 때 스마트 컨트랙이 사용될 수 있다. 중계인으로서 스마트 컨트랙은 일정 금액을 사용자로부터 입금받으면, 자동차 혹은 집과 같은 매체를 일정 시간동안 빌려주거나 팔 수 있다. 이렇듯 입력을 넣으면 출력을 내는 매우 정확하고 보안적으로 뛰어난 하나의 기계 역할을 할 수 있는 셈이다. 그리하여 짧게 현재 적용되는 예시를 살펴보자면 이더리움 등이 있다.

스마트 컨트랙의 단점

마냥 좋아보이고, 완벽해보이는 이 기술에도 단점이 있다. 외부적인 요소가 바로 그 단점이 된다. 스마트 컨트랙 자체에서는 보안적으로 뛰어나, 입력값을 넣으면 올바른 출력값을 낼 수 있다는 장점이 있으나, 애초에 그러한 입력값이 잘못된 값이라면 무용지물인 것이 그 단점이다. 예를 들어 스마트 컨트랙은 외부에서 입력값을 주는 센서 등에 의해 출력값이 결정된다. 이는 센서에 대하여 의존적이라는 뜻이며, 이를 신뢰 기반(trustful)적이라고 말한다. 즉, 외부 센서에서 주는 데이터에 의존해야하지만, 만일 누군가가 외부 센서의 입력값을 조작한다면, 충분히 조작당할 가능성이 있다는 뜻이다. 이를 보완하기 위해 외부 센서와 스마트 컨트랙 사이를 이어주는 블록체인 오라클 (oracle)이 존재한다. 간단히 설명하자면, 오라클이 외부 센서에서 입력값을 받을 때 오로지 신뢰할만한 데이터만 가져와준다. 다만, 여전히 입력값이 조작될 가능성은 존재하므로 스마트 컨트랙의 치명적인 단점이라고 할 수 있다.

이렇듯 스마트 컨트랙은 특정 조건만 충족되면 매우 뛰어난 보안을 가진 계약 기계임을 알 수 있었다. 하지만 그에 따라 입력값이 조작될 수 있다는 치명적인 단점을 보인다. 리스크가 큰 장점이 있다면, 그에 맞는 단점도 있기 마련이다. 다만, 스마트 컨트랙은 분명히 단점의 치명성을 줄일 수 있다면, 훌륭한 기술이 될 자질을 갖췄다. 그리하여 스마트 컨트랙은 충분히 연구될 주제이며, 추후 매우 훌륭한 기술이 될 것이라는 의견을 내고 포스팅을 마친다.

author-profile
Written by 상 한규

댓글