Contract-Development

當我們得到智能合約的執行結果時,這個結果是否得到了全網的驗證?

  • December 9, 2020

當我們得到智能合約中某個函式的執行結果時,這個結果是不是得到了全網的驗證?也就是說,當使用者獲取智能合約函式的執行結果時,該函式的結果是否已經被其他節點驗證。

希望您能給我一些幫助,謝謝!

如果您使用的是事務(而不是本地呼叫),則可以信任結果。或者,如果您使用本地呼叫,如果您信任您正在使用的節點,則可以信任它。

產生結果的交易需要由礦工開採。當礦工開採它(並成功解決 PoW 難題)時,他會廣播結果,其他節點將對其進行驗證。如果它是有效的,他們會接受它並轉發它,否則它會被忽略,它基本上就消失了。整個網路會在某個時候驗證結果,但由於延遲問題可能需要一段時間。

然而,這並不意味著結果(在一個塊內)必然會保留為規範鏈的一部分。網路的共識機制可能仍然決定丟棄該塊,但這並不意味著它的結果將是無效的——它只是不走運。

引用自:https://ethereum.stackexchange.com/questions/90948