比特币中的Merkle树与布隆过滤器技术解析
1. Merkle树相关内容
1.1 Merkle块命令
在比特币网络中,全节点通过 merkleblock 命令来传递验证特定交易是否存在于Merkle树中所需的信息。该命令的结构包含两部分,前六个字段与区块头相同,后四个字段则是交易存在性的证明。
- 交易数量字段 :该字段表明特定Merkle树的叶子节点数量,这使得轻客户端能够构建一个空的Merkle树。
- 哈希字段 :存放着如特定图中蓝色和绿色框所示的哈希值。由于该字段中的哈希数量不固定,因此前面会有一个表示数量的前缀。
- 标志位字段 :提供了哈希值在Merkle树中位置的信息。这些标志位通过 bytes_to_bits_field 函数解析为二进制位列表(包含1和0),其代码如下:
def bytes_to_bit_field(some_bytes):
flag_bits = []
for byte in some_bytes:
for _ in range(8):
flag_bits.append(byte & 1)
byte >>= 1
return flag_bits
1.2 标志位和哈希值的使用
标志位采用深度优先顺序来指示哈希值的
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



