📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
比特币历史上的重复交易漏洞:成因、影响与未来风险分析
比特币中的重复交易:一个有趣而低风险的缺陷
概述
比特币交易通常通过引用前一笔交易的ID来使用未花费的输出。这些输出只能使用一次,否则会导致双重支付问题。然而,比特币历史上确实出现过两组完全相同的交易。这种情况之所以可能发生,是因为coinbase交易没有输入,而是直接产生新币。因此,两个不同的coinbase交易有可能发送相同数量到相同地址,构建方式完全相同,从而生成相同的交易ID。
这两组重复交易发生在2010年11月14日至15日之间,时间跨度约16小时。第一组重复交易的ID为d5d2....8599,尽管它在区块链上首次出现时间晚于另一个重复交易e3bf....b468。
重复交易详情
这两组重复交易分别出现在四个不同的区块中。区块浏览器在显示这些交易时会有不同的默认行为,有些会显示较早的区块,有些则显示较晚的区块。
在这四个相关区块中,只有一个区块(91,812)包含了其他交易,将1 BTC和19 BTC合并成了一个20 BTC的输出。
这些输出是否可以使用?
每个重复交易的价值为50 BTC,总共涉及200 BTC(或100 BTC,取决于理解方式)。截至目前,这200 BTC都未被使用。理论上,拥有相关私钥的人可以使用这些比特币,但一旦使用,重复的50 BTC将无法再次使用并丢失,因此实际上只有100 BTC可能被找回。
重复交易的问题
重复交易会给钱包和区块浏览器带来混乱,也会导致比特币来源不明确。它还可能被用于一些攻击和漏洞利用,比如对交易所进行欺骗性存款。
解决方案
为了解决重复交易问题,2012年3月实施了BIP30软分叉,禁止使用重复交易ID,除非前一个交易已被使用。同年9月,这一规则被进一步修改,适用于所有区块。
2013年3月,BIP34软分叉要求coinbase交易包含区块高度,这实际上解决了重复交易问题。此后,比特币核心软件停止了BIP30检查,因为它不再必要。
潜在的未来问题
尽管BIP34解决了大部分问题,但在BIP34激活之前的一些区块中,coinbase交易的scriptSig第一个字节恰好与未来的有效区块高度匹配。这意味着在未来某些特定区块高度上,仍然有可能出现重复交易。
下一个可能出现重复交易的区块是1,983,702,预计在2046年1月左右产生。但是,利用这个漏洞的成本非常高,需要烧掉大量比特币,而且对攻击者几乎没有实际好处。
结论
考虑到复制交易的难度、成本以及利用机会的稀少性,这个漏洞并不构成比特币的主要安全威胁。然而,由于其独特性和长期存在的可能性,它仍然是一个有趣的技术问题。开发者们可能会在2046年之前寻求彻底解决这个问题,可能通过软分叉来实现。一种潜在的解决方案是强制执行SegWit承诺。