본문 바로가기
블록체인

이더리움 플랫폼 데이터 용어 정리 1

by 테크케찰 2022. 5. 22.

코어 이더리움 프로그래밍 책의 2.3.1절에 대한 용어 정리입니다.

 

  • 외부 소유 어카운트(EOA, Externally Owned Account): 일반적으로 말하는 이더리움 사용자 어카운트
  • 컨트랙트 어카운트(CA, Contract Account): 스마트 컨트랙트
  • 넌스(nonce): 해당 어카운트로부터 보내진 트랙잭션 수
  • 잔액(balance): 해당 어카운트의 이더 잔고
  • 루트(root): 해당 어카운트가 저장될 머클 패트리시아 루트 노드
  • 코드해시(CodeHash): 해당 어카운트의 스마트 컨트랙트 바이트 코드
  • 머클 크리(Merkle Tree): 이진트리

  • 트랜잭션: 다른 어카운트나 컨트랙트에 보낼 데이터 구조체(struct)로서, 전자서명으로 암호화
  • 리시트(Receipt): 모든 트랙잭션의 로그를 저장하는 곳
  • 블룸 필터(Bloom Filter): 트랜잭션 목록이나 해당 트랜잭션들에서 생성된 로그들이 중복 저장되는 것을 막고, 이들 정보에서 쉽게 찾기 위해서 사용하는 것
  • 제네시스 블록(Genesis Block): 블록체인에서 첫 번째에 위치한 최초 블록
  • 엉클 블록(Uncle Block): 블록의 유효성은 통과되어 다른 노드에 브로드캐스팅되었으나 난이도가 낮아(= 블록 생성이 빠르면) 최종 블록으로 인정받지 못한 블록
    • 채굴의 효율성 + 네트워크의 안정성 + 신규 이더리움 발행빈도의 부정조작을 방지
    • 문제점: 트랙잭션 처리 지연 + 컴퓨팅 파워 낭비 + 보안 문제
  • 고스트 프로토콜(Ghost Protocol): 고스트 알고리즘(Ghost, Greedy Heavist Observed Subtree) 알고리즘을 이용해 엉클 블록의 문제를 해결
  • 동기화
    • 전체 동기화(Full Sync): 전체 블록 동기화
    • 빠른 동기화(Fast Sync): 최근 블록 헤더만 동기화
    • 경량 동기화(Light Sync): 현재 상태 정보만 동기화
  • 머클 패트리시아 트리: 머클 트리 + 트리의 깊이를 한정 + 트리의 각 노드에 숫자값을 지정하여 경로 표시
  • 이더: 이더리움에서 사용하는 암호화폐
  • 가스: 이더리움 시스템의 운영 토큰
    = 이더리움 리소스 사용에 대한 대가 + 트랙잭션의 남용 방지
  • 비밀 키 암호화: 암호화와 복호화 시에 하나의 공통 비밀 키만 사용(=대칭키 암호화)
  • 공개 키 암호화: 암호화와 복호화 시에 서로 다른 2개의 키 이용(=비대칭 키 암호화)
    • 공개 키 암호화 방식: 공개 키로 암호화 -> 개인 키로 복호화
    • 전자서명: 개인 키로 암호화 -> 공개 키로 복호화
      • 이더리움에서는 전자 서명 암호화 방식 사용
  • 트랜잭션 처리
    1. 트랜잭션 전자서명(개인키로 전자서명)
    2. 트랜잭션 브로드캐스트(전체 데이터를 모든 노드에게 전달)
    3. 트랜잭션의 유효성 검증(문법, 전자서명, 넌스, 거래 비용 등)
      • 공개 키로 검증
    4. 트랜잭션 실행

출처