Table of Contents |
---|
머클 트리란?
암호학이나 컴퓨터 과학에서 머클 트리(Merkle tree) 는 모든 자식 노드들이 암호학적 해시로 이뤄진 데이터 블록을 갖는 트리 형태의 자료 구조로 해시 트리(hash tree)라고도 부릅니다.
...
랄프 머클(Ralph Merkle) 이 발명했고 79년에 특허를 받았습니다.
용도
머클 트리는 위와 같이 자식 노드의 데이터를 암호학적 해시로 계산한 값을 트리로 만든 데이터로 블록 단위로 빠르게 데이터를 검증하고 이상 유무를 확인할 수 있는 장점이 있으므로 유명한 제품들 내부에서 많이 사용하는 자료 구조입니다.
...
Bit torrent
그래서 네트워크로 상대방에게 파일을 보낼때 데이터를 블록 단위로 나눠서 보내고 각 블록을 머클 트리로 만들어두면 쪼개고 이를 머클 트리로 만든후에 나눠서 보내면 수신한 블록의 이상 유무는 블록의 해시 값을 계산하면 금방 알수 있습니다.
그래서 머클 트리를 사용해서 데이터를 송수신하면 수신한 데이터가 문제있을 경우 전체 데이터를 받지 않고 문제되는 블록 데이터만 받을수 있는 있으므로 전송 속도가 매우 빨라지는 장점이 있습니다.
이때문에 파일 전송 프로토콜인 Bit torrent 에서는 머클 트리를 사용하고 있습니다.
...
비트 코인의 원장은 머클 트리 구조로 이전 트랜잭션 데이터를 묶어서 해시한 값을 갖고 있습니다.