中本聰推出的原始比特幣軟件客戶端的新版本已於今天發布。
Bitcoin Core 23.0 由132 位開發人員在大約7 個月內完成,為Bitcoin Core 的錢包、點對點通信和網絡、費用估算等帶來了切實的改進。
本文探討了一些主要變化。
錢包更新
主根支持
Bitcoin Core 現在允許用戶在創建新錢包時選擇新的Taproot 地址類型。即使這不是默認設置,由於生態系統中的許多錢包還不能發送到Taproot 地址,用戶可以選擇在新創建的錢包中創建Taproot 接收地址。
通過添加對Taproot 地址的本地支持,Bitcoin Core 朝著鼓勵更廣泛採用Taproot 的方向邁出了一步。隨著越來越多的用戶選擇使用新升級的功能,它的好處能夠最好地滲透到用戶群中。
描述符錢包現在是默認的
比特幣核心錢包現在默認使用 描述符 創建後,這是一項重大更改,承諾為比特幣資金提供更好的備份和恢復過程。
自問世以來 分層確定性(HD)錢包,比特幣錢包通常會使用恢復種子(通常為12 或24 個字)來生成主私鑰。然後錢包使用該主私鑰生成主公鑰,可以利用該主公鑰通過派生路徑生成幾乎無限數量的接收地址,顧名思義,將錢包引導到它應該遵循的正確派生路徑一個地址。
因此,在比特幣錢包中收回資金通常取決於該派生路徑,因為當今大多數應用程序都默認使用HD 錢包。 (錢包使用不同的派生路徑是經常看到用戶試圖在第二個錢包中恢復資金但發現餘額為零的原因。)
但是,描述符錢包通過在描述符中明確說明派生路徑,使用戶更容易收回任何資金。用戶因此不必關心他們的錢包使用的派生路徑——用戶體驗(UX)的巨大改進。
現在可以發現Bech32 地址上的錯別字
Bech32 地址,地址以“bc1”開頭的格式,有一個有趣的屬性,可以發現可能的錯別字。然而,直到比特幣核心23.0,用戶才能從中受益。
比特幣核心現在將提醒用戶Bech32 地址中最多兩個錯誤。該工具目前僅在命令行上可用,通過“validateaddress”RPC,儘管未來計劃將其集成到圖形用戶界面(GUI) 中。如果用戶在輸入地址時犯了兩個以上的錯誤,則拼寫錯誤查找工具不能保證成功。
該工具承諾查找的錯誤限制很重要,因為嘗試查找大量拼寫錯誤可能會導致不良行為。如果用戶輸入了一個包含多個錯誤字母的地址,即使該工具可以識別所有這些字母,它最終也可能會建議一個與用戶最初打算發送到的地址完全不同的地址——這是一個更糟糕的結果。
冷凍硬幣
比特幣核心用戶可以選擇什麼硬幣,或者 未使用的交易輸出(UTXO)在事務中使用 多年 現在。但是這種硬幣控制功能需要手動選擇每次使用的UTXO——這是一個非常容易出錯的繁瑣而累人的過程。
現在,Bitcoin Core 允許用戶無限期地“凍結”一個UTXO。凍結過程仍然是手動過程,但用戶只需執行一次,然後可以放心,在用戶解凍該代幣之前,Bitcoin Core 不會自動花費他們凍結的代幣。
仔細選擇用於為交易提供資金的UTXO 對於防止不合需要地鏈接具有衝突目的的地址非常重要。例如,用戶可能不想使用非KYC 代幣加入他們通過了解你的客戶(KYC) 方法獲得的UTXO。如果他們這樣做了,區塊鏈的任何觀察者 將能夠推斷 由於提供的KYC 信息,他們可以知道該用戶也擁有非KYC 地址及其硬幣——這損害了用戶隱私。
P2P 通信的變化
端口8333 首選項已刪除
從廣義上講,計算機需要兩個重要信息才能在Internet 上相互通信:IP 地址和端口號。雖然IP 地址用作網絡中計算機的標識符,有助於確定其位置,但端口號有助於告知Internet 上正在進行的通信類型,因為每種通信協議通常默認使用特定的端口號。因此,端口使計算機能夠同時運行多種類型的流量,同時輕鬆區分它們。例如,Web 的HTTP 協議默認使用端口80,而其更安全的對應物HTTPS 通常在端口443 上運行,而電子郵件的SMTP 協議則使用端口25。
使用比特幣,它沒有什麼不同。從歷史上看,在啟動Bitcoin Core 時,計算機默認在端口8333 上運行並尋找使用同一端口的對等點。
雖然端口促進了互聯網上計算機之間的通信,但它也使互聯網服務提供商(ISP) 更容易監控流量,因為很容易假設正在進行哪種類型的通信。在對抗性設置中,ISP 可以根據目標端口過濾和阻止某些流量。儘管不是ISP 可用的最有效的審查機制,但它是最簡單的,並且受攻擊的協議需要更改其默認通信端口以繞過審查或限制。
通過刪除端口8333 首選項,比特幣核心現在減輕了ISP 過濾或阻止比特幣流量的最簡單路徑。此外,由於網絡不再優先考慮該端口,因此現在不在端口8333 上運行的節點從其他節點獲取入站連接的阻力較小。
支持CJDNS 網絡
Bitcoin Core 23.0 還通過添加對CJDNS 的支持來保護用戶免受敵對ISP 的侵害,CJDNS 是標準互聯網協議(IP) 的安全增強替代方案。
CJDNS 利用公鑰加密來實現IPv6 的加密版本——最新版本的IP。通過本地提供端到端加密,CJDNS 改進了IPv6 和IPv4(仍然廣泛使用的以前的IP 版本),提高了安全性和隱私性,因為它保護使用它的節點免受流量分析和過濾。
該新增功能為有興趣保護其流量免遭窺探或提高其比特幣設置安全性的用戶帶來了新的選擇。雖然Tor 和I2P 作為clearnet IP 的替代品存在, CJDNS 作為補充選項 這可以增強比特幣網絡及其節點的穩健性。
更好的費用估算
比特幣核心的內置費用估算工具變得更加完整。
根據一個 博文 約翰·紐伯里(John Newbery) 就該主題發表了關於比特幣核心的費用估算“僅記錄和報告有關過去事件的有意義的統計數據,並使用該數據為用戶提供一個合理的估計,即他們需要附加多少費用才能將其交易包含在其中 ñ 塊,“與 ñ 是用戶願意等待交易確認的塊數。
計算此類估計的算法 用於考慮內存池上的所有交易,這是比特幣的“等待區”,用於尚未包含在區塊中的交易。然而,由於引入了費用替代(RBF)交易,這使用戶能夠有效地提高他們的交易承諾給礦工的費用,以試圖獲得更快的確認,比特幣核心沒有考慮新的交易類型在估算費用時懷疑該功能是否會被用戶和礦工廣泛採用。
現在,在Bitcoin Core 23.0 中,RBF 交易被考慮到Bitcoin Core 的費用估算中,為利用該軟件發送交易的用戶提供更準確的估算。
支持跟踪點和用戶空間,靜態定義的跟踪
比特幣核心現在在其針對Linux 的發布二進製文件中包含實驗性跟踪點,具有用戶空間、靜態定義跟踪(USDT)。
USDT 允許用戶從他們的節點獲取詳細信息,用於審查、調試和監控。該功能可以跟踪自定義細粒度統計信息並監控隱藏的內部節點事件,而在未使用時幾乎沒有性能影響。
這很有用的一個例子是發現並可能阻止攻擊。安全研究人員可以設置多個節點並跟踪從對等方收到的消息,以提前識別攻擊。
感謝Aaron van Wirdum 提供的信息和反饋。
有關更多詳細信息和其他更改,請參閱比特幣核心23.0 發行說明. 要下載比特幣核心23.0,請導航 這裡. 有關Bitcoin Core 23.0 的詳細信息也在 比特幣解釋播客第56 集.