Soft-Fork

Simplicity 的新噴氣機將如何軟分叉?是什麼阻止了礦工開採新噴氣式飛機?

  • July 31, 2021

目前關於 Simplicity 的新噴氣機將如何軟分叉成比特幣的想法是什麼(投機性的未來,Simplicity 本身已經軟分叉成比特幣)?如果礦工用資源成本較低的新噴氣式飛機開採區塊會發生什麼?

這個問題是由 sanket1729 在 IRC 上提出的,並已被解釋。

IRC 上 Simplicity 的作者 Russell O’Connor 對此進行了討論。以下已轉述,任何錯誤都是我自己的。

Jets 將用 Simplicity 編寫,以便每個人都同意噴氣機的功能。雖然可以用任何語言指定 jet 功能,但 Simplicity 是一種明顯的候選規範語言。

在 v0 Simplicity 中,不可能在新噴氣機中軟分叉。您將需要一個新的編碼方案來支持新的軟分叉噴氣機。

對於更高版本的 Simplicity,目前計劃是將資源成本納入噴氣機“名稱”。將存在某種可延展性,任何人都可以通過提供對未知折扣噴氣機的承諾的證據(分支)來花費 UTXO。舊節點將得到這樣的證明,而新節點則需要適當的程序。目前尚不清楚什麼會進入區塊的見證 Merkle 根。

該計劃將需要新的(尚未設計的)P2P 支持,而不僅僅是使用 OP_SUCCESS。同行將協商他們知道的噴氣式飛機的哪個版本以及他們知道的 Simplicity 片段。因此,您不一定需要(重新)傳輸您的同行已經知道的常見 Simplicity 函式。

是什麼阻止礦工惡意探勘未知的折扣噴氣式飛機以 DoS 網路,因為同行現在需要整個程序?

新噴氣機沒有編碼。打折的噴氣機是明確編碼的。非法編碼是不合法的,因為無法驗證您無法解碼的程序是否與承諾 Merkle 根匹配。

在這個計劃下,礦工不能開採未知的噴氣式飛機。為了做到這一點,他們必須要麼證明有一個輸出被送出給這樣一個未知的噴氣式飛機,如果沒有人有任何承諾,那麼它們就不能被使用,或者他們必須提供一個程序的編碼,該編碼使用一個新的折扣噴氣機,但我的編碼方案沒有這樣的編碼。

除非將“這是具有身份根的未知噴氣機”添加到編碼方案中,否則通過執行未折扣的 Simplicity 程式碼讓舊節點在折扣噴氣機上執行是不可接受的。選項是“我看到一架未知的打折噴氣機,我忽略了整個腳本並成功了”。雖然這對比特幣腳本很有效,但在存在斷開/委託的情況下會出現問題,如果比特幣腳本曾經有直接委託,它也可能是一個問題。如果比特幣腳本有 OP_EVAL,然後你嘗試 OP_EVAL 包含 OP_SUCCESS 的東西,你會怎麼做?因此,目前的計劃是需要一個新的 Tapleaf 版本或 Simplicity 版本來更換噴氣機。

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