当前位置: 首页 > news >正文

零确认双花攻击

零确认双花攻击”(Zero-confirmation double spending)是在交易尚未被区块链网络打包进区块(即“确认”)之前就进行的双花攻击行为。


✅ 一、什么是“零确认交易”?

在比特币等区块链网络中:

  • 每一笔交易被矿工打包进区块并被其他节点认可后,称为“获得一次确认”;

  • “零确认交易”(Zero Confirmation Transaction)指的是:

    • 交易刚刚广播到网络,但尚未被任何区块打包进去
    • 处于“待确认”状态。

许多商家,尤其是小额支付场景(如咖啡、便利店),为了追求交易速度,会在“0确认”阶段就放行交易。


✅ 二、什么是“零确认双花攻击”?

定义
攻击者利用商家在交易未确认时交付商品的漏洞,同时广播两笔支出交易,试图让只有其中一笔被确认,达到“重复花钱”的目的。


✅ 三、零确认双花攻击的步骤

  1. 攻击者A向商家S发起支付1 BTC的交易 Tx1
  2. 同时,A向自己另一个钱包广播另一个交易 Tx2,也花了那1 BTC;
  3. 商家看到 Tx1 广播成功,但尚未确认;
  4. 商家“信任”网络,交付商品;
  5. 网络最终只确认了 Tx2(因为手续费更高、传播更快等原因);
  6. Tx1 被丢弃,商家没有收到 BTC,而攻击者既保留了币,又得到了商品;
    => 攻击成功,双花完成

✅ 四、关键点:为什么这种攻击能成功?

条件说明
网络传播机制交易之间存在传播时间差
商家未等待确认只看到交易被广播就放行商品
攻击者控制交易结构可以使用 RBF(Replace-By-Fee)或手动构造冲突交易
没有足够的防护机制如未使用“监听所有节点”、“RBF 防护”等

✅ 五、RBF 与零确认双花的关系

  • RBF(Replace-By-Fee) 是一种允许用户用更高手续费的交易替代原交易的机制;
  • 攻击者可以利用 RBF,在交易未被确认前,发送更高手续费的替代交易,把前一笔支付“挤掉”;
  • 所以,开启 RBF 的钱包更容易被用于发起零确认双花攻击。

✅ 六、如何防止零确认双花攻击?

防护方法原理
等待至少1确认再交付商品最安全的方法,防止一切形式的双花
使用多节点监听提高检测冲突交易的能力
检查交易是否为 RBF-enabled不信任可替换交易
使用支付通道(如闪电网络)不依赖链上确认
使用可信支付网关服务例如 BitPay、OpenNode 等第三方平台承担风险

✅ 七、总结:零确认双花攻击与经典双花攻击的区别

类型零确认双花攻击经典双花攻击(如51%攻击实现)
是否已确认❌ 未被打包入区块✅ 已确认后再被回滚
是否需要51%算力❌ 不需要✅ 通常需要
实施难度✅ 简单,技术门槛低❌ 高,需要控制算力或网络分区
影响一般小额欺诈可造成重大损失

http://www.dtcms.com/a/312846.html

相关文章:

  • 智变时代:AI 如何重构工作边界与行业生态?
  • 【软考中级网络工程师】知识点之 IS-IS 协议
  • 百度招黑产溯源安全工程师
  • Spring AOP_2
  • CPA全国青少年编程能力等级测评试卷及答案 Python编程(一级)
  • 【代码详解】Triplane Meets Gaussian Splatting中triplane部分解析
  • 【代码随想录|454.四数相加、383.赎金信、15.三数之和、18.四数之和】
  • 模拟-6.N字形变换-力扣(LeetCode)
  • GPIO交换矩阵和IO_MUX
  • Python Seaborn【数据可视化库】 全面讲解
  • node.js常用函数
  • web前端React和Vue框架与库安全实践
  • Elastic 9.1/8.19:默认启用 BBQ,ES|QL 支持跨集群搜索(CCS)正式版,JOINS 正式版,集成 Azure AI Foundry
  • Python爬虫实战:研究awesome-python工具,构建技术资源采集系统
  • 【C语言】结构体详解
  • 第15届蓝桥杯Scratch图形化国赛初/中级组2024年9月7日真题
  • 使用DrissionPage实现xhs笔记自动翻页并爬取笔记视频、图片
  • 禁闭求生2 免安 中文 离线运行版
  • 初识prometheus
  • 控制建模matlab练习04:二阶系统的时域响应
  • Supergateway教程
  • 前端技术制作简单网页游戏
  • 力扣457:环形数组是否存在循环
  • 【Excel】利用函数和Power Query进行数据分析
  • Java企业级应用性能优化实战
  • 控制建模matlab练习09:超前补偿器
  • K8S部署ELK(四):部署logstash
  • 使用trae进行本地ai对话机器人的构建
  • 【LLM】 BaseModel的作用
  • 《软件测试与质量控制》实验报告三 系统功能测试