首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比特币SPV客户端如何知道它从一个完整的节点没有漏掉一个块?

比特币SPV客户端如何知道它从一个完整的节点没有漏掉一个块?
EN

Stack Overflow用户
提问于 2020-04-27 04:53:58
回答 1查看 129关注 0票数 0

比特币SPV (简化支付验证)客户不必信任任何完整的节点。它向一个完整的节点提交一个布卢姆过滤器,以便只处理所有块的一小部分。

但是,如果一个SPV客户端连接到一个恶意的完整节点,而这个恶意的完整节点不打算向这个SPV客户机发送一个块,而这个SPV客户机实际上包含这个SPV客户端感兴趣的事务,那该怎么办?

SPV客户端如何保护自己,使其钱包地址的任何事务不被完整的节点遗漏?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-27 08:14:57

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

首先,虽然SPV客户端不容易被愚弄而认为事务处于阻塞状态,但事实并非如此。一个完整的节点可以简单地被忽略,从而导致SPV客户端认为事务没有发生。这可以被视为拒绝服务的一种形式。一种缓解策略是连接到多个完整节点,并将请求发送到每个节点。但是,这可以通过网络分区或Sybil攻击来克服,因为身份基本上是免费的,并且可以是带宽密集型的。必须注意确保客户端与诚实的节点不被切断。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61451955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档