[블록체인 기본] 블록체인의 정의와 구성, 해시함수
블록체인이란?
정보를 블록이라고 하는 단위로 저장하여 저장된 블록들을 체인형태로 묶은 저장기술
-> Linked list와 비슷하다. 그런데 앞의 블록(Linked-List아이템)을 기억하는 방식이 다르다.
어떻게 기억할까?
해쉬 함수(Hash Function)
임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 함수
- { 해시, 해시 값, 해시 코드 } = 해시 함수에 의해 얻어지는 값
- 데이터를 X, 해쉬 함수를 H라고 표기할 때 해시를 H(X)로 표기
- 산업에서 가장 널리 쓰이는 해시 함수는 SHA-2 (e.g., SHA-256), SHA-3 (e.g., Keccak)
Rules
- 하나의 데이터에서 오직 단 하나의 해시가 도출 -> 고유의 해쉬 값을 가진다.
- 같은 함수라도 다른 데이터를 해시할 경우 결과값이 크게 다르다.
- 같은 데이터라도 다른 함수로 해시할 경우 마찬가지로 결과값이 크게 다르다.
- 임의의 데이터 X와 Y가 있을 때
- if X==Y then H(x)==H(y)
- if X!=Y then H(X) != H(Y)
- if H(X)==Y then X==Y
본 포스팅은 Klaytn 스마트계약과 탈중앙앱을 수강하며 작성한 글입니다.