-
2. 해시(Hash) 알고리즘BlockChain [Study] 2020. 5. 7. 22:41
2. 해시(Hash) 알고리즘
블록체인을 구성하는 기본 기술은 ‘암호 해시(hash)’다.
해시를 간단하게 설명하자면 문서를 요약하는 256비트 길이의 약 128글자의 암호 문자열이다.
이 암호해시는 본문의 내용의 요약이 아니며, 내용의 길이와 상관없이 256비트의 일정한 길이의 암호를 생성한다.암호 해시는 몇 가지 특징을 지닌다.
첫째, 암호 해시만으론 그 내용을 짐작 조차할 수 없다
둘째, 문서 내용이 조금이라도 바뀌면 암호 해시 역시 완전히 바뀌어버린다
셋째, 우연이라도 동일한 암호 해시를 갖는 문서가 나타나선 안 된다(충돌 저항성).
세 특성을 간단히 요약, 정리하면 다음과 같다. “암호 해시로 문서를 찾을 순 없지만 일단 문서가 주어지면 고유의 암호 해시가 만들어진다.”
아래의 그림을 보면 암호해시에 대한 이해가 쉽게 될 것이라 생각된다.
출처 : https://news.samsung.com/kr/%EB%B8%94%EB%A1%9D%EC%B2%B4%EC%9D%B8-%EA%B8%B0%EC%88%A0%EC%9D%98-%ED%95%B5%E6%A0%B8-%EC%95%94%ED%98%B8-%ED%95%B4%EC%8B%9C 암호 해시를 이용하면 문서 전체를 갖고 있지 않아도 그 문서의 조작 여부를 쉽게 밝혀낼 수 있다. 예를 들어 친구와 하나의 문서를 작성하고 그 문서의 암호 해시를 만든 후 나눠 가졌다고 하자. 이렇게 하면 원본 문서를 복사해 갖고 있지 않아도 어렵잖게 원본 진위 여부를 판별할 수 있다. 문서의 암호 해시를 만들어 (보관 중인) 암호 해시와 비교하면 되기 때문이다. 즉 암호 해시만 있으면 원본 문서는 누가 갖고 있든 상관이 없다. 심지어 제3자의 손에 있어도 괜찮다. 아무리 긴 문서라 해도 256비트 정도의 암호 해시만 있으면 진위 여부가 손쉽게 밝혀지는 것이다.
여기에서, 독자는 블록이 문서와 같이 해시값을 가진다는 것을 예측할 수 있을 것이다.
이 블록 해시는 다음에 만들어지는 블록에 전달되는데, 다음 블록 입장에서 보면 이는 이전 블록의 해시다.즉, 다음 블록 입장에서 보면 내 블록의 암호 해시가 다음 블록에 저장되는 이전 블록 해시가 되는 것이다.
블록체인이란 명칭은 이처럼 “이전 블록 해시가 다음 블록에 저장되는 행태의 반복”이란 뜻에서 붙여졌다.
블록체인은 이러한 해시를 블록에 가지고 있음으로서 이전블록의 무결성을 보증할 수 있는 것이다.
일반적인 블록체인의 구조. 각각의 블록에는 연결된 이전 블록의 정보가 해시값으로 담겨있어 거래내역을 구체적으로 보지 않고도 사실여부를 빠르게 대조할 수 있게 된다. * 해시 알고리즘을 통해 블록체인의 보안성이 검증된다.
지금 해시에 대해 깊게 공부하고 이해하기에는 암호학적으로 어려운 것 같다.
해시에 대해서는 간략하게 알아보고 다음장에서는 합의 알고리즘에 대해 알아보자'BlockChain [Study]' 카테고리의 다른 글
3.블록체인 합의 알고리즘 (PBFT) (0) 2020.05.12 1. P2P-Network (0) 2020.04.30