關於靜態交易:
交易在提交時應該是完全靜態的。
為什麼:排序器必須能夠在不執行交易的情況下推理交易。而驗證者應該能夠在不執行區塊的情況下推理區塊的有效性。
所有與排序相關的輸入,包括但不限於:
1. 費用支付者
2. 資源使用和收取的費用
3. 指令
4. 讀取和寫入訪問列表
應該包含在交易中。
事實上,甚至加載哪些帳戶也應該是靜態的,並且在運行時不可操控,以避免緩存未命中(您當然應該能夠不讀取您要求的東西,但您不應該能夠讀取您未要求的東西)。
如果排序器在沒有訪問運行時的情況下無法模擬您的交易的帳戶鎖定和資源使用,那麼它就太動態了。
交易在提交時應該是完全靜態的。
為什麼:排序器必須能夠在不執行交易的情況下推理交易。而驗證者應該能夠在不執行區塊的情況下推理區塊的有效性。
所有與排序相關的輸入,包括但不限於:
1. 費用支付者
2. 資源使用和收取的費用
3. 指令
4. 讀取和寫入訪問列表
應該包含在交易中。
事實上,甚至加載哪些帳戶也應該是靜態的,並且在運行時不可操控,以避免緩存未命中(您當然應該能夠不讀取您要求的東西,但您不應該能夠讀取您未要求的東西)。
如果排序器在沒有訪問運行時的情況下無法模擬您的交易的帳戶鎖定和資源使用,那麼它就太動態了。