寫在前面:本周的比特幣技術周報,主要關注的是影響硬件錢包的費用超付攻擊(
Feeoverpaymentattack)問題,而Trezor、Ledger等硬件錢包因此升級固件后而引發兼容性問題,對于這些問題,開發者們提出了一些解決方案,但對于硬件錢包面臨的兩次花費攻擊問題,目前依舊沒有好的解決辦法。此外,關于閃電網絡通道的安全性,上周開發者還提出了通過日蝕攻擊的方法來竊取通道資金,針對這一問題,研究者認為根本性的解決方案是提高主鏈對日蝕攻擊的抵抗能力。而在最后,我們還會關注上周當中發生的比特幣軟件基礎設施的一些重大更新。
(圖片來自:tuchong.com)
一、費用超付攻擊與硬件錢包的兼容問題
如果你的軟件或流程允許你使用硬件錢包來花費隔離見證輸入,請檢查你的系統是否與錢包的最新固件更新保持兼容。例如,Trezor的最新固件,要求升級與其連接的軟件,以繼續處理隔離見證輸入;Ledger的最新固件,將在處理從未更新軟件接收到的隔離見證輸入時發出警告;其他的硬件錢包可能會在未來發布類似的更新;請與硬件錢包制造商聯系,以獲取相關計劃的更多信息。有關此更改的原因,請看如下關于“費用超付攻擊”的解釋:
投資巨頭貝萊德年初曾持有CME比特幣期貨合約:金色財經報道,投資巨頭貝萊德(BlackRock)確實已經開始涉足比特幣市場。根據周三公布的監管文件,該公司在1月31日的報告日持有360,457美元的CME比特幣期貨合約,所持份額占貝萊德龐大的全球分配基金的0.0014%。目前尚不清楚貝萊德是否仍然持有任何比特幣期貨合約。1月31日報告的期貨合約似乎已于3月21日到期。[2021/4/1 19:35:08]
比特幣交易支付的費用,是交易所花費的UTXO金額,與其創建的UTXO金額之間的差額。交易顯式地說明了它們創建的UTXO數量,但它們花費的UTXO數量,只能通過查看創建這些UTXO的先前交易來找到。支出交易只承諾txid和它想要花費的UTXO的位置,這需要其他想要計算費用的軟件來查找每個UTXO的先前交易,或維護一個已驗證UTXO數據的數據庫。
由于硬件錢包不維護UTXO集,因此它們確定使用遺留UTXO交易所支付費用金額的唯一可靠方法,是獲取每個遺留UTXO先前交易的副本,哈希前一筆交易以確保其txid與UTXO引用匹配,并使用現在已驗證的UTXO金額執行費用計算。在最壞的情況下,遺留交易幾乎可以大到1MB,并且一筆花費交易可能引用數千筆以前的交易,因此金額驗證可能需要資源受限的硬件錢包處理千兆字節的數據。
而BIP143segwitv0中所做的幾個改進之一,是通過讓簽名commit它們所花費的UTXO數量來消除這個負擔。這意味著,任何承諾金額不正確的簽名,都將是無效的,包括BitcoinCore和硬件錢包的開發者都認為,這將允許簽名者安全地接受來自不受信任軟件的金額。
比特幣期現價差近日持續上升至10.93%:金色財經報道,據同伴客數據顯示,12月15日比特幣年化期現價差為10.93%,較前一日上升0.2%,市場情緒指數為“牛市”。
指數參考:>20 % 極度牛市;10%~20% 牛市;5%~10% 樂觀;2%~5% 謹慎樂觀;0~2% 謹慎;-5%~0 謹慎悲觀;-10%~-5% 悲觀;-20%~-10%熊市;<-20%:極度熊市。[2020/12/15 15:13:39]
不幸的是,事實證明簽署單個UTXO的金額是不夠的。2017年,GregSanders描述了一種攻擊,它可以誘騙用戶大幅超額支付交易費用。首先,攻擊者將控制與硬件錢包對接的桌面或移動軟件,并等待用戶啟動付款。受破壞的軟件會創建所請求交易的兩種變體,每個變體都要花費相同的兩個隔離見證UTXO,這些UTXO受用戶連接的硬件錢包控制。在第一筆交易中,受損的軟件低估了其中一個UTXO的花費。這將導致硬件錢包以相同的低估金額低估交易費用。在第二筆交易中,受損的軟件低估了第二個UTXO的數量,這將導致硬件錢包也低估了第二筆交易的費用。
受損的軟件將第一筆交易發送到硬件錢包。用戶檢查金額、接收者地址以及計算過的交易費用。用戶授權簽名,簽名的交易返回到受損的軟件。第一筆交易在BIP143下無效,因為它的一個簽名提交了不正確的UTXO量。受損的軟件隨后聲稱,有一個小問題阻止了交易的廣播,并告知用戶他們需要重新簽署交易,但軟件不會重新發送第一筆交易,而是發送第二筆交易。根據硬件錢包顯示的信息,這第二筆交易也是BIP143無效的,因為它的一個簽名提交了錯誤的金額。然而,這兩筆交易中的每一筆,也都有一個有效的簽名,受損軟件能夠使用這兩個有效的簽名合成一筆有效的交易,從而超額支付其費用。
比特幣閃電網絡節點數達12790個:據1ML數據,當前比特幣閃電網絡節點數達12790個,過去30天內增加0.89%;通道數量為36583個,過去30天內上升2.3%;網絡容量達到948.57個BTC,過去30天內上升2%。[2020/6/14]
最壞的情況下,
攻擊提示用戶對控制n個UTXO的錢包進行n次簽名,并導致將錢包的所有資金用于支付除合法支付金額以外的費用。
與Sander在2017年所描述的其它攻擊類似,此攻擊僅影響無狀態簽名者,這些簽名者依賴于外部系統來告知他們所控制的UTXO。而跟蹤接收到的UTXO數量的網絡錢包,不會簽署不正確的UTXO數量,因此不會受到此類攻擊的影響。當然,網絡錢包也容易受到其他類型的攻擊,這也是硬件錢包可為用戶增強資產安全性的原因。
上周,Trezor宣布SaleemRashid在三個月前重新發現了這個漏洞,作為回應,Trezor已更新了固件,但破壞了直接或通過HWI與Trezor設備連接的多個錢包的兼容性。如果錢包有以前交易的完整副本或能夠獲得這些副本,恢復兼容性應該只是更新錢包代碼的問題。而在其他情況下,錢包可能無法存儲以前支付錢包的交易的完整副本,這可能需要重新設計錢包以存儲該數據,并且需要重新掃描過去的錢包交易的區塊鏈。創建或更新部分簽名比特幣交易軟件需要升級,以便將以前交易的完整副本包含到PSBT中。對于PSBT存儲在大小受限制媒介的情況,數據大小增加的問題,可能需要放棄該協議,或切換到容量更大的媒介。
現場 | 分布式資本總法律顧問:比特幣不同于其他公鏈 比特幣賬本和幣的目的合二為一:金色財經現場報道,幣信五周年比特幣硬核粉絲晚宴在北京舉行。分布式資本總法律顧問高素質藍領表示,比特幣和其他公鏈是完全不同的區塊鏈。比特幣賬本和幣的目的是合二為一的。其他的公鏈一半要有智能合約,只是需要幣作為激勵機制,讓賬本跑起來。基于智能合約的DApp是讓業務跑在智能合約平臺上。很多DApp是賭博的應用,但它們只是小眾應用,不可能進入主流。
現在比較火的是以太坊的的DeFi,我覺得它未來有希望,但是目前來看,它是比較早期的,是一個非常小范圍的一個游戲。而比特幣共識范圍很廣,所以它從資產值來講是最好的,從這點來看,比特幣其實已經非常成功。[2019/11/23]
Ledger也做了類似的修改,但他們在文章中提到,他們僅在沒有完整拷貝先前交易的情況下使用隔離見證UTXO時,才會顯示警告。盡管要求以前的交易,可以最大限度地提高安全性以抵御該攻擊,但也存在理由允許硬件錢包有選擇地繼續使用隔離見證簽名UTXO值,而不是破壞現有的軟件并在傳統類型的值驗證上花費額外的資源。
這種攻擊在3年前就被開發者們所知道了:Sanders在大約三年前公開描述了這種攻擊,他在開發者郵件列表、BIP等其它討論中都有談及,其他人也都提起過這種攻擊,但在很多人看來,這種攻擊很難進行,并且影響也較小,然后獲得對硬件錢包的軟件控制器訪問權限的攻擊者,更可能會執行不同的攻擊,該攻擊會直接向攻擊者付款而不是進行超付費用攻擊。
盛寶銀行分析師、CNBC主持人等看好比特幣:據外媒消息,眾多看好比特幣的人士近期發布了他們的意見。舊金山投資公司Pan More Capital首席執行官對其客戶稱,他們堅信今年比特幣會回到2萬美元。Fundstrat Global Advisors Fundstrut首席執行官Tom Lee告訴CNBC,年底比特幣價格會達到2.5萬美元,到2022年他的目標是12.5萬美元。盛寶銀行分析師Kay Van-Petersen預測BTC / USD在今年年底前會達到10萬美元。CNBC主持人Brian Kelly宣布到2025年比特幣會有25萬美元。John McAfee預測到2022年12月比特幣將會達到100萬美元。[2018/4/20]
雙重簽名也可能導致花費兩次:攻擊取決于使用受損軟件,讓硬件錢包用戶授權兩筆在用戶看來完全相同的,但稍有不同的交易。然而,同一個受損的軟件可以向用戶顯示兩筆完全不同的交易,它們看起來完全相同,從而導致向同一個接收者支付兩次費用。從用戶的角度來看,這兩種攻擊都是不可區分的,但是針對費用超付攻擊的修復方法,并不能解決兩次花費攻擊的問題。
多重簽名設置可能需要多個折衷方案:為了使用多個硬件錢包對多重簽名保護的資金進行攻擊,需要滿足最小閾值的每個簽名者都需被誘騙來簽署相同的兩個交易變體。對于包含在線錢包的情況,該錢包知道其所簽名的UTXO的價值,只有當該在線錢包也受到攻擊時,攻擊才起作用。
解決這種攻擊問題的一個長期解決方案,是更改交易摘要,以便每個簽名提交該交易中使用的所有UTXO的值。如果受損軟件謊報關于任何UTXO的數額,這將使簽名無效。
這是JohnsonLau在2018年提出的解決方案,其公開草案已被納入taproot的BIP341規范中。如果采用了taproot,那么對于像硬件錢包這樣的無狀態簽名者來說,在不評估以前交易的情況下為taprootUTXO簽名應該會更安全。不幸的是,這仍然無法修復兩次花費攻擊,這是大多數硬件錢包的無狀態設計所存在的一個問題,其阻止了它們在內部跟蹤自己的交易歷史。
二、針對閃電網絡的時間膨脹攻擊
GlebNaumenko和AntoineRiard在比特幣開發者郵件列表中發布了他們撰寫的論文的摘要,其描述了如何通過日蝕攻擊從閃電網絡通道中竊取資金。這篇研究論文擴展了Riard在第77期周報中所描述的分析。簡而言之,攻擊者可以控制LN節點與比特幣P2P網絡的所有連接,并延遲向受害者轉發新區塊的通知。在受害者對區塊鏈的看法,遠遠落后于公眾的共識看法之后,攻擊者會在過時的狀態下關閉與受害者的通道,日蝕攻擊用于防止受害者看到關閉的交易,直到爭議期結束,而攻擊者則將其非法收益提取到完全由其控制的地址。
這篇文章所描述的攻擊方式,可以在兩小時內從輕LN客戶端竊取用戶的資金。由于當前只有很少的服務器和節點可以向輕量級LN客戶端提供數據,因此,攻擊者可能很容易執行攻擊。而對于全節點支持的LN節點而言,攻擊需要花費更長的時間,并且可能需要創建更多的sybil。作者指出,這些攻擊還可能適用于其他對時間敏感的合約協議。而解決該問題的通用型方法,是提高主鏈對日蝕攻擊的抵抗能力,其中一個具體的改進是允許節點選擇使用其他傳輸協議。
論文地址:https://arxiv.org/abs/2006.01418
摘要文章:https://www.8btc.com/article/605757
三、比特幣軟件基礎設施更新
上周,最新版本的比特幣客戶端協議BitcoinCore0.20.0正式發布。此版本最顯著的改進包括:RPC用戶的默認bech32地址,為不同用戶和應用配置RPC權限的能力,在GUI中生成PSBT的一些基本支持,以及在輸出腳本描述符語言中添加了sortedmulti。為了消除錯誤、增強安全性并為將來的更改做準備,開發者還對代碼進行了很多不太明顯的改進。而一項備受矚目的前瞻性變化,是增加了一個asmap配置設置,該設置允許使用單獨下載的數據庫來提高BitcoinCore對Erebus攻擊的抵抗力。然而,正如發布聲明中所指出的,“目前這項更新是高度實驗性的,不清楚如何從中取得進展。收集和編譯ASN數據非常重要,并且這會帶來信任問題。”有關BitcoinCore0.20.0版本客戶端的更多信息,請參見發布說明。
LND0.10.1-beta是LND閃電網絡軟件的一個新的測試版。這一版本軟件并沒有添加新功能,而是修復了幾個漏洞。
除了這些之外,本周Eclair、LND以及BIP也發生了一些顯著變化:
引入Eclair#1440之后,可使用API一次更新多個通道。最初旨在通過批量更新通道的中繼費,來幫助節點運營商適應動態的鏈上收費市場,這一新增功能還可以實現批量關閉和強制關閉。
Eclair#1141增加了對option_static_remotekey通道的支持。在LN節點丟失數據的情況下,此功能允許通道交易方將當前余額支付給初始通道打開期間商定的未弱化密鑰,從而關閉通道,并允許節點的錢包正常支出其資金。有關此功能的更多詳細信息,請參見第67期周報。
LND#4251使其REST接口支持的非流式消息列表與gRPC接口的列表相等。以前,只有這些消息的一個子集可通過REST接口使用。該PR之后是LND#4141,它通過添加對WebSockets流響應的支持,使REST接口與gRPC接口完全對等。
BIP#920更新了taproot的BIP341規范,要求簽名直接提交所有花費UTXO的scriptPubKeys。這使得硬件錢包更容易且安全地參與coinjoin和其他協作生成的交易。有關詳細信息,請參見第97期周報。
特別感謝:
感謝PieterWuille幫助我們研究關于費用超付攻擊的歷史,也感謝AntoineRiard提供有關時間膨脹攻擊論文的更多信息。如果文章中有任何錯誤或遺漏,歡迎指正。
寫在前面: 過去十年,比特幣挖礦都沒有像今天這么復雜。比特幣減半、豐水期來臨、礦機更新換代、金融玩法無孔不入,礦業政策飄忽不定,五浪疊加,不確定性大增.
1900/1/1 0:00:00作者?|?ConsenSys 翻譯:子銘 導語:預計將于2020年推出的以太坊2.0,標志著人們期待已久的以太坊主網的升級即將開始。本文將簡要介紹以太坊2.0的全貌,并為其下一階段的發展做準備.
1900/1/1 0:00:00作者:Joyce 來源:區塊鏈前哨 太平洋時間5月27日,Facebook舉行了首次線上股東大會。會上扎克伯格解釋了Libra如何為Facebook賺錢的問題.
1900/1/1 0:00:00原文:波卡官方博客?https://polkadot.network/polkadot-governance/?翻譯:PolkaWorld社區“生活是行動,行動是變化和改變.
1900/1/1 0:00:00本文來源:PlatON,原題《鄒傳偉:DeFi的基礎模塊和風險分析框架|云圖思潮》作者:PlatON、萬向區塊鏈首席經濟學家鄒傳偉開放金融指區塊鏈內用智能合約構建的開放式、去中心化的金融協議.
1900/1/1 0:00:005月20日,40枚BTC從疑似中本聰的錢包轉出,一時間猜測四起。但鏈作小助手比較好奇的是,阿聰到底把這40個BTC轉出去做啥了.
1900/1/1 0:00:00