閃電網絡通過「瞭望塔」解決用戶需要監控比特幣區塊鏈的弱點, Taproot 代碼被合併到比特幣核心代碼庫中。

原文標題:《熱點丨暴漲之外,BTC 還有哪些引人注目的進展?》
撰文:AARON VAN WIRDUM
翻譯:Sherrie

比特幣的技術社區似乎沒有受到 2020 年的瘋狂行情的影響,也基本上沒有受到比特幣價格劇烈波動(去年 12 月創下歷史新高)的影響,繼續向前推進。比特幣的軟件和圍繞它的許多項目在這一年中逐漸得到了改進,軟件得到了優化,漏洞得到了修復,隱私漏洞得到了修補。這項工作的大部分,儘管非常重要,卻無法吸引媒體的關注。

然而,縱觀比特幣一年來的技術發展,有助於突出比特幣正在進行的技術進步中的新里程碑。同樣在 2020 年,持續增長的比特幣開發社區引入了一些有用的新功能,幾個特別重要的升級和一些特別顯著的改進。

隨着這動盪的一年接近尾聲,以下是比特幣在過去 12 個月裏最引人注目的一些技術進展……

除了市場表現亮眼,比特幣這些技術進展亦值得關注

PayJoin 和 coinwap 的新隱私工具

在比特幣的隱私方面,今年 PayJoin 和 coinwap 項目代表了兩個有希望的進步。

PayJoin,也被稱爲 Pay to Endpoint (P2EP),是一種讓交易接收者通過 CoinJoin 參與交易的技巧,發送資金給自己,同時也接收真實發送者的實際支付。如果一個進行區塊鏈分析的窺探者假設在一次交易中發送的所有加密貨幣都屬於同一個人——他們通常會這麼做——那麼他們就錯了。這已經有利於發送方和接收方的隱私,因爲偷窺者會混淆(過去的) 加密貨 幣所有權。此外,如果有足夠多的人使用 PayJoin,那麼這種用於區塊鏈分析的重要啓發式可能會完全失效,反過來甚至會讓那些沒有自己進行 PayJoin 交易的人的隱私受益。

雖然 2018 年末演示版本的 PayJoin 工具已經實現在在線賭博遊戲 Bustabit 和加密貨幣混合軟件 JoinMarket 上實現,Samourai 錢包 2019 年在 Cohoots 保護傘下發布了自己的更有限的版本(隱私權衡略有不同),PayJoin 今年實現了幾個流行的比特幣的項目。值得注意的是,這包括 4 月份廣泛使用的支付處理軟件 BTCPay,允許 BTCPay 用戶接受來自兼容錢包的 PayJoin 交易。專注於隱私的 Wasabi 錢包是第一個在同月晚些時候提供這種兼容性的錢包,而 JoinMarket (9 月)、Blue Wallet (10 月)和 Sparrow 錢包(11 月)也緊隨其後。

與此同時,比特幣開發者 Chris Belcher 開始實現 coinwap 的實現,這是一種由比特幣核心貢獻者 Gregory Maxwell 在 2013 年首次提出的隱私技術。coinwap 利用原子交換(這也是閃電網絡的基礎),讓用戶無需相互信任就可以交換貨幣。每位用戶最終都會得到無法與自己的交易歷史鏈接的加密貨幣。

Belcher 是比特幣隱私領域的世界頂級專家之一,今年 5 月,他發佈了一份關於 coinwap 協議如何實現的詳細大綱,以確保最大限度的隱私。該提議將使 coinwap 交易與其他交易難以區分,使用分割技術來模糊金額,通過路由支付來挫敗竊聽參與者,等等。幾個月後的 6 月,人權基金會宣佈,其首筆比特幣開發贈款將用於 Belcher 和他爲實現該項目所做的努力。

去年 12 月,Belcher 宣佈了一個「比特幣隱私和可替換性的大日子」:他在比特幣的測試網絡上完成了首個成功的 coinwap 交易。

閃電網絡與瞭望塔的聯繫更加緊密

閃電網絡(Lightning Network)是比特幣的第 2 層協議,用於更快、更便宜和更私人的支付,在 2020 年繼續全面改善。隨着閃電實現 LND、Eclair、C-Lightning 和——從 7 月開始——Electrum 推出了許多新的軟件版本,以及越來越多構建在協議之上的項目,閃電開發比以往任何時候都更加活躍。在比較值得注意的進展中,「瞭望塔」解決了閃電網絡仍存在的一個弱點,從而產生了一個更強大的協議。

閃電網絡的權衡之一是,用戶需要密切關注他們的支付渠道,以確保支付渠道合作伙伴不會試圖通過廣播舊的通道狀態來騙取更多的資金。如果渠道合作伙伴試圖作弊,閃電用戶可以介入,但這需要監控比特幣區塊鏈,普通用戶可能不會經常這麼做。

爲了減少作弊被錯過的風險,閃電協議允許將通道監控外包給公正的觀察員,稱爲瞭望塔。除了 2019 年底 LND 推出的第一個瞭望塔軟件之外,今年 2 月,專門的瞭望塔實現 Eye of Satoshi 發佈了 alpha 版本。不久之後,提議的瞭望塔協議規範進行了更新,而 C-Lightning 在 5 月推出了對 Eye of Satoshi 的支持。7 月,《Eye of Satoshi》推出了第 1 版。

其他著名的閃電在 2020 年發展包括繼續工作錨從一個通道輸出,以確保用戶可以聲稱資金單方面即使鏈上的費用已經上漲超過預期自上次付款通道更新、多路徑付款在小塊讓用戶支付閃電,閃電網絡本地消息傳遞應用程序 Juggernaut,通道管理工具 Faraday,閃電循環測試版,但也有一些新發現的弱點和解決方案。

在 Miniscript 之後,比特幣編程變得更容易

比特幣交易中嵌入的代碼指定了在下一次交易中使用比特幣必須滿足哪些條件,這些代碼是用一種專門爲比特幣設計的編程語言編寫的,稱爲腳本。然而,腳本可能很難處理:用程序員的行話來說,腳本很難「推理」。「這意味着,特別是當它變得更復雜時,我們可能很難理解一段腳本實際上允許什麼:一筆交易可能無意中包含允許貨幣在不同的條件下消費的代碼。這就是爲什麼許多比特幣軟件應用程序,比如錢包,沒有充分利用腳本的潛力。

在過去的幾年裏,(前) Blockstream 研究人員 Andrew Poelstra、Pieter Wuille 和 Sanket Kanjalkar 設計了一個名爲 Miniscript 的「精簡版」腳本。Miniscript 是從「腳本工具箱」中精心挑選的一些「工具」,它們實際上可以實現用腳本完成的任何事情,但它更容易使用,也更容易被程序員驗證。因此,雖然一行 miniccript 仍然是有效的腳本,但它本質上是通過防止意外的,可能是無意的代碼結果來避免人爲錯誤;Miniscript 更容易推理。今年 11 月,Rugged Bytes 的研發主管 Dmitry Petukhov 發佈了一份正式的迷你腳本說明書。

爲了讓比特幣交易更容易進行,Wuille 還爲 miniccript 設計了一種「策略語言」,這是一種自己的編程語言,可以編譯爲 miniccript,也就是 Script。基於 Wuille 的工作,比特幣開發者 Nadav Ivgi 今年開發了另一種新的編程語言 Minsc。Minsc 於 7 月首次宣佈,隨後在 11 月進行了重大升級,目前仍在進行中,但將大大簡化比特幣交易的創建。這將有助於解鎖一系列有前景的功能,充分利用比特幣的多功能性,如可互操作的 CoinJoin 錢包、智能合約解決方案、第 2 層協議等。

通過 DLC,智能合約變得更加智能

每當智能合約依賴於外部數據時,它們都依賴於被稱爲「oracle」的外部數據源。例如,如果兩個用戶想賭一場體育比賽的結果,oracle 將不得不使用比賽的結果來解決賭對預測正確的人獲勝的問題。

一個非常基本的體育博彩設置可以由一個三分之二的多重簽名地址組成,其中玩家和 oracle 都各持有一個密鑰,oracle 被告知打賭的細節。比賽結束後,兩名玩家可以合作,將資金從多籤地址發送給沒有 oracle 密鑰的獲勝者。但如果輸家拒絕合作,oracle 可以使用它的第三個密鑰與贏家合作,從多團體向他們發送資金。這個系統是有效的,但是有兩個主要的缺點。第一,雙方都需要相信 oracle 不會與對手勾結。第二,oracle 需要被告知賭局,並可能在和解過程中扮演積極的角色:這意味着玩家在 oracle 中沒有隱私,而如果有超過幾個玩家想要賭局,那麼設置就不能很好地擴展。

2017 年,麻省理工學院媒體實驗室的數字貨幣項目研究員 Thaddeus Dryja 提出了一個更好的解決方案:DLC。DLC 使用一種聰明的數學技巧,其中 oracle 發佈一個與事件結果相對應的密碼學簽名。在上面的例子中,如果第一個團隊贏了,oracle 將發佈一個簽名,如果另一個團隊贏了,oracle 將發佈一個不同的簽名。訣竅:智能合約的設計目的是讓獲勝玩家使用發佈的簽名來申請資金。

在 DLC 中,oracle 對智能合約的參與被最小化到簽名的發佈;以體育博彩爲例,這可以通過現有的新聞服務來實現,並作爲其常規廣播的一部分。這也意味着 oracle 不需要被告知賭局的細節,事實上甚至不需要知道是否有賭局。與此同時,任何數量的人都可以使用簽名來解決他們的賭注,而不需要 oracle 的進一步參與,這大大有利於可 擴展 性。雖然 oracle 理論上仍然可以與某人串通,傳播錯誤的結果,但這種不誠實的行爲對任何人來說都是顯而易見的,並會損害 oracle 的聲譽。

今年 1 月,首席執行官 Chris Stewart 宣佈,他的公司 Suredbits 已經開始與 Crypto Garage 合作,制定 DLC 的規範。今年 2 月,Suredbits 的工程師 Nadav Kohen 跟進了第一個工作代碼。到 9 月,Suredbits 和 Crypto Garage 已經開發出了可以使用的軟件:Stewart 和比特幣開發者 Nicolas Dorier 參與了比特幣的第一個 DLC,對美國總統選舉的結果下注。Stewart 曾把賭注押在拜登身上,他在去年 12 月宣佈了獎金的歸屬。

持有比特幣金庫(Vaults)變得更加安全

一長串的交易黑客和其他比特幣盜竊事件證明了一個事實,即安全存儲私鑰仍然是一個挑戰,特別是在許多比特幣處於危險之中的情況下。

但更安全的存儲加密貨幣的解決方案正在開發中。比特幣金庫——這個概念可以追溯到 2016 年——是一種保護比特幣安全的智能合約,因此需要幾筆確認的交易和一個時間延遲才能真正使用它們。這讓潛在的受害者有機會在爲時已晚之前恢復金額。

2020 年推出了兩種類型的金庫原型。

Bitcoin Core 貢獻者 Bryan Bishop 在 4 月宣佈了第一個金庫原型。簡而言之,Bishop 的設計是基於預簽名的交易,將從保險庫花費一些加密貨幣到用戶的熱錢包的時間鎖定延遲,而一個替代的消費選項沒有時間鎖定;也許是一個新的更安全的保險庫。重要的是,用於簽名預簽名事務的私鑰在金庫創建時被刪除,因此攻擊者只能竊取預簽名事務本身。

這種設置使得攻擊者非常難以獲得這些加密貨幣。即使預先簽名的交易被偷了,小偷僅僅可以把加密貨幣花到熱錢包,如果受害者不相信他的熱錢包的安全性,他可以使用內嵌的時間延遲將加密貨幣轉移到額外安全的地址。

4 月晚些時候,比特幣開發者 Antoine Poinsot 宣佈了他與 Chainsmiths 首席執行官 Kevin loec 共同設計的另一個 Vault 演示,名爲 Revault。Revault 在某些方面類似於 Bishop 的 vault,比如它使用預簽名交易,但它是專門爲多用戶設置而設計的,使用 multisig 地址。Revault 允許預先確定的一部分用戶從保險庫向熱錢包消費 加密貨 幣,同樣也有延時。任何保險庫參與者都可以使用這個延遲時間將資金返回保險庫,如果他們不同意花費,或者他們可以將資金重定向到另一個額外的安全地址,如果他們不相信正在發生的事情。

此外,Revault 要求在從保險庫撤回時,當時間鎖啓動時,用戶立即從熱錢包創建交易,這也需要服務器共同簽名。服務器被編程爲簽署任何交易,但從不衝突的交易,因此,如果攻擊者危及保險庫和熱錢包,他們將不得不嘗試並在其他人和時間鎖到期之前索賠加密貨幣。如果熱錢包受到威脅,這應該是顯而易見的,警告了 Revault 用戶組,並允許他們在時間鎖定到期之前重定向資金。

現在可以使用 Taproot,因爲激活正在考慮之中

自 2017 年 8 月 Segregated Witness 激活以來,Taproot 將是第一次比特幣協議升級。Taproot 最初是由比特幣核心貢獻者 Gregory Maxwell 於 2018 年 1 月提出的,它允許用戶在普通的比特幣交易中「隱藏」智能合約:複雜的多重簽名構造可能與簡單的支付無法區分。

Taproot 的升級還將包括 Schnorr 簽名算法。許多密碼學家認爲 Schnorr 簽名方案是該領域中最好的,因爲它的數學特性提供了強大的正確性,它不受延展性的影響,而且驗證速度相對較快。Schnorr 的「線性數學」也將允許一系列新的可能性,如更緊湊類型的多重簽名解決方案,漂亮的智能合約設置,當然,還有 Taproot 本身。

經過 2020 年的持續開發,Taproot 的代碼在 10 月被合併到比特幣核心代碼庫中,並將成爲比特幣核心 0.21.0 的一部分,該核心 0.21.0 將隨時發佈,目前有候選版本可供選擇。然而,Bitcoin Core 0.21.0 將不包括 Taproot 的激活邏輯。這可能會包含在即將發佈的比特幣核心版本中。

然而,在 2020 年的大部分時間裏,激活邏輯本身就是一個討論的主題,並考慮了一系列潛在的激活機制。它們中的大多數最初會利用算力協調,最終達到一個期限,在沒有算力支持的情況下升級也會激活。但比特幣核心貢獻者 AJ Towns 在 10 月份發佈的一項民意調查表明,並非所有比特幣核心貢獻者都同意應該預先設定截止日期,或者截止日期應該有多遠。

但無論最終選擇哪種激活機制,似乎越來越有可能通過算力協調來順利激活 Taproot。11 月,大型礦池 Poolin 發起了一項倡議,鼓勵其他礦池就 Taproot 激活發表意見。到目前爲止,對 Taproot 的響應非常有利,支持超過 90% 的總算力,並且沒有礦池反對建議的升級。