본문 바로가기
  • 개발 / 공부 / 일상
BlockChain

(BlockChain) Merkle(머클)

by JJeongHyun 2023. 1. 8.
반응형
  • 머클(merkle) 이란
    • 블록의 내용이 맞는지 검증
      • 내용의 값이 달라지면 해시값 또한 변하기 때문에
    • 블록의 거래에 대한 기록 정보를 가지고 있는 데이터의 모음
      • 거래내역(트랜잭션)을 트리로 해싱작업을 통해 암호화
    • 이진트리 형태로 보이며 각 데이터를 암호화해서 하나의 암호화된 데이터가 남을 때까지 두 개씩 합쳐서 암호화한다
    • 머클은 거래 정보 목록들을 효율적으로 암호화, 확인하기 위해 쓰는 것

 

const merkle = require("merkle");

const data = [
  "123125",
  "12312sdgjks",
  "adfsgjsiodhgfsd",
  "생일축하해",
];
// 머클트리
// 인자값 : 암호화 방법
// sync(data) 함수로 트리를 만들어 준다.
const merkleTree = merkle("sha256").sync(data);
// root() : 생성한 머클 트리의 root값을 가져오는 함수
const root = merkleTree.root();

// SHA256(문자열).toString().toUpperCase()
// 머클 트리에서 sha256 알고리즘을 사용하는데 문자열로 변환과 대문자로 변환을 둘 다 해주고
// 값을 반환해 준다.

console.log(root);
// 2696446C63E16B7EA640FA9DC2C88158D55D7A42F0FF8B161584326989074C7B

'BlockChain' 카테고리의 다른 글

(BlockChain) Block Header  (0) 2023.01.31
(BlockChain) merkleTree  (0) 2023.01.08
(BlockChain) Hash  (0) 2023.01.08
(BlockChain) 블록의 구성  (0) 2023.01.08
(BlockChain) 블록체인의 핵심 4대 기술  (0) 2023.01.08