블록체인 - ChoDragon9/posts GitHub Wiki
블록체인의 정의와 구성, 해시함수
블록체인이란?
블록이라는 단위로 정보가 저장되어 있고, 블록들을 체인형태로 묶은 저장기술
해시함수
임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수
- if X == Y then H(X) == H(Y)
- if X != Y then H(X) != H(Y)
- if H(X) == H(Y) then X == Y
블록체인의 구조, 주요 용어
블록, 블록헤더, 해시포인터
- 블록은 헤더와 바디로 구분됨
- 헤더는 블록을 설명하는 정보와 이전 블록의 해시를 포함
- 이전 블록의 해시(hash pointer)를 가지기 때문에 어떤 블록이 앞에 오는 지 알 수 있고, 블록의 순서를 결정할 수 있음
블록높이, 블록생성주기
- 블록높이
- 블록들을 최근 블록이 위로 오도록 정렬하면 블록이 생성됨에 따라 체인의 높이가 늘어난다.
- 블록의 순서를 그 블록이 위치한 높이라 부른다.
- 블록생성주기
- 다음 블록을 생성하기까지 걸리는 시간을 블록생성시간이라한다.
- 비교적 일정한 경우 블록생성주기란 표현을 사용한다.
- 비트코인: 1시간 / 이더리움: 15초 / 클레이: 1초
- 블록에 정보가 들어가는 시간이라고 할 수 있다.
- 클레이는 서비스 지향하기 때문에 짧다.
합의 알고리즘
nonce 해시를 만들 때 중복된 값을 만들지 않기 위해서 사용하는 값
- PoW
- PoS
- BFT-variants