*여기서 나오는 모델은 이더리움 플랫폼의 참조 모델이다. 본 참조 모델의 목적은 이더리움 플랫폼을 논리적으로 이해하기 위해 작성된 것이다. -코어 이더리움 프로그래밍
이더리움 플랫폼은 P2P 네트워크를 기반으로 서로 신뢰할 수 없는 대상들이 모여 일련의 트랜잭션의 유효성을 합의한 후, 전체 데이터를 분산된 원장을 통해 전체가 공유한다. 이더리움의 다양한 기능들을 수행하기 위한 이 플랫폼은 5개의 계층, 즉 데이터 계층, 합의 계층, 실행 계층, 응용 계층, 공통 계층으로 모델링할 수 있다.
이더리움에서 다루는 각종 데이터 구조를 정의하고 관련 데이터를 관리한다.
주요 데이터 구조로는 어카운트와 트랜잭션, 메시지와 리시트(recipt), 이들 데이터의 집합인 블록과 이들 블록이 연결된 블록체인 등이 있다.
이들 데이터 모델은 하부에 ethdb 패키지를 통해 구글이 만든 빠르고 가벼운 키/값 데이터베이스인 레벨DB에 바이너리 형태로 저장된다.
- 어카운트
- 트랜잭션과 리시트(recipt)
- core패키지 : 트랜잭션 생성 및 전자 서명
- 블록체인
어카운트에 의해 생성된 트랜잭션과, 트랜잭션들과 관련된 데이터들이 모여 있는 블록의 유효성을 검증하는 합의 엔진, 이 과정을 수행하는 마아닝, 마이닝의 난이도, 그리고 마이너들에게 지급할 인센티브인 가스(Gas), 이더 등의 처리를 담당한다.
이더리움 블록체인에서 구동 가능한 스마트 컨트랙트와 스마트 컨트랙트를 이더리움 노드에서 수행시켜 줄 EVM의 처리를 담당한다.
이더리움에서 공통적으로 사용하는 기능들을 제공한다. 노드 간의 연결과 동기화를 위한 P2P 네트워크 프로토콜을 비롯하여 암호 해시, 전자 서명, 각종 인코딩, 공통 저장소 등 모든 계층에서 공통적으로 이용할 기능들을 담당한다.
이더리움은 비트코인 같은 다른 암호 화폐 플랫폼과 달리 프로그래밍 가능한 플랫폼으로서 다양한 응용 서비스와 앱을 개발할 수 있다. DApp과 더불어 블록체인에서 구동 가능한 스마트 컨트랙트, 그리고 분산 파일 시스템 스웜(Swarm), 분산 메시징 시스템 휘스퍼(Whisper)를 제공한다.