Receipts
收據和交易有什麼區別?
收據的資料結構與交易沒有太大區別。那麼為什麼區塊頭有收據樹根呢?有沒有必要?
在乙太坊的黃皮書中,交易收據儲存了執行交易產生的資訊。
它是一個有四個欄位的元組
- 區塊累計使用氣體
- 事務執行期間產生的日誌
- 來自日誌的布隆過濾器
- 交易執行的狀態碼
收據的目的是向外界提供有關交易執行的資訊。
儲存在區塊頭中的收據樹根用於驗證區塊中所有合約的執行情況。如果惡意礦工不正確地執行交易,則生成的 trie 根將與好礦工的執行不匹配,並且壞塊將被拒絕。
交易收據包含只有在區塊中執行交易後才可用的資訊,例如發出日誌的根。基本上,交易會告訴您應該發生的事情,收據會告訴您實際發生的事情的資訊。