See [latest]( ERC-8117: Anti-Poisoning Compact EVM Address Format ) version
Syntax:
0x+[repeating_char]+[superscript_count]+[remainder]
I have encountered a situation where it was important for the last few chars to be zero; it saved some gas and weakened certain transaction substitution attacks. Suffix mining might also be a trend in the future; for example, Uniswap V4 hooks use the trailing bits as flags. Also, the UniswapV3 factory used a mined address for both the prefix and the suffix. Therefore, instead of remainder, the repeating compression should be applied for all repeating characters in the entire address, not only at the beginning.
Thanks @wjmelements
In additional to what you suggest prefix or suffix, do you think it’s worth adding that “anywhere in the address is eligible, as long as more than 6 digits are identical”?
Yes.
I proposed another compression scheme last year. It cuts address text width slightly by using base256emoji and makes addresses more memorable. It might save more space on average if the address domain has few repeating characters.
That’s an interesting idea haha
Like the overall idea.
Agree on extending the scheme to allow both leading and trailing repeated characters.
Thinking of having a suggested minimum number of consecutive characters before this formatting is applied. If so, 5 or more repeating consecutive characters feels like a good threshold (long enough to prevent UI cluttering, short enough to make it feasible for CPU based mining).
Congrats on your design win with Safe!
There is an error in the EIP. When talking about gas costs, it mentions EIP-7939 as the reason for gas optimizations. And it says that EIP-7939 is the reason that people will switch to using more zeros.
Both are wrong. This is not the reason people use zeros at the beginning (rather than, say, sixes) of addresses. And the adoption of EIP-7939 does not directly contribute to more people using zero-prefix addresses.
The correct justification is buried in the Ethereum Yellow Paper VM specification.
G_txdatanonzero ≠G_txdatazero
P.S. the EIPs website is broken (in many ways) and this link fails so you can’t get to the actual source
Building on that justification. Here is another reference in an EIP that provides concrete justification of why you should deploy to an address using leading zeros:
