의견.png

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

위키원
이동: 둘러보기, 검색
(새 문서: '''블록해시'''(Blockhash)는 비안 양(Bian Yang), 판 구Fan Gu, 시아무 니우Shiamu Niu가 설명한 지각 이미지 해시 알고리즘의 변형을 구현...)
 
잔글
1번째 줄: 1번째 줄:
'''블록해시'''(Blockhash)는 [[비안 양]](Bian Yang), [[판 구]]Fan Gu, [[시아무 니우]]Shiamu Niu가 설명한 [[지각 이미지 해시 알고리즘]]의 변형을 구현하는 라이브러리다.
+
'''블록해시'''(Blockhash)는 [[비안 양]](Bian Yang), [[판 구]](Fan Gu), [[시아무 니우]](Shiamu Niu)가 설명한 [[지각 이미지 해시 알고리즘]]의 변형을 구현하는 [[라이브러리]]이다.
  
 
==개요==
 
==개요==
블록의 이름 정보를 담은 블록 해시는 [[SHA256]] 방식으로 변환된 정보이다. 버전(version), 타임(time), [[머클루트]](Merkle Root), 타겟(target), 넌스(Nonce), 이전의 블록 해시(Previousblockhash) 즉, 헤더부에 속하는 6가지를 이용해 구성된다.
+
블록의 이름 정보를 담은 블록 해시는 [[SHA-256]] 방식으로 변환된 정보이다. 버전(version), 타임(time), [[머클루트]](Merkle Root), 타겟(target), [[논스]](Nonce), 이전의 블록 해시(Previousblockhash) 즉, 헤더부에 속하는 6가지를 이용해 구성된다. 블록해시는 256비트 해시를 생성하고, 그 해시는 이미지에 큰 변화없이, 원 상태로 고유하게 조정할 수 있도록 설계되어 있다. 두 해시 사이의 [[해밍]] 거리는 두 이미지가 얼마나 다른지를 나타내며, 한 자리 값은 일반적으로 크기가 서로 다르더라도 이미지가 동일하다는 것을 나타낸다.
블록해시는 256비트 해시를 생성하고, 그 해시는 이미지에 큰 변화없이, 원 상태로 고유하게 조정할 수 있도록 설계되어 있다. 두 해시 사이의 [[해밍]] 거리는 두 이미지가 얼마나 다른지를 나타내며, 한 자리 값은 일반적으로 크기가 서로 다르더라도 이미지가 동일하다는 것을 나타낸다.
 
  
 
==개발 목적==
 
==개발 목적==
10번째 줄: 9번째 줄:
 
==특징==
 
==특징==
 
* 이미지의 경우 알고리즘은 1 %의 경우 두 개의 서로 다른 이미지에 대해 동일한 차단 해시 값을 생성한다.
 
* 이미지의 경우 알고리즘은 1 %의 경우 두 개의 서로 다른 이미지에 대해 동일한 차단 해시 값을 생성한다.
* 사진의 경우 알고리즘이 실제적으로 고유한 블록 해시를 생성하지만 아이콘, 클립 아트,지도 및 기타 이미지의 경우 알고리즘의 고유한 블록화가 적다. 이미지에서 동일한 색상의 더 큰 영역 (배경 또는 테두리)은 더 자주 충돌한다.<ref>〈[http:blockhash.io Blockhash]〉, 《BlockHash》</ref>
+
* 사진의 경우 알고리즘이 실제적으로 고유한 블록 해시를 생성하지만 아이콘, 클립 아트,지도 및 기타 이미지의 경우 알고리즘의 고유한 블록화가 적다. 이미지에서 동일한 색상의 더 큰 영역 (배경 또는 테두리)은 더 자주 충돌한다.<ref>블록해시 홈페이지 - http://blockhash.io</ref>
  
==[[블록해싱 알고리즘]]==
+
==블록해싱 알고리즘==
# 블록 헤더부 중 버전, 타임, 타켓, 넌스는 [[little-endian]]형식으로 이전의 블록 해시, 머클루트는 [[reverse order]]로 변환한 뒤 합산한다.  
+
# [[블록헤더]]부 중 버전, 타임, 타켓, [[논스]]는 [[little-endian]]형식으로 이전의 블록 해시, 머클루트는 [[reverse order]]로 변환한 뒤 합산한다.  
 
# 합산한 정보들을 다이제스트로 메시지 암호화를 한다.
 
# 합산한 정보들을 다이제스트로 메시지 암호화를 한다.
 
# 변형한 정보를 [[SHA-256]] 방식으로 암호화한다.  
 
# 변형한 정보를 [[SHA-256]] 방식으로 암호화한다.  
 
# 메시지 암호화와, [[SHA-256]] 암호화를 다시 한 번 반복한다.
 
# 메시지 암호화와, [[SHA-256]] 암호화를 다시 한 번 반복한다.
# 결과값을 뒤집는다.<ref>loum,〈[https://brunch.co.kr/@loum/36 비트코인에서 블록해시 구하는 방법]〉, 《브런치》, 2017-11-01</ref><ref>yahweh87,〈[https://steemit.com/kr/@yahweh87/5 블록해시에 관한 정의]〉, 《steemit》, 2018</ref>
+
# 결과값을 뒤집는다.<ref>loum, 〈[https://brunch.co.kr/@loum/36 비트코인에서 블록해시 구하는 방법]〉, 《브런치》, 2017-11-01</ref><ref>yahweh87, 〈[https://steemit.com/kr/@yahweh87/5 블록해시에 관한 정의]〉, 《스팀잇》, 2018</ref>
 
 
  
 
{{각주}}
 
{{각주}}
  
 
==참고자료==
 
==참고자료==
 +
* loum, 〈[https://brunch.co.kr/@loum/36 비트코인에서 블록해시 구하는 방법]〉, 《브런치》, 2017-11-01
 +
* yahweh87, 〈[https://steemit.com/kr/@yahweh87/5 블록해시에 관한 정의]〉, 《스팀잇》, 2018
  
 
==같이 보기==
 
==같이 보기==

2019년 7월 24일 (수) 02:48 판

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

개요

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

개발 목적

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

특징

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

블록해싱 알고리즘

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