Victoree's Blog

[2-1] 이더리움 플랫폼 본문

Blockchain

[2-1] 이더리움 플랫폼

victoree 2021. 6. 22. 15:04
728x90

이더리움 플랫폼

이더리움 작동 과정

  • 블록체이 기술 하에 Ether 같은 다양한 암호화폐를 생성하고 운용할 수 있음
  • 네트워크 상에서 서로 신뢰할 수 없는 대상간에 서로 합의한 계약을 준수하도록 강제하는 스마트 컨트랙트를 지원

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

이더리움 플랫폼의 작동과정

  1. 이더리움 지갑 및 계정 생성
  2. 매매 / 환전
  3. 이더 송금
  4. 상품 구매 / 이더 결제
  5. 상품 판매 이더 수취
  6. 블록 N-1 헤더 해싱 계산 (Proof of Work) → 신규 블록 추가 & 브로드 캐스팅
  7. 이더리움 플랫폼 개발
  8. 컨트랙트 기반 응용 서비스 개발
    스마트 컨트랙트 기반 DApp 서비스

블록 내부 데이터

  • 블록 헤더
  • 타임스탬프
  • 이전 블록 헤더의 해시값
  • 넌스
  • 머클 트리 루트

1. 이더리움 지갑 설치와 사용

  • 이더(Ether)를 사용하기 위해 Mist나 이더리움 월렛을 설치함
    • 내부에 이더리움 클라이언트를 내장하고 있어서 작동되면 자동으로 이더리움 네트워크에 연결됨
  • 사용자 어카운트 생성 → 메인 어카운트 == Etherbase
    • 어카운트 이름 대신 어카운트에 대한 암호문구를 입력
    • 해당 암호는 절대 변경될 수 없으며, 외부에 유출되지 않도록 잘 기억하고 보관해야함
      → 분실하거나 유출 시 암호화폐를 다시 찾을 수 없음
    • Etherbase는 마이닝 등의 작업 대가를 지급받을 때, 디폴트 어카운트가 됨
    • 복수로 생성 가능
    • 어카운트 주소는 암호화된 16진수 값이며, 이 값을 통해 Ehter를 주고 받을 수 있음
  • Ether를 얻는 방법
    • 거래소에서 구매 (빗썸 or 업비트)
    • 다른 사용자에게 이더 송금 받기
    • 채굴자가 되어 마이닝 작업을 통해 이더를 확보할 수도 있으나, 많은 장비가 필요함
    • 상품이나 서비스 판매 후 "이더로 결제"를 통해 획득

2. 모든 거래 기록의 공유 및 블록체인 구성

트랜잭션

  • 사용자 어카운트 상태를 다른 상태로 전이하게 될때, 상태 변화를 일으키는 모든 활동
    • 물건 구매 후 이더 지급 || 송금
  • 트랜잭션이 모여 하나의 블록이 되고, 이 블록이 시간순으로 연결되면서 블록체인이 됨

합의 알고리즘 Pow (Proof of Work)

  • 채굴자 == PoW 합의 알고리즘을 실제 수행하는 사람
    • 각 트랜잭션과 이들이 모여있는 블록에 정의된 난이도보다 적은 수의 해시값을 찾는 컴퓨터 해시 연산을 한 후, 해당 값을 찾으면 네트워크상에 연결된 모든 참여자 노드에 전파하여 이를 알린다
    • 블록당 3 Ether와 블록 내 포함된 트랜잭션들의 처리 비용을 획득
  • PoW를 통한 채굴에 성공하기 위해선 높은 컴퓨팅 해시 연산 파워가 필요하기 때문에, 막대한 장비 투자와 전기 사용, 대형 채굴업자에 의한 영향도 집중 등 여러 문제점이 많음
    • 지분 증명 (Proof of Stake)의 방식으로 변경하는 중...

3. 다양한 응용 앱 개발

  • Git에서 이더리움 오픈 소스를 클론하여, 오류 수정 및 신규 기능 추가가 가능
  • EIP (Ethereum Improvement Proposal)를 커뮤니티에 제출하여 새로운 기능과 기술을 추가할 수도 있음
  • 스마트 컨트랙트를 이용하여 응용 서비스 개발 가능
    • DApp은 기존 자바스크립트나 HTML, CSS 등을 사용하여 스마트 컨트랙트를 조작함으로 다양한 서비스 개발이 가능함
  • 이더리움은 솔리디티 같은 사위 스마트 컨트랙트 개발언어로 개발된 컨트랙트 프로그램을 바이트 코드로 컴파일한 후, 블록체인에 배포하고 저장함
    • 사용자가 스마트 컨트랙트를 이용하기 위해서는 Gas라는 내부 운용 토큰을 대가로 지급해야 함
  • → 이상이 없을 경우, 이더리움 가상 머신(EVM)에서 Op코드(실행 가능한 코드)로 변환되어 실행됨
728x90
Comments