Take The Money And Run

Sergio Fernández
Criptomandangas
Published in
3 min readFeb 13, 2018

Tu Wallet de Ethereum no existe, y es una de las principales características de la tecnología blockchain. Existen varias aplicaciones, dispositivos hardware o servicios web que permiten crear una cartera en Ethereum pero todos se basan en la misma tecnología.

La red de Ethereum está compuesta por nodos descentralizados que transmiten constantemente los bloques de la cadena. Si utilizamos como ejemplo la app oficial Ethereum Wallet primero se sincronizará con la cadena y, empezaremos a distribuir los nuevos bloques que nos lleguen de la cadena. Es decir, nos descargamos todos los bloques que forman parte de la cadena –como hace un cliente P2P BitTorrent– y nos convertimos en un nuevo nodo de la red de Ethereum.

Una vez conectados podremos realizar transacciones de Ether, desplegar Smart Contracts y podremos gestionar nuestros Tokens. Cuando creamos un Wallet (o una cuenta) estamos creando una clave privada con una contraseña. Esta contraseña se utiliza para desbloquear nuestra cuenta por un tiempo limitado y nos permite firmar transacciones para crear bloques válidos en la cadena.

Cryptopher Never Sleeps

Debemos asegurarnos de guardar nuestra clave privada en un lugar seguro y es por ello que existen los dispositivos hardware para almacenar nuestros Wallets, que aumentan la seguridad añadiendo una capa de seguridad cifrando este fichero. La diferencia entre un Cold Wallet y un Hot Wallet es dónde se almacena este fichero, pero la tecnología para realizar operaciones con nuestro Wallet es la misma.

Este fichero que creamos se suele conocer comúnmente como clave privada –no confundir con la contraseña–. Para crear esta clave privada, el protocolo Ethereum utiliza la especificación ECDSA. Simplificándolo mucho, crea un número de 256-bit que, normalmente, se suele reperesentar de forma hexadecimal con 64 caracteres.

3a1076bf45ab87712ad64ccb3b1021337f7bf37d8fe6

Existen distintos algoritmos para crear esta clave. El algoritmo usado por el cliente oficial de Ethereum Wallet es Scrypt. También existe el algoritmo Hierarchical Deterministic Wallet que, permite recuperar estas cuentas a partir de 12 o 24 palabras en lenguaje natural; este algoritmo es usado por MetaMask y por Cold Wallets como Ledger Wallet. Esta sería la estructura para un keystore file generado con Scrypt.

Keystore File

{
"address": "05a56e2d52c817161883f50c441c3228cfe54d9f",
"crypto": {
"cipher": "aes-128-ctr",
"cipherparams": {
"iv": "6087dab2f9fdbbfaddc31a909735c1e6"
},
"ciphertext": "5318b4d5bcd28de64ee5559e671353e16f075ecae9f99c7a79a38af5f869aa46",
"kdf": "pbkdf2",
"kdfparams": {
"c": 262144,
"dklen": 32,
"prf": "hmac-sha256",
"salt": "ae3cd4e7013836a3df6bd7241b12db061dbe2c6785853cce422d148a624ce0bd"
},
"mac": "517ead924a9d0dc3124507e3393d175ce3ff7c1e96529c6c555ce9e51205e9b2"
},
"id": "3198bc9c-6672-5ab3-d995-4942343ae5b6",
"version": 3
}

Colega, ¿dónde está mi Ether?

Una vez que realizamos nuestra primera transacción, se incluirá dentro de uno de los bloques que forman la cadena. Esta transacción se genera con una firma válida a partir de nuestra cuenta o wallet. Cada bloque de la red de Ethereum puede contener un conjunto de transacciones, ejecutar smart contracts o, simplemente, puede estar vacío.

En todas las transacciones de la red Ethereum siempre se realiza una transferencia de Ether entre la cuenta que solicita la ejecución de la transacción y el minero que la ejecuta. El minero conseguirá una recompensa si consigue introducir el bloque en la cadena y una comisión por ejecutar tu transacción.

Una vez el bloque generado ha sido introducido en la cadena y validado, podremos consultar el balance sobre nuestra cuenta. Tanto en nuestra aplicación del wallet, como en páginas como Etherscan nos permite consultar nuestro balance en la cuenta.

¡Es el mercado, amigo!

Para consultar el balance de una cuenta lo único que necesitamos es tener nuestro nodo –o app wallet– sincronizado con la red Ethereum y lanzar una consulta de cuántas transferencias se han hecho con nuestra cuenta. Por lo tanto, nuestra no almacena dinero per se, si no que es toda la información del blockchain la que nos dice cuanto Ether tenemos.

Podríamos resumir que la red de Ethereum es una gran 'hoja de cuentas' y que nuestros wallets no almacenan dinero, si no que se infiere de la hoja de cuentas.

--

--