在阅读有关区块链 Merkle 树和级别 DB 的内容时,我得到了与区块链中使用的树相关的查询。在大多数区块链中,Level DB 用于以键值对结构存储数据,甚至 Level DB 使用合并日志树。那么为什么 Level DB 也使用树结构来存储数据,却需要使用 Merkle 树呢?
当mempool包含的内容发生变化时,需要Merkle树来快速重新计算块哈希的Merkle根。请注意:对于矿工来说,每一秒都有新的交易出现,矿工必须将这些交易添加到内存池中,也许 - 从内存池中删除一些“不感兴趣”的交易。因此,每次更新后,矿工必须重新计算块哈希。并且会影响性能 - 线性重新散列整个块(~1MB),或者仅 Merkle 分支(<1K).
在钱包数据库中存储区块 - 这是另一项任务,与区块内的 MT 结构无关。