這篇文章最初發表於 中等的.
我們展示瞭如何實現 直根 使用原始比特幣協議而不做任何更改,通過結合 無契約契約 和 Merklized 替代腳本樹 (桅杆)。
BTC 中的主根
Taproot 是自2017 年以來最大的“比特幣”核心升級,旨在改進其功能。在 直根,我們調整一個公鑰 磷 獲取新的公鑰 問 如下:
H() 是一個散列函數並且 G 是生成點。這與等式4 中的公式相同,當我們 將數據鏈接到簽名. 在這種情況下,提交的數據 問 簡直就是 米,一個MAST 的根。 磷 是各方的聚合公鑰。
有兩種方法可以使用鎖定的資金 問:
一、合作案例: 又名默認密鑰支出路徑
當各方對以MAST 為代表的合約輸出達成一致時,他們就可以共同簽署釋放資金¹。只需要定期支付交易,隱藏實際的合約/MAST。
2.不合作案例: 又名替代腳本支出路徑
如果任何一方未簽名,則可以使用MAST 分支解鎖資金。葉腳本,它的 默克爾證明並且需要它的解鎖腳本,就像在常規中一樣 MAST 合約.
原始比特幣中的Taproot
我們可以使用原始的比特幣協議實現Taproot 所做的事情,而無需任何更改。
我們簡單地使用 無契約契約 技術,其中合約是與Merkle 根的MAST 合約 米. 在一般的無合同合同中:
- 合作案例: 各方在定期支付交易中籤署和釋放資金 TX2′.
- 不合作案例: 如果一方不簽署,我們執行MAST 合同 TX2.
比較
Taproot升級幾乎佔用了BTC 四 年 從 成立之初 到 激活. 它需要在協議級別進行根本性和巨大的更改,包括 BIP114(默克爾化抽象語法樹), BIP 340(施諾爾簽名), BIP 341(主根), 和 BIP 342(手稿).
原版上的主根 比特幣 需要 零 協議更改,只有 20 代碼行. 整個事情都可以編碼 20分鐘.
***
筆記:
[1] 直觀地說,私鑰 q = p + H(P||m). 私鑰 p 為各方共同“知曉”。 磷 和 米 都是公開的,因此各方可以共同簽署反對 q的公鑰 問.
觀看:CoinGeek 紐約演講、比特幣智能合約和計算
比特幣新手?查看CoinGeek 的 初學者的比特幣 部分,了解更多關於比特幣(中本聰最初設想)和區塊鏈的終極資源指南。