Skip to content

Commit 9c7e5f1

Browse files
authored
EVM Istanbul upgrade (#183)
1 parent 9fa3cae commit 9c7e5f1

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

changelog/evm-istanbul.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# EVM Istanbul upgrade
2+
3+
Starting v1.3 the IoTeX blockchain supports EVM Istanbul, which brings upgrades
4+
that improve denial-of-service attack resilience, and adjust gas costs for EVM
5+
storage and zk-SNARKs and zk-STARKs, allowing privacy applications based on
6+
SNARK and STARK to scale at a cheaper cost.
7+
8+
Here's the list of EIP adopted in the Istanbul upgrade:
9+
10+
- [EIP-152](https://eips.ethereum.org/EIPS/eip-152) -- precompiled Blake2b to
11+
facilitate Zcash
12+
- [EIP-1108](https://eips.ethereum.org/EIPS/eip-1108) -- better bn256 library
13+
for faster EC computation and reduced gas cost
14+
- [EIP-1344](https://eips.ethereum.org/EIPS/eip-1344) -- adds the CHAINID opcode
15+
to return current chain's EIP-155 unique identifier inside smart contract
16+
- [EIP-1884](https://eips.ethereum.org/EIPS/eip-1884) -- repricing for trie-size
17+
-dependent opcodes
18+
- [EIP-2028](https://eips.ethereum.org/EIPS/eip-2028) -- transaction data gas cost
19+
reduction
20+
- [EIP-2200](https://eips.ethereum.org/EIPS/eip-2200) -- cost reduction of storage
21+
in the EVM
22+
23+
## Gas cost change
24+
Here's a summary of gas cost change as a result of these EIPs
25+
26+
| Precompiled contract | Address | Current gas cost | Updated gas cost |
27+
| --- | --- | --- | --- |
28+
| ECADD | 0x06 | 500 | 150 |
29+
| ECMUL | 0x07 | 40000 | 6000 |
30+
| Pairing check | 0x08 | 80000*k* + 100000 | 34000*k* + 45000 |
31+
32+
*k* is the number of pairings being computed
33+
34+
| Opcode | Address | Current gas cost | Updated gas cost |
35+
| --- | --- | --- | --- |
36+
| SLOAD | 0x54 | 200 | 800 |
37+
| BALANCE | 0x31 | 400 | 700 |
38+
| EXTCODEHASH | 0x3F | 400 | 700 |
39+
| SELFBALANCE | 0x47 | n/a | 5 |
40+
| Calldata | n/a | 68 per byte | 16 per byte |
41+

0 commit comments

Comments
 (0)