해시 리스트

Hash list

컴퓨터 과학에서 해시 목록은 일반적으로 파일 또는 파일 집합에 있는 데이터 블록의 해시 목록입니다.해시 목록은 고속 테이블 검색(해시 테이블) 및 분산 데이터베이스(분산 해시 테이블) 등 다양한 목적으로 사용됩니다.

상위 해시가 있는 해시 리스트

해시 목록은 항목(예: 파일)을 해시하는 개념의 확장입니다.해시 리스트는 Merkle 트리의 하위 트리입니다.

루트 해시

많은 경우 해시 목록 자체의 추가 해시(톱 해시, 루트 해시 또는 마스터 해시라고도 함)가 사용됩니다.대부분의 경우 p2p 네트워크에서 파일을 다운로드하기 전에 top 해시를 신뢰할 수 있는 소스(예를 들어 다운로드해야 할 파일의 권장 사항이 있는 친구나 웹 사이트)에서 가져옵니다.상위 해시를 사용할 수 있는 경우 해시 목록은 p2p 네트워크 내의 피어처럼 신뢰할 수 없는 소스로부터 수신할 수 있습니다.그런 다음 수신된 해시 목록을 신뢰할 수 있는 상위 해시 목록과 대조하여 해시 목록이 손상되거나 가짜일 경우 프로그램이 상위 해시 목록과 일치하는 해시 목록을 찾을 때까지 다른 소스로부터의 다른 해시 목록이 시도됩니다.

일부 시스템(: BitTorrent)에서는 상위 해시 대신 전체 해시 목록을 웹 사이트에서 작은 파일로 사용할 수 있습니다.이러한 "토렌트 파일"에는 설명, 파일 이름, 해시 목록 및 일부 추가 데이터가 포함됩니다.

적용들

해시 목록을 사용하여 컴퓨터 내부 및 컴퓨터 간에 저장, 처리 및 전송되는 모든 종류의 데이터를 보호할 수 있습니다.해시 리스트의 중요한 용도는 피어 투 피어 네트워크 내의 다른 피어로부터 수신한 데이터 블록이 파손되지 않고 변경되지 않았는지 확인하고 다른 피어가 "거짓"을 하지 않고 가짜 블록을 전송하는지 확인하는 것입니다.

보통 해시에는 SHA-256 등의 암호화 해시 함수가 사용됩니다.해시 리스트가 의도하지 않은 손상을 방지하기 위해서만 필요한 경우 CRC 등의 안전하지 않은 체크섬을 사용할 수 있습니다.

데이터 블록이 파손된 경우 이 사실을 알게 되고 파손된 블록만 다시 다운로드하면 되므로 해시 리스트는 파일 전체의 단순한 해시보다 좋습니다.파일의 해시만을 사용하여 손상되지 않은 많은 블록을 다시 다운로드하고 파일 전체의 올바른 해시를 얻을 때까지 파일을 재구성하고 테스트해야 합니다.해시 리스트는 가짜 블록을 송신함으로써 파괴를 시도하는 노드로부터도 보호합니다.이 경우 파손된 블록은 다른 소스로부터 취득할 수 있기 때문입니다.

해시 목록을 사용하는 프로토콜

「 」를 참조해 주세요.