🎉 #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 聯合推廣任務上線!
本次活動總獎池:1,250 枚 ES
任務目標:推廣 Eclipse($ES)Launchpool 和 Alpha 第11期 $ES 專場
📄 詳情參考:
Launchpool 公告:https://www.gate.com/zh/announcements/article/46134
Alpha 第11期公告:https://www.gate.com/zh/announcements/article/46137
🧩【任務內容】
請圍繞 Launchpool 和 Alpha 第11期 活動進行內容創作,並曬出參與截圖。
📸【參與方式】
1️⃣ 帶上Tag #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 發帖
2️⃣ 曬出以下任一截圖:
Launchpool 質押截圖(BTC / ETH / ES)
Alpha 交易頁面截圖(交易 ES)
3️⃣ 發布圖文內容,可參考以下方向(≥60字):
簡介 ES/Eclipse 項目亮點、代幣機制等基本信息
分享你對 ES 項目的觀點、前景判斷、挖礦體驗等
分析 Launchpool 挖礦 或 Alpha 積分玩法的策略和收益對比
🎁【獎勵說明】
評選內容質量最優的 10 位 Launchpool/Gate
比特幣重復交易漏洞:歷史趣事與未來挑戰
比特幣重復交易:一個有趣但影響有限的漏洞
比特幣網路中存在一個有趣的漏洞 - 重復交易。正常情況下,比特幣交易通過引用前一筆交易的ID來使用未花費的輸出。這些輸出只能被花費一次,否則就會導致雙重支付問題。然而,在比特幣歷史上確實出現過兩組完全相同的交易。
這種情況之所以可能發生,是因爲coinbase交易沒有輸入,而是直接生成新幣。因此,兩個不同的coinbase交易有可能向相同地址發送相同數量的比特幣,從而構建出完全一樣的交易。由於交易內容相同,其交易ID(TXID)也就相同了。
這兩組重復交易發生在2010年11月14日至15日,時間跨度約16小時。第一組重復交易ID爲d5d2....8599,第二組爲e3bf....b468。有趣的是,d5d2....8599雖然先成爲復制品,但在區塊鏈上卻晚於e3bf....b468出現。
這些重復交易每筆價值50 BTC,總共涉及200 BTC。從某種角度看,其中100 BTC實際上並不存在。截至目前,這200 BTC都未被花費。理論上擁有相關私鑰的人可以花費這些比特幣,但一旦被花費,重復的50 BTC就會丟失,因此實際上只有100 BTC可被找回。
重復交易顯然會給錢包和區塊瀏覽器帶來混亂,也可能被利用進行攻擊。例如,攻擊者可以用兩筆重復交易向交易所存入資金,然後立即提取,試圖使交易所破產。
爲了解決這個問題,比特幣社區採取了多項措施:
2012年3月,BIP30軟分叉禁止使用重復TXID進行交易,除非前一個TXID已被花費。
2012年9月,Greg Maxwell修改規則,使BIP30檢查適用於所有區塊,但保留了前面提到的兩個重復交易。
2013年3月,BIP34軟分叉要求coinbase交易包含區塊高度,這基本解決了重復交易問題。
2015年11月,比特幣核心停止進行BIP30檢查,因爲BIP34已經修復了這個問題。
然而,在BIP34激活之前的一些區塊中,coinbase交易的scriptSigs第一個字節恰好與未來有效的區塊高度匹配。這意味着重復交易問題並未100%解決。下一個可能出現重復交易的區塊是1,983,702,預計在2046年1月左右產生。
不過,利用這一漏洞的成本非常高。以區塊1,983,702爲例,攻擊者需要燒掉約170 BTC的費用,按當前價格計算約1500萬美元。而且這些資金很可能無法收回。此外,自2017年SegWit升級後,coinbase交易還包含對區塊中所有交易的承諾,進一步增加了攻擊難度。
考慮到復制交易的難度和成本,以及利用機會的稀少性,這個漏洞並不構成比特幣的主要安全威脅。盡管如此,開發人員仍在努力尋找修復方案,可能需要通過軟分叉來實現。一種可能的方法是強制執行SegWit承諾。
總的來說,雖然重復交易漏洞很有趣,但其實際影響非常有限。它更多地體現了比特幣網路的復雜性和開發者們不斷完善系統的努力。