第三课:区块链如何运作(《Web3.0和教字货币))T!数字货币中的双花问题与加密技术探索区块链安全、加密算法与零知识证明的核心技术羔报告日期:2025-07-04密码学与区块链安全第116页>
什么是双花问题?郭太侠·报告双花问题的定义双花问题是数字现金系统中的潜在问题,是指同一笔资金同时支付给两位收款方。如果没有适当对策,仅凭协议无法彻底解决该问题,毕竟用户无从验证自己收到的资金是否还曾经付给他人A双花间Bob&CarolAlice同时收到相同资金拥有10个货币单元为什么解决双花问题至关重要复制攻击X欺诈风险如果Alice可以接收10个货币单元并复制粘贴10次,那么她将拥有100个如果她能将同一笔10个货币单元同时发给Bob和Carol,系统将无法正常货币单元,系统将崩溃运转1解决双花问题是确保数字货币系统正常运行的关键第2/16页
防止双花问题:中心化方式郭太侠报告mimn中心化解决方案栅述中心化方式比去中心化方案事容易实施,通常需要设一名监督者来管理系统并控制货币单元的发行和发放。大卫.乔姆(David Chaum)的eCash就是通过中心化方式来解决双花问题的eCash运作机制示例用户请求数字现金银行生成随机数用户接收数字现金Dan通知银行他希望接收100美元的数字现金银行生成五个随机数,每个价值20美元,并对消息进Dan按收数字现金并可使用。每个货币单元都有吸一行签名标识符人血DP+N用户消费数字现金商家验证交易交易确认与资金转移Dan在Ei的餐厅花费40美元,公开两个随机数Ein立即向银行兑换资金,银行核实签名有效性银行向E中账户存入4美元。同时销毁已使用的"钞票一血香eCash机制的局限性中心化节点(银行)故障将导致整个系统崩溃数字现金的价值完全依赖银行的信誉
防止双花问题。去中心化方式郭太侠·报告区块链解决双花问题餐厅支付场景示例比特币白皮书呈现的最大剑新就是区块链种具有特殊属性的0.005比特币数据库结构网络参与者(节点)运行专门软件,同步数据库副本e0公开透明的区块链使发现和防止数作受部发现Erin等待6个区块确认(约1小时)交易确认机制交易需通过挖矿才能装入区块,获得网络确认。为什么有效防止双花?发布交易广播至全网节点0交易一经确认,代币所有权转移并获得网络验正每个后续区块增加修改链的工作量(如51%攻击矿工验证共识机制确保全网节点共同维护交易记录完整性品解决复杂计算谜题交易确认获得多个区去中心化区块链通过密码学和共识机制解决双花问题第4/16
比特币的双花问题郭太侠报告B比特币的防护机制比特币经过精心设计,可防止双花攻击。至少在协议使用符合预期的情况下确实如此。如果有人正在等待某笔交易获得区块确认,则发送者将无法轻易撒销该笔交易只有"反转”区块链,才能撤销交易,这需要无比庞大的哈希算力支付0.005BTCAlice餐厅A接受未确认交易的风险甲4餐厅场景双花攻击方式快忙的餐厅可能等不了网络处理每笔交易所需的时间,通常需要等待6个区支付后立即又将同一笔资金发回自己地址,若后续交易手续费更高,则可块确认(约1小时)能先被确认,导致先前交易失效建议在接受右效付款之前先等待多次确认第5/16页
三种普遍的双花攻击郭太侠·报告51%攻击竞争攻击2l芬尼攻击单个实体或组织设法控制超过50%的哈希率,使用同一笔资金连续发布两笔有冲突的交易。攻击者预先挖矿一笔交易放入区块,但并不立以此删除或修改交易顺序。但仅一笔交易得到确认。攻击者的目标是通过即发布到网络中。相反,他将同一笔代币支付验证对自己有利的交易让另一笔支付失效。到另一笔交易中,然后才发布之前已挖出的区块,从而使支付无效。工作原理攻击者控制网络中超过50%的算力攻击流程攻击流程发送交易A到收款方预先挖矿包含交易A的区块可以阻止特定交易被确认几乎同时发送交易B到矿工不立即发布区块到网络矿工确认交易B(包含攻击者地址)发送交易B到收款方收款方接受未确认的交易A收款方接受交易B发布预先挖好的区块,使交易A有效在比特币网络发生的几率微乎其微,但在其他网络中发生过成功取决于事件顺序和收款方是否接受未确认交易了解这些攻击有助干制定有效的防御策略第6/16页
对称加密与非对称加密概述郭太侠·报告郸太侠·报告密码学体系目前主要分为两...