Para hacer una transferencia bancaria, se usan el número de cuenta y la contraseña, y el banco verifica la operación. En la cadena de bloques, no hay ninguna institución que compruebe tu identidad; la red solo reconoce una cosa: la firma digital. Entenderla también permite entender por qué la clave privada es tan importante.
Al enviar $BTC , la billetera firma la transacción con la clave privada y los nodos de toda la red verifican esa firma con la clave pública. Actualmente: 74,104.5 (24 h +0.58%).
— Un par de claves —
Las firmas digitales se crean 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 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 es 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, pero la clave privada solo debes custodiarla tú.
— ¿Qué demuestra una firma? —
Al enviar 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 procede de alguien que controla la clave privada y que su contenido no se ha modificado después de firmarla. Si se cambia aunque sea un solo byte del importe o de la dirección del destinatario, la firma original ya no se podrá verificar.
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 la cuestión de «quién la envió y si se modificó», no la de «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; cada nonce solo puede incluirse en un bloque una vez. Las transacciones también incluyen el ID de la cadena (EIP-155), de modo que una transacción firmada no se puede reproducir en otra cadena. Bitcoin, en cambio, se basa en la regla de que «cada salida no gastada solo puede gastarse una vez» para evitar que se gasten los mismos fondos más de una vez.
— Las firmas no sirven solo para transferir fondos —
Una 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, comprueba el tipo de operación, la dirección con la que interactúas y la cantidad. Si no lo entiendes, no firmes. Cualquiera que te pida la clave privada o la frase semilla para «verificar una firma» es un estafador.
— Para terminar —
En la cadena, la firma es como tu «firma manuscrita», y la clave privada es el único bolígrafo capaz de escribirla. Si pierdes el bolígrafo o alguien te lo quita, ninguna institución podrá ayudarte a revocarla. Desconfía de quienes prometen rendimientos altos y estables.
¿A alguien más le ha pasado algo parecido? Cuéntalo para que los demás no cometan los mismos errores.