比特币的重复交易:一个风险极小的有趣 Bug

链捕手發佈於 2025-03-28更新於 2025-03-28

原文标题:《Bitcoin's Duplicate Transactions》

原文来源:BitMEX Research

编译:BlockBeats

在比特币区块链中存在两组完全相同的交易,一组交易「夹住」了另一组交易,它们都发生在 2010 年 11 月中旬。重复交易可能会导致混乱,比特币开发者多年来一直通过各种方式与之作斗争。这个问题仍未 100% 解决,下一个潜在的重复交易可能会在 2046 年出现。尽管与重复交易相关的风险现在已经很小,但这是一个值得思考的有趣怪异 bug。

概述

一个正常的比特币交易通过引用前一笔交易的交易 ID(TXID) 来使用至少一个前一笔交易的输出。这些未花费的输出只能被花费一次,如果它们可以被花费两次,你就可以对比特币进行双重支付,使比特币变得毫无价值。然而,在比特币中实际上恰好存在两组完全相同的交易。这种情况之所以可能发生,是因为 coinbase 交易没有任何交易输入,而是有新生成的币。因此,两个不同的 coinbase 交易有可能发送相同数量到相同地址,并以完全相同的方式构建,使它们完全相同。由于这些交易是相同的,TXID 也相匹配,因为 TXID 是交易数据的哈希摘要。TXID 被复制的唯一其他方式,是哈希碰撞,对于加密安全的哈希函数来说,这被认为是不太可能且不可实现的。像 SHA256 这样的哈希碰撞在比特币或其他任何地方都从未发生过。

这两组重复交易都发生在相近的时间内,在 2010 年 11 月 14 日 08:37 UTC 至 2010 年 11 月 15 日 00:38 UTC 之间,跨度约 16 小时。第一组重复交易被夹在第二组之间。我们将 d5d2….8599 归类为第一个重复交易,因为它首先成为复制品,尽管奇怪的是,它在区块链上首次出现是在另一个重复交易 e3bf….b468 之后。

重复交易详情

在下面的图片中,可以看到来自 mempool.space 区块浏览器的两个截图,显示了第一个重复交易在两个不同区块中重复出现的情况。

有趣的是,当在网络浏览器中输入相关网址时,mempool.space 区块浏览器在 d5d2….8599 的情况下默认显示较早的区块,而在 e3bf….b468 的情况下默认显示较晚的区块。Blockstream.info 和 Btcscan.org 与 mempool.space 有相同的行为。另一方面,根据我们的基本测试,Blockchain.com 和 Blockchair.com 的行为方式不同,当在浏览器中输入 URL 时,总是显示重复交易的最新版本。

在相关的四个区块中,只有一个区块(区块 91,812)包含了其他交易。这笔交易将 1 BTC 和 19 BTC 的输出合并成了一个 20 BTC 的输出。

这些输出可以被花费吗?

由于存在两组相同的 TXID,这为后续交易创造了引用问题。每个重复交易的价值为 50 BTC。因此,这些重复交易总共涉及 4 x 50 BTC = 200 BTC,或者根据不同的理解方式,可能涉及 2 x 50 BTC = a100 BTC。在某种程度上,有 100 BTC 实际上并不存在。

截至今天,所有 200 BTC 都未被花费。据我们所知(我们可能在这里是错误的),如果有人拥有与这些输出相关联的私钥,他们可以花费这些比特币。然而,一旦被花费,UTXO 将从数据库中删除,重复的 50 BTC 因此将无法花费并丢失,因此只有 100 BTC 可能被找回。至于如果这些币被花费,它们将来自哪个区块,是较早的还是最近的,这可能是未定义的或无法确定的。

这个人本可以在创建重复交易之前花费所有比特币,然后创建重复输出,在未花费输出的数据库中创建新条目。这将意味着不仅有重复交易,还有可能有重复的已花费输出的重复交易。如果发生这种情况,当这些输出被花费时,将可能创建更多的重复交易,形成一种重复链。人们必须小心事件的顺序,总是在创建重复之前花费,否则比特币可能永远丢失。这些新的重复交易将不是 coinbase 交易,而是「正常」交易。幸运的是,这种情况从未发生过。

重复交易的问题

重复交易显然是不好的。它们会给钱包和区块探索者带来混乱,也会让人不清楚比特币的来源。它还会带来许多攻击和漏洞。例如,你可以用两笔重复的交易支付某人两次。然后,当交易方决定尝试使用这笔资金时,他们可能会发现只有一半的资金可以收回。例如,这可以是对交易平台的攻击,试图使其破产,而攻击者却没有任何损失,因为他们可以在存款后立即提取资金。

禁止使用重复 TXID 的交易

为了缓解重复交易问题,2012 年 2 月,比特币开发者 Pieter Wuille 提出了 BIP30 软叉方案,禁止使用重复 TXID 进行交易,除非前一个 TXID 已被花费。该软叉适用于 2012 年 3 月 15 日之后的所有区块。

2012 年 9 月,比特币开发者 Greg Maxwell 修改了这一规则,使 BIP30 检查适用于所有区块,而不仅仅是 2012 年 3 月 15 日之后的区块。本文前面提到的两个重复交易除外。这修复了一些 DOS 漏洞。从技术上讲,这又是一次软叉,尽管规则变更只适用于过去 6 个月以上的区块,因此它不存在与正常协议规则变更相关的任何风险。

这种 BIP30 检查的计算成本很高。节点需要检查新区块中的所有交易输出,并检查这些输出端点是否已存在于 UTXO 中。这可能就是 Wuille 只对未使用的输出进行检查的原因,如果对所有输出都进行检查,计算成本会更高,而且无法进行剪枝。

BIP34

2012 年 7 月,比特币开发者加文-安德森(Gavin Andresen)提出了 BIP34 软分叉方案,并于 2013 年 3 月激活。这一协议变更要求 coinbase 交易包含区块高度,这也使得区块版本管理成为可能。区块高度被添加为币基交易脚本 Sig 的第一项。coinbase scriptSig 中的第一个字节是区块高度数字所使用的字节数,接下来的字节就是区块高度数字本身。对于第一个 c160 年(223 /(每天 144 个区块 * 每年 365 天)),第一个字节应为 0x03。这就是为什么如今的 coinbase ScriptSig(HEX)总是以 03 开头。这次软分叉似乎彻底解决了重复交易问题,现在所有交易都应该是唯一的。

由于已经采用了 BIP34,2015 年 11 月,比特币开发者亚历克斯-莫科斯(Alex Morcos)向比特币核心软件仓库添加了一个拉取请求,这一更改意味着节点将停止进行 BIP30 检查。毕竟,既然 BIP34 修正了这个问题,那么这种昂贵的检查就不再有必要了。虽然当时还不知道,但从技术上讲,这是为未来一些非常罕见的区块进行的硬分叉。现在看来,潜在的硬分叉并不重要,因为几乎没有人在运行 2015 年 11 月之前的节点软件。在 forkmonitor.info,我们运行的是 2015 年 10 月发布的 Bitcoin Core 0.10.3。因此,这是一个硬分叉前的规则,客户端仍在进行昂贵的 BIP30 检查。

区块,983,702 问题

事实证明,在 BIP34 激活之前的区块中有一些 coinbase 交易,当时使用的 scriptSigs 的第一个字节恰好与未来有效的区块高度相匹配。因此,虽然 BIP34 确实在几乎所有情况下都修复了这个问题,但它并不是一个完全的 100% 修复。2018 年,比特币开发者约翰-纽贝里(John Newbery)打印出了这些潜在重复的完整列表,如下表所示。

*注:这些区块已在 2012 年和 2017 年产生 Coinbase 交易并非重复。209 921 个区块(距离第一次减半仅差 79 个区块)不可能是重复的,因为 BIP30 在此期间得到了执行。

来源:https://gist.github.com/jnewbery/df0a98f3d2fea52e487001bf2b9ef1fd

按年份分列的潜在重复 Coinbase 交易数量

来源:https://gist.github.com/jnewbery/df0a98f3d2fea52e487001bf2b9ef1fd

因此,下一个可能出现重复交易的区块是 1,983,702,将于 2046 年 1 月左右产生。2012 年 1 月产生的 164,384 区块中的 Coinbase 交易向七个不同的输出地址发送了 170 BTC。因此,如果 2046 年的矿工想要进行这次攻击,他们不仅需要足够幸运地找到这个区块,还需要烧掉不到 170 BTC 的费用,总成本略高于 170 BTC,其中包括 0.09765625 BTC 区块补贴的机会成本。

按照目前 88500 美元的比特币价格计算,这将花费超过 1500 万美元。至于 2012 年币库交易的七个地址归谁所有,目前还不得而知,密钥很有可能已经丢失。目前,该 Coinbase 交易的所有七个输出地址都已被使用,其中三个在同一笔交易中使用。我们认为这些资金可能与 Pirate40 庞氏骗局有关,但这只是我们的推测。因此,这次攻击看起来不仅代价高昂,而且对攻击者来说几乎毫无用处。要在硬分叉中将 31 年前的 2015 年 11 月节点从网络中删除,这将是一笔不小的开支。

下一个可能被复制的脆弱区块是 2012 年 3 月的 169985。这个 Coinbase 只花费了刚刚超过 50 BTC,远远低于 170 BTC。当然,50 BTC 是当时的补贴,而当这一 Coinbase 交易在 2078 年变得容易被重复时,补贴就会低得多。因此,要利用这一点,矿工将需要烧掉大约 50 BTC 的费用,而这些费用他们是拿不回来的,因为这些费用必须发送到 2012 年的旧产出中。谁也不知道 2078 年比特币的价格会是多少,但这种攻击的成本也可能高得吓人。因此,这个问题可能不是比特币的主要风险,但仍然令人担忧。

自 2017 年 SegWit 升级以来,Coinbase 交易也可以包含对一个区块中所有交易的承诺。这些 BIP34 之前的区块并不包含见证承诺。因此,要产生一个重复的 Coinbase 交易,矿工需要从区块中排除任何 SegWit 输出赎回交易,这进一步增加了攻击的机会成本,因为区块可能无法包含许多其他支付费用的交易。

结论

考虑到复制交易的难度和成本,以及利用它的机会非常罕见,这个复制交易漏洞并不像是比特币的一个主要安全问题。不过,考虑到所涉及的时间尺度和重复交易的新颖性,想想还是挺有意思的。尽管如此,多年来开发人员还是在这个问题上花费了大量时间,2046 年这个日期在一些开发人员心中可能是修复这个问题的最后期限。修复这个错误的方法有很多,可能需要软叉。一种可能的修复方法是强制执行 SegWit 承诺。

熱門幣種推薦

你可能也喜歡

80 亿美元估值,8 个月涨 2 倍!加密友好银行 Erebor Bank 凭什么?

加密友好银行Erebor Bank正寻求新一轮融资,目标估值达80亿美元,较去年12月的43.5亿美元估值上涨近一倍。其估值飙升主要得益于存款规模的快速增长——从3月底的11亿美元激增至约40.5亿美元,一个季度内增长近四倍,并新增近400家客户。 Erebor由Palmer Luckey(Oculus VR和国防科技公司Anduril创始人)发起,并获得Peter Thiel等知名投资人支持。银行核心团队拥有深厚的金融与加密合规背景。与许多金融科技公司不同,Erebor选择自主获取全国性银行牌照(OCC),以独立开展业务并计划深度融合加密服务,如稳定币的存取、铸造与赎回,并已支持Sui网络。 银行定位是填补硅谷银行倒闭后留下的市场空白,专注于服务持有非传统资产(如国防合约、AI硬件、数字代币)的新创科技公司、先进制造业企业等,提供设备融资、信贷及24/7的结算服务。 尽管增长迅速,Erebor目前仍处于投入期,首季录得净亏损。同时,其业务模式也面临诸多挑战,包括客户群集中度高风险、加密市场关联风险、监管政策未来可能转向的风险,以及其商业模式尚未被完全验证的执行风险。市场正密切关注这家融合了传统银行、加密资产与产业政策的“高调实验”能否成功。

链捕手2 小時前

80 亿美元估值,8 个月涨 2 倍!加密友好银行 Erebor Bank 凭什么?

链捕手2 小時前

交易

現貨

熱門文章

什麼是 BITCOIN

理解 HarryPotterObamaSonic10Inu (ERC-20) 及其在加密空間中的地位 近年來,加密貨幣市場見證了迷因幣的流行激增,吸引了不僅是交易者的注意,還有尋求社區參與和娛樂價值的人士。在這些獨特的代幣中,有一個有趣的項目 HarryPotterObamaSonic10Inu (ERC-20),它將文化參考融入加密貨幣的織造中。本文深入探討 HarryPotterObamaSonic10Inu 的關鍵方面,探索其機制、以社區為驅動的精神,以及其與更廣泛的加密生態的互動。 HarryPotterObamaSonic10Inu (ERC-20) 是什麼? 正如其名所示,HarryPotterObamaSonic10Inu 是一種建立在以太坊區塊鏈上的迷因幣,按照 ERC-20 標準分類。與強調實用性或投資潛力的傳統加密貨幣不同,這項代幣依賴於娛樂價值和其社區的力量。該項目旨在促進一個讓互動用戶可以聚在一起、分享想法和參與受不同文化現象啟發的活動的環境。 HarryPotterObamaSonic10Inu 的一個顯著特點是其 交易零稅。這一引人注目的元素旨在鼓勵交易和社區參與,無需擔心可能會阻礙小型交易者的額外費用。該幣的總供應量定為十億個代幣,這一數字標示其意圖在社區內保持較大的流通量。 HarryPotterObamaSonic10Inu (ERC-20) 的創建者 HarryPotterObamaSonic10Inu 的起源有些神秘;對創建者的具體資訊尚不清楚。這個代幣的開發缺乏可識別的團隊或明確的藍圖,這在迷因幣領域並不罕見。相反,該項目是自然產生的,其進展主要依賴於社區的熱情和參與。 HarryPotterObamaSonic10Inu (ERC-20) 的投資者 關於外部投資和支持,HarryPotterObamaSonic10Inu 亦保持模稜兩可。該代幣並未列出任何已知的投資基金或顯著的組織支持。相反,該項目的生命力來自其草根社區,通過集體行動和參與在加密空間促進其增長和可持續性。 HarryPotterObamaSonic10Inu (ERC-20) 如何運作? 作為一種迷因幣,HarryPotterObamaSonic10Inu 主要在傳統的資產價值框架之外運作。以下是幾個定義該項目運作方式的獨特方面: 零稅交易:由於交易沒有稅費,使用者可以自由地買賣該代幣,而不必擔心隱藏成本。 社區參與:該項目依賴於社區互動,利用社交媒體平台創造話題並促進參與。討論、內容分享及互動是幫助擴展其影響力和加強支持者忠誠度的重要元素。 無實用性:需要指出的是,HarryPotterObamaSonic10Inu 在金融生態中並不提供具體的實用性。相反,它被定義為主要用於娛樂和社區活動的代幣。 文化參考:該代幣巧妙地融入了流行文化中的元素,以吸引興趣,與迷因愛好者和加密追隨者建立聯繫。 HarryPotterObamaSonic10Inu 範例展示了迷因幣如何與更傳統的加密貨幣項目運作不同,作為創新的社會構造進入市場,而非實用資產。 HarryPotterObamaSonic10Inu (ERC-20) 的時間線 HarryPotterObamaSonic10Inu 的歷史標誌著幾個值得注意的里程碑: 創建:這個代幣源於一個病毒式的迷因,捕捉了許多加密愛好者的想像力。具體的創建日期目前並不清楚,凸顯其自然興起。 上架交易所:HarryPotterObamaSonic10Inu 已經在多個交易所上架,使社區更容易存取和交易。 社區互動倡議:持續進行旨在增進社區互動的活動,包括比賽、社交媒體活動和來自粉絲和支持者的內容創作。 未來擴展計劃:該項目的路線圖包括推出 NFT 收藏品、周邊商品及相關電子商務網站,進一步與社區互動並嘗試為其生態系統增添更多維度。 關於 HarryPotterObamaSonic10Inu (ERC-20) 的關鍵點 以社區為驅動的特質:該項目優先考慮集體意見和創意,確保用戶參與在其發展過程中居於核心地位。 迷因幣分類:它代表了以娛樂為基礎的加密貨幣的典範,與傳統投資工具大相徑庭。 與比特幣無直接關聯:儘管在代碼名稱上有相似之處,HarryPotterObamaSonic10Inu 是獨特的,並不與比特幣或其他已建立的加密貨幣存在關係。 協作焦點:HarryPotterObamaSonic10Inu 旨在為持有者創造一個共享故事和協作的空間,提供創意和社區聯結的途徑。 未來前景:向超越其初步主題擴展至 NFT 和周邊商品的雄心,描繪了該項目潛在進入數字文化的更主流途徑。 隨著迷因幣繼續吸引加密貨幣社區的想像力,HarryPotterObamaSonic10Inu (ERC-20) 由於其文化聯繫和以社區為中心的方式而脫穎而出。儘管它可能不符合以實用性為導向的代幣的典型模式,其本質在於支持者間培育的快樂和友誼,突顯了在日益數字化的時代中,加密貨幣的演變特性。隨著該項目的持續發展,觀察社區動態如何影響其在不斷變化的區塊鏈技術格局中的軌跡將是重要的。

2.3k 人學過發佈於 2024.04.01更新於 2024.12.03

什麼是 BITCOIN

如何購買BTC

歡迎來到HTX.com!在這裡,購買Bitcoin (BTC)變得簡單而便捷。跟隨我們的逐步指南,放心開始您的加密貨幣之旅。第一步:創建您的HTX帳戶使用您的 Email、手機號碼在HTX註冊一個免費帳戶。體驗無憂的註冊過程並解鎖所有平台功能。立即註冊第二步:前往買幣頁面,選擇您的支付方式信用卡/金融卡購買:使用您的Visa或Mastercard即時購買Bitcoin (BTC)。餘額購買:使用您HTX帳戶餘額中的資金進行無縫交易。第三方購買:探索諸如Google Pay或Apple Pay等流行支付方式以增加便利性。C2C購買:在HTX平台上直接與其他用戶交易。HTX 場外交易 (OTC) 購買:為大量交易者提供個性化服務和競爭性匯率。第三步:存儲您的Bitcoin (BTC)購買Bitcoin (BTC)後,將其存儲在您的HTX帳戶中。您也可以透過區塊鏈轉帳將其發送到其他地址或者用於交易其他加密貨幣。第四步:交易Bitcoin (BTC)在HTX的現貨市場輕鬆交易Bitcoin (BTC)。前往您的帳戶,選擇交易對,執行交易,並即時監控。HTX為初學者和經驗豐富的交易者提供了友好的用戶體驗。

5.8k 人學過發佈於 2024.12.12更新於 2026.06.02

如何購買BTC

什麼是 $BITCOIN

數字黃金 ($BITCOIN):全面分析 數字黃金 ($BITCOIN) 介紹 數字黃金 ($BITCOIN) 是一個基於區塊鏈的項目,運行於 Solana 網絡,旨在將傳統貴金屬的特徵與去中心化技術的創新相結合。雖然它與比特幣同名,常被稱為「數字黃金」,因其被視為價值儲存工具,但數字黃金是一個獨立的代幣,旨在於 Web3 生態系統中創造一個獨特的生態系。其目標是將自己定位為一個可行的替代數字資產,儘管有關其應用和功能的具體細節仍在發展中。 什麼是數字黃金 ($BITCOIN)? 數字黃金 ($BITCOIN) 是一個專門為 Solana 區塊鏈設計的加密貨幣代幣。與比特幣提供廣泛認可的價值儲存角色不同,這個代幣似乎更專注於更廣泛的應用和特徵。值得注意的方面包括: 區塊鏈基礎設施:該代幣建立在 Solana 區塊鏈上,以其處理高速和低成本交易的能力而聞名。 供應動態:數字黃金的最大供應量上限為 100 萬兆代幣(100P $BITCOIN),儘管有關其流通供應的詳細信息目前尚未披露。 實用性:雖然具體功能尚未明確說明,但有跡象表明該代幣可能被用於各種應用,可能涉及去中心化應用(dApps)或資產代幣化策略。 誰是數字黃金 ($BITCOIN) 的創建者? 目前,數字黃金 ($BITCOIN) 的創建者和開發團隊的身份仍然是 未知 的。這種情況在許多創新項目中是典型的,特別是那些與去中心化金融和迷因幣現象相關的項目。雖然這種匿名性可能促進社區驅動的文化,但也加劇了對治理和問責制的擔憂。 誰是數字黃金 ($BITCOIN) 的投資者? 可用的信息顯示,數字黃金 ($BITCOIN) 沒有任何已知的機構支持者或知名的風險投資。該項目似乎運行在一個以社區支持和採用為重點的點對點模型上,而不是傳統的資金籌集途徑。其活動和流動性主要位於去中心化交易所(DEXs),如 PumpSwap,而不是已建立的集中交易平台,進一步突顯其草根方法。 數字黃金 ($BITCOIN) 如何運作 數字黃金 ($BITCOIN) 的運作機制可以根據其區塊鏈設計和網絡特徵進行詳細說明: 共識機制:通過利用 Solana 的獨特歷史證明(PoH)結合權益證明(PoS)模型,該項目確保高效的交易驗證,促進網絡的高性能。 代幣經濟學:雖然具體的通縮機制尚未詳細說明,但巨大的最大代幣供應量暗示它可能適合微交易或尚待定義的利基用例。 互操作性:存在與 Solana 更廣泛生態系統的整合潛力,包括各種去中心化金融(DeFi)平台。然而,關於具體整合的詳細信息仍未明確。 重要事件時間表 以下是關於數字黃金 ($BITCOIN) 的重要里程碑時間表: 2023:該代幣首次在 Solana 區塊鏈上部署,並以其合約地址為標誌。 2024:數字黃金獲得曝光,因其在去中心化交易所如 PumpSwap 上可供交易,允許用戶以 SOL 進行交易。 2025:該項目見證了零星的交易活動和社區主導參與的潛在興趣,儘管截至目前尚未記錄到任何顯著的合作夥伴關係或技術進展。 關鍵分析 優勢 可擴展性:基於 Solana 的基礎設施支持高交易量,這可能增強 $BITCOIN 在各種交易場景中的實用性。 可及性:每個代幣潛在的低交易價格可能吸引零售投資者,促進更廣泛的參與,因為存在分割所有權的機會。 風險 缺乏透明度:缺乏公眾已知的支持者、開發者或審計過程可能引發對該項目可持續性和可信度的懷疑。 市場波動性:交易活動在很大程度上依賴於投機行為,這可能導致價格波動和投資者的不確定性。 結論 數字黃金 ($BITCOIN) 在快速發展的 Solana 生態系統中,作為一個引人入勝但模糊的項目出現。雖然它試圖利用「數字黃金」的敘事,但其與比特幣作為價值儲存工具的既定角色的脫離,突顯了對其預期實用性和治理結構更清晰區分的需求。未來的接受度和採用率可能取決於解決當前的不透明性,並更明確地定義其運營和經濟策略。 注意:本報告涵蓋截至 2023 年 10 月的綜合信息,並且在研究期間可能發生了進展。

151 人學過發佈於 2025.05.13更新於 2025.05.13

什麼是 $BITCOIN

相關討論

歡迎來到 HTX 社群。在這裡,您可以了解最新的平台發展動態並獲得專業的市場意見。 以下是用戶對 BTC (BTC)幣價的意見。

活动图片