의견.png

블록해시

해시넷
hangyuwon95 (토론 | 기여)님의 2019년 8월 6일 (화) 10:53 판 (개발 목적)
이동: 둘러보기, 검색

블록해시(Blockhash)는 비안 양(Bian Yang), 판 구(Fan Gu), 시아무 니우(Shiamu Niu)가 설명한 지각 이미지 해시 알고리즘의 변형을 구현하는 라이브러리이다.

개요

블록의 이름 정보를 담은 블록 해시는 SHA-256 방식으로 변환된 정보이다. 버전(version), 타임(time), 머클루트(Merkle Root), 타겟(target), 논스(Nonce), 이전의 블록 해시(Previousblockhash) 즉, 헤더부에 속하는 6가지를 이용해 구성된다. 블록해시는 256비트 해시를 생성하고, 그 해시는 이미지에 큰 변화없이, 원 상태로 고유하게 조정할 수 있도록 설계되어 있다. 두 해시 사이의 해밍 거리는 두 이미지가 얼마나 다른지를 나타내며, 한 자리 값은 일반적으로 크기가 서로 다르더라도 이미지가 동일하다는 것을 나타낸다.

개발 목적

Elog.io 도구를 개발하는 과정에서 기존에 있는 pHash, imgSeek 라이브러리보다 자바 스크립트에서 구현하기 쉽게 이미지를 지각적으로 비교할 수 있는 방법이 필요해서 개발 되었다. 또한 블록체인이 작동하는 과정에서 헤싱이 필요하다.

특징

  • 이미지의 경우 알고리즘은 1 %의 경우 두 개의 서로 다른 이미지에 대해 동일한 차단 해시 값을 생성한다.
  • 사진의 경우 알고리즘이 실제적으로 고유한 블록 해시를 생성하지만 아이콘, 클립 아트,지도 및 기타 이미지의 경우 알고리즘의 고유한 블록화가 적다. 이미지에서 동일한 색상의 더 큰 영역 (배경 또는 테두리)은 더 자주 충돌한다.
  • ‘특정한 데이터를 이를 상징하는 더 짧은 길이의 데이터로 변환하는 행위’를 의미한다.

[1]

  • 블록 해시(Block Hash)는 블록의 식별자 역할을 수행합니다.

활용

  • 일반적으로 우리가 특정한 정품 소프트웨어를 다운로드 받을 때 그 소프트웨어가 해커로 인해 변질되지 않은 정상적인 소프트웨어인 것을 모르기 때문에 우리는 이 때 해시(Hash)라는 것을 이용하여 검증한다.
  • 데이터를 변질시킬 수 없는 특성, 무결성이 있어 암호화폐도 존재하는 것이다. 상징 데이터는 원래의 데이터가 조금만 달라져도 확연하게 달라지는 특성을 가지고 있어 무결성을 지키는 데에 많은 도움을 준다.
  • 여기에서 상징 데이터는 원래의 데이터가 조금만 달라져도 확연하게 달라지는 특성을 가지고 있어 무결성을 지키는 데에 많은 도움을 준다.

블록해싱 알고리즘

  1. 블록헤더부 중 버전, 타임, 타켓, 논스little-endian형식으로 이전의 블록 해시, 머클루트는 reverse order로 변환한 뒤 합산한다.
  2. 합산한 정보들을 다이제스트로 메시지 암호화를 한다.
  3. 변형한 정보를 SHA-256 방식으로 암호화한다.
  4. 메시지 암호화와, SHA-256 암호화를 다시 한 번 반복한다.
  5. 결과값을 뒤집는다.[2][3]

각주

  1. 블록해시 홈페이지 - http://blockhash.io
  2. loum, 〈비트코인에서 블록해시 구하는 방법〉, 《브런치》, 2017-11-01
  3. yahweh87, 〈블록해시에 관한 정의〉, 《스팀잇》, 2018

참고자료

같이 보기


  의견.png 이 블록해시 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.