블록체인

Hash란

sungjae0309 2026. 5. 26. 23:35

블록체인에서 해시(Hash)란 무엇일까?

1. 해시(Hash) 개념

블록체인을 공부하다 보면 자주 등장하는 용어 중 하나가 해시(Hash) 이다.

  • 해시는 쉽게 말하면, 어떤 데이터를 일정한 규칙에 따라 고정된 길이의 문자열로 바꿔주는 기술이다.
  • 예를 들어 어떤 문장, 파일, 거래 기록 같은 데이터를 해시 함수에 넣으면 전혀 다른 문자열이 나온다.
입력값: Hello blockchain
결과값: a3f5...9c21
 
  • 여기서 결과값처럼 나온 문자열을 해시값이라고 한다.
  • 즉, 해시는 데이터를 짧고 고유한 형태로 표현해주는 디지털 지문 같은 역할을 한다.

2. 해시의 주요 특징

해시는 블록체인에서 중요한 이유가 있다.

  1. 같은 입력값은 항상 같은 해시값을 만든다.
    • 예를 들어 blockchain이라는 단어를 해시 함수에 넣으면, 같은 해시 알고리즘을 사용하는 한 항상 같은 결과가 나온다.
  2. 입력값이 조금만 바뀌어도 해시값은 완전히 달라진다.
    • 예를 들어 blockchain과 Blockchain은 첫 글자의 대소문자만 다르지만, 해시값은 전혀 다르게 나온다.
  3. 해시값만 보고 원래 데이터를 알아내기는 매우 어렵다.
    • 해시는 한 방향으로 계산되는 특성이 있기 때문에, 결과값만 보고 원래 입력값을 되돌리는 것은 사실상 어렵다.

이런 특징 때문에 해시는 데이터가 바뀌었는지 확인하거나, 원본 데이터를 직접 보여주지 않고 검증할 때 사용된다.

3. 블록체인에서 해시가 필요한 이유

블록체인은 이름 그대로 여러 개의 블록이 체인처럼 연결된 구조다.

  • 각 블록에는 거래 기록뿐만 아니라 이전 블록의 해시값도 함께 저장된다.
  • 예를 들면 다음과 같다.
블록 1 → 블록 2 → 블록 3
 
  • 블록 2는 블록 1의 해시값을 가지고 있고,
    블록 3은 블록 2의 해시값을 가지고 있다.
  • 이렇게 블록들이 서로의 해시값을 통해 연결되기 때문에, 하나의 블록이 바뀌면 그 뒤의 블록들과 연결이 맞지 않게 된다.

4. 해시와 위변조 방지

해시는 블록체인의 위변조 방지와 깊은 관련이 있다.

  • 만약 누군가 과거 블록 안에 있는 거래 기록을 몰래 바꾸려고 한다고 가정해보자.
    거래 기록이 조금이라도 바뀌면 그 블록의 해시값도 완전히 달라진다.
    그러면 다음 블록에 저장되어 있던 “이전 블록의 해시값”과 맞지 않게 된다.
  • 결국 하나의 블록을 조작하려면 그 뒤에 연결된 모든 블록의 해시값도 다시 바꿔야 한다.
  • 하지만 블록체인은 여러 노드가 같은 데이터를 나누어 가지고 있기 때문에, 이런 조작은 매우 어렵다.
  • 그래서 해시는 블록체인에서 데이터가 위조되었는지 확인하는 중요한 역할을 한다.

5. 해시를 쉽게 비유하면

해시는 디지털 지문이라고 생각하면 이해하기 쉽다.

  • 사람마다 지문이 다르듯이, 데이터도 각자 고유한 해시값을 가진다.
  • 데이터가 조금이라도 바뀌면 지문도 완전히 달라진다.
  • 해시값을 비교하면 데이터가 원래 상태 그대로인지, 중간에 바뀌었는지 확인할 수 있다.

6. 정리

  • 해시는 데이터를 고정된 길이의 문자열로 바꿔주는 기술이다.
  • 블록체인에서는 각 블록의 정보를 요약하고, 블록과 블록을 연결하며, 데이터가 위변조되지 않았는지 확인하는 데 사용된다.
  • 결국 해시는 블록체인의 신뢰성을 만들어주는 핵심 개념 중 하나라고 할 수 있다.