Casos de uso de clave privada en ethereum blockchain al transferir la cantidad entre dos intercambios criptográficos

Estaba estudiando sobre la aplicación de clave pública y privada en criptografía. He trabajado en MetaMask (red de prueba de Ropsten) y sé cómo transferir el monto de una cuenta a otra usando la dirección de la cuenta. Pero una cosa que noté aquí es que mientras usamos la función web3 para transferir el ether, solo requerimos la clave pública tanto del remitente como del receptor.

web3.eth.sendTransaction({to: 'key1', from: 'key2', value:web3.toWei("0.0001", "ether")},

Sé que a pesar de tener las claves públicas, todavía necesitamos confirmar la transacción desde el final de la metamáscara para la cuenta 1 (desde la dirección) y después de confirmar, la transacción se procesará con éxito. El proceso de confirmación ocurre debido al proceso de firma, mientras confirmamos la transacción usando metamask (firmar digitalmente la transacción desde la clave privada), ¿ mi suposición sobre la firma digital es correcta?

Según el caso anterior, noté un problema similar cuando transferimos las cantidades entre los dos intercambios utilizando la dirección proporcionada por ellos. Supongamos que tengo dos cuentas en diferentes intercambios de cifrado, es decir, Binance y CoinDelta. Si tengo 50 Ether en mi cuenta de Binance y quiero enviar esos ethers a mi otra cuenta de intercambio, usaré la dirección de otra cuenta de intercambio (dirección de billetera CoinDelta). Entonces de esta manera podemos transferir los éteres de un intercambio a otro. Pero mis preocupaciones sobre este caso son las siguientes:

  • ¿Por qué no necesitamos ninguna confirmación como la que vemos en la metamáscara para transferir la cantidad?

  • ¿Dónde se almacena la clave privada del usuario en el intercambio de cifrado?

  • Si los intercambios criptográficos almacenan la clave privada del usuario, ¿entonces no hay seguridad porque el propietario puede realizar la actividad maliciosa en nombre de la cuenta del usuario?

  • ¿Cómo funciona realmente la transacción (transferencia de cantidad entre intercambios) entre intercambios sin tener las claves privadas?

Respuestas (1)

Respondiendo a cada uno de tus puntos clave:

  • Su suposición sobre la firma digital es realmente correcta . La clave privada se utiliza para firmar digitalmente los metadatos de la transacción (los campos desde, hasta, etc.) antes de transmitirse a la red blockchain.
  • No necesitamos ninguna confirmación porque ya hemos confirmado todas las acciones que se realizarán en la cuenta iniciando sesión con el nombre de usuario/correo electrónico y la contraseña correctos.
  • Las claves privadas se almacenan ( presumiblemente ) cifradas y se descifran a través de la conexión de red TLS o del lado del cliente para evitar que cualquier atacante malicioso acceda a su clave privada si el servidor está comprometido.
  • Se supone que debe confiar los intercambios en los que comercia con sus claves privadas . Así es como pueden recuperar sus fondos si olvida su contraseña, etc. Si bien es posible crear un esquema de cifrado asimétrico donde su clave privada se descifra durante cada sesión localmente, ningún intercambio conocido emplea dicho método .
  • Cada cuenta en cada red blockchain corresponde a una clave privada . Como tal, todos los intercambios, de una forma u otra, utilizan una clave privada al iniciar transacciones.