암호화 해시 함수
암호화를 위한 해시 함수는 3가지 속성을 만족해야 한다.
-
H(x)->y일 때 y로 x 찾기 어려울 것
-
H(x) = y, H(x') = y일 때 x가 주어지면 x' 찾기 어려울 것
-
H(x) == H(y)가 되도록 계산하기 어려울 것
또한 Avalache Effect(입력값에서 조금 바꿨을 때 출력값은 랜덤에 가깝게 바뀌는 것)가 일어나야 함
블록체인 기본 구조
block ID = BLOCKCHAIN HEADER = PREV BLOCK, NONCE, MERKLE ROOT
PREV BLOCK : 이전 블록 주소
NONCE : 답
MERKLE ROOT : 거래 정보를 담고 있는 트리 형식의 저장 구조
퀴즈 맞추기 위해 경쟁. 답 맞추면 NONCE에 답 넣고 블럭 생성 가능 -> 인센티브 획득 & 독점 가능
H(PREV BLOCK HASH || NONCE || MERKLE ROOT) < target
target 값이 작을수록 답 찾기가 어려우며, 이는 일을 했다는 증명시 사용된다.
HASH PUZZLE
3가지 조건을 만족해야 한다.
1. 계산이 어려워야 한다.
2. 파라미터로 난이도 조정이 가능해야 한다.
3. 정답 유무를 쉽게 체크할 수 있어야 한다.
BLOCK DIFFICULTY
초반에 참여한 사람은 쉽게, 후에 참여하는 사람은 어렵게 난이도 조정
- 점점 어려워져 나중에 아무도 채굴할 수 없게 된다면? 거래시 수수료 지불 -> 채굴하는 사람에게 수수료 전달
마이닝
반복문을 이용해 답 찾는 방식. HD 성능이 좋을 수록 더 빨리 찾을 수 있음
'블록체인' 카테고리의 다른 글
ETHEREUM, SMART CONTRACT (0) | 2020.09.29 |
---|---|
블록체인 역사 (0) | 2020.09.13 |
비트 코인이란? (0) | 2020.09.05 |