比特币SPV (简化支付验证)客户不必信任任何完整的节点。它向一个完整的节点提交一个布卢姆过滤器,以便只处理所有块的一小部分。
但是,如果一个SPV客户端连接到一个恶意的完整节点,而这个恶意的完整节点不打算向这个SPV客户机发送一个块,而这个SPV客户机实际上包含这个SPV客户端感兴趣的事务,那该怎么办?
SPV客户端如何保护自己,使其钱包地址的任何事务不被完整的节点遗漏?
发布于 2020-04-27 08:14:57
SPV节点连接到多个半可信节点,以防止这种攻击。只有一个节点需要诚实。
首先,虽然SPV客户端不容易被愚弄而认为事务处于阻塞状态,但事实并非如此。一个完整的节点可以简单地被忽略,从而导致SPV客户端认为事务没有发生。这可以被视为拒绝服务的一种形式。一种缓解策略是连接到多个完整节点,并将请求发送到每个节点。但是,这可以通过网络分区或Sybil攻击来克服,因为身份基本上是免费的,并且可以是带宽密集型的。必须注意确保客户端与诚实的节点不被切断。
来自https://bitcoin.org/en/operating-modes-guide#potential-spv-weaknesses
https://stackoverflow.com/questions/61451955
复制相似问题