본문 바로가기
블록체인

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

by 테크케찰 2022. 5. 28.

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

합의 계층

  • 작업 증명(PoW, Proof of Work): 복잡한 계산 문제의 해답을 가장 빨리 찾은 마이너의 블록을 블록체인에 등록하고 이에 대한 수행 결과로 보상
    • 마이닝(mining): 작업 증명 방식으로 블록을 생성하는 과정 (=채굴)
  • fork: 블록체인 시스템의 업그레이드
    • 하드 포크(hard fork): 무조건 업그레이드, 이전 버전 호환 x
    • 소프트 포크(soft fork): 이전 버전 호환 가능
  • 목표 난이드(Target Threshold): 블록 생성 시 목표 난이도를 맞추기 위해 현재 시각의 타임스탬프를 이용해 값을 조정

실행 계층

  • 스마트 컨트랙트: 특정 계약을 스스로 수립, 검증, 이행하기 위한 컴퓨터 프로토콜
    • 이더리움에서 스마트 컨트랙트는
      • 새로운 스마트 컨트랙트를 생성
      • 특정 스마트 컨트랙트 함수를 실행
      • 이더를 전송

공통 계층

  • 노드: 컴퓨터
  • 이더리움은 완전 분상형 P2P 토폴로지로 구성 -> 이더리움 P2P 네트워크에 연결된 모든 노드는 같은 역할, 기능 수행
  • 노드 디스커버리 프로토콜: 완전 분산 네트워크를 위한 분산 해시 테이블인 카데리마(kadelima) 프로토콜을 기반으로 네트워크 상에서 노드를 탐지하는 프로코콜
    • UDP 기반의 RPC 프로토콜로 네트워크에 연결된 RLPx 노드를 찾는 데 이용
  • RLPx: 암호화된 피어간 네트워크 프로토콜, 이더리움에서 P2P 네크워크상에서 일반 전송과 애플리케이션 간의 통신을 위해 사용
  • 부트스트랩 노드: 블록체인 정보는 저장하지 않고, 네트워크 상의 피어 노드를 찾는 데 사용, 일정 시간 동안 연결되어 있는 노드의 목록을 유지
  • 레벨DB: key와 value 형태로 데이터를 저장하고 조회, 갱신 등 다양한 조작을 할 수 있도록 하는 DB
  • 이더리움 데이터베이스(ethdb)
    • 레벨DB를 래필
    • 레벨DB가 대용량 데이터의 경우 효율성에 문제가 있어 이더리움 블록체인 데이터를 mongoDB 등으로 변환하는 ethereum/ecp 프로젝트 등도 있음 (ethereum/ecp github을 들어가봤을 때 프로젝트가 더 이상 유지되고 있는 것 같지는 않아보임)
  • RLP(Recursive Length Prefix) 인코딩: 중첩괸 바이너리 배열을 인코딩

응용 계층

  • Dapp(Decentralized App): 탈중앙화 앱, 스마트 컨트랙트 기반의 웹 서비스
  • State of the Dapps: Dapp 프로젝트 확인 가능한 사이트
  • DAO: 탈중앙화 자율조직
  • DAC: 탈중앙화 회사
  • 스마트 컨트랙트 배포 -> 스마트 컨트랙트의 어카운트 주소와 ABI(Application Binary Interface) 생성
  • ABI: 스마트 컨트랙트의 바이트 코드를 일반 프로그램에서 호출하고 실행시킬 수 있는 정보와 인터페이스 제공
  • 휘스퍼(Whisper): 댑 간의 쉽고 안전하고 효율적인 통신 수단 제공
  • 스웜(Swarm): 인센티브 방식으로 운영되는 P2P 파일 시스템이자 기존 CDN(Content Delivery Network)와 유사한 콘텐츠 전달 채널
    • 청크(chunk): 스웜에서 콘텐츠의 저장고 추출을 위한 기본 단위
    • 문서(document): 가장 작은 단위, 파일 시스템에서 파일의 역할
    • 매니페스트: 임의의 경로를 통해 일련의 문서들(컬렉션)에 대한 접근을 가능하게 하는 구조체