블록체인

[블록체인] 해싱

iemxl 2025. 4. 23. 13:39

해싱 (Hashing : One-way function)

: 임의의 길이의 데이터를 고정된 길이의 해시값으로 변환하는 일방향 함수

 

특징

  • 고정 길이 출력 : 입력이 길어도 출력은 일정
  • 단방향성 : 해시값으로 원본 복원 불가
  • 민감성 : 입력을 조금만 바꿔도 결과는 완전히 달라짐
  • 출동 저항성 : 서로 다른 입력이 같은 해시값을 갖는 경우(충돌)가 거의 없음

해시 난이도 계산 (비트코인 방식)

→ 해시값이 이 target보다 작아야 블록 유효

비트코인의 난이도 게산

 

 

SHA - 256 (Secure Hash Algorithm 256bit)

: 미국 NIST에서 개발한 SHA-2 계열의 해시 함수 중 하나, 블록체인의 핵심 해시 알고리즘

 

Hash Collision 

: 서로 다른 두 입력값이 같은 해시값을 가지는 경우

  • 2^n 공간이라도 충돌은 2^{n/2} 수준에서 발생 가능
  • SHA-256 충돌 확률

SHA-256의 충돌 확률

→ 사실상 불가능

 

 

 

Merkle Tree

: 해시 트리 구조로, 여러 트랜잭션의 해시값을 계층적으로 결합해 하나의 루트 해시로 요ㅎ약하는 구조