블록체인 기술에 있어서 빠지지 않는 핵심 기술 중에는 해시함수가 있습니다.
해시함수는 어떠한 길이의 정보 혹은 데이터를 입력한다고 하더라도 고유 값을 생성하는 기술입니다.
예를 들어 데이터베이스에 사용자 개인정보를 저장 시, 해시함수를 사용하는 경우 데이터가 유출되어도
원본 값을 복원할 수 없기 때문에 유출 피해를 줄일 수 있는 장점이 있습니다.
해시 함수의 특성은 다음과 같습니다.
첫째, 암호 해시만으론 그 내용을 짐작할 수 없어야 한다. (제1역상 저항성).
둘째, 문서 내용이 변경되면 암호 해시 값이 경신되어야 한다. (제2역상 저항성)
셋째, 동일한 암호 해시를 갖는 문서가 존재해서는 안된다. (충돌 저항성)
넷째, 입력 데이터의 길이제한이 없으며 결과는 정해진 길이로 나온다.
(예) SHA256은 입력 데이터의 길이와 상관없이 항상 256 bits를 암호 해시의 결과 값 생성
즉 “암호 해시로 원본 문서를 찾을 순 없지만 문서가 입력되면 고유의 암호 해시가 만들어진다.”
그럼 블록체인에서 해시 함수는 어떻게 접목되는지 알아보겠습니다.
블록체인을 구성하는 블록들은 헤드와 바디로 구성되며 블록 헤드에는 블록생성시간, 블록 바디 해시,
이전 블록 헤드 해시 등 정보로 구성됩니다.
블록 A001의 내용이 변조되는 경우 블록 바디 해시 변경으로 인한 블록 헤드 해시가 변경됩니다.
이 경우 다음 블록(A002)에 대한 이전 블록 헤드 해시까지 변경되어야 하며 연결된 블록 전체가 수정되어야
하므로 데이터 변조에 많은 리소스가 필요됩니다.
즉 한번 형성된 블록 정보는 그 내용을 수정할 수 없으며 데이터 무결성을 유지할 수 있습니다.
이러한 특성으로 해당 알고리즘을 블록체인이라 정의하게 되었습니다.
반응형
최근댓글