Hechos clave:
-
La propuesta de mejora solo aplicarĆa a las llaves privadas de las direcciones de cartera.
-
Aumentar la resistencia a colisiones es el objetivo principal de la mejora.
Recientemente Vitalik Buterin, cocreador de Ethereum, publicĆ³ una propuesta de mejora de seguridad en la que se plantea cambiar el tamaƱo de las direcciones de cartera de Ethereum, pasando de los 20 a los 32 bytes.
El propĆ³sito que busca esta mejora es aumentar Ā«la resistencia a colisiones que poseen los hashes de las direcciones pĆŗblicasĀ» o lo que es lo mismo, evitar que dos llaves privadas diferentes tengan acceso a la misma direcciĆ³n pĆŗblica.
Cabe resaltar que esta mejora, por lo menos en la propuesta publicada por Buterin, solo aplicarĆa para las claves privadas EOA, que corresponden a las direcciones de cartera, y no para los contratos inteligentes, que continuarĆan utilizando las direcciones de 20 bytes. No obstante, se establece la creaciĆ³n de una Ā«tabla de traducciĆ³nĀ» la cual es un algoritmo para comprimir y descomprimir las nuevas direcciones de 32 bytes, para que asĆ puedan funcionar sin problemas con los contratos inteligentes.
Resistencia a colisiones: lo posible de lo imposible
Un hash es un algoritmo bĆ”sico. Posee una entrada y una salida bajo un formato Ćŗnico. Si la entrada tiene un cambio mĆnimo, sea una coma o un acento, la salida serĆ” totalmente diferente.
En criptografĆa, la resistencia a colisiones hace alusiĆ³n a la imposibilidad de que 2 entradas diferentes generen la misma salida. Cosa que, si bien parece imposible, matemĆ”ticamente es una posibilidad que existe. Esto se podrĆa traducir en que dos llaves privadas diferentes puedan tener acceso a una misma direcciĆ³n pĆŗblica.
Actualmente, la resistencia a colisiones de las direcciones de Ethereum es de 2^80. Esto indica que existe una probabilidad bastante pequeƱa de que se puedan crear dos entradas diferentes para una misma salida. PoniĆ©ndola en tĆ©rminos mĆ”s visuales, el valor de 2^80 es un 1 acompaƱado por otros 32 dĆgitos.
En perspectiva, un millĆ³n de trillones (cuatrillĆ³n) posee 25 dĆgitos. Con la nueva actualizaciĆ³n se pretende aumentar la imposibilidad hasta 2^160. Bitcoin actualmente cuenta con una resistencia a colisiones de 2^90.
Claro estĆ”, si bien es un dilema presente, el ser vulnerable a un ataque de esta Ćndole requiere que el atacante posea conocimientos muy avanzados en criptografĆa, ademĆ”s de contar con un supercomputador que permita ejecutar tal cantidad de iteraciones, hasta dar con las entradas del hash correspondientes.
ProtecciĆ³n ante la computaciĆ³n cuĆ”ntica
Dentro del foro en que fue publicada la propuesta de Vitalik, un usuario inquiriĆ³ que la propuesta de mejora deberĆa ir de la mano como protecciĆ³n ante una potencial sorpresa de la computaciĆ³n cuĆ”ntica. Como ya reportĆ³ CriptoNoticias sobre la supuesta supremacĆa cuĆ”ntica declarada por Google. Esto debido a que, de ser cierto, la computaciĆ³n cuĆ”ntica implicarĆa un crecimiento exponencial del poder de cĆ”lculo actual, lo que romperĆa, no solo las claves privadas de las criptomonedas, sino la criptografĆa del Internet tal y como lo conocemos.
Vitalik aseverĆ³, respondiendo la pregunta del usuario, que direcciones inclusive de 26 bytes son suficientes para la era postcuĆ”ntica.
Alternativa de 20 bytes
Al final de la propuesta, Buterin deja abierta la alternativa de que, si bien las direcciones de 32 bytes no sean aceptadas, se utilice un esquema de 20 bytes.
Estos serĆ”n utilizados en un formato divido: 15 bytes para el esquema de la direcciĆ³n y los 5 restantes para fijar una identificaciĆ³n, que permitirĆ” validar que el dueƱo de la direcciĆ³n sea una Ćŗnica clave privada. El identificador serĆa el mismo que se establecerĆa en las direcciones propuestas de 32 bytes.