Skip to content

Latest commit

 

History

History
129 lines (63 loc) · 7.69 KB

18_Smart_Contract.md

File metadata and controls

129 lines (63 loc) · 7.69 KB

Smart Contract Intro


[TOC]


Smart Contract

스마트 컨트랙트는 블록체인 네트워크에 호스팅되고 실행되는 프로그램으로, 코드에 따라 계약이 실행됨을 보장하는 결정론적인 상태(Deterministic State)인 다자간 디지털 계약이다. 조건을 지정해두고, 해당 조건이 충족되면 미리 정해둔 계약을 이행하는 방식으로 코드를 작성한다.

스마트 컨트랙트는 탈중앙화된 블록체인에서 실행하기 때문에, 계약 조건이나 이행 내용을 변조하기 어려우며 계약을 신뢰하기 위한 제3자가 필요하지 않다.

History

  1. 스마트 컨트랙트 개념 창시 - Nick Szabo

    스마트 컨트랙트의 개념은 1994년 Nick Szabo에 의해 만들어졌으며, 그는 스마트 컨트랙트를 다음과 같이 정의했다.

    "계약 조건을 실행하는 전산화트랜잭션 프로토콜"은 "일반적인 계약 조건을 만족하고, 악의적이거나 우발적인 예외를 최소화하며, 신뢰할만한 중개자의 필요성을 최소화하는 것"을 목표로 한다.

    Nick Szabo는 스마트 컨트랙트를 위한 **비트 골드(Bit Gold)**를 제안했으나, 기술적 한계로 인해 실제로 구현되지는 못 했다.

  2. 스마트 컨트랙트 첫 지원 - 비트코인

    스마트 컨트랙트를 실제로 지원하기 시작한 첫 화폐는 2009년 출시된 비트코인이다. 다만, 비트코인은 오피코드(Opcode; 비트코인에서 스마트 컨트랙트를 동작시키는 연산들의 집합)를 사용해 화폐 거래를 위한 제한적인 스크립트만을 작성할 수 있었기 때문에 프로그램 구현 시 제약이 많았다.

  3. 프로그래밍 가능한 스마트 컨트랙트 - 이더리움

    2015년에는 프로그래밍 가능한 스마트 컨트랙트를 위한 블록체인인 이더리움이 등장하였다. 이더리움에서는 Solidity라는 언어를 통해 스마트 컨트랙트를 위한 코드를 작성하고, EVM(Ethereum Virtual Machine)을 통해 이더리움 블록체인 위에서 코드를 실행시킬 수 있다. 이를 통해 이더리움은 여러 개의 독립적인 스마트 컨트랙트를 동시에 실행할 수 있어서 World Computer라고 불리기도 한다.

동작방식

스마트 컨트랙트의 로직은 다음과 같다.

if or when (이벤트 x가 실행되면) {
	액션 y를 실행하라
}
  1. 코드가 블록체인 네트워크에 올라간다.
  2. 네트워크는 미리 결정된 조건이 충족되고 검증된 경우, 조건에 따른 액션을 실행한다.
  3. 액션은 트랜잭션에 기록된다.
  4. 완료된 트랜잭션은 블록체인에 올라간다.

특징

  • 중개인의 존재 여부와 상관없이, 조건이 충족되면 계약이 이행되고, 조건이 충족되지 않으면 이행되지 않음
  • 누구든지 배포할 수 있으며, 자동화할 수 있음
  • 전통적인 계약 방식에 비해 거래 수수료를 절감할 수 있음
  • 거래 내역이 투명하게 공개됨

스마트 컨트랙트는 일반적인 중앙집권화된 디지털 계약과는 다른 몇 가지 장점이 있다.

  • 보안

    한 번 스마트 컨트랙트 코드가 블록체인 네트워크에 올라가면 모든 노드가 스마트 컨트랙트 내용과 이행 결과를 가지게 되기 때문에, 중앙화된 공격 지점이 없고 계약 내용이나 결과를 변조할 위험이 없다.

  • 신뢰성

    조건에 부합해 계약이 이행되면 블록체인 네트워크에 있는 노드들에 의해 여러 번 수행되고 검증되기 때문에, 위변조가 매우 어렵고 정확도가 높다.

  • 공평함

    계약 조건을 공유하고 강제하기 위해 분산화된 블록체인 네트워크를 사용하기 때문에, 수수료를 가져가는 등 영리적 목적의 중개자가 필요하지 않다.

  • 효율성

    계약 이행을 자동화하기 때문에 계약 당사자의 데이터 수동 입력, 상대방 계약 의무 이행 여부 검증, 중개자 계약 집행 확인 등을 할 필요가 없다.

한계점

  1. 컨트랙트 배포 이후엔 작동 수정이 불가하다.

    만약, 배포한 컨트랙트에 보안적으로 허점이 발견될 경우 해킹에 취약하다.

  2. 블록체인 외의 정보를 스스로 취득하지 못 한다.

    외부 데이터의 조건 충족을 확인할 때 문제가 발생하는데, 이런 경우, 제3자에 의해 직접 데이터를 입력해야 한다. 외부 데이터를 가지고 오는 과정에서도 오류가 나거나 악성 코드 등으로 문제가 발생할 수 있다.

활용 사례

일반적으로 스마트 컨트랙트가 빠르게 도입되고 있는 분야는 세 경우가 있다.

  1. 일정한 형식의 반복적인 계약이 많은 경우 (ex. 보험업)
  2. 원격자 간 계약 체결이 필요한 경우 (ex. 집 혹은 자동차 공유)
  3. 제품의 유통 추적이 필요한 경우 (ex. 물류유통)

이외에도 저작권 등에서 사용되고 있다.

DeFi

탈중앙화 금융(Decentralized Finance)은 스마트 컨트랙트를 활용해 금융 시장, 옵션, 스테이블 코인, 거래소, 자산 관리 등 전통적인 금융 상품과 서비스를 재창조하고, 여러 서비스를 결합하여 새로운 금융 원형을 만들어내는 어플리케이션이다. 스마트 컨트랙트는 사용자의 자금을 에스크로에 보관하고 미리 정해진 조건에 따라 사용자 간에 분배할 수 있도록 한다. 예를 들어, Aave는 스마트 컨트랙트를 사용하여 무허가 및 탈중앙화된 방식으로 대출과 차입을 용이하게 한다.

게임과 NFT

블록체인 기반 게임은 게임 내 액션의 변조 방지를 위해 스마트 컨트랙트를 사용한다. 예를 들어, 사용자가 유동성 풀에 자금을 투자한 다음, 이자가 발생하면 금융 시장으로 이동하는 PoolTogether라는 게임이 있다. 미리 정해진 기간이 지나면 게임이 종료되고 승자에게는 모든 이자가 무작위로 지급되며, 다른 사용자는 예치금을 인출할 수 있다. 마찬가지로 ,한정판 NFT는 공정한 배포 모델을 가질 수 있으며, RPG 게임은 무작위성을 사용하여 예측할 수 없는 전리품 드롭을 할 수 있어, 모든 사용자가 희귀한 디지털 자산을 얻을 수 있는 공정한 기회를 가질 수 있다.

DAO

DAO(Decentralized Autonomous Organization)는 컴퓨터 프로그램으로 인코딩 되고, 조직 구성원들이 통제하며, 중앙 정부의 영향을 받지 않는 규칙들로 구성된 탈중앙화 자율조직으로, 영리 및 비영리 기업을 조직하기 위한 새로운 분산형 비즈니스 모델을 제공한다. 조직의 규칙은 코드에 내장되어 있기 때문에 관리자가 필요하지 않다.

ICO

ICO(Initial Coin Offering)는 기업 공개(IPO)와 비슷한 개념으로, 새로운 암호화폐를 만들기 위해 투자자들에게 투자금을 받고, 그 댓가로 코인을 나눠주는 것을 의미한다. 투자자들은 기업이 성공하여 코인에 대한 수요가 증가하여 코인 시세가 오를 것을 기대하고 ICO에 참여하며, 기업은 ICO로 초기 개발 자금을 모아 사업을 성장시켜 코인의 수요를 높이기 위해 노력한다.

Bridge

브릿지(Bridge)는 토큰이나 임의의 데이터를 하나의 체인에서 다른 체인으로 전송할 수 있게 하는 연결을 의미한다. 두 체인은 서로 다른 프로토콜, 규칙, 거버넌스 모델을 가질 수도 있지만, 브릿지는 양 쪽에서 안전하게 상호 운용할 수 있는 호환가능한 방법을 제공한다.

Copyright © 2022 Song_Artish