La semana pasada publiqué un primer artículo hablando de Safe, si no lo has leído, te recomiendo que vayas a verlo y después sigas con este.
Vamos a acabar aquí con Safe, una Software Wallet que es más segura, y no te lo crees, que algunos Hardware Wallets.
¿Qué son las Safe Apps?
Una Wallet en Safe no sería 100% usable si no nos permitiera hacer lo mismo que una EOA que tengamos hoy. Y las EOA actuales nos permiten interactuar con dApps como por ejemplo UniSwap y compañía.
Esa es la razón de que Safe haya implementado multitud de Safe Apps que funcionan de forma nativa.
Y por si acaso alguna que tu necesites no tuviera su equivalente, existe la opción de “Add Custom App”:
Limites de gasto
Esta funcionalidad es muy interesante. En una Safe con 3/4 “Signers” podrías llegar a configurar ciertos limites de gasto para que con cierta regularidad los “Signers” pudieran mover fondos solamente con una firma.
Los Límites de Gasto pueden ser únicos o recurrentes, diarios, semanales o mensuales.
Solamente los “Signers” pueden ser “destinatarios” de los pagos. Por supuesto para establecer, modificar o eliminar estos límites de gasto se aplican las condiciones que reinen en la Safe (3/4 por ejemplo).
Módulos
Lo anterior es un “Módulo”. Un Módulo es un control adicional para tu Safe. Básicamente un Safe es controlado de dos formas, por el propietario o propietarios con sus “keys” o por módulos opcionales con su propia lógica.
Como digo, un módulo es “Límites de Gasto”, y hay mucho más que pueden ser desarrollados como por ejemplo, transacciones recurrentes, pagos automáticos, accesos jerárquicos y muchos muchos más.
Guardian de transacciones
Safe es una Wallet Mulsitig que es controlada con N de M “Signers”. Significa que dicha wallet tiene M propietarios de los cuales N son necesarios para ejecutar una firma.
Gracias a un módulo esto puede ser “saltado”. Por ejemplo crear un Guardian de Transacciones
Los Guardianes de transacciones pueden realizar comprobaciones antes y después de una transacción en Safe. La comprobación antes de una transacción puede, por ejemplo, verificar todos los parámetros de la transacción respectiva antes de su ejecución.
Esta comprobación después de una transacción se ejecuta al finalizar la ejecución de la transacción y se puede utilizar, por ejemplo, para realizar comprobaciones sobre el estado final de Safe.
Añadiendo un “Signer” Mobile
La Safe que yo he creado fue inicialmente creada con 1/2 siendo 1 de los “Signers” la propia App. Para hacer esto solo tienes que instalar la App en tu dispositivo móvil (iOS o Android). Una vez en esa App tendrás que generar una Wallet EOA que conlleva una “Seed”.
Una vez hecho solo tienes que añadir esa dirección como “Signer” y en la propia App tendrás que añadir la Safe a gestionar.
Un firmante “Mobile” puede servir como un un propio backup, como 2fa, o como lo que quieras. Por ejemplo si tienes una Safe de 3/4, podrías pasarla a 3/8 y que cada firmante tuviera una firma en HWW y en “Mobile”. Aunque esto sería arriesgado, si que es mas que probable que se pudiera configurar un módulo para tener “pares de firmas”, es decir si firma X, ya no firma Y.
Riesgos de Safe y Resumen final:
Hemos probado Safe estos dias, 4 amigos. Además, como puedes ver hemos hecho alguna operación de añadir “Signers” y modificar el “Threshold”.
Es una forma curiosa de operar: uno plantea la operación y ya la estaría firmando (1/N), los demás deben ir firmando hasta que se cumplan los (M/N) configurados en la Safe:
¿Qué no me ha gustado?
En un mundo en el que no nos gusta la centralización Safe tiene un punto centralizado: Crear una Wallet en Safe solo permite que esta Wallet sea gestionada bajo Safe y su Smart Contract. No estamos en la situación en la que si no te gusta Safe/Ledger te pases a X/Trezor.
No existe ese X.
¿Podrías llegar a perder tus fondos? Not likely.
Aunque Safe quiere construir una solución 100% basada en la auto-custodia y es importante remarcar que nadie excepto los “Signers” pueden acceder a los fondos, modificarlos o bloquearlos.
Safe provee de algunas piezas de la solución en forma de UI/Interface pero Safe ha hecho posible que podamos interacturar directamente con el Smart Contract de Safe.
El código de la UI/Interface es código abierto, así como el indexador de transacciones, son código abierto y están plenamente disponibles.
Adicionalmente usuarios avanzados podrían usar una línea de comandos para comunicarse con el contrato.
¿A qué todo lo anterior te suena a Chino? Pues normal. Ahí reside el problema. Para el usuario medio si mañana la web de Safe es retirada o bloqueada no es tán fácil como ir a otra web a importar nuestra dirección.
O al menos a día de hoy.
Account Abstraction es todavía un mar de dudas. Cuando esté 100% implementado puede que cosas que pensamos que no se pueden hacer, se hagan.
Dudas:
¿Podremos en algún momento transformar nuestra EOA en una SC?
¿Tendremos la disponibilidad de movernos de Safe a otra App con libertad tal y como cambiamos hoy de Ledger a Keystone?
Pues no lo sabemos, pero aquí te lo voy a contar.
Pero piensa en cómo cambia el paradigma de una Wallet en la que si pierdes la semilla un “Signer”, lo sustituyes por otro.
Y ya.
oye Jay,
me he hecho una y he pasado mi sDAI ahi. Sin embargo, no se ven los tokens, solo Ether.
En debank si veo que estan.
Sabes donde esta la opcion de "add token" to be displayed in Safe?
Es una idea curiosa, pero bueno el concepto de Accpunt Abstraction me llama la atención desede luego.