¿Por qué se codifican los bloques?

¿Tengo razón en que las direcciones se codifican para comprimir un enorme coprimo representado por texto en algo de tamaño manejable?

¿También tengo razón en que las transacciones se cifran por la misma razón y también porque :

Para crear claves de firma RSA, genere un par de claves RSA que contenga un módulo N que sea el producto de dos números primos grandes, junto con números enteros e y d tales que ed ≡ 1 (mod φ(N)), donde φ es el phi de Euler. función. La clave pública del firmante consta de N y e, y la clave secreta del firmante contiene d.

Para firmar un mensaje m, el firmante calcula σ ≡ md (mod N). Para verificar, el receptor comprueba que σe ≡ m (mod N).

Como se señaló anteriormente, este esquema básico no es muy seguro. Para evitar ataques, primero se puede aplicar una función hash criptográfica al mensaje m y luego aplicar el algoritmo RSA descrito anteriormente al resultado.

?

No puedo encontrar una razón para que los bloques se conviertan en hash, excepto para reducir la velocidad a la que se verifican las transacciones, por lo que se extrae un nuevo suministro. ¿Es esto correcto? Si no es así, ¿por qué se codifican los bloques?

Diría "no" a las 3, lo que significa que tal vez quiera leer más sobre cómo funciona Bitcoin...
@MeniRosenfeld ¡Gracias por mirar a Meni Rosenfeld! ¿Te importaría publicar algunos enlaces para que pueda aprender más? He intentado leer todo lo que puedo, pero parece que no puedo encontrar motivaciones explícitas para cada tecnología individual. ¡Muchas gracias de antemano!

Respuestas (1)

La criptografía de clave pública de Bitcoin no se basa en RSA, sino en Elliptic Curves, por lo que la clave no es un gran coprime (de hecho, ECC logra lograr un nivel similar de seguridad con claves mucho más pequeñas).

Sobre por qué los bloques son hash, la razón no es para ralentizar nada, sino todo lo contrario: es para acelerar la verificación de que un bloque "sigue" a los otros bloques en la cadena de bloques. No se necesita el hash para verificar las transacciones (ya sea en el bloque actual o en los anteriores), pero dado que cada bloque contiene el hash de todos los bloques anteriores (de una manera compacta conocida como Merkle Tree), uno no puede simplemente crear un bloque "aislado" de la cadena de bloques (tomando todo el tiempo que sea necesario) y luego simplemente "insértelo" en la cadena de bloques para ganar la recompensa; es necesario que se conozca un bloque anterior antes de que se cree uno nuevo válido.

La parte "difícil" es crear un hash que satisfaga los criterios de dificultad. Una explicación concisa del proceso se da en esta respuesta . Pero uno no necesita "revertir el hash" ni nada por el estilo por ningún motivo.