머클 루트 정의 (암호화)
머클 루트는 블록 체인 네트워크에서 블록의 일부인 모든 트랜잭션의 모든 해시의 해시입니다.
분석 머클 루트 (Cryptocurrency)
블록 체인은 서로 연결된 다양한 블록 (따라서 이름 블록 체인)으로 구성됩니다. 해시 트리 또는 Merkle 트리는 효율적이고 안전한 방식으로 블록 체인 데이터를 인코딩합니다. 이를 통해 블록 체인 데이터를 신속하게 검증 할 수있을뿐만 아니라 피어 투 피어 블록 체인 네트워크에서 한 컴퓨터 노드에서 다른 컴퓨터 노드로 대량의 데이터를 빠르게 이동할 수 있습니다.
블록 체인 네트워크에서 발생하는 모든 트랜잭션에는 관련 해시가 있습니다. 그러나 이러한 해시는 블록에 순차적 인 순서로 저장되는 것이 아니라 각 해시가 부모-자식 트리와 같은 관계에 따라 부모에 연결되도록 트리와 같은 구조의 형태로 저장됩니다.
특정 블록에 수많은 트랜잭션이 저장되어 있기 때문에 블록의 모든 트랜잭션 해시도 해시되어 Merkle 루트가됩니다.
예를 들어, 7 개의 트랜잭션 블록을 고려하십시오. 가장 낮은 수준 (리프 수준이라고 함)에는 4 개의 트랜잭션 해시가 있습니다. 리프 레벨 위의 레벨 1에는 2 개의 트랜잭션 해시가 있으며 각 트랜잭션 해시는 리프 레벨에서 그 아래에있는 2 개의 해시에 연결됩니다. 최상위 (수준 2)에는 루트라고하는 마지막 트랜잭션 해시가 있으며 그 아래의 두 해시 (수준 1)에 연결됩니다.
효과적으로, 당신은 거꾸로 된 이진 트리를 얻게되는데, 트리의 각 노드는 그 아래의 두 노드에만 연결됩니다 (따라서 이름 이진 트리). 최상위에 하나의 루트 해시가 있으며 레벨 1에서 두 개의 해시에 연결되며, 각 해시는 다시 레벨 3에서 두 개의 해시에 연결됩니다 (리프 레벨). 구조는 트랜잭션 해시 수에 따라 계속됩니다.
(출처: Kiran Vaidya / Medium)
해시는 최저 레벨 (리프 레벨) 노드에서 시작하며, 4 개의 모든 해시는 레벨 1에서 연결된 노드의 해시에 포함됩니다. 마찬가지로, 해싱은 레벨 1에서 계속되므로 단일 최상위 루트 해시에 도달 할 때까지 해시의 해시가 더 높은 레벨에 도달합니다.
이 루트 해시를 Merkle 루트라고하며 트리와 같은 해시 링크로 인해 블록에 존재하는 모든 단일 트랜잭션 해시에 대한 모든 정보가 포함됩니다. 단일 블록 해시 값을 제공하여 해당 블록에 존재하는 모든 것을 검증 할 수 있습니다.
예를 들어, 블록 # 137에서 나온 것으로 간주되는 거래를 확인해야하는 경우 블록 # 136 또는 블록 체인의 다른 블록에있는 것을 확인하지 않아도 블록의 머클 트리 만 확인하면됩니다. 블록 # 138.
Merkle root를 입력하면 검증 속도가 더욱 빨라집니다. 전체 트리에 대한 모든 정보를 전달하므로 트랜잭션 해시, 형제 노드 (있는 경우)를 확인한 다음 맨 위에 도달 할 때까지 위쪽으로 진행하면됩니다.
기본적으로 Merkle 트리 및 Merkle 루트 메커니즘은 수행 할 해시 수준을 크게 줄여서 더 빠른 검증 및 트랜잭션을 가능하게합니다. (자세한 내용은 머클 트리 정의를 참조하십시오.)