Elements 如何整合 Simplicity?
Greg Maxwell 指出,有兩種方法可以將 Simplicity 集成到比特幣中。一種是只提供少數精選的高級構造(如 SHA256、CheckSigHashAll),另一種是按照 Simplicity Technical Report 中的規定公開一個完整的位機。
既然Simplicity 正在被集成,大概已經決定了它的工作方式。
選擇了哪種方法?
一直以來,通過允許任意簡單性,完整的位機將被“暴露”[1]。這是因為讓您組成高級噴氣機的組合器與定義低級 Simplicity 的組合器完全相同。因此,即使只選擇了幾個高空噴氣機暴露,低空組合子仍然可以用來定義任何功能(當然,代價很大)。
真正的問題是,將提供哪些噴氣式飛機選擇以及價格是多少?這個問題雖然非常重要,但在開發接近尾聲時才決定,所以從技術上講,它還沒有得到解決。在接受大量噴氣式飛機時,我傾向於相當自由。例如,我想提取法定加密貨幣中的所有功能(作為 Simplicity 和 C 語言)並作為噴氣機實現。
也就是說,Elements 是一個平台,該平台的使用者將能夠選擇他們想要的任何噴氣式飛機選擇,這可能會有所不同,具體取決於正確性證明的距離以及他們對風險水平的適應程度更多或更少數量的噴氣機,甚至添加自己的噴氣機。此外,正如 Maxwell 所指出的,我們確實需要獲得一些使用 Simplicity 的經驗來了解什麼是有用的噴氣機,什麼不是有用的噴氣機。在將 Simplicity 集成到 Liquid 之前,我們將希望獲得這種體驗。
[1] 需要明確的是,Bit Machine 永遠不會直接暴露。Bit Machine 只能通過解釋類型良好的 Simplicity 程序來執行。這很重要,因為 Bit Machine 依賴於 Simplicity 的類型安全來保證其記憶體安全。否則 Bit Machine 可能會崩潰。