Recently Vitalik Buterin, co-creator of Ethereum, published a security improvement proposal in which he considers changing the size of the Ethereum wallet addresses, going from 20 to 32 bytes.
The purpose of this improvement is to increase «the resistance to collisions that hashes of public addresses» or what is the same, avoid that two private keys different have access to the same public address.
It should be noted that this improvement, at least in the proposal published by Buterin, would only apply to EOA private keys, which correspond to portfolio addresses, and not for smart contracts, which would continue to use the 20-byte addresses. However, the creation of a “translation table” is established, which is an algorithm to compress and decompress the new 32-byte addresses, so they can work seamlessly with smart contracts.
Collision resistance: the possible from the impossible
A hash is a basic algorithm. It has an input and an output under a single format. If the input has a minimal change, be it a comma or an accent, the output will be totally different.
In cryptography, collision resistance refers to the impossibility of 2 different inputs generating the same output. Which, although it seems impossible, mathematically is a possibility that exists. This could translate into two different private keys having access to the same public address.
Currently, the resistance a collision of Ethereum addresses is 2 ^ 80. This indicates that there is a fairly small probability that two different inputs can be created for the same output. Putting it in more visual terms, the value of 2 ^ 80 is a 1 accompanied by another 32 digits.
In perspective, a million trillion (quadrillion ) has 25 digits. The new update is intended to increase the impossibility to 2 ^ 160. Bitcoin currently has a collision resistance of 2 ^ 90.
Of course, although it is a present dilemma, being vulnerable to an attack of this nature requires that the attacker have very advanced knowledge in cryptography, in addition to having a super computer that allows executing such a number of iterations, until the corresponding hash entries are found.
Protection against quantum computing
Within the forum in which Vitalik’s proposal was published, a user inquired that the improvement proposal should go hand in hand as protection against a potential surprise from quantum computing. As CriptoNoticias already reported on the alleged quantum supremacy declared by Google. This is because, if true, quantum computing would imply an exponential growth in current computing power, which would break not only the private keys of cryptocurrencies, but also the cryptography of the Internet as we know it.
Vitalik asserted, answering the user’s question, that addresses of even 26 bytes are sufficient for the era postquantic .
At the end of the proposal, Buterin leaves open the alternative of, that, although the addresses of 32 bytes are not accepted, a 20-byte scheme is used.
These will be used in a divided format: 15 bytes for the address scheme and the remaining 5 to set an identification, which will allow to validate that the owner of the address is a single private key. The identifier would be the same as it would be set in the proposed 32-byte addresses.