Ethereum Account Abstraction: 😵
Esto si que no te lo esperabas. La mayor actualización de Ethereum.
¿Sabes lo que es una IP?
Seguro que si. Es esto: 172.217.14.227. Si haces click sobre ese enlace, ¿Qué se abre?
Si, se abre Google. ¿Y qué es más fácil recordar? ¿11 números o Google?
Pues todas las webs se alojan en IPs, que no son otra cosa que direcciones de servidores, es decir ordenadores dónde se alojan los archivos que tu ves en tu pc cuando navegas. Cuando Internet empezó todo eran IPs, hasta que se estableció el sistema de direcciones/dominios actual que nos permite no tener una agenda de números para acceder a las webs. Cada dirección apunta a una URL (muy simple).
Eso es lo que se llama una mejora en la UX, la UX es como un usuario percibe la experiencia de usar algo. Mejorarlo conlleva a una mayor adopción ya que hay más personas con capacidades suficientes para entender y usar con facilidad un programa, Internet….
O la blockchain.
Hoy vengo a darte unos atisbos de lo que será una de las más relevantes mejoras de Ethereum que no afecta para nada a su funcionamiento. No añade nada que no podamos hacer, solo que lo hace… Más fácil.
Empezamos.
No te sorprenderá si te digo que uno de los mayores problemas que tiene la Web3 es lo que llaman la UX (user experience). Pero antes te voy a explicar lo que es la Web3:
Web3 es el nombre que algunos tecnólogos le han dado a la idea de un nuevo tipo de servicio de internet construido utilizando cadenas de bloques descentralizadas, es decir, los sistemas de registro compartido que utilizan criptomonedas como Bitcoin y Ethereum. Info.
El estado actual de la Web3 (interactuar con ella) tiene ciertos requisitos, llamémoslos incomodos, que no son 100% accesibles para todo el público y con una alta posibilidad de fallo. Míralo.
1. Creamos una wallet.
Una wallet es dónde tu guardas todos tus criptoactivos. Y también funciona como tu identidad, usuario y password. Es decir además de para almacenar Ethereum y Bitcoin mi wallet puede servir para identificarme, no con mi nombre y apellidos sino para acceder a ciertos servicios o webs, sin dar mis datos personales.
Pero.
El password de esa wallet no es una password normal. No. Es una semilla compuesta por una serie de palabras aleatorias (ver aquí como se genera) y tienes que ser super cuidadoso de no perderlas ya que….no hay un “Olvide mi contraseña”. Si pierdes la contraseña de tu wallet, a la que llamamos semilla o seed, lo has perdido todo.
¿Quieres cambiar tu contraseña? No puedes. Deberías mover todos tus fondos a una nueva wallet, con una nueva contraseña. De nuevo, aleatoria.
Sigamos.
¿Quieres un extra de seguridad? ¿Quizás un 2FA, es decir uno de esos sistemas para confirmar las transacciones con un segundo dispositivo? No puedes. Tu extra de seguridad sería conservar tu semilla usando un X-Seed, un Notebook Wallet o algo similar. Y eso no sustituye en nada al 2FA. Podrías poner un sistema multisig (necesitas varias firmas para hacer una transacción) o contratar una empresa que guarde tus activos (Safe, CASA, Prosegur Crypto), tal y como vimos aquí.
2.Hagamos cosas.
Ahora tienes tu wallet, y quieres comprar unos NFTs, o meterte en DeFi. Pero necesitas… GAS.
El Gas en Ethereum es una unidad de medida utilizada para medir el trabajo realizado por Ethereum para realizar transacciones o cualquier interacción dentro de la red.
Es decir, cada vez que tu quieras hacer algo en la red de Ethereum, dependiendo de lo que vayas a hacer tienes que pagar una comisión, denominada GAS y que varía según esté saturada la red. Aquí tienes un estado actual del precio del gas.
El GAS en Ethereum se paga con Ether, así que necesitas….si Ether. Podrías pedirlo a un amigo, o podrías comprarlo en Bitget. Tu solo quieres comprar un JPG, y estás registrándote ya en varias webs y en algunas de ellas tendrás que subir hasta una factura de la luz, y no es broma.
Y tu solo quieres unos céntimos de Ether para que te puedan entregar tu JPG, y vas a tener que meter un importe mínimo y pagar una comisión de retirada de hasta el 20 veces más de la real de la red.
Algunos Exchanges pueden llegar a cobrarte 10$ mientras ellos pagarán menos de 0,50$
3. Más cosas.
Ya tienes tu Ether. No sabemos si ha sido fácil o no, caro o barato. Tienes tu Ether en tu Metamask, que es gratis. Y cuando quieres hacer algo te saltan ventanitas diciéndote que autorices una cosa, firmes otra, que pongas un precio al gas, una velocidad de transacción, y que si son varias transacciones hagas una, esperes que se confirme (que puede llegar a tardas horas en algún caso) y luego la otra.
Y tu solo querías un puto JPG.
Y la gente siempre te ha dicho “Ten much cuidado con lo que firmas”. No, si cuidado tienes, pero no entiendes una puta mierda lo que firmas. Si tener cuidado es ponerme un casco y unas coderas lo hago, pero sigo sin saber que cojones firmo ni que hago.
Resumen de lo anterior: La Web3 es una puta basura.
Ahora veamos como sería el viaje anterior con lo que en Ethereum se llama “Account Abstraction”.
1. Creamos una wallet.
Pero antes, una cosa. En el estado actual de Ethereum hay dos tipos de cuentas:
Externally Owned Accounts (EOA)
Contract Accounts (CA).
Tu seguramente tienes una EOA, que está compuesta por un saldo en Ether, un nonce que es un contador de transacciones, y una dirección única en la red.
En el estado actual de Ethereum para hacer una modificación en la red (mintear un NFT, enviar Ethereum, hacer un swap) se inicia una transacción desde una EOA que interactúa con un CA por la que paga un gas, en Ether. ¿Lo has entendido?
No, porque es una puta mierda. Venga, volvemos a “Account Abstraction”, en lo sucesivo lo llamo AA, porque no se si la “s” va antes o después de la “t”.
Con AA activado no tienes una EOA, tendrás una “smart contract wallet”. Y te darán también una seed o semilla. Pero te van a decir:
Hey! Guarda tu semilla. Es importante. Pero no pasa nada si la pierdes, hay muchas formas de recuperarla:
Puedes hacer que alguien de tu confianza te identifique como el dueño de esta wallet usando sus credenciales.
O usar una wallet secundaria bajo tu control para hacerlo.
O puedes usar una empresa que tenga un sistema de recuperación.
O todas a la vez o mejor, no pierdas la semilla.
Es decir tienes tu semilla, pero si la pierdes puedes recuperarla 🤯.
¿Y si te digo que puedes cambiar tu semilla sin moverlos fondos a otro sitio? Pues te lo digo: Podrías 🤯.
2.Hagamos cosas.
Ahora quieres mintear un NFT. Se acabó pedir GAS o comprar Ether. Se implementará una opción llamada Gas Sponsporship, dónde un tercero podrá pagar el GAS por ti. ¿Te imaginas que cuando usas la web actual, como entrar en Gmail, Google te pidiera que pagaras la luz del servidor que estás usando?
Así estamos actualmente. Esta es la Web3 que tenemos.
Adicionalmente existirán figuras como las multicalls y session keys que van a evitarte ventanitas de firma de forma continua.
Y ya está.
Profundicemos
Esto ha sido un breve ejemplo de lo que tenemos y lo que deberíamos tener y supuestamente tendremos. Pero existen más cosas. La introducción de AA permitirá que podamos pagar el GAS en otro token que no sea Ethereum.
¿Has dicho multicall?
Como hemos dicho anteriormente, en el estado actual, cada transacción tiene que confirmarse antes de hacer la siguiente. Pues bien, multicall permitirá unirlas todas un una sola (batch), y firmar una sola vez. Ahorramos GAS y tiempo. Es algo ideal para interactuar, por ejemplo, con UNISWAP.
¿Has dicho session keys?
Hay algunos juegos para Web3, no he jugado a ninguno. Pero imagina que estás jugando a Ajedrez y cada movimiento que haces se registra en la blockchain. De esta manera no existe la opción de que deshagas un movimiento cuando tu contrario no está en la partida.
Pues si juegas hoy, cada movimiento sería una firma en la blockchain. Aun en el caso de que cada movimiento involucrara 1 milésima de céntimo, tendrías que firmar una transacción por cada movimiento, lo cual puede llegar a implicar tres o cuatro clicks, y peor aún si usas un Hardware Wallet.
Pues bien, session keys existirá para dar acceso temporal a una aplicación/juego que solo pueda ejecutar la función movePiece en tu wallet. Así que cada movimiento no implicará una firma. Está todo autorizado, pero por un periodo de tiempo y a una o varias funciones concretas.
AA no va a cambiar la forma en que se ejecutan las transacciones en Ethereum, solamente va a dar más flexibilidad a como las transacciones se validan. Más información sobre las session keys aquí.
¿Has dicho Transactions Guards?
¿Y si quieres proteger tu wallet? Incluso de ti mismo. Podrías limitar el gasto de una wallet para impedirte hacer una compra impulsiva o que tu wallet fuera vaciada, limitando la máxima salida de fondos a $100 diarios.
¿Has dicho Delegate Assets?
Imagina que depositas tus activos en un contrato para que te den/presten cierta cantidad de dólares. Lo expliqué cuando hablamos de lo que era una Margin Call. Eso te obliga a continuamente estar vigilando como se portan los precios de las cosas para reducir tu exposición y que no te liquiden.
Con AA podrías preparar una dApp que cierre posiciones si tu colateral está en peligro, sin dar acceso completo a tus fondos.
Adicionalmente podrías también ceder temporalmente un NFT, o alquilarlo si dicho NFT diera acceso a ciertos privilegios. Y todo ello sin perder el control de tu NFT ni ponerlo en peligro.
¿Spam Filter?
¿Tienes tu wallet llena de tokens que te envían al azar con la intención de robarte si los intentas vender o quitar de tu wallet? Se acabó. Podrías rechazar una transacción entrante si no tiene de una lista pre-autorizada de activos.
Y todo ellos gracias a la AA = Account Abstraction.
¿Sabes eso de que la Computación Cuántica puede romper Bitcoin y Ethereum?
Pues a Ethereum le van a comer los huevos. AA hace a Ethereum Quantum-Resistent.
La Auto-Custodia
En lo que se llama El Desafio de la Adopción en masa, se trata el problema de que para beneficiarnos de un sistema financiero global y transparente actualmente pivotamos sobre ciertos aspectos que suponen una barrera de entrada para muchos actores.
Permitir que el usuario tenga una forma segura, fácil y simple de interactuar con la Web3 es un necesidad.
¿Esperamos que la gente pida prestado, preste, invierta y pague en un sistema financiero sin redes ni coberturas? ¿Has perdido tu seed y lo has perdido todo? ¿alguien accedió a tu wallet y todo se acabó?
Dicho de otro modo, ¿tendrías tu dinero en el banco si no hubiera cobertura ni seguridad alguna? La custodia de los fondos es una cosa para la que ni todo el mundo está preparado ni todo el mundo quiere hacerlo.
La implantación de AA podría ser el fin de la seed/semilla. Gracias al Social Recovery como guardes tu semilla pasa a un segundo plano, no pierdes el control de tus fondos y mantienes una cobertura en el caso de que tu semilla desaparezca de tu control.
Historia
AA no acaba de llegar. Está en la mente de Vitalik desde 2016.
Hay varias maneras de que lleguemos a tener AA operativo. Se podrían modificar las EAO para hacerlas más programables, o actualizar los CA para permitirles iniciar transacciones. Se necesitan, eso si, algunas EIP (Ethereum Implemental Proposal - Mejoras de Ethereum) antes de nada.
Actualmente StarkNet y zksync soportan ya AA. EIP-4337 lo traerá al resto de redes EVM, actualmente está en borrador.
¿Llegará? Pues debería, ya que realmente escala la experiencia del usuario y simplifica muchas cosas, sin suponer, a día de hoy, un detrimento de la seguridad. El usuario seguirá siendo responsable de muchas de las acciones que el mismo programe, pero será mucho más intuitivo.
En este enlace puedes leer aspectos técnicos y detallados del pasado y futuro de la AA.
Resumen:
AA llegará. Hay muchos aspectos por definir. Muchas de las cosas aquí escritas no serán exactamente así y habrá muchas cosas nuevas y puede que alguna no llegue a terminar de aplicarse.
Lo que si es cierto es que su puesta en marcha puede ser un revulsivo muy importante al uso de la blockchain. La adopción no llegará al sistema como funciona actualmente.
Seguiremos contándote cosas de como evoluciona la implementación de Account Abstraction en Ethereum, y otras redes (que una vez tengan todo desarrollado, pues lo copiaran).
Saludos.
Fuentes:
Que buen artículo, me gusta mucho tu forma de explicar 👏
Web3 en pañales, entiendo que facilite la adopción pero también nos enfrentaremos a nuevos problemas de seguridad. Veremos! Gracias