此网页仅供信息参考之用。部分服务和功能可能在您所在的司法辖区不可用。

欧易区块链60讲 | 第20集:什么是双花问题?

《欧易区块链60讲》是由欧易&新浪科技联合出品的区块链科普动画视频,针对区块链零基础用户,通过系列文章、科普动画等形式,从概念、技术、应用等角度,通过5大板块,60个知识点,生动形象地科普区块链概念。本集课程内容由北京大学经济学博士刘昌用导师指导完成。

哈喽大家好,我是小K君。今天我们要讲的内容是:“什么是双花问题”?

之前的课程,我们已经讲过了区块链的四大核心技术都有哪些,它们共同决定了区块链的整个基础框架。可是在区块链网络中,还有一些问题是四大核心技术也没有办法完全解决的,比如网络拥堵问题、效率问题等等。而今天,我们要说的就是其中的一种,也就是双花问题。

所谓双花问题,顾名思义,就是一笔钱被重复花了两次。比如,我们微信钱包里有100块钱,我们先去饭店吃了顿饭,结果微信出了bug,这一笔钱并没有被银行同步,还留在钱包里,于是我们又能拿着同样的100块钱去看场电影,这就属于双花问题。

一般来说,双花问题分为两种情况:一种是记账前双花,比如同一笔钱,因为银行同步延迟的问题,被多次使用,像我们刚才举的例子就是这种情况;另一种是记账后的双花,一笔钱花出去,银行已经记账,但如果你攻击银行,从银行账本上删除了这笔花费,就可以再花一次了,即双花。

那在现实生活和区块链中,我们该如何解决双花问题呢?

在现实生活中,作为收款者来说,比如商店老板,防范第一种双花很容易,不以付款者的交易记录为依据,只有确认自己账户上钱到账才交付商品。比如用微信支付,不仅要看用户出示的手机支付页面,也要看自己的手机上是否收到。当然,如果很小额的交易,生意又忙,用户也是街坊邻里,只看支付页面也可以,这个小风险商店可以承担。

在区块链应用中,防范未记账前的双花也与之类似,最好的解决方案也是等记账后,再完成交易,大额交易一般都是走这种路径。不过,如果金额很小,人又熟,交易是可以不记入区块链的,即没有记账的情况下,也可以完成支付。这叫“零确认支付”,只不过这种方式,收款方是要承担被双花的风险。

而防范第二种双花就比较难了。在生活中,比如微信已经记了账,但黑客攻击了微信的服务器,商户收款的交易记录一旦丢失,商户自然就受到了损失,付款者又可以使用原来的这笔钱。不过,这种情况极少出现,既然要记账,那一定是非常小心保存账本的。

区块链应用也类似,整个区块链技术的核心就是保障账本的安全,记了账就不能被双花。但安全不是绝对的,即使记了账,仍然有可能被双花。因为,区块链应用不是依靠中央银行这样的机构的权威来保障账本安全的,而是依靠分布世界各地的节点都保存统一份的账本,并且由全世界的矿工用算力来竞争记账,产生完全一致的新账页的。

当有人掌握了全网51%以上的算力时,就能够将刚刚记过的账页作废,把里面的一笔花费恢复成没被花掉的状态。这就是记账后的双花了,这种攻击方法叫“51%攻击”。这种双花相对于记账前的双花比较难实现,因为掌握51%算力需要很多钱。但如果双花的收益足够大,攻击仍然是有可能的。怎么办呢?

解决的办法是,等待更多确认。51%的算力要作废最新账页,其成功概率是51%,但作废连续两个新账页的概率就是51%*51%=26%,作废3个的概率是13.3%,作废6个的概率只有0.46%了。如果攻击者没有掌握51%的算力,只掌握20%的算力,那么攻击成功的概率就只有0.0064%了。

这样,问题就简单了。商户可以根据交易金额的大小来决定如何防范双花。

如果交易金额很小,比如卖支铅笔,完全可以接受零确认,对用户既省时又贴心。万一双花也不在乎。如果交易金额大一些,比如卖件衣服,那建议等待一个确认就可以了。不会有黑客为了你一套衣服动用51%的算力发起攻击的。如果交易金额很大,比如买钻石,那就要小心了。要根据全网算力的成本估算一下需要多少个确认,金额越大,需要的确认数就越多。

比如这个区块链是10分钟确认一次,全网51%的算力每10分钟的成本是10万元。你卖的钻石价值100万元。那么你至少要10个确认以上才能交付钻石。最好是20个以上确认。

总之,预防双花攻击,一个基本的原理就是,让攻击者赔钱的概率远远高于你被双花的概率。

当然,为了预防双花问题,区块链本身从技术方面,也在共识机制的基础上,引入了一些其他技术,比如时间戳和UTXO模型。通过它们,进一步提高区块链的记账安全性、以及双花的作恶成本。至于它们具体是如何解决的,容小K君卖个关子,我们下节课再说~

注:这些例子数据都是为了简便给的估值,真实的攻击成本收益分析非常复杂。

感谢刘昌用老师对本集内容的帮助和指导。

新浪微博:@昌用老师

免责声明
本文章可能包含不适用于您所在地区的产品相关内容。本文仅致力于提供一般性信息,不对其中的任何事实错误或遗漏负责任。本文仅代表作者个人观点,不代表欧易的观点。 本文无意提供以下任何建议,包括但不限于:(i) 投资建议或投资推荐;(ii) 购买、出售或持有数字资产的要约或招揽;或 (iii) 财务、会计、法律或税务建议。 持有的数字资产 (包括稳定币和 NFTs) 涉及高风险,可能会大幅波动,甚至变得毫无价值。您应根据自己的财务状况仔细考虑交易或持有数字资产是否适合您。有关您具体情况的问题,请咨询您的法律/税务/投资专业人士。本文中出现的信息 (包括市场数据和统计信息,如果有) 仅供一般参考之用。尽管我们在准备这些数据和图表时已采取了所有合理的谨慎措施,但对于此处表达的任何事实错误或遗漏,我们不承担任何责任。欧易 Web3 功能,包括欧易 Web3 钱包和欧易 NFT 市场都受单独的服务条款约束。

© 2025 OKX。本文可以全文复制或分发,也可以使用本文 100 字或更少的摘录,前提是此类使用是非商业性的。整篇文章的任何复制或分发亦必须突出说明:“本文版权所有 © 2025 OKX,经许可使用。”允许的摘录必须引用文章名称并包含出处,例如“文章名称,[作者姓名 (如适用)],© 2025 OKX”。不允许对本文进行衍生作品或其他用途。

相关推荐

查看更多
thumbnail:okex-blockchain-lecture-60-episode-60-cn
区块链60讲

欧易区块链60讲 | 第60集:最终总结:如何理解“区块链”?

哈喽大家好,我是小K君,在我们之前的视频里,已经讲过了区块链的技术、历史、应用等内容。今天作为整个系列视频的最后一集,必定是要对以往各期视频做一个深刻的总结,所以今天我们要讲的内容是:“最终总结:如何理解“区块链”?” 所谓区块链,从技术的角度来说,就是一个不可篡改的分布式数据库。它使用了包括分布式账本、共识机制、密码学、智能合约等在内的多个核心技术,最终解决了网络中的信任问题。早在技术篇里,我们
2024年4月25日
2
thumbnail:okex-blockchain-lecture-60-episode-59-cn
区块链60讲

欧易区块链60讲 | 第59集:什么是区块链+金融?

哈喽大家好,我是小K君,今天我们要讲的内容是:“什么是区块链+金融”? 金融领域可以说是区块链最重要的应用场景,没有之一。为什么这么说?原因就在于,区块链可以解决金融中的信任问题。 这个信任体现在两个方面,一个是数据的信任问题,比如,我们将一笔资金交给金融机构去打理,但机构处理的过程其实是不透明的,就像是一个黑盒,我们只知道最后的结果是什么,最后盈利了多少,却没有办法真实地了解,机构将这笔钱用去了
2024年4月25日
2
thumbnail:okex-blockchain-lecture-60-episode-58-cn
区块链60讲

欧易区块链60讲 | 第58集:什么是区块链+艺术领域?

哈喽大家好,我是小K君,今天我们要讲的内容是:“什么是区块链+艺术领域”? 区块链在艺术领域方面,有极其重要的应用。为什么这么说?因为区块链可以解决艺术中的防伪问题。我们都知道,艺术品的价值在于稀缺性,比如一幅画,如果人手一份,那么这幅画就没有太大的价值,反之,如果这幅画出自知名艺术家之手,独一无二,这幅画就有可能价值连城。可问题来了,在数字化高度发达的今天,我们该如何保证艺术品在数字领域的稀缺性
2024年4月25日
1
thumbnail:okex-blockchain-lecture-60-episode-57-cn
区块链60讲

欧易区块链60讲 | 第57集:什么是区块链+司法取证?

哈喽大家好,我是小K君,今天我们要讲的内容是:“什么是区块链+司法取证”? 司法取证是区块链已经落地的应用场景之一。可能有不少小伙伴会比较疑惑,区块链和司法取证能有什么关系?两者完全八竿子打不着啊。但区块链技术却可以解决司法流程中证据真实性的问题。 我们都知道,证据收集是司法审判中的重要一环,而证据的有效性主要从三个要素进行评估,真实性、关联性、合法性。其中真实性又是重中之重,可问题来了,在黑科技
2024年4月25日
1
thumbnail:okex-blockchain-lecture-60-episode-56-cn
区块链60讲

欧易区块链60讲 | 第56集:什么是区块链+跨境支付

哈喽大家好,我是小K君,今天我们要讲的内容是:“什么是区块链+跨境支付”? 所谓“区块链+跨境支付”,就是指将区块链技术应用到跨境支付领域上。跨境支付+区块链是一个具有颠覆性的应用场景,甚至有可能重新构建现有国际金融网络,为什么这么说?原因就在于区块链技术可以绕过现有的SWIFT体系,彻底解决跨境转账时的资金结算问题。 下面我们就来具体解释这件事。 说起传统的跨境转账模式,一般,我们要去银行柜台,
2024年4月25日
1
thumbnail:what-is-a-blockchain-game
区块链60讲

欧易区块链60讲 | 第55集:什么是区块链游戏?

哈喽大家好,我是小K君,今天我们要讲的内容是:“什么是区块链游戏?” 所谓区块链游戏,就是区块链技术在游戏领域的一些应用。早在2017年,Cryptokitties加密猫这款区块链游戏,便曾风靡全球。创造了单日超过14000个日活跃地址的记录,总交易额超2亿人民币。可以说,游戏是第一个让区块链技术真正落地的领域。 可能会有小伙伴疑惑,早期很多行业在区块链的布局上都有尝试,为什么单单是区块链+游戏获
2024年4月25日
查看更多