1. 이더리움의 등장배경

 

블록(block)과 트랜잭션(transaction)이란?

  • 블록체인은 블록단위로 기록이 되고 다른 노드들과 동기화도니는 상태와 상태의 전이를 일으키는 트랜잭션으로 구성 되어있다.

  • 블록체인은 디지털 자산을 다루는 시스템이므로 주로 상태는 잔고 정보를 의미하고 트랜잭션은 자산 소유권의 이동을 표현한다.

  • 블록은 참여자들이 트랜잭션에 의해 변화한 상태를 서로 공유하는 단위이다.

  • 두 개의 블록이 공존하는 상태를 포크라고 하며, 이러한 상태가 발생하지 않도록 하는 것이 중요하다.

 

블록 상태(block state)의 표현

  • 블록 상태는 블록이 생성된 시점에서 새로운 트랜잭션의 유효성을 판단하기 위한 지표이다.

  • 블록 상태는 이전까지 블록에 담겼던 모든 트랜잭션들의 수행 결과이다.

  • 어떤 블록의 상태는 이전까지 블록에 담겼던 모든 트랜잭션들을 수행해봄으로써 도출해내고 검증할 수 있다.

 

프로그램 상태의 전이(transaction)

  • 프로그램은 명령어에 의해 상태가 변경된다.

  • 트랜잭션에 의해 디지털 자산의 소유권에 해당하는 데이터가 변경되는 것은 크게 보면 소유권 데이터를 처리하는 프로그램의 상태가 변경되는 것과 유사하다.

이더리움의 등장 배경

 

  • 블록체인을 확장시켜서 디지털 자산의 이동 뿐만 아니라 일반적인 프로그램의 상태 변경에도 활용하기 위해 등장함

  • 프로그램 가능한 블록체인을 만들기 위해 등장함

 

2. 이더리움의 역사

 

  • 2013년, 비탈릭 부테린이 이더리움 백서를 작성하여 공개

  • 2014년, 비탈릭 부테린의 주도로 이더리움 재단 설립

 

이더리움 재단:

- 이더리움 개발의 주축이 되는 단체

- ICO를 통해 초기 자금모집(3만1천개의 비트코인을 개발자금으로 확보)

 

3. 이더리움의 기술적 이해

 

스마트 컨트랙트

  • 비탈릭 부테린과 가빈우드에 의해 이더리움으로 구현 되었다.

  • 블록체인 상에 영구히 기록된 스크립트이다.

  • 이더리움의 경우, Solidty라는 문법을 이용함.

  • 트랜잭션은 명령어, 그 중에서도 특히 여러 명령어를 실행하는 스크립트의 함수 호출명령어에 대응된다.

  • 하지만 프로그램을 실행보기 전에는 종료가 될지 안될지 알 수 없다.(이를 해결하기 위해 수수료 개념을 도입)

 

수수료

  • 종료되지 않는 프로그램을 실행하게 될 경우, 블록 채굴에 문제가 생긴다.

  • 이더리움은 프로그램의 각 명령어에 비용(gas)을 부과하였다.

  • 따라서, 무한히 지속되는 프로그램을 실행할 수 없다.

 

활용분야: DApp(탈중앙화 어플리케이션)

  • 스마트 컨트랙트로 이루어진 어플리케이션

  • 이더리움 위에서 수많은 DApp 생태계가 꾸려져 있다.

  • 크립토 키티, 크립토 좀비 등이 대표적인 이더리움의 DApp이다.

 

기술적 한계

 

확장성 문제(Scale문제)

  • 이더리움의 경우 탈중앙화를 지키며 확장성 문제를 해결하기 위해 여러 연구 진행 중

  • 이를 해결하기 위한 방법으로 플라즈마, 샤딩, 라이젠네트워크 등을 예로들 수 있음

익명성 문제

  • 기본적으로 블록체인에서는 모든 거래가 투명하게 공개 됨

  • 숨기고 싶은 거래 혹은 시스템적으로 숨겨야 하는 트랜잭션도 모두 공개됨

  • 영지식 증명, 믹싱, 프라이빗 블록체인 등의 기술이 연구 됨

진입장벽의 문제

  • 블록체인이 활성화 되려면 참여자가 많아야 하는데 참여자들에게 진입장벽이 너무 높음

  • 일반적인 사용자가 참여하기에 알아야할 지식들이 많다.

'블록체인' 카테고리의 다른 글

블록체인 공부 - 비트코인(Bit coin, BTC)편  (0) 2019.09.18

+ Recent posts