Blockchain 在区块链中搜索项目
A是一个链,其中包含前一个块的哈希。每个块由单个哈希树(或Merkle树)组成。我正在讨论的是区块链的整体结构Blockchain 在区块链中搜索项目,blockchain,Blockchain,A是一个链,其中包含前一个块的哈希。每个块由单个哈希树(或Merkle树)组成。我正在讨论的是区块链的整体结构 既然区块链的值在散列树中,那么在区块链中寻找值的最佳方式是什么?我想,要遍历整个区块链,在树中搜索您希望找到的值是不可行的。在区块链中搜索块内的值时,我是否缺少一种搜索方法?如果您只有一个在每个块中都有Merkle树的区块链,那么根据定义,此数据结构不能提供任何有效搜索任何内容的方法: Merkle树叶中的所有散列本质上都是伪随机的,并且不包含关于内容的可用信息 merkle树节点中
既然区块链的值在散列树中,那么在区块链中寻找值的最佳方式是什么?我想,要遍历整个区块链,在树中搜索您希望找到的值是不可行的。在区块链中搜索块内的值时,我是否缺少一种搜索方法?如果您只有一个在每个块中都有Merkle树的区块链,那么根据定义,此数据结构不能提供任何有效搜索任何内容的方法:
- Merkle树叶中的所有散列本质上都是伪随机的,并且不包含关于内容的可用信息
- merkle树节点中的所有散列都是伪随机比特序列,由伪随机比特序列的串联散列形成(加密强伪随机无意义平方,
times)logn
- 指向前一个块的散列除了查找前一个块之外没有任何用处(伪随机无意义到
的幂,其中M
是块的数量)M
- 块本身的散列也是如此
- 遍历整个区块链一次
- 构建您在区块链中查找所需内容所需的任何其他数据结构(索引、搜索树、图形、指纹,以及您可以从区块链中的数据构建的任何内容)
- 使用预先计算的数据结构高效地执行查询
- 更新所有预计算的数据结构
另一个(明显的)选择,如果你能影响区块链的设计:提前考虑哪些可能有用,从一开始就将所需的数据结构烘焙到区块链中,这样不仅区块链本身,但是,帮助导航区块链的数据结构也不容易修改。这是否同样适用于比特币和以太币,或者这两者的结构和搜索是否存在任何差异?@AyushKumar这仅适用于区块链,作为纯理论数据结构。如回答中所述,实际实现可能会在块中保存额外的元数据,以简化数据的检索。