의견.png

"블록해시"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
잔글
(특징)
10번째 줄: 10번째 줄:
 
* 이미지의 경우 알고리즘은 1 %의 경우 두 개의 서로 다른 이미지에 대해 동일한 차단 해시 값을 생성한다.
 
* 이미지의 경우 알고리즘은 1 %의 경우 두 개의 서로 다른 이미지에 대해 동일한 차단 해시 값을 생성한다.
 
* 사진의 경우 알고리즘이 실제적으로 고유한 블록 해시를 생성하지만 아이콘, 클립 아트,지도 및 기타 이미지의 경우 알고리즘의 고유한 블록화가 적다. 이미지에서 동일한 색상의 더 큰 영역 (배경 또는 테두리)은 더 자주 충돌한다.<ref>블록해시 홈페이지 - http://blockhash.io</ref>
 
* 사진의 경우 알고리즘이 실제적으로 고유한 블록 해시를 생성하지만 아이콘, 클립 아트,지도 및 기타 이미지의 경우 알고리즘의 고유한 블록화가 적다. 이미지에서 동일한 색상의 더 큰 영역 (배경 또는 테두리)은 더 자주 충돌한다.<ref>블록해시 홈페이지 - http://blockhash.io</ref>
 +
==활용==
 +
일반적으로 우리가 특정한 정품 소프트웨어를 다운로드 받을 때 그 소프트웨어가 해커로 인해 변질되지 않은 정상적인 소프트웨어인 것을 모르기 때문에 우리는 이 때 해시(Hash)라는 것을 이용하여 검증한다.
  
 
==블록해싱 알고리즘==
 
==블록해싱 알고리즘==

2019년 8월 6일 (화) 09:50 판

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

개요

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

개발 목적

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

특징

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

활용

일반적으로 우리가 특정한 정품 소프트웨어를 다운로드 받을 때 그 소프트웨어가 해커로 인해 변질되지 않은 정상적인 소프트웨어인 것을 모르기 때문에 우리는 이 때 해시(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 이 블록해시 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.