블록체인 기술의 핵 암호 해시

호돌·2020년 12월 24일

블록체인

목록 보기
1/11

암호 해시란? 🤔

어제 강의를 통해 블록체인을 구성하는 기본 기술은 암호 해시(hash) 라는것을 배웠습니다.

암호해시를 간단하게 요약 해보면 문서를 요약해 고유 값을 자동으로 생성하는 기술 정도로 정의할 수 있습니다. 단, 여기서 요약은 내용에 대한 요약이 아니라 내용과 무관한 요약입니다. 암호해시 기술을 적용하면 내용과 무관하게 문서를 요약한 후 고유 값을 생성하는데 이때 고유 값은 문서 길이에 상관없이 256바이트, 한글로 작성하면 126자 정도의 문자열(SHA-2 기준)입니다.

암호 해시는 몇 가지 특징을 지닙니다.

💡 첫째, 암호 해시만으론 그 내용을 짐작할 수조차 없다. (제1역상 저항성)
💡 둘째, 문서 내용이 조금이라도 바뀌면 암호 해시 역시 완전히 바뀌어버린다 (제2역상 저항성)
💡 셋째, 우연이라도 동일한 암호 해시를 갖는 문서가 나타선 안된다(충돌 저항성)

세 특성을 간단히 요약해보면 다음과 같습니다.

암호 해시로 문서를 찾을 순 없지만 일단 문서가 주어지면 고유의 암호 해시가 만들어진다.

📝암호 해시가 갖는 의미

암호 해시를 이용하면 문서 전체를 갖고 있지 않아도 그 문서의 조작 여부를 쉽게 밝혀낼 수 있다. 예를 들어 친구와 하나의 문서를 작성하고 그 문서의 암호 해시를 만든 후 나눠 가졌다고 하자. 이렇게 하면 원본 문서를 복사해 갖고 있지 않아도 어렵지않게 원본 진위를 판별할 수 있을것입니다. 문서의 암호 해시를 만들어 암호 해시와 비교하면 되기 때문입니다. 즉, 암호 해시만 있으면 원본 문서는 누구나 갖고 있든 상관이 없습니다. 심지어 제3자의 손에 있어도 괜찮습니다. 아무리 긴 문서라 하더라고 256바이트 정도의 암호 해시만 있으면 진위여부가 손쉽게 밝혀지는 것이다.

🙄블록체인의 구조

블록체인에서 '블록'은 '헤드(Head)'와 '보디(body)'로 나뉩니다. 블록 보디엔 여러 거래 기록이 머클트리(Merkel Tree)로 불리는 구조로 구성된 후 저장됩니다. 그 안에는 블록 보디 전체를 대표하는 암호 해시가 만들어집니다. 블록 헤드엔 블록 보디 암호 해시 등 여러 가지 정보가 기록됩니다. 블록 헤드엔 다음과 같은 내용들이 기록됩니다 블록 생성 시간 블록 보디 암호 해시 이전 블록 헤드 암호 해시 논스(NONCE, Number used ONCE)등 이 있지만 이때 주의 깊게 볼 항목은 이전 블록 헤드 암호 해시입니다. 일단 블록 헤드 또한 하나의 문서와 같은 만큼 암호해시를 구할 수 있고, 이 블록 헤드 암호 해시는 다음에 만들어지는 블록에 전달되는데, 다음 블록 입장에서 보면 내 블록 헤드의 암호 해시가 다음 블록 헤드에 저장되는 이전 블록 헤드 암호 해시가 되는 것입니다. 블록체인이란 명칭은 이처럼 “이전 블록 헤드 암호 해시가 다음 블록에 저장되는 행태의 반복”이란 뜻에서 붙여졌습니다.

profile
저도 잘 모르는데요?, 내가 몰라서 적는 글

0개의 댓글