Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/torao/banded-hash-tree
bht: Reference implementation of Banded Hash Tree, an immutable and appendable hash tree (Merkle tree).
https://github.com/torao/banded-hash-tree
blockchain data-structures database hash merkle-tree merkletree
Last synced: about 2 months ago
JSON representation
bht: Reference implementation of Banded Hash Tree, an immutable and appendable hash tree (Merkle tree).
- Host: GitHub
- URL: https://github.com/torao/banded-hash-tree
- Owner: torao
- License: mit
- Created: 2021-04-18T09:56:30.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-08-14T19:22:09.000Z (over 1 year ago)
- Last Synced: 2023-08-14T22:36:15.729Z (over 1 year ago)
- Topics: blockchain, data-structures, database, hash, merkle-tree, merkletree
- Language: Rust
- Homepage: https://hazm.at/mox/algorithm/structural-algorithm/banded-hash-tree/index.html
- Size: 407 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Banded Hash Tree
不変で木構造の完全な履歴を保持する効率的な追記指向のハッシュツリー (Merkle Tree) 構造である Banded Hash Tree について説明します (同様のデータ構造やアルゴリズム十分に調査したわけではないが、ここで述べるアルゴリズムに関する呼称や研究などを見つけられていないため、ここでは BHT という名前で呼びます)。これはログ構造のデータベースとして使用することができる。
## Banded Hash Tree の特徴
* 時系列データのように追加のみが行われるリスト構造。
* データの追加位置を示すインデックスにツリー構造を構築する。このツリー構造は不変であり、ハッシュツリー (Merkle Tree) として使用する
ことによってデータの破損や改ざんを検出することができる。
* データの増加によってツリーは成長する。ただし、ツリー構造の完全な履歴を保持していることから、ある時点でのハッシュツリーをいつでも参照することが
できる。
* append, read, range scan, full scan 操作が可能。delete はハッシュ値のみを残し削除することはできる。## Append
![append operations from 1 to 16 on the Banded Hash Tree](docs/bht.gif)
## See Also
* [My personal research page for more detail](https://hazm.at/mox/algorithm/structural-algorithm/banded-hash-tree/index.html).