본문 바로가기

비트코인

해시(Hash) 함수란? 그 특성에 대해 알아봅니다.

해시 함수란? 개념과 특성은 무엇일까요. 오늘은 블록체인 알고리즘에 널리 사용되고 있는 해시 함수에 대해 알아보겠습니다. 특히 해시 함수중 비트코인 알고리즘에 사용되고 있는 SHA256 함수에 대해 설명드리겠습니다.

 

  • 해시함수란?
  • 해시힘수의 특징?
  • SHA-256 함수란?

 

해시함수란?

 

임의의 길이의 데이터를 입력하여 고정된 길이의 결괏값을 출력해내는 함수를 말합니다. 이러한 해시 함수는 암호화폐의 핵심기술인 블록체인 시스템을 이루기 위한 핵심 개념입니다. 공개키의 해시값을 지갑 주소로 활용하여 익명화된 거래를 수행하고, 블록 내 위변조를 여부를 검증하는 절차에 사용되며 블록 내 거래 내역을 기입할 사람을 선별하는 데 사용됩니다. 

 

 

 

 

해시함수의 특징은?

 

  • 특정 입력값은 특정 결괏값만을 도출합니다.
  • 특정 입력 값이 아주 일부만 변경되어도 전혀 다른 결과 값을 출력한다.
  • 결과 값을 토대로 입력값을 계산해낼 수 없습니다.
  • 입력값이 다양한 길이를 가질 수 있으며, 그럼에도 고정된 길이의 결괏값을 출력합니다.
  • 하나의 입력값에 두 개의 결괏값이 존재하지 않습니다.

 

SHA-256 함수란?

 

  • SHA 계열 함수는 미국 국 각안 보국에서 1993년 개발되었습니다.
  • Secure Hash Algorithm, 안전한 해시 알고리즘이라는 의미입니다.
  • 메시지 값을 입력하여 256bit의 결괏값을 도출합니다.
  • SHA-256은 현재 블록체인에서 가장 많이 채택하여 사용되고 있는 방식입니다. 
  • 연산 속도가 빠르다는 장점을 갖고 있습니다.

 

256bit의 결과 값이라는 의미는 경우의 수가 2^256이라는 경우의 수입니다. 이는 우주 전체에서 무작위의 특정 원자 위치를 맞추는 것과 같은 일입니다. 또한 비트코인의 경우 해시 함수의 입력값으로 Nonce 값, 직전 블록의 해시값 그리고 거래 내용을 입력으로 하여 해시함수를 통해 해시값을 도출해냅니다. 

 

우리에게 중요한 것은 위 SHA-256 함수가 공격을 받아 무너진 적이 없는지 보안성에 대한 검증이 필요합니다. SHA 함수 계열 중 최초 함수를 SHA-0이라고 부릅니다. 2년 후 SHA-0의 변형인 SHA-1이 발표되었으며, 그 후에 4종류의 변형, 즉 SHA-224, SHA-256, SHA-384, SHA-512가 더 발표되었다. 이들을 통칭해서 SHA-2라고 합니다.

 

SHA-0과 SHA-1에 대한 공격은 이미 발견되었고, SHA-2에 대한 공격은 아직 발견되지 않았으나, 전문가들은 SHA-2 함수들이 SHA-1과 비슷한 방법을 사용하기 때문에 공격이 발견될 가능성이 있다고 지적하기도 합니다.

 

SHA-256은 현재 가장 많은 분야에서 채택하여 사용되고 있는 암호 방식입니다. SHA-3보다는 유효 보호 수준이 낮을지는 모르지만, 현재까지 안정성 문제에서도 큰 단점이 발견되지 않았고, 속도가 빠르기 때문에 인증서, 블록체인 등 많이 사용되고 있으며, SHA-2라고 하면 SHA-256이라고 말할 정도로 상용화가 잘 되어있습니다.


오늘은 해시함수의 의미와 특성 그리고 SHA-256 함수에 대해 알아보았습니다. 블록체인에 다양하게 사용되고 있는 SHA-256 함수가 어떤 역할을 하고 있는지 알아보고 사용하면 투자와 사용에 대한 확신이 더 커질 수 있을 것 같습니다 :) 
감사합니다.

 

반응형