Ethereum 부가 정리

1 minute read

Ethereum

Stale Block (Uncle Block)

  • 거의 비슷한 시간에 두개의 블록이 채굴된 경우, 하나의 블록은 버려지게 되는데, 이 때 버려진 블록이 Stale Block

Ghost Protocol (Greedy Heaviest Object Subtree)

  • uncle block에 대한 보상을 지급함으로써 uncle block을 메인 체인에 포함하여 블록체인 전체 난이도 상승 유도
  • fork 발생 시 uncle block까지 포함한 자신의 서브트리의 크기가 가장 큰 child가 메인체인의 블록으로 선택된다.
  • 사용 이유 :

    uncle 블록 생성시 , 파워가 불필요하게 낭비된다.
    이로 인해 평균 블록 생성 시간이 늦춰지게 되며, 난이도가 낮아지게 된다.
    결국 블록체인 네트워크 보안 수준이 저하되는 결과를 초래한다.

  • 부가 설명 : Uncle Reward 종류 및 설명

Fork

  • regular fork, soft fork , hard fork 의 3 경우 존재

피어 검색

  • 모든 노드와 연결될 필요는 없고, 몇 개의 노드에만 연결하면 된다.
  • Kademlia 프로토콜에 기반한 자체 노드 검색 프로토콜 존재

부트스트랩 노드

  • 일정 시간동안 연결되어 있는 노드의 목록을 유지하고, 해당 목록을 이더리움 네트워크에 연결하려는 클라이언트에 제공
  • 블록체인 자체를 보유하고 있진 않음

Ether 전송 시나리오

1. EOA -> EOA, CA -> EOA

  • 전송 가능

2. EOA -> CA

  • fallback 함수 없는 경우 : reject (이더 EOA에 반환)
  • fallback 함수 있는 경우 : ether를 reject 하지 않게 만들어둔 경우(payable)에 전송 가능

3. CA1 – (call) –> CA2

  • CA2 폴백 함수 구현에 따라 다를듯 (2와 비슷)

4. CA1 – (call) –> CA2 –> EOA (CA2 에서 이더 전송이 일어나는 경우)

  • CA2의 context 에서 실행되므로, CA2의 이더가 EOA로 전송된다.

5. CA1 – (delegate call) –> CA2 –> EOA (CA2 에서 이더 전송이 일어나는 경우)

  • CA1의 context 에서 실행되므로, CA1의 이더가 EOA로 전송된다.

출처 이더리움을 활용한 블록체인 프로젝트 구축

Categories:

Updated: