Gas-Price

智能合約貴嗎?

  • March 13, 2021

我有一個使用堆棧操作和字元串連接的 Python 程序。它在特定輸入上執行不到一分鐘,執行大約 1 億次字元串操作。今天在乙太坊中進行如此多的操作將花費大約 200 萬美元的 gas。

為什麼在乙太坊執行如此昂貴?

假設今天有 35000 個節點,每個節點都需要執行 Python 程序的乙太坊埠。如果我們假設速度大致相同,則這些是 35000 CPU 分鐘 = 大約。600 CPU 小時 = 大約 $ 60 on Amazon. That is a lot less than $ 200萬。

為什麼會有這麼大的差異?還是估計有問題?

在乙太坊網路中,每筆交易都會在網路中的每個節點上複製和重新計算,因此在某種意義上,您需要為每個節點上的執行付費,而不僅僅是在 EC2 中的單個伺服器上。此外,礦工使用大量的計算能力來利用他們的雜湊算力來保護區塊鏈,所以你也為此付出了部分代價。乙太坊的目的是執行不可變、去中心化、去信任的計算,而不是通用計算。

所描述的並行處理意味著合作解決問題的節點之間的信任程度。乙太坊解決了節點不知道或相互不信任的環境中的準確性。它這樣做是有冗餘的。基本上,所有 35,000 個節點都獨立解決並進行比較。

您正在談論的那種高計算操作可能更適合不同的方法。如果不需要鎖定“真相”或者節點都相互信任,那麼您可能不需要區塊鏈。

如果您需要此操作結果的無可爭辯的記錄,請考慮使用可信來源(“Oracle”)並使用雜湊鎖定歷史輸出。另一個想法是查看 Golem 項目正在進行的工作,該項目旨在引入並行處理並綁定到乙太坊的不可變記錄。

希望能幫助到你。

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