해시 트리: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
한동성 (토론 | 기여)
→‎용도: 기트 -> 깃
잔글 →‎용도: 링크 수정
13번째 줄:
 
== 용도 ==
해시 트리는 여러 블록으로 나뉜 데이터를 전송할 때 데이터가 변조되지 않았음을 보장하는 용도로 사용된다. 특히 [[P2P]] 망에서 전송받은 데이터에 오류가 있거나 악의적인 데이터 변조가 있는지를 검증하는 용도로 사용된다. [[썬 마이크로시스템즈]]에서 개발한 [[ZFS]] 파일 시스템에서 해시 트리를 사용한다.<ref>{{웹 인용|url=https://blogs.oracle.com/bonwick/entry/zfs_end_to_end_data|제목=ZFS End-to-End Data Integrity|저자=Jeff Bonwick|날짜=2005-12-08|확인날짜=2013-08-28|언어고리=en}}''</ref> 또한 [[구글 웨이브]] 프로토콜<ref>{{웹 인용|url=http://www.waveprotocol.org/whitepapers/wave-protocol-verification|제목=General Verifiable Federation|저자=Lea Kissner|공저자=Ben Laurie|날짜=2009-05-27|확인날짜=2013-08-28|형식=pdf|쪽=3|언어고리=en}}</ref>이나 [[깃 (소프트웨어)|깃]] 버전 관리 시스템, [[비트코인]] 암호 통화 시스템,<ref>{{웹 인용|url=http://bitcoin.org/bitcoin.pdf|제목=Bitcoin: A Peer-to-Peer Electronic Cash System|저자=Satoshi Nakamoto|연도=2008|확인날짜=2013-08-28|형식=pdf|쪽=4|언어고리=en}}</ref> [[비트토렌트]] 프로토콜 등에서도 사용된다.
 
발명자 랄프 머클은 여러 개의 [[램포트 서명]]을 효율적으로 다루기 위해 해시 트리를 개발했다.<ref>{{저널 인용|성=Merkle|이름=Ralph|연도=1987|제목=A Digital Signature Based on a Conventional Encryption Function|저널=Crypto '87|호=293|쪽=369-378|doi=10.1007/3-540-48184-2_32|url=http://www.cse.msstate.edu/~ramkumar/merkle2.pdf|언어고리=en}}</ref> 램포트 서명은 [[양자 컴퓨터]]가 실용화되어도 안전할 것으로 예상되는 [[디지털 서명]] 알고리즘이지만, 한개의 메시지마다 새로운 키를 생성해야 하는 단점이 있다. 여러 개의 램포트 키를 해시 트리로 묶으면 보다 효율적으로 다룰 수 있다. 이런 방식을 [[머클 서명]]이라고 부른다.