brunch

You can make anything
by writing

C.S.Lewis

by Ryu Chun May 16. 2021

블록체인의 순기능. 스마트 컨트랙트 (1/2)

똑똑한 계약에 대하여

블록체인은 수정이 불가능한 기록일지라고 설명한 적이 있다. 이 기록일지가 제 역할을 하기에 딱 좋은 환경은 무엇일까? 바로 투명성이 필요할 때이다. 우리가 살면서 투명성이 요구될 때는 대표적으로 ‘계약(contract)’을 꼽을 수 있다. 우리는 전세 집을 입주할 때, 자동차를 매매할 때 상대방과 계약을 한다. 그리고 당사자간에 계약 조항들을 성실히 이행한다. 예를 들면, 중고차를 양도받고 잔금을 송금하거나 전세 계약금을 걸고 입주일에 잔금을 치르는 것을 생각해볼 수 있다.


기존 계약 시스템이 문제가 있나?

없다. 서면 계약서에 명시된 대로 이행만 된다면 문제는 전혀 없다. 단, 허위 매물과 같은 문제(계약 조건의 불충족)로 계약이 제대로 이행되지 않는다면 수많은 문제가 발생한다. 당장 돈을 돌려받을 수 도 없으며, 실제 돌려받기 위해 고소를 해야 한다. 이후 변호사를 선임하고 법원을 방문해 계약 관계를 확인하는 절차를 거치게 될 것이다. 이상하지 않나? 좋을 땐 너무 쉽고 좋게 끝나는 계약이 막상 문제가 발생했을 땐 쉽게 끝나지 않는다. 계약 불이행에 대한 '처벌'을 요청하고 수행하는 것에도 꽤 많은 시간이 걸린다. 


정리하면 기존의 서면 계약은 계약을 검증하는 중개자가 있음에도 불구하고 문제가 발생했을 때 신뢰성과 안정성이 '즉시' 확보되지 않으며, 계약 불이행에 대해 '빠르게' 대처할 자율성도 현저히 떨어진다. 이런 부분을 해결하기 위해 '스마트 컨트랙트(Smart Contract)'라는 기술이 생겨났다.(1996년 Nick Szabo에 의해 기술되었으나, 2009년이 되어서야 구체화되었다.) 

기존 계약과 스마트 컨트랙트의 '역할' 차이

스마트 컨트랙트(똑똑한 계약)

스마트 컨트랙트는 계약 조항이 스크립트(Script)로 구성되어있는 코드(Code)이다. 쉽게 말해, 개발 코드로 만들어진 디지털 계약서라고 생각하면 쉽다. 이 스마트 컨트랙트는 블록체인 위에서 동작한다. 코드로 만들어진 계약서가 블록체인에서 움직이다 보니 계약 당사자가 합의된 계약을 수정할 수 없고, 누구나 열람할 수 있으니 투명성과 신뢰성을 확보할 수 있다. 그리고 계약 조건이 충족되야만 실제 계약 시스템이 동작하다 보니 불특정 다수와 계약할 수 있다. 


기존 서면 계약은 계약 당사자의 조건을 꼼꼼히 따질 수밖에 없다. 계약 조건을 충족할 역량이 있는지 판단하기 때문이다. 스마트 컨트랙트는 코드 상으로 계약 조건 확인, 세부 계약 이행이라는 조건문이 짜여 있기 때문에 당사자에 대한 검증은 고려 대상이 아니다. 이 점은 기존 계약에서 처리하던 공증, 신분증 확인과 같은 수많은 문서 작업과 문서를 송부하는 수많은 시간들을 줄일 수 있다.


물론 스마트 컨트랙트가 기존 계약의 문제점을 모두 해결하지 않는다. 블록체인에서 동작하면서 그 장점이 극대화되는 것일 뿐 모든 곳에서 좋다는 뜻이 아니다. 또한 스마트 컨트랙트가 정확하게 기능하기 위해서는 여러 환경이 필요하다(이 부분은 나중에!). 


스마트 컨트랙트는 어떻게 발전할까?

생각해보자. 서면 계약이 필요가 없고, 불특정 다수와 계약할 수 있지만, 피해를 입지 않는 안전한 계약이 있다면 과연 우리는 어떻게 사용할까? NFT(Non-Fungible Token)처럼 나의 소장품을 쉽게 거래할 수 있고, 다른 사람에게 나만의 이자율이 적용된 돈을 빌려줄 수도 있을 것이다. 물론, 이 외에도 무수히 많을 것이다. 


여기서 중요한 점은 기존과 다른 계약 시스템이 생겨났다는 것이고 이는 새로운 가치 교환 생태계로 빠르게 전환되고 있다는 점이다. 다음 글에서는 스마트 컨트랙트의 단점과 취약점, 실제 적용 사례를 작성하려고 한다.

작가의 이전글 ‘사투리’로 말하는 공개키, 개인키 암호화 방식
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari