ABOUT ME

-

Today
-
Total
-
  • [Ethereum] 이더리움 스마트 컨트랙트 & 문제점
    Study/Blockchain 2019. 9. 6. 11:00
    반응형

     

    출처 : 해시넷

     

     

    Nick Szabo는 최초의 스마트 컨트랙트 개념 제안자이지만 실제로 구현하지는 못했다.

    이후 비탈릭 부테린에 의해 스마트 컨트랙트가 실제로 개발되고 서비스가 배포되기 시작했다.

    2013년 비탈릭 부테린(Vitalik Buterin)이 비트코인의 블록체인 기술을 이용하여 

    대금결제, 송금 등 금융거래뿐 아니라 모든 종류의 계약을 처리 할 수 있도록 기능을 확장하면서 널리 확산되었다.

                                                               

    스마트 컨트랙트의 목적은 신뢰할 수 없는 컴퓨터 네트워크 환경에서 기기 간 고도로 발달된 자동 계약 이행이다.

    즉, 계약 조건만 모두 충족되면 자동으로 계약 내용이 실행되도록 하는 시스템을 구축하는 것이다.

     

     

    출처 : crypviz.io


    스마트 컨트랙트 Smart Contract

     

    스마트 컨트랙트는 중개자 없이 P2P로 쉽고 편리하게 계약을 체결하고 실행하는 기능이다.
    그리고 블록체인의 분산원장기술의 특성을 이용하여 다양한 형태의 계약을

    이해 당사자 간의 공유 네트워크를 통해 계약에 대한 신뢰를 바탕으로 자동화된 계약 처리 기술이다.
    과거에 일어났던 일을 기록한 것이 블록체인 1.0 이라면,
    스마트 컨트랙트를 통해 미래에 일어날 일을 미리 기록해둘 수 있기 때문에 블록체인 2.0 이라고도 부른다.

    기존 계약은 실제 사람이 계약서 문서를 보고 실행해야해서  처리 시간이 오래 걸릴 수도 있고 문제가 발생할 수도 있다. 
    하지만 스마트컨트랙트는 컴퓨터 명령어로 계약을 작성하기 때문에 특정 조건이 충족되는 즉시 바로 계약을 시행한다.

    예를 들어 계약 기간, 금액, 조건 등을 미리 코딩해 두면 부동산 거래나 중고 자동차 거래를 자동으로 실행한다.
    또한 오픈된 코드 자체가 신뢰를 보장하는 자동화된 계약이라고 할 수 있다.

     

     

     

    스마트 컨트랙트의 장점과 문제점

     

    스마트 컨트랙트의 장점은 상대를 신뢰하지 않아도 거래에는 문제가 발생하지 않고, 투명한 거래가 가능하다는 것이다.

    또한, 중개자가 필요없으므로 수수료와 같은 비용을 절감할 수 있다.

    하지만, 스마트 컨트랙트는 기술적으로나 정책으로나 아직 문제가 많다고 한다.

    첫 번째로, 이미 배포된 스마트 컨트랙트는 수정이 불가능하므로 업그레이드나 버그 패치 등이 어렵다.

    최근 수정 가능한 스마트 컨트랙트 작성 방법이 연구되고 있으나 아직 해결되지는 못했다.

    두 번째로, 솔리디티 언어는 비교적 최근에 개발된 언어이기 때문에 아직 부족한 점이 많은 언어이다. 

    따라서 코드를 원활히 제어하기가 어렵고, 관련 라이브러리도 많이 부족한 상황이다.

    세 번째로, 스마트 컨트랙트를 이용하기 위해서는 수수료인 gas가 필요한데, 가스비가 생각보다 비싸다.

    그러므로 무료로 사용할 수 있는 서비스를 구현하기 어렵다.

    마지막으로, 오라클 문제가 있다. 오라클 문제가 블록체인에서 가장 해결하기 어려운 상황인데,

    블록체인 밖에 있는 데이터를 블록체인 안으로 가져올 때 발생하는 문제를 오라클 문제라고 한다.

    블록체인 상의 데이터는 위변조가 어렵지만, 블록체인으로 들어오기 전

    원본 데이터에 문제가 있다면 신뢰성에 문제가 생기게 된다.

     


    일상 생활에서의 스마트 컨트랙트

     

    스마트 컨트랙트는 확실히 기록을 보관해야하는 문서, 계약서, 제 3자가 신뢰를 증명해야하는 분야 등에서 활용된다.

    금융, 저작권, 공유 경제, 물류 유통 분야에서 주로 활용되고 있는 것을 볼 수 있다.

    예를 들어 법의 자동 이행, 콘텐츠 수익 자동 지급, 보험금 자동 지급, 자동차 렌트, 

    자동 기부 시스템, 고용 계약 시스템, 전자투표, 산지 증명 등이 있다.


     



    솔리디티 언어 Solidity

     

    이더리움은 정확히 프로그래밍 한대로 동작하는 스마트 컨트랙트를 동작시키는 분산 플랫폼이고

    비트코인과 다르게 튜링완전성 언어인 솔리디티를 사용한 블록체인이다.

    따라서 블록에 데이터를 기록할 수 있을 뿐만 아니라 조건문, 반복문 등의 코드를 실행할 수 있기 때문에

    계약을 조건에 따라 자동으로 실행할 수 있는 스마트 컨트랙트를 만들 수 있는 것이다.

     

    스마트컨트랙트 코드는 대부분 solidity로 작성되고 작성한 코드를 컴파일 한 후 일련의 바이트들을 블록체인에 삽입하면
    EVM이 스마트 컨트랙트를 처리하며 이더리움 블록체인의 노드들이 동작시키며 계약을 이행한다.
    솔리디티는 코딩된 규칙에 따라 상태를 변환시키며 현실에서의 계약을 자동으로 실행하고,

    소유권에 대한 임의의 규칙, 트랜잭션 형식 등을 생성할 수 있다.





    반응형

    댓글