浏览器
双核浏览器
游戏浏览器
高速浏览器
视频浏览器
IE浏览器
浏览器周边
手机浏览器
安卓游戏
音乐舞蹈
养成游戏
儿童游戏
仙侠手游
角色扮演
策略塔防
休闲益智
动作冒险
飞行射击
模拟经营
体育运动
赛车竞速
网络游戏
安卓软件
资讯阅读
生活服务
影音播放
购物理财
效率办公
趣味娱乐
交通出行
学习教育
摄影图像
在线音乐
系统工具
网络购物
聊天工具
安全杀毒
图片编辑
新闻资讯
软件资讯
游戏资讯
手机教程
手游攻略
游戏攻略
软件教程
IE专区
安卓专题
文章合集
电脑软件专题
安全软件
杀毒软件
系统安全
加密解密
防火墙
远程控制
木马查杀
影音软件
网络电视
视频播放
音乐播放
视频制作
音频编辑
录音录像
教育学习
外语学习
教育管理
早教启蒙
在线课堂
成人教育
资格考试
聊天社交
即时通讯
视频聊天
在线交友
变声器
表情包
办公软件
线上会议
文档管理
行业管理
考勤打卡
应用工具
输入法
下载工具
时钟日历
记事本
文件管理
计算器
编程开发
编程工具
JAVA相关
加壳脱壳
编程控件
数据库
网页源码
软件开发
补丁制作
系统美化
桌面制作
壁纸大全
系统主题
屏幕保护
桌面辅助
系统软件
系统优化
备份还原
系统检测
U盘工具
磁盘工具
驱动补丁
图文处理
图片素材
图像处理
图片制作
图片压缩
电子相册
抓图工具
其他软件
电子书籍
模拟器
辅助工具
交通出行
手机管理
其他工具
素材下载
字体素材
PPT素材
专区
文章合集
软件
游戏
浏览器
安卓专题
软件
游戏
浏览器
IEfans/ 新闻资讯/ 软件教程 /交易延展性攻击原理是什么?交易延展性是什么?

交易延展性攻击原理是什么?交易延展性是什么?

2023-02-23 21:36:02 编辑:匿名

数字世界攻防是最有意思的事情,通读了延展性攻击原理后,任何使用类似算法和签名结构的数字货币都会面临这个攻击风险,虽然这个攻击不会实质性改变交易,但是足够影响一些心急的发送者,这就是攻防的魅力,永远接受挑战,越战越强,下面小编给大家介绍一下,希望你能喜欢!

交易延展性

交易的延展性,也被称作为是可锻性,即同样一个东西,它的本质和质量都没有改变,但是它的形状改变了。而这个可锻性,会造成交易ID——TXID的不一致,从而导致用户找不到发送的交易。

现在比特币的交易数据格式中,将交易签名部分也纳入了整体交易中,最后对整体交易做哈希,而交易签名又可以有多种写法,攻击者篡改了它们,它们作用上是一样的,但是字节发生了变化,导致这个签名不一样了,前段时间甚至有一个矿池挖出了一个包含所有交易都是延展攻击了的,给一些应用带来了麻烦。

TXID发生变化可能会导致一些应用在查找TXID时找不到,从而影响一些钱包充值或提现的状态,给运营者和用户带来麻烦,隔离见证是为了解决这个问题而提出的,将交易数据和签名数据分开,这样一笔交易的TXID一定唯一。

攻击原理

延展性攻击者侦听比特币P2P网络中的交易,利用交易签名算法的特征修改原交易中的input 签名, 生成拥有一样input和output的新交易,然后广播到网络中形成双花,这样原来的交易将有一定的概率不能被确认,造成不可预料的后果。

此攻击的原理在于,ECDSA算法生成两个大整数r和s并组合起来作为签名, 可以用来验证交易。而r和BN-s 也同样可以作为签名来验证交易(BN=0xFFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141). 这样,攻击者拿到一个交易,将其中inputSig 的r, s 提取出来, 使用 r, BN-s 生成新的inputSig, 然后组成新的交易,拥有同样的input和output,但是不同的TXID. 攻击者能在不掌握私钥的情况下几乎无成本地成功地生成了合法的交易。

延展性攻击并不能阻止实际交易的发送,该到的还是会到,但被网络确认的不一定是原来预想的那个TXID, 因此会对比特币网络的活动产生一些影响。例如Alice通过在线钱包给Bob发送了一笔交易,并把TXID发送给Bob说,看我给你发了多少比特币,但是这个交易被延展性攻击并最终也没有确认,Bob通过此TXID却没有发现这比交易,Bob就说,”Alice, 你这个骗子”。

受影响更大的是交易所, 银行之类的离线钱包网站,如果没有好好编程实现,甚至会直接搞乱离线钱包的帐目,引起恶劣的影响。比如通常离线钱包为了方便用户并不等待六个确认才实际充值而是一个确认就实际充值,但是有可能原始交易和攻击的交易都在不同的block中出现在离线钱包的后台钱包中(这些block可能成为orphan但是毕竟曾经出现过),这样就会给某些账户冲币两次或多次, 并给恶意攻击者提现留出时间。应对方法是账户充值需要等待2或者以上的个确认。

充值的后果可以被管理员手动改回,更大的影响发生在提现过程中,提现后的TXID会被记录下来,用来随后查询blockchain 跟踪状态,如果被延展性攻击的交易抢先得到确认, 则提现的TXID一直不能被确认,时间久了会被认为失败,如果策略是失败后重发提现就悲剧了,相信每家交易所银行都有联系客户低声下气索回因失误而发出账款的经历。这种情况下的解决方法是,遇到交易无法确认就停止,报错误并等待手动处理,或者,我们可以自己生成一个延展性交易,然后获取新的TXID, 查找是否发送成功。能生成的TXID数量有多少呢?一共有exp(2, input数量)个,因为每个input都有改签名或者不改两种可能, 通常不是一个大数目。

以上就是关于交易延展性攻击原理的相关介绍,希望小编的内容能帮到大家!

相关推荐

软件更新