简化支付验证 (Simplified Payment Verification)
无需运行完整的网络节点即可验证支付。用户只需要保存最长工作量证明链的区块头副本,这可以通过查询网络节点直到他确信自己拥有最长的链,并获取将交易链接到其时间戳所在区块的默克尔分支。他无法自行检查交易,但通过将其链接到链中的某个位置,他可以看到网络节点已接受该交易,随后添加的区块进一步确认网络已接受该交易。
Longest Proof-of-Work Chain: 最长工作量证明链
Block Header (Block Hash): 区块头(区块哈希)
Prev Hash: 前一区块哈希
Nonce: 随机数
Merkle Root: 默克尔根
Hash[N]: 哈希[N]
Tx[N] (Transaction[N]): 交易[N]
Merkle Branch for Tx3: 交易3的默克尔分支
因此,只要诚实节点控制网络,验证是可靠的,但如果网络被攻击者压倒,则更容易受到攻击。虽然网络节点可以自行验证交易,但简化的方法可能会被攻击者伪造的交易欺骗,只要攻击者能够继续压制网络。保护这一点的一种策略是,当网络节点检测到无效区块时接受其警报,促使用户的软件下载完整区块和警报交易以确认不一致性。频繁接收付款的企业可能仍然希望运行自己的节点,以获得更独立的安全性和更快速的验证。