比特币SPV客户端如何知道它没有错过来自完整节点的阻止?

问题描述 投票:0回答:1

比特币SPV(简化付款验证)客户端无需信任任何完整节点。它将布隆过滤器提交给整个节点,以仅处理所有块的一小部分。

但是,如果SPV客户端连接到恶意完整节点,并且该恶意完整节点打算不向该SPV客户端发送阻止,该阻止实际上包含此SPV客户端感兴趣的交易,该怎么办?

SPV客户端如何保护自己,使其不会错过来自完整节点的钱包地址的任何交易?

bitcoin
1个回答
0
投票

SPV节点连接到多个半信任节点,以防止此攻击。只有一个节点需要诚实。

首先,虽然不能轻易使SPV客户端误认为事务处于阻塞状态,但反之则不成立。一个完整的节点可以简单地通过遗漏来说谎,从而导致SPV客户端认为未发生事务。这可以视为拒绝服务的一种形式。一种缓解策略是连接到多个完整节点,然后将请求发送到每个节点。但是,这可以通过网络分区或Sybil攻击来克服,因为身份本质上是免费的,并且可能占用大量带宽。必须注意确保不会与诚实节点断开客户端。

来自https://bitcoin.org/en/operating-modes-guide#potential-spv-weaknesses

© www.soinside.com 2019 - 2024. All rights reserved.