🎉 攢成長值,抽華爲Mate三折疊!廣場第 1️⃣ 2️⃣ 期夏季成長值抽獎大狂歡開啓!
總獎池超 $10,000+,華爲Mate三折疊手機、F1紅牛賽車模型、Gate限量週邊、熱門代幣等你來抽!
立即抽獎 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速賺成長值?
1️⃣ 進入【廣場】,點擊頭像旁標識進入【社區中心】
2️⃣ 完成發帖、評論、點讚、發言等日常任務,成長值拿不停
100%有獎,抽到賺到,大獎等你抱走,趕緊試試手氣!
截止於 8月9日 24:00 (UTC+8)
詳情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
比特幣歷史上的重復交易漏洞:成因、影響與未來風險分析
比特幣中的重復交易:一個有趣而低風險的缺陷
概述
比特幣交易通常通過引用前一筆交易的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承諾。