스마트 컨트랙트(smart contract)란 무엇입니까? 丨이해 및 소개

05/30/2022글쓴이: W, Lynn

조회수: 0

블록체인 덕분에 비트코인과 같은 새로운 통화 수단이 생겨났고 이로 인해 ‘ 스마트 컨트랙트 ‘란 알려진 조건부 디지털 계약 또한 가능해졌습니다. 또 많은 블록체인 기사나 글을 읽었을 때 한상 스마트 컨트랙트란 단어가 나옵니다.

그럼 이 것은 무엇입니까? 같이 알아보도록 합시다.

 

스마트 컨트랙트(smart contract)란 ?

스마트 컨트랙트(smart contract)는 블록체인이 1세대에서 2세대로 넘어갈 수 있게 되는 가장 중요한 계기 중 하나로 블록체인 기술을 활용해 제3의 인증기관 없이 개인 간 계약이 이루어질 수 있도록 하는 기술입니다.

보다 자세히는 계약상의 급부와 반대급부를 프로토콜화하여 소프트웨어 및 하드웨어에 미리 저장하고 해당 계약을 이행하는 과정에서 조건 충족 여부에 대한 판단을 인간이 아닌 컴퓨터 등의 기계가 대신 실행함으로써 제3의 인증기관이 필요 없도록 하는 개념을 의미합니다.

스마트 컨트랙트라는 용어는 사실 블록체인 상에서 처음 사용된 것은 아닙니다. 1994년에 닉 재보(Nick Szabo)의 논문에서 처음 제시되었으나 이론상으로만 그치고 실질적으로는 구현되지 못하였습니다. 

스마트 컨트랙트는 블록체인 상 불변의 소프트웨어 프로그램에 존재하는 디지털 계약으로 실행에 필요한 조건이 설정되어 있습니다. 이 조건부 로직을 이해하는 가장 직관적인 예시는 “만약 x가 발생하면 y가 실행된다.”입니다.

만약 A 팀이 어떤 스포츠 경기에서 이기면 Bob에게 보상을 지급하고 만약 B 팀이 이기면 Steve에게 보상을 지급한다고 가정합시다. 스마트 컨트랙트는 스포츠 경기에 대한 결과를 직접 수동으로 입력하지 않고도 결과를 알려주는 데이터 하나로도 직접적으로 트리거가 될 수 있습니다. 데이터를 받는 순간 스마트 컨트랙트는 자동으로 액션을 실행하고 지급하는 것이 일반적인 형태입니다.

스마트 콘트랙트 작동원리

간단히 말해 스마트 콘트랙트는 결정론적 프로그램으로 작동합니다.

스마트 콘트랙트라는 용어는 널리 알려져 있지만, 법적 계약은 아니며 스마트한 계약도 아닙니다. 이는 단지 탈중앙화 시스템(블록체인)에서 작동하는 코드의 일부입니다.

이더리움 네트워크상에서 스마트 콘트랙트는 사용자들(주소들)이 상호작용할 때 발생하는 블록체인 작업을 실행하거나 관리하는 역할을 합니다. 스마트 콘트랙트가 아닌 모든 주소를 외부 소유 계정(EOA)이라 합니다.

따라서 스마트 콘트랙트는 컴퓨터 코드에 의해 제어되며, 외부 소유 계정은 사용자에 의해 제어됩니다.

기본적으로 이더리움 스마트 콘트랙트는 콘트랙트 코드와 두 개의 공개 키로 구성됩니다. 첫 번째 공개 키는 콘트랙트 작성자가 제공한 키입니다.

다른 키는 콘트랙트 자체를 나타내며, 각 스마트 콘트랙트의 고유한 디지털 식별자 역할을 합니다.

 

스마트 컨트랙트의 역사

스마트 컨트랙트의 가장 기본적인 형태는 다중 서명(multisig, 멀티시그) 스마트 컨트랙트입니다. 멀티시그 트랙잭션이 유효하려면 정해진 수의 사람(공개 키)이 그들의 개인 키로 거래에 대해 서명을 해야 합니다. 비트코인은 2012년에 최초로 멀티시그 트랜잭션을 도입했습니다.

다음 단계에서는 프로토콜 스마트 컨트랙트가 생성되었습니다. 프로토콜 스마트 컨트랙트는 몇 가지 연산 부호를 실행할 수 있는 한 가지 애플리케이션으로 작동되는 블록체인을 의미합니다. 하지만 프로토콜 스마트 컨트랙트는 확장성이 떨어지기에 스마트 컨트랙트 (프로토콜)에 변경을 하기 위해서는 새로운 블록체인을 생성해야 합니다.

2015년, 이더리움은 스크립터블 스마트 컨트랙트를 런칭해 블록체인을 동시에 수많은 다른 애플리케이션을 실행하는 “실제 전 세계에 있는 컴퓨터”로 대체하면서 스마트 컨트랙트에 혁신을 불러일으켰습니다. 

현재 진화 단계는 스크립터블 스마트 컨트랙트로 블록체인 밖(오프체인)에 존재하는 데이터와 시스템을 컨트랙트에 연결하는 수준이 되었습니다. 

 

스마트 컨트랙트의 기본 성질

스마트 컨트랙트의 기본적인 특징은 다음과 같습니다.

1)관측가능성(observability): 스마트 계약은 서로의 계약 이행 가능성을 관찰하거나 성과를 입증할 수 있어야 함

2)검증가능성(verifiability):계약을 이행 또는 위반할 경우 계약 당사자들이 이를 알 수 있어야 함

3)프라이버시(privity):계약 내용은 계약에 필요한 당사자들만이 알 수 있어야 함

4)강제가능성(enforceability):계약이 이뤄질 수 있도록 구속력이 있어야 함

 

스마트 컨트랙트 장단점

장점

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

•보안– 분산된 인프라에서 계약을 실행하기 때문에 공격당할 수 있는 단일장애지점, 뇌물을 받을 수 있는 중앙 기관 및 당사자 또는 중앙 관리자가 결과를 조작할 수 있는 메커니즘이 없습니다.

•신뢰성- 다수의 개별 노드가 컨트랙트 로직에 대한 중복 처리 및 검증을 하기 때문에 유저들은 조작 저항 및 네트워크 가동시간을 보장받을 수 있습니다.

 컨트랙트가 늘 계약 조건에 따라 시간에 맞춰 실행된다는 것 또한 보장받을 수 있습니다.

•공평함– P2P 기반 분산 네트워크를 사용해 계약 진행 및 계약 조건을 실행하면 이윤을 추구하는 중앙 중개인에 의해 손실되는 가치가 줄어듭니다.

•효율성– 계약의 백엔드 프로세스(에스크로, 유지 보수, 실행 및 지불)가 자동화되면서 계약의 당사자들은 수동 데이터 입력, 계약 당사자의 의무 이행 여부 및 중개인의 거래 처리 등을 기다리지 않아도 됩니다.

 

단점

초기 계약 설정이 잘못되면 문제가 발생할 수 있습니다.

프로그래밍 코드로 동작하기에 시스템의 결함에 따라 문제가 발생할 수 있습니다.

조건이 만족하는 기준과 근거가 명확하지 않을 경우가 있습니다.

 

스마트 컨트랙트 사용 예

증권예탁결제원(Depository Trust and Clearing Corporation , DTCC)과 4대 은행(뱅크오브아메리카 메릴린치, 씨티은행, 크레딧 스위스 및 J.P.모건)이 액소니(Axoni)가 개발한 블록체인에서 스마트 컨트랙트를 이용해 신용부도스왑(credit default swaps, CDS)을 성공적으로 거래했습니다. 

한국과 일본의 61개 은행으로 구성된 컨소시엄이 리플의 블록체인(Ripple’s Blockchain)과 스마트 컨트랙트를 시험했습니다. 이는 양국간 송금을 가능하게 하기 위한 것이다.

스마트 컨트랙트는 암호화폐와 연계해 개발되었기 때문에 여전히 금융 및 은행업 분야에 구현되는 경우가 대부분입니다.

하지만 이 기술은 세계각국의 정부들이 투표 시스템을 보다 이용하기 쉽고 투명하게 만드는 데도 이용할 수 있습니다.