作者 | AARON VAN WIRDUM
比特幣的技術社群似乎沒有受到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%的總算力,並且沒有礦池反對建議的升級。
AARON VAN WIRDUM 作者
Sherrie 翻譯
Miko 編輯
內容僅供參考 不作為投資建議 風險自擔