[멋쟁이 사자처럼 블록체인 스쿨 3기] 23-05-09

임형석·2023년 5월 10일
0

이더리움 블록체인 이론


World State Trie

prefix = 익스텐션노드는 0, 리프노드 홀수 3, 짝수 2

branch, extension 두개의 노드가 반복되며 leaf 노드에서 마무리되며 value 값을 찾게 된다.

머클 패트리샤 트라이 구조

패트리샤 트라이로 value 를 찾을땐 아래의 그림과 같이 key 를 따라간다.

예시로 'duck' 이라는 value 를 찾으려고 한다면, 395 라는 key 를 따라가야한다.

  1. 최상단 merkle Hash 의 '3' 을 가지고 hashA 로 이동한다.
  1. hashA 에서 merkle hash 의 '9' 를 가지고 hashC 로 이동한다.
  1. hashC 에서 merkle hash 의 '5' 를 가지고 hashD 로 이동한다.
  1. hashD 에서 그대로 data 값인 duck 을 읽어온다. (key = '395' : value = 'duck')

비트코인 백서


Bitcoin: A Peer-to-Peer Electronic Cash System

주관적으로 번역 및 해석한 요약이다.

1. Introduction

이중지불 문제를 해결한 제3자 중개인이 없는 P2P 네트워크를 만들었다.

이 네트워크는 정직한 노드들의 CPU 파워가 공격자 노드들의 CPU 파워를 통제할 수 있을때는 안전하다.

2. Transaction

전자 화폐를 디지털서명의 체인으로 정의한다.

이중지불 문제를 해결하는 유일한 방법은, 모든 결제를 확인하는 것.

모든 거래를 확인하기 위해 중앙화된 은행에서 컨트롤 하는 것이 방법이지만, 중앙화 되어있다.

3. Timestamp Server

첫 번째 해결방안은 타임스탬프 서버이다.

타임스탬프와 함께 해시를 퍼블리싱한 후, 뉴스나 유즈넷 처럼 널리 배포한다.

해시는 이전의 타임스탬프 값을 포함하고 추가되는 타임스탬프에도 똑같이 적용한다.

4. Proof of Works

P2P 를 기반으로한 배포된 타임스탬프 서버는 작업증명 방식을 사용해야 할 필요가 있다.

작업증명 방식은 몇개의 0비트로 시작하는 SHA-256 의 해시를 찾아내는 것이다.

작업증명 방식은 다수결의 원칙 문제도 해결할 수 있다. 1 IP 당 1 투표가 가능했던 것이, 작업증명 방식에서는 1 CPU 1 투표이다.

만약, 정직한 노드들이 다수의 CPU 파워를 컨트롤 할 수 있다면, 다른 경쟁 노드보다 빠르게 체인을 이어나갈 수 있을 것이다.

공격자들이 과거의 블록을 변경시키려면 현재 정직한 노드들의 블록을 앞질러야 한다.

작업증명 방식의 난이도는 시간당 블록생성 평균과 타겟값에 따라 결정된다.

너무 빠르게 블록이 생성된다면, 난이도는 올라갈 것이다.


5장은 다음 TIL 에서..

0개의 댓글