스마트 계약 (Smart Contracts)

스마트 계약의 역사


  • Nick Szabo가 최초로 제안하였다.

  • 디지털 복사로는 쉽게 복제가 되다 보니 악의적으로 이용이 가능하게 되고 이러한 부분을 해결하고자 하였다.

  • 디지털화된 계약을 위해 블록체인이 등장하였고, 양자 간 신뢰를 바탕으로 거래를 할 수 있도록 하였다.

  • 서로의 조건을 모집화하고 코드화하여 정해진 틀에 따라 계약을 처리할 수 있도록 하는 것이 목적이다.



비트코인 스크립트


  • 비트코인이 최초로 블록체인 기반 스마트 컨트랙트를 구현하였다.

  • 비트코인 트랜잭션에 OP Code(원시 언어)로 스크립트를 작성한다.

  • 암호화 메커니즘에 의해 동작한다.

  • 비트코인 스크립트는 반복문을 사용할 수 없고 잔액 외의 정보를 다룰 수 없다.

  • 반복문의 오류로 인해 무한 루프가 발생하면 네트워크의 모든 트래픽이 하나에 집중되어 네트워크 전체가 멈출 수 있다. 이를 이용하여 DoS 공격이 일어날 수 있기 때문에 비트코인에서는 반복문의 사용을 원천 차단하였다.



스마트 계약


  • 정의: 디지털 형태로 명시된 약속의 집합이다.

  • 약속을 수행하기 위한 방법과 절차를 포함한다.

  • 기존 페이퍼 컨트랙트에서 디지털 방식으로 발전된 방식이다.

  • 합의에 참여하는 모든 구성원들이 공감하고 동의할 수 있는 것으로 기술을 구현한다.

  • 제3자의 개입이 없어도 짜인 코드로 계약이 실행 가능하기 때문에 중개 비용이 필요하지 않다.

  • 컴퓨터 코드로 짜여 조건에 따른 계약 결과가 명확하기 때문에 계약 불이행 위험이 없다. (부인 방지)

  • 계약서가 모든 노드에 공유되기 때문에 하나의 노드에서 계약서를 폐기하더라도 확인이 가능하다.



이더리움 스마트 계약


  • 비트코인의 한계를 극복하고 넓은 범위의 스마트 컨트랙트 구현을 위해 설계된 플랫폼이다.

  • 화폐 등의 단순한 데이터 전송뿐만 아니라 데이터의 연산, 저장 등을 처리할 수 있다.

  • 반복문 사용이 가능한 스크립트를 지원한다.

  • 악의적인 무한 루프를 방지하기 위해 스크립트 코드의 각 라인을 실행할 때마다 수수료가 발생한다. (Gas)

  • 코드를 실행하고자 하는 사용자는 수수료의 한계를 설정하고 실행할 수 있다.

  • 소모된 수수료는 해당 스크립트의 실행에 도움을 준 사용자(채굴자)에게 배당된다.



스마트 계약과 블록체인


  • 1세대: 비트코인 - 최초의 스마트 컨트랙트, 통화/화폐로서의 블록체인

  • 2세대: 이더리움 - 스마트 컨트랙트 최적화, 스마트 계약 플랫폼 제공

  • 3세대: 이오스, 에이다, 네오 등 - 스마트 컨트랙트 정교화, 의사 결정 및 업무영역 확대


  • 특징: 탈중앙화 된 애플리케이션인 DApp (Decentralized Application) 사용이 가능하다.

  • P2P 구조: 서버 클라이언트가 아닌 Peer-to-Peer 구조로 가는 것이 효율적이다.

  • 스마트 컨트랙트는 블록체인 플랫폼 위에서 동작하며 거래자는 익명성을 가진다.



탈중앙화의 장점


  • 중앙화된 시스템은 과도한 권한 집중을 전제로 하기 때문에 항상 해킹과 데이터 유출에 대한 위험성이 크다.

  • 탈중앙화된 시스템은 권한이 분산되어 권한의 오용을 막을 수 있다.

  • 블록체인의 DApp을 이용한 탈중앙화의 경우 데이터 및 권한이 분산되어 있으므로 해킹과 데이터 유출에 대한 위험성을 크게 낮출 수 있다.


  • DAO (Decentralized Autonomous Organization): 탈중앙화된 자율 조직



EOS (이오스)


이더리움의 느린 처리 속도와 높은 수수료 문제를 해결하기 위한 대안으로 등장하여 시장에서 많이 쓰이고 있다.



스마트 컨트랙트의 발전방향


한이음 ICT 멘토링 - 하이퍼레저 패브릭 강의 자료 일부

Author

Alec J

Posted on

2019-11-07

Updated on

2021-02-09

Licensed under