IT와 비즈니스를 연결하다.

[블록체인]이더리움이 뭔가요?|일반인을 위한 블락체인 강좌 block 15을 듣고... 본문

IT 관련 소식/블록체인

[블록체인]이더리움이 뭔가요?|일반인을 위한 블락체인 강좌 block 15을 듣고...

sujiinsight 2018. 9. 16. 15:37
  1. 비트코인의 문제점
    1. 비트코인 스크립어트 언어의 단점
      1. 튜링 불완전성(Turing-Incompleteness) - script 언어라 단순함
      2. Value-blindness - 100중에 50을 못 보냄
      3. Lack of state - 상태를 저장 못함(제한적)
      4. Blockchain-bindness
    2. 작업증명방식의 합의 메커니즘
      1. 지나치게 큰 에너지 소모
      2. 채굴자들의 중앙화
    3. 늦은 거래처리속도 - 확장성 문제
    4. 의사결정구조

                       →이더리움은 비트코인의 한계를 극복하기 위해 만들어짐

 

   2. 비트코인 VS 이더리움

    1. 비트코인
      1. 핵심개념: 전자화폐
      2. 설립자: 사토시 나카모토
      3. 출시년도: 2009년 1월
      4. 언어: 스크립트 언어
      5. 합의 메커니즘: 작업증명(PoW: Proof of Work)
      6. 블록생성시간: 약 10분
      7. 노드 수: 7490개(6월 15일 기준)
      8. 하나의 function 구현 - 거래 처림
    2. 스마트 계약
      1. 핵심개념: 스마트 계약
      2. 설립자: 비탈릭 뷰테린
      3. 출시년도: 2015년 7월
      4. 언어: 튜링 완전한 언어(Solidity(Java 기반), Serpent(파이썬 기반), LLL
      5. 합의 메커니즘: 현재: GPU 채굴 기반 작업증명, 목표: 자산증명(PoS: Proof of Stake
      6. 블록생성시간: 약 15
      7. 노드 수: 33811개(6월 15일 기준)
      8. 여러개의 function 구현

   3.  이더리움이란? - 하나의 가상 컴퓨터

    1. 블록체인 기반의 분산 컴퓨팅(distributed computing) 플랫폼
    2. 튜링 완전한(Turing-complete) 프로그래밍 언어를 내장(built-in)하고 있어 스마트 계약(smart contract)분산 어플리케이션(Dapp: decentralized applications)을 구현할 수 있음
      1. 좀 더 복잡하고 다양한 계약조건들을 구현가능
        • ex) A가 B에게 5BTC을 보낸다(비트코인) vs 2017년 7월 31일 이전에 B의 잔고가 10ETG 이하인 경우에만 A가 B에게 5ETH를 보낸다.(이더리움)
        • 스마트 계약: 온라인 상에서 특정계약조건을 실행 - 스마트 계약이 코드로서 블록체인 위에 기록되기 떄문에 누구도 처음에 명시된 조건 이외의 경우 계약 조건을 바꿀 수 없으며 특정 조건을 만족시키는 경우에는 계약의 내용이 1. 자동적으로 2. 무조건 실행
        • 분산 어플리케이션: 중앙중개기관 없이 다양한 종류의 서비스를 사용자들에게 제공하는 어플리케이션 - 금융, 신원관리, SNS, 의료, 예술, 정부행정 등 다양한 분야에 걸쳐 기존의 중앙중개기관을 통한 서비스 제공 대신 탈중화된 분산 어플리케이션을 통해 보다 효율적이고 안전한 서비스 제공. 기존 어플리케이션의 백엔드 코드가 중앙서버에서 실행된다면 분산 어플리케이션의 백엔드 코드가 분산화된 P2P 네트워크에서 실행됨
          • ex) 비트코인(가치의 저장 및 전달 서비스를 제공하는 분산 어플리케이션), 비트토렌트(파일의 저장 및 이동 서비스를 제공하는 분산 어플리케이션)
    3. 이더리움 가상머신(EVM: Ethereum Virtual Machine)을 통해 모든 참가자(node)들의 컴퓨터에서 동일한 연산을 수행하며 이를 통해 동일한 상태(state)에 합의한다. 전 세계 모든 참가자가 동일한 하나의 컴퓨터를 돌리는 것과 같기 때문에 "세계 컴퓨터(world computer)"라 불리기도 한다.
      1. 세계 컴퓨터: 위변조 불가능하며, 검열 저항의, 전 세계가 공유하는 하나의 컴퓨터
      2. 각가의 노드는 이더리움 가상머신(EVM)을 통해 동일한 연산을 수행
        • 이더리움 가상머신(EVM)은 스마트 계약이 실행될 수 있는 런타임 환경(runtime environment)을 제공
    4. 자체 암호화 화폐 토큰인 이더(ether)가 있으며 계좌(account)[Private Address]간 송금 및 가스(gas)[가스는 이더리움의 자원을 사용하는데 필요한 연료 - 연산력을 측정하기 위해] 구입을 통한 이더리움의 자원(ex) 연산력, 저장공간, 네트워크 사용량)사용에 쓰임
      1. 계좌에는 두 가지 종류의 계좌가 있음
        • 외부소유계좌(EOA: Externally Owned Account): 개인키(private key)를 가지고 통제할 수 있는 계좌로서 다른 계좌로 이더를 송금하거나 메세지를 보낼 수 있음
        • 계약계좌(Contract Account): 계약의 코드에 의해 통제되는 계좌(아무도 통제할 수 없음, 코드에 의해 통제할 수 있음). 계약 계좌가 특정 메세지를 받게 되면 계좌내 코드가 실행됨며 내부 저장공간에 정보를 읽고 쓸 수 있음.
        • 계좌의 구조
          • 논스(nounce): 거래가 반복되어 시행되는 것을 막기 위한 카운터값
          • 이더량(ether balance): 계좌가 보유하고 있는 이더의 량
          • 계약코드(contract code): 실제로 실행될 계약의 내용이 적혀져 있는 코드로서 계약 계좌의 경우에만 있음
          • 저장공간(storage): 계약에 필요한 정보들을 저장하는 공간으로서 계약계좌의 경우에만 있음
        • 이더리움을 비롯한 대부분의 블록체인은 데이터의 저장 및 가공의 높은 중복성(redundancy)이 특징, 전 세계의 참여자들이 동일한 데이터를 저장하고 동일한 연산을 중복되게 실시하므로 사용할 수 있는 자원에 한계가 있음. 비허가성 블록체인이기 때문에 누구나 블록체인을 읽고 쓸 수 있기 때문에 공유지의 비극(tragedy of commons)을 막기 위해 한정된 자원에 비용을 매길 필요가 있음
        • 비트코인의 경우에는 블록의 크기가 한정되어 있어 사용자는 블록저장공간이라는 자원을 사용하는데에 대한 거래 수수료를 지불. 이더리움의 경우에는 계약의 실행을 위한 연산력(저장공간, 네트워크 사용량 등도 있음)이 한정된 자원. 따라서 이더리움의 연산력을 사용하기 위해서는 특정 댓가를 지불해야 하는데 이것이 바로 가스(gas)[노드들이 gas를 받음]. 이더와 가스가 분리되어 있는 이유는 연산력의 시장가와 연산력 측정의 단위를 분리시키기 위해서(ex) 전기의 kW)
    5. 2013년 말, 비탈릭 뷰테린(Vitalik Buterin)에 의해 처음 제안되었으며 2014년 7월 크라우드 세일을 진행한 후 월 말 초기버전인 Frontier 출시함
    6. 상태 변환 시스템으로서의 비트코인/이더리움
      1. 블록을 단순한 데이터의 집합이 아니라 상태 변화 함수(State Transition Function)로서 생각.

4. 이더리움 개발단계

  1. 1단계(Frontier)
    1. 이더리움의 가장 기초적인 형태로서 커맨드 라인 인터페이스를 통해 이더 계약을 업로드하고 실행시킬 수 있음. 채굴자들은 채굴을 시작. 거래소에서 이더 거래 가능. 분산 어플리케이션(dapp)을 테스트할 수 있고 이더를 구입하여 자신의 소프트웨어를 이더리움에 업로드 가능.
  2. 2단계(Homestead)
    1. 홈스테드 단계는 프론티어에 대한 광범위한 테스트가 끝나고 코어 개발자들이 안정적이고 안전하다고 판단될 때 시작. 홈스테드 단계의 이더리움은 "안전하다"고 판단될 수 있음. 2단계까지는 이더리움의 베타(beta) 버전의로서 이더리움의 주요 프로젝트들이 처음 개발 및 구현됨.
  3. 3단계(Metropolis)
    1. 기술을 모르는 일반인들도 사용할 수 있는 공식 인ㄴ터페이스가 출시. Mist 및 분산 어플리케이션 스토어 출시. 이더리움 네트워크 위에서 다양한 프로그램들이 제대로 작동하게 되어 강력한 생태계를 갖춰가기 시작.
  4. 4단계(Secuirty)
    1. 이더리움의 마지막 단계로서 에너지 낭비가 심한 작업증명을 자산증명으로 전환. 네트워크의 확장성(scalability)이 개선되어 처리속도가 빠르고 효율적이 되며 초보자들도 사용하기 쉬운 단계. 채굴을 없애더라도 안정적인 네트워크 확보

Source: https://www.youtube.com/watch?v=uUC3hELa-Oo