Como la plataforma Ethereum se basa en el algoritmo hash Keccak256, me gustaría comprenderlo mejor.
Mi comprensión aproximada es algo como esto:
una función que acepta un conjunto finito de bits en un cubo de rubik imaginario gigante que luego se desvía de una manera específica. Luego se devuelve un subconjunto de 256 bits. La función tiene la propiedad de que un cambio en un solo bit de entrada hace que la salida cambie de forma impredecible.
¿Es lo anterior aproximadamente cierto? Puede ver de dónde saqué la idea del cubo de rubik si observa la Figura 1 aquí (creo que esta es la especificación correcta).
También está esto , que he leído, pero no me he empapado realmente .
¿Cómo funciona la función hash Keccak256?
Keccak es bueno porque tiene entradas arbitrarias y un espacio de entrada infinito. Esto permite "hacer un hash" de un archivo súper grande donde cada entrada hace que el estado interno se altere un poco más. El hash debería cambiar por completo si un solo bit de datos en la fuente es diferente, a diferencia de, por ejemplo, un CRC32 o una suma de verificación. Significa que tu contraseña podría tener un millón de caracteres, tal vez. Se almacena en el disco como un hash, mucho más pequeño en tamaño.
Con respecto a Keccak, usa una "construcción de esponja", el señor sabe lo que se lee aquí: https://keccak.team/keccak_specs_summary.html Si entiendo que es una permutación elegida de un conjunto de siete permutaciones de Keccak, denotado supongo por referencia a sus profundidades de bits como b∈{25,50,100,200,400,800,1600}.
El estado está organizado como una matriz de 5×5 carriles, cada uno de longitud w∈{1,2,4,8,16,32,64} y 25 celdas de profundidad. Cuando se implementa en un procesador de 64 bits, un carril de Keccak se puede representar como una palabra ordenada de CPU de 64 bits.
Finalmente, incluso para entretenerse con la idea de que una entrada similar cause colisiones, debe imaginar estos datos atravesando desde la base 25, a través de la base 50, hasta 1600 y viceversa. El dinero inteligente se basa en que es bastante resistente a las colisiones (¿es el objetivo del diseño?).
ética
ética
Sotavento
Daniel Luca CleanUnicornio
Heraldo
Sotavento
Daniel Luca CleanUnicornio
Jaime