Para hacer una transferencia bancaria, se usan el número de cuenta, la contraseña y la verificación del banco. En la cadena de bloques, ninguna institución te ayuda a verificar tu identidad; la red solo reconoce una cosa: la firma digital. Entenderla también te permite comprender por qué la clave privada es tan importante.
Criptomoneda relacionada: $BTC cotiza a 78,155.69 (24 h +0.66%).
Un par de claves:
La firma digital se realiza con un par de claves: la clave privada se usa para generar la firma y la clave pública, para verificarla. La clave privada es un número grande generado aleatoriamente; la clave pública se calcula a partir de la clave privada mediante operaciones con curvas elípticas. Bitcoin y Ethereum usan la curva secp256k1.
Esta operación es unidireccional: es fácil obtener la clave pública a partir de la clave privada, pero resulta computacionalmente inviable deducir la clave privada a partir de la pública. Por eso, la clave pública y la dirección derivada de ella pueden hacerse públicas; la clave privada solo debes custodiarla tú.
¿Qué demuestra una firma?
Cuando envías una transacción, la cartera firma su contenido con la clave privada y los nodos de toda la red lo verifican con la clave pública. Si la verificación es correcta, demuestra dos cosas a la vez: que la transacción proviene de alguien que posee la clave privada y que su contenido no se ha modificado después de firmarla. Si se cambia aunque sea un byte del importe o de la dirección del destinatario, la firma original ya no será válida.
Ten en cuenta que la firma no cifra el contenido de la transacción. El importe y la dirección de las transacciones en la cadena siguen siendo públicos para todos. La firma resuelve «quién la envió y si se modificó», no «si los demás pueden verla».
Cómo evitar que una transacción se use dos veces:
Todas las transacciones de Ethereum incluyen un nonce que aumenta progresivamente; un mismo nonce solo puede incluirse en un bloque una vez. La transacción también contiene el ID de la cadena (EIP-155), por lo que una transacción firmada no puede reproducirse en otra cadena. Bitcoin, en cambio, se basa en la regla de que cada salida no gastada solo puede gastarse una vez, lo que evita gastar las mismas monedas repetidamente.
Las firmas no sirven solo para transferir fondos:
La solicitud de firma que aparece en la cartera no siempre corresponde a una transferencia; también puede ser una autorización de tokens o un mensaje firmado fuera de la cadena. Algunas firmas fuera de la cadena, una vez firmadas, tienen el mismo efecto que una autorización directa: la otra parte puede usarlas para transferir tus tokens.
Por eso, antes de firmar, fíjate bien en el tipo de operación, la dirección con la que interactúas y la cantidad. Si no lo entiendes, no firmes todavía. Cualquiera que te pida la clave privada o la frase semilla para «verificar una firma» está intentando estafarte.
Hablemos de algo práctico:
En la cadena, la firma es como tu «firma manuscrita», y la clave privada es la única pluma capaz de escribirla. Si pierdes la pluma o alguien te la quita, no hay ninguna institución que pueda ayudarte a revocarla. Esta lección no tiene deberes, pero el mercado te hará un examen sorpresa. Ajusta tu posición a lo que puedas permitirte y deja siempre una vía de salida.
¿Qué opinan? Los invito a debatirlo en los comentarios.