스마트 컨트랙트란 무엇인가?
스마트 컨트랙트란?
스마트 컨트랙트(smart contract)는 블록체인이 1세대에서 2세대로 넘어갈 수 있게 되는 가장 중요한 계기 중 하나로 블록체인 기술을 활용해 제3의 인증기관 없이 개인 간 계약이 이루어질 수 있도록 하는 기술입니다. 더욱 자세히는 계약상의 급부와 반대급부를 프로토콜화하여 소프트웨어 및 하드웨어에 미리 저장하고, 해당 계약을 이행하는 과정에서 조건 충족 여부에 대한 판단을 인간이 아닌 컴퓨터 등의 기계가 대신 실행함으로써 제3의 인증기관이 필요 없도록 하는 개념을 의미합니다.
스마트 컨트랙트라는 용어는 사실 블록체인상에서 처음 사용된 것은 아닙니다. 1994년에 닉 재보(Nick Szabo)의 논문에서 처음 제시되었으나, 실질적으로는 구현되지 못하였습니다. 그러다가 블록체인을 기반으로 하는 이더리움(Ethereum) 메인넷에서 스마트 컨트랙트를 실질적으로 구현하는 것이 가능해졌고, 현재 블록체인상에서 다양한 형태의 스마트 컨트랙트가 사용되고 있습니다.
이더리움 네트워크상에서 스마트 컨트랙트가 구현되기 이전에는 디지털 자산이 화폐, 통화의 기능에 집중되어 있었습니다. 예를 들어, 비트코인 네트워크에서는 단순히 비트코인의 입출금내역(UTXO : Unspent Transaction Outputs)만을 블록체인에 기록할 수 있었으므로, 디지털 자산의 거래 그 이상의 동작을 블록체인상에서 구현하는 것이 어려웠습니다. 하지만 스마트 컨트랙트의 출현으로 디지털 자산은 결제 수단 등의 기능을 넘어서 블록체인의 생태계 확장이 가능하도록 하는 수단으로서 동작하였습니다. 실제로 다양한 방식의 블록체인 생태계 확장이 이뤄지게 되어 큰 의미를 가지고 있습니다.
스마트 컨트랙트는 블록체인을 활용했기 때문에 뛰어난 보안성을 가지면서도 공신력이 있는 제3자 혹은 기관이 필요하지 않다는 점에서 블록체인이 추구하는 탈중앙화(decentralized)를 구현했다는 평가를 받고 있습니다.
스마트 컨트랙트의 기본 성질
앞서 설명한 것처럼 스마트 컨트랙트의 개념을 최초로 제시한 닉 재보는 스마트 컨트랙트를 계약 코드를 통해 스스로 실행되는 전산화 계약이라고 정의하였습니다. 스마트 컨트랙트의 기본적인 특징은 다음과 같습니다.
1) 관측가능성(observability) : 스마트 컨트랙트는 서로의 계약 이행 가능성을 관찰하거나 성과를 입증할 수 있어야 함
2) 검증가능성(verifiability) : 계약을 이행하거나 위반할 경우 계약 당사자들이 이를 알 수 있어야 함
3) 프라이버시(privity) : 계약 내용은 계약에 필요한 당사자만 알 수 있어야 함
4) 강제 가능성(enforceability) : 계약이 이루어질 수 있도록 구속력이 있어야 함
이더리움에서 시작된 스마트 컨트랙트
스마트 컨트랙트는 이더리움의 창시자인 비탈릭 부테린(Vitalik Buterin)이 이더리움에서 스마트 컨트랙트를 구현하면서 본격적으로 사용되기 시작했습니다. 비탈릭 부테린은 이더리움을 블록체인상에서 코드를 공개하는 오픈소스 프로젝트로 개발하고, 스마트 컨트랙트는 사전에 정해진 계약자 간의 규칙에 따라 디지털 자산을 자동으로 이동하는 시스템이라 설명했습니다.
➕함께 보면 좋은 콘텐츠
포크(fork)란 무엇인가?
다음 글스마트 컨트랙트 작동 원리