Mining

對執行智能合約的能源使用進行基準測試

  • January 30, 2019

我正在開展一個項目,該項目將使我能夠對我將從EtherScan獲取的十大最受歡迎的智能合約進行基準測試

該項目的想法是確定智能合約執行獎勵是否與礦工產生的成本成正比。

我了解其他成本,例如事務驗證、簽名驗證和 POW 計算。我的想法是在單個客戶端 EVM 中執行執行,並根據需要模擬其他方面。但我不太確定該怎麼做。

然後是測量執行的能量使用的問題。我正在考慮一個潛在的估計,或者我可以使用諸如 Kill-A-Watt 之類的設備來測量牆壁的輸出。不確定這是否也可行。

然後,我正在尋找一種方法來連續執行這些執行,將能源使用量超過 50 次執行並生成一個平均值以供參考。

我不確定從哪裡開始這個項目,如果可能的話,任何幫助將不勝感激。

如果您有任何問題,我很樂意澄清。

注意:我是乙太坊的新手,如果我的某些知識有誤或不正確,我很抱歉

我會建議這個。

  • EVM 上的智能合約執行實際上與任何(虛擬)機器上的程式碼執行相同
  • 對於每個事務,您可以跟踪執行了哪些“CPU”指令
  • 您可以為每條指令分配成本
  • 如果您想以高級方式執行此操作,例如可以使用 Intel 性能調整套件和經過修改的 Go Ethereum/Parity 節點,該節點將 VM 指令性能轉換為實際的 PC CPU 性能計數器。為此,您需要 Go 或 Rust 方面的高級技能以及非常深入的 x64 CPU 理解。
  • 然後您可以映射 EVM 指令 -> AMD64 指令 -> Intel/AMD CPU 上的能源使用情況
  • 在你完成這個“每指令性能映射”之後,將它應用到任何乙太坊智能合約交易是微不足道的。您只需將 EVM 指令映射到它們各自的參考焦耳(?)值。

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