PoW 작업 증명 합의 알고리즘
PoW 체인: 비트코인, 이더리움 1.0,
블록 생성 과정
작업: 논스를 바꿔가면서 해시화했을 때, 목표값 이하의 해시를 찾는 연산 과정
채굴: 작업을 완료하여 블록을 생성한 것
보상: 새로 발행되는 비트코인과 해당 블록에 포함된 거래 수수료의 합
마이닝풀: 여러 대의 채굴기를 연결하여 1대의 슈퍼컴퓨터처럼 작동하도록 만든 네트워크
검증: 블록 헤더의 정보가 맞는지 확인
비트코인은 가장 긴 체인을 메인 체인으로 선택하는 longest chain rule을 따른다.
블록의 구조
현재 해당 블록해시, 블록헤더, 블록바디
블록헤더: 논스, 타임스탬프, 이전블록해시, 난이도, 머클루트해시, 버전
블록바디: 트랜잭션들이 담김. 코인베이스 트랜잭션(tx0), 일반 거래 트랜잭션(tx1~)
블록헤더
논스: 블록 난이도에 따라 랜덤으로 설정된 목표값
타임스탬프: 블록 생성되는 순간의 값
머클루트: 트리 구조를 형성하고 있는 암호화 과정이다.
머클루트 해시 구하는 과정
1. 최초의 데이터를 해시값으로 변환한 후
2. 가장 가까운 노드 두 개를 한 쌍으로 묶어 합친 후 해시값으로 변환한다.
3. 이 과정을 반복하여 마지막 하나가 남을 때까지 반복한다. 그 마지막 하나가 머클루트해시!
머클루트의 역할
log₂[전체거래내역수]를 통해 특정 거래내역을 쉽게 찾을 수 있는 특징이 있다.
따라서, 각 TXID의 정보들이 변경되었는지에 대한 유효성을 검사하는 역할을 할 수 있다. (풀노드, 라이트노드)
그리고 주어진 트랜잭션이 모든 트랜잭션을 요구하지 않고 블록에 있는지 확인할 수 있기 때문에 검증 시간을 줄이는 역할을 한다.
비트코인 구조
https://loosie.tistory.com/309
논스와 난이도
'블록체인' 카테고리의 다른 글
21.09.27 Fabric 트랜잭션 정렬 [정리 중!] (0) | 2021.09.27 |
---|---|
21.09.18 [합의알고리즘] DPoS 위임 지분 증명 (0) | 2021.09.19 |
21.09.18 [합의알고리즘] PoS 지분 증명 (0) | 2021.09.18 |
21.09.17 [합의알고리즘] 합의 알고리즘의 목표 (0) | 2021.09.18 |
21.05.29 [하이퍼레저] 프레임워크 종류 (0) | 2021.05.30 |