본문 바로가기
가상화폐•암호화폐

블록체인의 해시란? - 역할, 활용

by 칸무무 2023. 12. 10.

블록체인이란?

블록체인의 해시란
블록체인의 해시란

블록체인은 데이터를 블록 단위로 연결하여 체인 형태로 저장하는 분산형 데이터 저장 기술입니다. 데이터를 중앙 서버가 아닌 여러 개의 노드에 분산 저장하므로 데이터의 무결성과 신뢰성을 보장할 수 있습니다. 이러한 특징으로 인해 블록체인은 암호화폐를 비롯한 다양한 분야에서 활용되고 있습니다.

정리하자면 데이터가 저장된 블록들을 체인 형태로 연결한 것을 블록체인이라 하는데요.
오늘 알아볼 해시가 체인의 역할을 합니다.  해시에 대해 자세히 알아보겠습니다.

해시의 역할

해시는 블록체인에서 다음과 같은 역할을 수행합니다.

  1. 데이터의 무결성 보장: 해시는 데이터(블록)의 고유한 지문 역할을 합니다. 이는 해시 함수에 의해 데이터가 일정한 길이의 고유한 해시값으로 변환되기 때문입니다. 같은 데이터를 입력하면 항상 같은 해시값이 출력되며, 데이터의 어떤 부분이라도 변경되면 해시값도 완전히 다른 값으로 변화합니다. 이를 이용하여 데이터가 위변조 되었는지 여부를 확인할 수 있습니다.
  2. 블록의 연결(체인): 블록체인에서는 각 블록이 이전 블록의 해시값을 포함합니다. 이를 통해 블록들이 연결되어 순서를 갖추게 됩니다. 블록이 추가될 때마다 그 블록의 해시를 이전 블록의 해시값으로 사용함으로써, 한 블록이 변경되면 그 이후의 모든 블록의 해시값도 변경되게 되어 순서가 바뀐 것을 확인할 수 있습니다.
컴퓨터 과학에서 '해시'라는 용어는 정말 중요하고 자주 사용되는 개념인데요. 최대한 쉽게 설명하자면, 해시는 문자열을 해시 함수를 이용해 특정한 값으로 변환한 값을 의미합니다.

블록체인에서는 데이터가 저장된 블록을 해시 함수를 이용해 해시 값으로 변환하게 됩니다. 이때 데이터의 위변조를 방지한다는 의미는 해시 함수는 주어진 문자열이 동일하다면 항상 동일한 결괏값을 반환하기 때문에 블록의 데이터가 변하게 되면 해시 함수가 다른 값으로 변환하고 이는 변조되었다는 걸 의미합니다.

해시의 활용

블록체인에서 해시는 다양한 방면으로 활용됩니다.

  1. 데이터의 위변조 방지: 블록체인에 저장되는 데이터는 해시 함수를 통해 해시값을 생성합니다. 이후 데이터가 변경되면 해시값도 변경되므로, 해시값을 통해 데이터의 일관성과 무결성을 확인할 수 있습니다. 예를 들어, 블록체인에 암호화폐의 거래 내역이 저장된다고 가정해 보겠습니다. 거래 내역이 변경되면 그에 따라 해시값도 변경됩니다. 따라서 해시값을 통해 거래 내역이 변경되었는지 여부를 확인할 수 있습니다.
  2. 블록의 연결 (체인 역할): 블록체인에서는 각 블록이 이전 블록의 해시값을 포함하고 있습니다. 따라서 블록의 해시값을 통해 블록의 순서가 바뀌었는지 여부를 확인할 수 있습니다. 예를 들어, 블록체인에 거래 내역이 저장된다고 가정해 보겠습니다. 거래 내역이 변경되면 이전 블록의 해시값도 변경됩니다. 따라서 이전 블록의 해시값을 통해 거래 내역이 변경되었는지 여부를 확인할 수 있습니다.
  3. 거래의 유효성 검증: 블록체인 기반의 암호화폐에서 거래의 유효성은 해시를 사용하여 검증됩니다.

거래의 유효성 검증 과정

  1. 거래자가 거래를 생성하고, 거래의 정보를 블록체인 네트워크에 전송합니다.
  2. 노드들은 거래의 정보를 검증합니다. 검증 과정에서 거래의 유효성 여부를 확인하기 위해 해시 함수를 사용하여 거래의 해시값을 생성합니다.
  3. 노드들은 거래의 해시값을 네트워크에 공유합니다.
  4. 노드들은 거래의 해시값이 합의 알고리즘에 의해 승인되면, 거래를 유효한 것으로 간주합니다.
예를 들어, A가 B에게 1 BTC를 전송하는 거래를 생성합니다. A는 거래의 정보를 블록체인 네트워크에 전송합니다. 노드들은 거래의 정보를 검증합니다. 검증 과정에서 거래의 유효성 여부를 확인하기 위해 해시 함수를 사용하여 거래의 해시값을 생성합니다. 노드들은 거래의 해시값을 네트워크에 공유합니다. 노드들은 거래의 해시값이 합의 알고리즘에 의해 승인되면, 거래를 유효한 것으로 간주합니다.

정리

해시에 대해 알아봤는데요. 사실 해시와 해시 함수에 대해 제대로 이해하는 건 전공자가 아니라면 힘들기 때문에 블록체인을 이해하기 위한 정도로 최대한 풀어서 설명했는데요. 해시는 블록체인의 체인을 담당하기 때문에 블록체인을 제대로 이해하기 위해서는 꼭 짚고 넘어가야 합니다. 나중에 기회가 되면 해시와 해시함수에 대해 더 자세히 포스팅하도록 하겠습니다.