Bitcoin Optech實時通訊:短暫錨點提案更新、Miniscript發展歷程

2023-11-18 15:11:12

比特幣運營技術集團 (Optech) 致力於為使用比特幣的企業帶來最好的开源技術,以降低成本並改善客戶體驗。它提供的 Bitcoin Optech Newsletter 項目內容每周更新一次,旨在記錄比特幣生態項目技術的更新。

第 277 次 Newsletter 記錄了對短暫錨點提案的微調,旨在消除交易中的可篡改性。該提案允許交易包含零價值輸出和任何人都能 spend 的輸出腳本,使得 CPFP 費用提升變得更加方便。

此外,文章提到了 Miniscript 的發展歷程,從最初應用於 Revault 到在 Bitcoin Core 中的集成,再到被籤名設備制造商支持。Miniscript 被用於靜態分析、組合和通用籤名,為 Revault 提供了解決工程問題的有力工具。隨着籤名設備制造商的支持和 Taproot 的激活,Miniscript 的未來充滿希望,為比特幣上的合約提供更加便利的工具。

本周的通訊介紹了對短暫錨點(ephemeral anchor)提案的更新,並提供了來自 Wizardsardine 的开發人員的有關 Miniscript 的貢獻領域報告。還包括每期固定內容,宣布新的軟件發布和發布候選版本,並總結了一些流行的比特幣基礎設施項目的重大變化。

News

消除短暫錨點 spend 中的可篡改性:Gregory Sanders 在 Delving Bitcoin 論壇上發布了一項對短暫錨點提案的微調。該提案允許交易包含一個零價值輸出和一個任何人都能 spend 的輸出腳本。由於任何人都可以 spend 輸出,因此任何人都可以使用 CPFP 費用提升創建輸出的交易。這對於多方合同協議(如 LN)非常方便,因為交易經常在准確預測應支付的費率之前籤名。短暫錨點允許合同的任何一方添加他們認為必要的費用。如果任何其他方或任何其他用戶出於任何原因想要添加更高的費用,他們可以用自己的更高費率的 CPFP 費用提升替換原始的 CPFP 費用提升。

建議使用由等效於 OP_TRUE 的輸出腳本組成的任何人都能 spend 腳本的類型,它可以由具有空輸入腳本的輸入 spend。正如 Sanders 本周發布的那樣,使用傳統的輸出腳本意味着 spend 它的子交易具有可篡改的 txid,例如,任何礦工都可以向輸入腳本添加數據以更改子交易的 txid。這可能使得除了費用提升之外,不明智地使用子交易,因為即使能夠確認,也可能會是以使任何孫交易(grandchild transactions)無效的不同 txid 得到確認。

Sanders 建議改用為未來 segwit 升級保留的輸出腳本之一。雖然這會略微增加塊空間,對於 segwit 來說是四個字節,而對於 OP_TRUE 來說是一個字節,但它消除了對交易可篡改性的所有擔憂。在該主題基礎上進行了一些討論後,Sanders 隨後提議提出兩點:一個適用於不關心可篡改性且希望最小化交易大小的 OP_TRUE 版本,以及一個略大但不允許子交易發生變化的 segwit 版本。主題中的其他討論集中在選擇用於 segwit 方法的額外字節,以創建一個值得記住的 bech32m 地址。

領域報告:Miniscript 之旅

我們對 Miniscript 的興趣始於 2020 年初,當時我們正在設計 Revault,這是一種僅使用當時可用的腳本原語的多方保險庫架構。

最初,我們展示了 Revault,使用了一組固定的參與者。當我們試圖將其推廣到生產環境中的更多參與者時,我們很快遇到了問題。

實際上,我們懷疑我們在演示中使用的腳本是安全的嗎?它是否可以以它宣傳的所有方式 spend?除了這些宣傳方式外,是否有其他方式 spend?

即使是這樣,我們如何將其推廣到不同的參與者並保持安全?如何做出一些優化,並確保生成的腳本具有相同的語義?

此外,Revault 正在使用預籤名的交易(以強制執行 spend 政策)。如何事先知道根據腳本的配置為費用提升分配的預算?如何確保 spend 這些腳本的任何交易都通過最常見的標准性檢查?

最後,即使假設我們的腳本符合預期的語義並且始終可 spend,我們如何具體 spend 它們?也就是說,我們如何為每種可能的配置生成令人滿意的見證(「籤名」)?如何使硬件籤名設備與我們的腳本兼容?

如果沒有 Miniscript,這些問題本應是一個阻礙因素。車庫的兩個人不會編寫一個可以臨時創建腳本的軟件,最重要的是,稱其為增強安全性的比特幣錢包。我們想要圍繞 Revault 的开發創建一家公司,但如果不能向投資者提供我們能夠推出安全產品的有效保證,我們將無法獲得資金。而沒有資金,我們將無法解決所有這些工程問題。

Miniscript 應運而生,「一種以結構化方式編寫(Bitcoin 腳本子集的)語言,支持分析、組合、通用籤名等。它具有一種允許組合的結構。對於各種屬性(spend 條件、正確性、安全性質、可篡改性等)進行靜態分析非常容易。」這正是我們需要的。憑借這個強大的工具,我們可以向我們的投資者提供更好的保證,從而籌集資金,並开始开發 Revault。

當時,Miniscript 距離成為任何比特幣應用程序开發人員可用的即插即用解決方案還有很長的路要走。(如果您是在 2023 年之後閱讀此文的新比特幣开發人員,要知道我們曾經需要用手寫比特幣腳本。)我們不得不將 Miniscript 集成到 Bitcoin Core 中(參見 PRs#24147、#24148 和#24149),我們將其用作 Revault 錢包的後端,並說服籤名設備制造商在其固件中實現它。事實證明後者是最困難的部分。

這是一個先有雞還是先有蛋的問題:制造商在沒有用戶需求的情況下實施 Miniscript 的動力較低,而且沒有籤名設備的支持,我們無法發布 Revault。幸運的是,這個循環最終在 2021 年 3 月由 Stepan Snigirev 打破,他為 Specter DIY 引入了對 Miniscript 描述符的支持。然而,Specter DIY 很長一段時間被稱為僅僅是一個「功能原型」,Salvatore Ingala 在 2022 年首次將 Miniscript 引入到 Ledger Nano S(+) 的新比特幣應用中,這一應用於 2023 年 1 月發布,使我們能夠推出支持最受歡迎籤名設備的 Liana 錢包。

我們的 Miniscript 之旅還剩下一個發展。Liana 是一個專注於恢復選項的比特幣錢包。它允許用戶指定一些有時間鎖定的恢復條件(例如,第三方恢復密鑰通常無法 spend 資金,或者是一個逐漸擴展的多籤)。最初 Miniscript 僅適用於 P2WSH 腳本。不幸的是,在 Taproot 激活近 2 年後,每次 spend 時都必須在鏈上發布恢復路徑。為此,我們一直在努力將 Miniscript 移植到 Tapscript。

隨着大多數籤名設備已經實施或正在實施 Miniscript 支持(例如最近的 Bitbox 和 Coldcard),以及 Taproot 和 Miniscript 本地框架的不斷完善,使用安全基元在比特幣上進行合約更加容易。

有趣的是,开源工具和框架的資金支持降低了創新公司競爭的門檻,即促使項目的實施。過去幾年這一趨勢加速發展,讓我們對這個領域的未來充滿希望。

當然還存在風險,但至少我們有信心能夠解決鏈上的部分。預料之外的是,鏈下部分證明更具挑战性。

版本發布和候選版本

以下是一些熱門比特幣基礎設施項目的新版本和候選版本,請考慮升級到新版本或幫助測試候選版本。

LND 0.17.1-beta 是這個閃電網絡節點實現的維護版本,包括一些錯誤修復和小的改進。

Bitcoin Core 26.0rc2 是這個主要全節點實現的下一個主要版本的候選版本。有一個測試指南,以及定於 2023 年 11 月 15 日的比特幣核心 PR 審查俱樂部專注於測試的預定會議。

Core Lightning 23.11rc1 是這個閃電網絡節點實現的下一個主要版本的候選版本。

代碼和文檔變更

Bitcoin Core、Core Lightning、Eclair、LDK、LND、libsecp256k1、硬件錢包接口(HWI)、Rust Bitcoin、BTCPay Server、BDK、比特幣改進提案(BIPs)、閃電 BOLTs 以及比特幣審訊中的一些顯著變更。

Bitcoin Core #28207 更新了磁盤上存儲內存池的方式(通常發生在節點關閉期間,但也可以通過 savemempool RPC 觸發)。先前,它是以基礎數據的簡單序列化形式存儲的。現在,該序列化結構會被每個節點獨立生成的隨機值進行異或運算,以混淆數據。在加載期間,使用相同的值進行異或運算以消除混淆。混淆防止有人能夠在交易中放入某些數據,以使特定的字節序列出現在保存的內存池數據中,這可能導致病毒掃描程序等程序將保存的內存池數據標記為危險。相同的方法之前已應用於在 PR #6650 中存儲 UTXO 集。任何需要從磁盤讀取內存池數據的軟件都應該可以輕松地應用 XOR 操作本身,或使用配置設置 -persistmempoolv1 以請求以未混淆的格式保存。請注意,向後兼容的配置設置計劃在將來的版本中刪除。

LDK #2715 允許節點選擇性地接受比應該交付的較小值的 HTLC。當上遊對等方通過新的 JIT 通道支付節點時,這是有用的,該通道會對上遊對等方產生一筆在鏈上的交易費用,他們希望從支付給節點的 HTLC 金額中扣除。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
71 1個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
73 1個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
78 1個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
66 1個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
75 1個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
71 1個月前