SPV节点不保存所有交易也不会下载整个区块,仅仅保存区块头。它们使用认证路径或者Merkle路径来验证交易存在于区块中,而不必下载区块中所有交易。 例如,一个SPV节点想知道它钱包中某个...
精通比特币(65):区块中的Merkle树
区块链中的每个区块都包含了产生于该区块的所有交易,且以Merkle树表示。 Merkle树是一种哈希二叉树,它是一种用作快速归纳和校验大规模数据完整性的数据结构。这种二叉树包含加密哈希值...
精通比特币(57):SPV节点的隐私
实现SPV的节点的隐私比整个节点更弱。完整节点接收所有交易,因此不会显示关于它的钱包中是否使用某个地址的信息。 SPV节点接收与其钱包中的地址相关的经过过滤的列表。结果,它减少了所有者的隐私。 &nb...
精通比特币(56):SPV节点如何使用Bloom过滤器?
Bloom过滤器用于过滤SPV节点从其对等体接收的交易(和包含它们的块),仅选择SPV节点感兴趣的交易,而不会泄露其感兴趣的地址或密钥。 SPV节点将初始化“过滤器”为“空”;在该状态下...
精通比特币(53):简易支付验证(Simplified Payment Verification) SPV节点简介
并非所有的节点都有能力储存完整的区块链。许多比特币客户端被设计成运行在空间和功率受限的设备上,如智能电话、平板电脑、嵌入式系统等。对于这样的设备,通过简化的支付验证(SPV)的方式可以使它们在不必存储...
精通比特币(47):比特币网络中的节点类型及角色
尽管比特币P2P网络中的各个节点相互对等,但是根据所提供的功能不同,各节点可能具有不同的角色。每个比特币节点都是路由、区块链数据库、挖矿、钱包服务的功能集合。 比特币网络节点,具有所有四...
精通比特币(11):如何消费比特币交易?
每个比特币客户端都能独立地验证这笔交易是有效且可消费的。 全节点客户端可以追溯钱款的来源,从第一次有比特币在区块里生成的那一刻开始,按交易与交易间的关系顺藤摸瓜,直到接受者的交易地址。 轻量级客户端通...