


Zero to Zero Knowledge!
제로에서 제로 지식 시리즈를 환영합니다!
이 시리즈에서는 우리의 프라이버시 보호 프로토콜에 사용되는 다양한 기술의 기본 사항을 배우게 됩니다.
오늘 우리는 해시 함수에서 시작합니다. 블록체인에 사용되는 암호학의 핵심 요소입니다. 이 시리즈 후반에는 이러한 속성에 의존하는 주제들에 대해 다루게 됩니다.
해시 함수는 입력 길이와 관계없이 고정된 길이의 출력을 생성합니다.

이 도구를 사용하여 실습을 통해 이해해 보세요!
임의의 텍스트를 입력하면 고정된 길이의 출력을 생성할 수 있습니다. 다양한 해싱 알고리즘에 따라 출력이 어떻게 달라지는지 관찰해 보세요.
시도해 보세요: https://cryptii.com/pipes/hash-function
암호학적 해시 함수는 다음 3가지 속성을 가져야 합니다:
해시 함수에는 여러 가지 유형이 있습니다. 몇 가지 예시:
BLAKE2 소개: https://www.blake2.net
데이터 무결성 검사는 "무결성 해싱"의 예입니다. 데이터 파일에 체크섬을 생성하고 사용자에게 정확성을 보장하는 데 사용됩니다.

해시 트리(또는 머클 트리)는 데이터 블록의 암호학적 해시로 라벨이 붙은 가지와 리프 노드로 구성됩니다.

머클 트리는 암호학적 약속 체계(cryptographic commitment scheme)의 예입니다. 트리 루트는 약속으로 간주되고, 리프 노드는 원래 약속에 포함되어 있음을 증명합니다.
P2P 네트워크에서 저장되거나 전송되는 데이터를 검증하는 데 사용됩니다. 피어로부터 받은 데이터가 변경되지 않았음을 보장합니다.
Zcash Sapling 및 Orchard 가상 지갑에서 노트 커밋먼트 트리(Note Commitment Tree)는 합의에 따라 거래가 유효함을 검증하면서 송신자, 수신자 및 소비된 금액을 완벽하게 숨기는 데 사용됩니다.
SHA256은 "서명 해시"의 예로, 비트코인 체인에서 각 블록의 불변성을 보장하는 데 사용됩니다. 마이너는 이전 블록의 해시 + 현재 블록 내 모든 거래의 해시(해시 머클 루트) + 타임스탬프 + 무작위 값 / 네트워크 난이도를 새로운 블록에 사용합니다.

Equihash는 Zcash를 채굴하는 데 사용되는 해시 알고리즘입니다. Komodo 및 Horizen 네트워크에서도 사용됩니다.
Equihash: 일반화된 생일 문제에 기반한 비대칭 작업 증명 (Biryukov 및 Khovratovich): https://eprint.iacr.org/2015/946
다양한 해시 함수 유형과 관련된 용도에 대해 더 깊이 이해하려면 이 자료가 매우 좋습니다:
https://en.wikipedia.org/wiki/Hash_function
ZecHub(@ZecHub)의 스레드
원래 X 스레드: https://x.com/ZecHub/status/1621240109663227906
이 페이지는 원본 Zero to Zero Knowledge 스레드를 기반으로 ZecHub 위키에 컴파일되었습니다.