Releyendo el libro “Mastering Ethereum” (2018), escrito por Andreas Antonopoulos y Gavin Woods, me di cuenta de que hoy en día es muy importante aclarar algunos puntos centrales sobre los Smart contract y los tipos de billeteras para almacenar los tokens de la red de Ethereum.
Hay mucha confusión sobre los tipos de billetera, la tecnología evoluciona muy rápido. En esta nota de emprendolibre.com vamos a analizar los dos tipos de billetera más populares junto con las cuentas EOA y las Smart contract wallet de la red de Ethereum.
Para empezar te recomiendo mi podcast en Spotify:
Comencemos!!
Contenidos
¿Qué es una billetera erc20?
ERC20 es un token estándar perteneciente a la plataforma Ethereum, el cual se establece como un protocolo a seguir para regular la emisión de nuevos tokens en la red. Su objetivo ha sido crear la interoperabilidad entre tokens e impulsar mejoras en su propio ecosistema.
Los tokens ERC20 se usan exclusivamente en la plataforma Ethereum. El término ERC20 significa “Solicitud de comentarios de Ethereum” y 20 es un número de identificación único que se utiliza para distinguir el estándar de token de otros tokens.
Las carteras, monederos o billeteras son como llaveros que contienen pares de claves privadas y públicas. Los usuarios firman transacciones con las claves privadas, lo que demuestra que poseen el éter. El éter se almacena en la cadena de bloques (blockchain).
¿Cómo funciona una Wallet?
Una wallet es un software que almacena tus claves públicas y privadas (siempre van juntas) y te permite enviar y recibir criptomonedas a través de la blockchain, almacenar las que quieras y controlar siempre que quieras tu saldo.
Tipos de billeteras de Ethereum
Hay dos tipos principales de billeteras de Ethereum, que se distinguen por si las claves que contienen están relacionadas entre sí o no.
El primer tipo es una billetera no determinista, donde cada clave se genera independientemente de un número aleatorio diferente. Las claves no están relacionadas entre sí. También se conocen como billetera JBOK, por la frase “Just a Bunch of Keys”.
El segundo tipo de billetera es una billetera determinista, donde todas las claves se derivan de una sola clave maestra, conocida como semilla. Todas las claves en este tipo de billetera están relacionadas entre sí y pueden generarse nuevamente si uno tiene la semilla original. Hay varios métodos de derivación de claves diferentes utilizados en carteras deterministas. El método de derivación más utilizado utiliza una estructura en forma de árbol.
Para hacer que las billeteras deterministas sean un poco más seguras contra accidentes de pérdida de datos, como el robo o pérdida de tu teléfono, las semillas a menudo se codifican como una lista de palabras (en inglés u otro idioma) para que las escriba y las use en caso de recupero. Estas se conocen como palabras de código mnemotécnico. Por supuesto, si alguien obtiene tus palabras de código mnemotécnico, también puede recrear tu billetera y así obtener acceso a tus contratos y a tus fondos y podría robártelos.
¿Cuáles son los dos tipos de cuentas en ethereum?
Cuentas de propiedad externa (EOA)
Las EOA son el tipo de cuenta que se crea, por ejemplo, en la billetera Metamask. Las cuentas de propiedad externa son aquellas que tienen una clave privada; tener la clave privada significa tener el control sobre el acceso a fondos o contratos. Estas cuentas traen consigo billeteras determinísticas (con las palabras semillas de recuperación).
Cuentas de contrato inteligente (Smart contract account)
Una cuenta de contrato (Smart contract wallet) tiene un código de contrato inteligente, que un EOA simple no puede tener. Además, una cuenta de contrato no tiene una clave privada, ya que es propiedad (y está controlada) por la lógica de su código de contrato inteligente: el programa de software registrado en la cadena de bloques Ethereum en la creación de la cuenta del contrato y ejecutado por el Ethereum Virtual Machine (EVM).
Diferencias entre EOA y cuentas de contrato
- Los contratos (Smart contracts) tienen direcciones, al igual que los EOA.
- Los contratos también pueden enviar y recibir éter, al igual que los EOA.
- Sin embargo, cuando un destino de transacción es una dirección de contrato, hace que ese contrato se ejecute en el Ethereum Virtual Machine (EVM), utilizando la transacción y los datos de la transacción como su entrada y, por lo tanto, consume gas.
- Hay que tener en cuenta que debido a que una cuenta de contrato no tiene una clave privada, no puede iniciar una transacción, pero la EOA sí puede.
- Solo los EOA pueden iniciar transacciones, pero los contratos pueden reaccionar a las transacciones llamando a otros contratos, construyendo rutas de ejecución complejas.
Un uso típico de esto es un EOA que envía una transacción de solicitud a una billetera de contrato inteligente de múltiples firmas para enviar algo de ETH a otra dirección. Un patrón de programación DApp (aplicación descentralizada) típico es tener el Contrato A llamando al Contrato B para mantener un estado compartido entre los usuarios del Contrato A.
¿Por qué se consume gas al interactuar en la red de Ethereum?
La blockchain Ethereum es un sistema Turing completo, esto significa que es la computadora del mundo y puede consumir los recursos del sistema de forma infinitiva. En el intento por limitar los recursos que pueda utilizar al realizar una transacción en la red, se utiliza el gas, que se paga con el token nativo de la red que es el Ether (ETH).
Además de ether, las transacciones pueden contener datos que indican qué función específica en el contrato ejecutar y qué parámetros pasar a esa función. De esta manera, las transacciones pueden llamar funciones dentro de los contratos.
Consideraciones a la hora de interactuar con Ethereum wallets
Una consideración clave en el diseño de billeteras es equilibrar la comodidad y la privacidad. La billetera Ethereum más conveniente es una con una sola clave privada y dirección que reutiliza para todo. Desafortunadamente, tal solución es una pesadilla de privacidad, ya que cualquiera puede rastrear y correlacionar fácilmente todas sus transacciones.
Usar una nueva clave para cada transacción es lo mejor para la privacidad, pero se vuelve muy difícil de administrar. Es difícil lograr el equilibrio correcto, pero es por eso que un buen diseño de billetera es primordial.
Otro punto para tener en cuenta es que cada vez que hacemos una llamada de contrato, por ejemplo, al invertir en los protocolos de finanzas descentralizadas como Aave o Compound, se consume gas. Para transferir también se consume gas, solo que algunas billeteras lo traen subsidiado para incentivar su uso y adopción.
En la billetera de Ethereum se almacena tus llaves
Un error común sobre Ethereum es que las billeteras de Ethereum contienen éter o tokens. De hecho, muy estrictamente hablando, la billetera solo tiene llaves. El éter u otras fichas se registran en la cadena de bloques Ethereum. Los usuarios controlan los tokens en la red firmando transacciones con las llaves en sus billeteras.
En cierto sentido, una billetera Ethereum es un llavero, dado que las llaves que almacena la billetera son lo único que se necesita para transferir éter o tokens.
¿Cuáles son las Wallet más seguras?
Las billeteras son tan seguras como sus usuarios. Lo más recomendable es elegir una wallet que te de tus llaves privadas (cifradas en las semillas o frases de recuperación) para almacenar tokens.
Si la billetera no te da las llaves privadas, puedes usarla mejor para intercambiar tokens, como un puente, pero no para almacenar tokens allí. (Esta es mi recomendación personal).
No te olvides de hacer copias de tus frases de recuperación en papel y guardarlas en lugares seguros. Si pierdes tus semillas (seeds), pierdes el acceso a tus fondos en tu billetera.
Ledger wallet y ethereum
En mi opinión, la wallet más segura son aquellas “cold wallets” que generan las palabras de recupero en frío (sin conexión a internet). Uso de hace muchos años Ledger wallet y siempre he tenido muy buena experiencia, por lo que la recomiendo. Puedes conseguir Ledger aquí y te la envían a tu domicilio:
https://shop.ledger.com/?r=688da47769b5
¿Con qué wallet sale más barato el gas?
Argent Wallet era especial porque tuvo subsidiado todo el gas para transferencias, intercambios de tokens y DeFi. Desde el 24 de julio ya no es posible, así que hay que pagar el gas.
Recomiendo Ledger Wallet porque es muy barato para realizar intercambios de tokens en su DEX (intercambios descentralizados), sale cuestión de centavos de dólar o un par de dólares como caro.
En cambio, Trust Wallet no te permite elegir el gas, pero tampoco resulta barata para hacer intercambio de tokens en su DEX. De hecho, en Trust Wallet un intercambio de tokens puede salir más de 20 dólares, independiente el monto que se intercambie
Ethereum wallet app y para windows
Hay una gran variedad de billeteras de Ethereum. Si estás recién comenzando te recomiendo Argent Wallet, y si te gusta la practicidad y el buen diseño, también.
Si necesitas programar e interactuar con contratos, Metamask es la opción más completa ya que se puede acceder a distintas redes de prueba, además de la mainnet de Ethereum.
Argent Wallet, que es una muy buena billetera para tokens en la red de Ethereum, no te da tus llaves privadas, pero Metamask sí.
A continuación, te recomiendo que leas y aprendas más sobre estas billeteras, Argent Wallet y Metamask:
También, puedes almacenar tus tokens en billeteras de software como Trust Wallet, Exodus y Coinomi. La verdad es que me gustan mucho estas 3, así que las puedes conocer en profundidad en las siguientes notas:
Ethereum y DeFi
Ethereum llegó en 2015 para quedarse. Su cofundador es Vitalik Buterin y toda la comunidad que lo ayudó a cocrear la blockchain de Ethereum, entre ellos el mismísimo Gavin Woods, coautor del libro que mencionaba antes.
Lo fundamental es cambiar la mentalidad de tratar con el sistema centralizado de la banca convencional, donde solo el usuario y el banco pueden ver el dinero en su cuenta, al sistema descentralizado de plataformas blockchain, que es transparente y donde todos pueden ver el saldo de una cuenta (aunque sin conocer al propietario de la cuenta). Las finanzas descentralizadas, o DeFi como se lo suele llamar, llegaron para quedarse. Es el gran cambio de paradigma financiero que el mundo estaba esperando y necesita.
El mundo DeFi está en la red de Ethereum, por eso que es muy importante informarse, leer y auto educarse en el tema, para invertir con fundamentos y usar esta maravillosa tecnología, de la que estamos siendo pioneros. Aún estamos a tiempo.
Te invito a leer esta nota que hice sobre DeFi:
Sobre Mastering Ethereum
Este fue uno de los mejores libros que he leído sobre blockchain y criptomonedas. Con fundamentos teóricos claros y ejemplos sencillos de comprender para cualquier tipo de usuario. Comienza con los fundamentos y luego explica el lenguaje de programación de Ethereum, que se llama Solidity y fue creado por Gavin Woods.
Si te interesa este libro, te lo puedo compartir por Telegram, sigue el canal “Emprendo libre” ( https://t.me/emprendolibre ) y allí lo verás en los mensajes o en archivos del grupo.
Sabrina
El libro está destinado a servir como manual de referencia y como una exploración de principio a fin de Ethereum. Los primeros dos capítulos ofrecen una introducción suave, adecuada para usuarios novatos, y los ejemplos en esos capítulos pueden ser completados por cualquier persona con un poco de habilidad técnica.
Esos dos capítulos le darán una buena comprensión de los conceptos básicos y le permitirán usar las herramientas fundamentales de Ethereum. El Capítulo 3 y posteriores están destinados principalmente a programadores e incluyen muchos temas técnicos y ejemplos de programación.
Los ejemplos se ilustran en Solidity, Vyper y JavaScript, y utilizan la línea de comandos de un sistema operativo tipo Unix. Todos los fragmentos de código están disponibles en el repositorio de GitHub en el subdirectorio de código.