Scalability

什麼是隔離見證權衡?

  • January 4, 2016

隔離見證在很多方面聽起來像是一場胜利,我只是想了解它們如何應用於可擴展性。如果我理解正確,還有第二個見證交易數據的 Merkle 樹。見證樹的根被送出到 coinbase 中,但除此之外,第二棵樹存在於區塊之外。

見證人是否仍然需要轉發到其他節點進行驗證?為什麼現在發送更多數據是可以接受的,但增加塊大小是危險的,並且以前慢速連接的節點被排除在外?

此外,如果見證人在區塊之外並且可以修剪,那麼新的完全驗證節點將如何更新?如果一個較小的完整節點子集託管所有見證人,這是否會犧牲安全性來換取區塊中的交易量?

如果我理解正確,還有第二個見證交易數據的 Merkle 樹。見證樹的根被送出到 coinbase 中,但除此之外,第二棵樹存在於區塊之外。

這也是我的理解。

見證人是否仍然需要轉發到其他節點進行驗證?

只有真正關心簽名的節點。例如,有數千個 SPV 節點希望能夠計算他們關心的交易的 TXID,但實際上並不需要 scriptSigs,因為 SPV 節點依賴於安全確認而不是完全檢查腳本。

為什麼現在發送更多數據是可以接受的,但增加塊大小是危險的,並且以前慢速連接的節點被排除在外?

許多人拒絕了增加塊大小限制的想法,因為它是一個硬分叉。一些節點的額外數據和排除仍然是一個問題,我相信仍然會有很多關於如何計算見證數據的爭論。這只是消除/推遲了硬分叉最大塊大小的爭論。

Pieter Wuille 目前的提議是對簽名數據提供 75% 的折扣,在最壞的情況下將有效的最大塊大小增加到大約 4 MB,但在任何正常、非惡意的情況下,這可能永遠不會接近實現。我估計一個完整的 1M 普通塊將是一個 1.8 MB 的完全 SW 交易塊。

此外,如果見證人在區塊之外並且可以修剪,那麼新的完全驗證節點將如何更新?如果一個較小的完整節點子集託管所有見證人,這是否會犧牲安全性來換取區塊中的交易量?

當一個完整節點現在上線時,它目前甚至不檢查任何比最近檢查點更早的腳本評估。從這個意義上說,它不是一個“完全驗證”的節點,它更像是一個“從 6 個月前開始完全驗證”的節點。但是,不幸的是,要立即建構 UTXO 集,您仍然需要下載 scriptSigs,即使它們不用於任何驗證。隔離見證更改使得在 SW 交易的情況下,也不必下載無論如何都不會被驗證的過舊 scriptSig,因為 TXID 不使用它們。

請注意,不幸的是,某些使用隔離見證的交易不會神奇地使舊式交易更容易修剪。但是,如果今天所有交易都完全使用隔離見證,那麼從現在起的 5 年內,開始同步的節點將不必下載過去 5 年的大量簽名數據,只需下載最多最近的簽名數據。

所以,那裡有一個安全權衡,但它與已經存在的完全一樣的權衡。但是,使用 SW,您只需下載更少的數據(新的 SW 交易數據減少約 60%)即可獲得相同的安全性。

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