Solidity 的 uint256 會導致溢出。
為什麼不在 EVM 中解決這個問題?
這背後的原因是溢出檢查是昂貴的。
這對整體 EVM 性能不利,進而對 tx 速率、節點性能等也不利。
現在的方式是,他們將其留給更高的級別來決定,您可以選擇是否為了安全而減慢您的程序。也許在您的特定情況下,程序邏輯中有一種更便宜的方法來執行檢查或防止溢出。
從 soldity 0.4.16 開始支持溢出檢查:
從文件中:
solc 現在包括使用 SMT 求解器 Z3 在編譯時對自動溢出和斷言檢查的實驗性支持
引用自:https://ethereum.stackexchange.com/questions/46663