의견.png

"머클경로"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
1번째 줄: 1번째 줄:
'''머클경로'''<!--머클 경로-->(Merkle path)는 어떤 거래의 진위를 따질 때 이를 검증하는 과정을 말한다. [[머클루트]]가 주어진다면, 더 쉽게 검증할 수 있다.
+
'''머클경로'''<!--머클 경로, 머클패스, 머클 패스-->(Merkle path)는 어떤 거래의 진위를 따질 때 이를 검증하는 과정을 말한다. [[머클루트]]가 주어진다면, 더 쉽게 검증할 수 있다.
  
 
==개요==
 
==개요==
머클경로는  
+
머클경로는 [[풀노드]]로부터 정보를 받아 [[해시함수]]에 대입시켜 사용자가 해시 값의 상대값을 알아가면서 계속 해시를 진행해 나갈 수 있게 하는 것이다.
 +
 
 +
==예제==
 +
[[파일:머클트리 예시.png|썸네일|800픽셀|가운데|머클트리 예시]]
 +
A는 본인의 거래 Tx1이 [[블록]]에 담겨있는지 확인하고자 한다면, 풀노드(full-node)로부터 블록헤더와, 머클경로를 전달받는다. 이때, 블록헤더 중 머클루트와 머클경로를 통해 Tx1의 포함 여부를 확인한다. 이어서 Tx1이 들어있다는 것을 확인해야 한다.
 +
 
 +
Hash2, Hash10, Hash14 만 있으면 머클루트를 직접 계산하여 도출할 수 있다. 즉, A는 Tx1을 이용하여 Hash1을 만들면, 머클경로에 포함된 Hash2를 더하며 Hash9를 얻을 수 있다. 이후 Hash9과 머클경로에 포함되어 있던 Hash10을 통해 Hash13을 얻을 수 있고 같은 방식으로 Hash14를 통해 머클루트를 직접 구할 수 있다. 이 결괏값을 '전달받은 머클루트'와 비교하여 일치한다면 본인 거래 Tx1이 블록에 담겨있다는 것을 확인할 수 있을 것이다. 이는 log2(8)=3개의 머클경로가 포함되어있음을 확인할 수 있다. 이는 [[SPV]](Simplified Payment Verification) 노드가 쉽고 빠르게 특정 거래를 찾을 수 있게 도와준다.
  
 
{{각주}}
 
{{각주}}

2020년 2월 25일 (화) 14:17 판

머클경로(Merkle path)는 어떤 거래의 진위를 따질 때 이를 검증하는 과정을 말한다. 머클루트가 주어진다면, 더 쉽게 검증할 수 있다.

개요

머클경로는 풀노드로부터 정보를 받아 해시함수에 대입시켜 사용자가 해시 값의 상대값을 알아가면서 계속 해시를 진행해 나갈 수 있게 하는 것이다.

예제

머클트리 예시

A는 본인의 거래 Tx1이 블록에 담겨있는지 확인하고자 한다면, 풀노드(full-node)로부터 블록헤더와, 머클경로를 전달받는다. 이때, 블록헤더 중 머클루트와 머클경로를 통해 Tx1의 포함 여부를 확인한다. 이어서 Tx1이 들어있다는 것을 확인해야 한다.

Hash2, Hash10, Hash14 만 있으면 머클루트를 직접 계산하여 도출할 수 있다. 즉, A는 Tx1을 이용하여 Hash1을 만들면, 머클경로에 포함된 Hash2를 더하며 Hash9를 얻을 수 있다. 이후 Hash9과 머클경로에 포함되어 있던 Hash10을 통해 Hash13을 얻을 수 있고 같은 방식으로 Hash14를 통해 머클루트를 직접 구할 수 있다. 이 결괏값을 '전달받은 머클루트'와 비교하여 일치한다면 본인 거래 Tx1이 블록에 담겨있다는 것을 확인할 수 있을 것이다. 이는 log2(8)=3개의 머클경로가 포함되어있음을 확인할 수 있다. 이는 SPV(Simplified Payment Verification) 노드가 쉽고 빠르게 특정 거래를 찾을 수 있게 도와준다.

각주

참고자료

같이 보기


  의견.png 이 머클경로 문서는 블록체인 기술에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.