Avatar
0
monkey Enlightened
monkey Enlightened
Merkle tree là gì?
wiki
hash (cha) = hash (hash(con1) + hash(con2))
Sử dụng array list để lưu Merkle tree sẽ kiểu thế này:
List tree = new ArrayList();
tree.add("1");
tree.add("2");
tree.add("3");
tree.add("4");
tree.add("5");
tree.add("6");
int j = 0;
for (int nSize = tree.size(); nSize > 1; nSize = (nSize + 1) / 2) {
    for (int i = 0; i < nSize; i += 2) {
        int i2 = Math.min(i+1, nSize-1);
        tree.add(tree.get(j+i) + tree.get(j+i2));
    }
    j += nSize;
}
System.out.println(tree);
Bitcoin cũng đang dùng Merkle tree để giảm thiểu dung lượng của 1 block, thay vì phải lưu mọi hash của mọi giao dịch, thì giờ nó chỉ cần lưu nút cha nhất của Merkle tree mà thôi
  • Answer
blockchain
Remain: 5
1 Answer
Avatar
monkey Enlightened
monkey Enlightened
Sharing
  • 0
  • Reply