Pruning

流動網路區塊鏈中的機密交易可以被修剪嗎

  • August 13, 2021

從比特幣全節點,我們可以通過儲存最新的 UTXO 集加上可能的 120 個最新塊(用於可能的孤立或塊重組)將區塊鏈從 350GB 修剪到 7GB(截至 2021 年 6 月 30 日)。由於存在範圍證明和佩德森承諾,是否可以對涉及機密交易(液體網路)的區塊鏈進行修剪?

查看驗證(在比特幣和相關係統中)的一種方法是將 UTXO 集視為節點操作的主要數據集。塊只是 UTXO 集的“更新檔”,說明可以從中刪除哪些條目,以及創建哪些新條目。當然,區塊不止於此。它們也經過身份驗證- 它們攜帶數據以證明所述更新檔是合法的。

修剪只是在應用更新檔後忘記更新檔的做法。這些更新檔可能會被遺忘,因為將來的驗證不需要它們。節點將來需要的一切都在 UTXO 集中。

在比特幣中,UTXO 集包含 ( txid, vout_index, amount, scriptPubKey) 形式的條目。txid和標識哪個交易和該vout_index交易的哪個輸出創建了 UTXO。amount是 UTXO 價值的 satoshis 數量,以及有能力使用它的控制scriptPubKey者。此外,交易(和區塊)還包含 a version、 alocktime和交易輸入(每個都有不同的欄位,包括scriptSig和中的簽名witness)。這些東西都沒有準確地進入 UTXO 集合,因為它們在未來無關緊要。它們僅與確定交易/區塊(更新檔)在應用時是否有效有關。

保密交易有何變化?amount無論是在交易本身還是在 UTXO 集中,都被 Pedersen 承諾所取代。所以這確實是為了將來的驗證而保留的(它在 UTXO 集中,所以它不會被修剪塊刪除)。CT 中的事務輸出也有一個range_proof. 那個怎麼樣?它的功能是保證(隱藏的)交易輸出值的總和不超過所花費的 UTXO 的總和。與簽名類似,僅在驗證時才需要此數據。一旦應用,它可以被忘記。因此,它不包含在 UTXO 集中,並且在修剪後不可用。

修剪 CT 輸出沒有限制。它們的值是模棱兩可的(表示為一個值範圍),花費與否的狀態與任何輸出一樣是公開的。

引用自:https://bitcoin.stackexchange.com/questions/107346