Omar Piñeiro

Omar Piñeiro

Ingeniero en Software y Tecnologías para la Sociedad de la Información y máster en Ciberseguridad, ambos por la UPM.

Actualmente soy desarrollador principal en el equipo de Blockchain de Telefónica Tech. Me apasiona afrontar nuevos retos y seguir aprendiendo, tanto en el ámbito del desarrollo como en otras áreas tecnológicas.

AI & Data
Oráculos: cómo las redes Blockchain se conectan con el mundo real
Todos hemos oído alguna vez como definición de contratos inteligentes en la blockchain aquello de que se trata de contratos que se ejecutan de manera automática, sin intervención humana, cuando se cumplen ciertas condiciones. Los ejemplos más utilizados son: el pago automático de un seguro cuando se retrasa un vuelo, liberar un premio si gana un equipo o calcular un interés cuando cambie el tipo oficial. Todo suena muy bien, pero hay un pequeño problema: las redes blockchain, por diseño, viven en su propio mundo. No pueden saber de manera autónoma cuando se ha producido el retraso de un vuelo, si un equipo ganó o si se actualizaron los tipos de interés. Entonces, ¿cómo podemos hacer que la red blockchain “se entere” de lo que pasa fuera de ella? Es más, ¿por qué decimos que los contratos inteligentes se ejecutan automáticamente si no se enteran de nada de lo que pase fuera? Ahí es donde entran los oráculos. ¿Qué es un oráculo? El nombre viene de la mitología griega. Los oráculos eran quienes podían “hablar con los dioses” y revelar información desconocida. En el contexto de blockchain, la idea es parecida: un oráculo es un sistema que actúa como intermediario entre el mundo real y las redes blockchain. Su función es traer información de fuera de la red, como por ejemplo precios, datos meteorológicos o resultados deportivos, y no sólo ponerla a disposición de los contratos inteligentes que la necesiten para ejecutarse, sino incluso invocar al contrato y lanzar su ejecución. Sin embargo, ¿por qué las redes blockchain necesitan oráculos? A diferencia de un programa tradicional, un contrato inteligente se ejecuta en miles de ordenadores de forma sincronizada. Para que todos lleguen al mismo resultado, las reglas deben ser totalmente deterministas; es decir, no puede haber margen de interpretación. Esto asegura el consenso, ya que todas las copias del sistema deben registrar exactamente el mismo estado. Un oráculo actúa como puente fiable entre la blockchain y datos del mundo real. Por eso un contrato inteligente no puede ejecutarse en base a datos aleatorios ni consultar directamente fuentes externas. Si cada nodo accediera a internet y leyera, por ejemplo, la temperatura actual en Madrid, cada uno podría obtener un número distinto, todos ellos correctos, pero en contextos diferentes. Las discrepancias pueden venir de la fuente última del dato (todos sabemos que la temperatura de Madrid varía ligeramente en función de las distintas fuentes que se consulten) o, incluso consultando la misma fuente (los datos de una estación meteorológica concreta expuestos por Internet), la consulta de cada nodo es diferente, no están sincronizadas y de hecho pueden discrepar. Por tanto, asumiendo que las consultas de cada nodo de la misma información pueden ser diferentes, ¿cómo se ponen de acuerdo sobre el resultado? Si cada uno ejecutase el contrato inteligente con un dato de entrada diferente, la red blockchain dejaría de funcionar tal como la fuente de la verdad que conocemos. ■ Los oráculos solucionan este problema al actuar como una capa de confianza entre el mundo exterior y los contratos inteligentes. De manera muy simplificada, los oráculos obtienen los datos de una fuente, los validan y los envían a la blockchain de forma estructurada para que todos los nodos vean exactamente la misma información. Cómo funcionan los oráculos En la práctica, un oráculo recopila información fuera de la cadena, la firma digitalmente (para garantizar su autenticidad) y la publica dentro de la blockchain, donde cualquier contrato inteligente puede consultarla. Hay muchas formas de hacerlo, y dependiendo del tipo de datos o de la frecuencia con la que se actualicen, se pueden usar distintos modelos. Los oráculos de lectura inmediata son los más sencillos. Responden preguntas puntuales, como “¿esta persona tiene más de 18 años?” o “¿cuál es la dirección de tal servicio?”. —Suelen almacenar la información directamente en la blockchain, lista para ser consultada cuando se necesite. Luego están los oráculos de tipo publicación/suscripción, que funcionan como un canal de noticias. Publican datos que cambian a menudo, como los precios de las criptomonedas o la predicción del tiempo, y los contratos que se “suscriben” reciben actualizaciones cada vez que hay cambios. —Así, las aplicaciones no tienen que hacer la misma consulta una y otra vez, sino que permanecen al día automáticamente. Por último, existen los oráculos de petición/respuesta, pensados para manejar grandes volúmenes de información o consultas más complejas. Aquí, una aplicación envía una solicitud al oráculo (por ejemplo, “precio del oro actual”), el oráculo busca esa información, la verifica y la devuelve firmada. —Es un proceso más sofisticado, pero también más flexible, ya que permite pedir solo los datos necesarios en el momento justo. Recopilan, firman y publican datos externos en la blockchain para su uso por contratos inteligentes. Cómo se garantiza que los datos sean correctos Traer información del mundo real a la blockchain no sirve de mucho si alguien puede manipularla. Por eso, la seguridad y la autenticidad de los datos son fundamentales. Una técnica habitual es el uso de pruebas criptográficas de autenticidad, que permiten verificar que los datos provienen realmente de su fuente y que no fueron modificados en el camino. Verificación criptográfica, TEE y redes descentralizadas reducen riesgos de manipulación. Otra opción son los entornos de ejecución seguros (TEE, Trusted Execution Environments), que son chips especializados que garantizan que el código que recoge y procesa la información no pueda ser alterado desde fuera. Esto añade una capa de seguridad extra, aunque estos dispositivos aún están en una etapa temprana de adopción y su fiabilidad sigue en estudio. Para reducir el riesgo de confiar en una sola fuente, también existen las redes descentralizadas de oráculos, donde varios nodos independientes obtienen los mismos datos y la blockchain calcula un valor único aplicando un algoritmo predeterminado (desde operaciones sencillas como calcular la media o una mediana de las respuestas, a la aplicación de algoritmos complejos de lógica difusa). Así se evita que una única entidad tenga el control de la información. Además de traer datos del mundo real, algunos oráculos modernos también permiten comunicar distintas redes blockchain entre sí. Estos sistemas, llamados protocolos de mensajería entre cadenas o cross-chain, amplían el concepto de oráculo al no solo servir de puente entre la blockchain y el mundo exterior, sino también entre diferentes redes. ■ Esto permite que, por ejemplo, un contrato desplegado en la red Ethereum interactúe con otro desplegado en Polygon, compartiendo información y activos de forma segura y automatizada. Cuando se diseñan bien, los oráculos permiten automatizar interacciones seguras entre blockchain y mundo real. Conclusión Como hemos visto, sin los oráculos, los contratos inteligentes vivirían en una especie de burbuja aislada, incapaces de reaccionar ante lo que pasa fuera de la cadena. Es decir, no cumplirían la definición de ejecutarse automáticamente ante ciertas condiciones porque nunca sabrían que esas condiciones se han dado. Sin embargo, cada vez que se introduce una fuente externa en un sistema descentralizado se añade un nuevo punto potencial de fallo. Si un oráculo es vulnerado o manipulado, puede desencadenar graves consecuencias, especialmente en aplicaciones que gestionan dinero o activos digitales. Por eso, al diseñar soluciones basadas en oráculos, es crucial entender bien el modelo de confianza: quién proporciona los datos, cómo se valida su integridad y qué incentivos existen para mantener la honestidad del sistema. Aun así, cuando se usan correctamente, los oráculos abren un universo de posibilidades. Permiten automatizar seguros, pagos, préstamos, juegos, predicciones, verificación de identidad y muchas otras aplicaciones que combinan la transparencia de las redes blockchain con la riqueza del mundo real. Son, en definitiva, el puente que hace que las promesas de la tecnología blockchain empiecen a cobrar vida fuera del marco teórico. Referencias: https://masteringethereum.xyz/chapter_11.html AI & Data La revolución de la Identidad Digital: de la centralización a la soberanía de tus datos 3 de septiembre de 2025 Imagen de Wirestock / Freepik.
9 de febrero de 2026
AI & Data
Ethereum Account Abstraction: mejorando la seguridad y la experiencia al operar con Blockchain
Parece que hay cierto consenso en que la tecnología Blockchain y el concepto de web3 tienen el potencial de revolucionar la forma en que interactuamos con el mundo digital. Esta revolución se basa en que cada transacción, es decir, interacción con un servicio digital, irá “firmada” por el usuario y registrada de manera inmutable en una red de Blockchain, dejando huella irrefutable de toda su actividad digital. Para ello el usuario necesita de un monedero digital, o wallet en inglés, que será el encargado de firmar y registrar las transacciones. Una de las principales barreras para la adopción de un monedero digital (wallet) es su poca usabilidad. Sin embargo, una de las principales barreras para su adopción es la poca usabilidad de los monederos digitales. Los usuarios que desean realizar transacciones en una red de Blockchain deben seguir una serie de pasos que pueden resultar confusos y desalentadores, en ningún caso triviales incluso para usuarios experimentados y no digamos por parte de usuarios no técnicos. Cómo crear y cargar un monedero digital (wallet) Sin ser exhaustivo, los pasos a seguir para disponer de un monedero digital o wallet serían: Crear el monedero, que viene a ser un par de claves criptográficas encadenadas. Por simplicidad, puede elegir un proveedor, p. ej. Metamask, que lo crea por él. Guardar el par de claves, pública y privada, para asegurarse que tiene acceso al monedero. Crear una cuenta en un Exchange o casa de cambio, una especie de banco especializado en estas transacciones. Pasar por un proceso de KYC, o Know Your Customer en inglés, para activar la cuenta del Exchange. Traspasar fondos de su cuenta en moneda FIAT (euros) a su cuenta en el Exchange. Comprar criptomoneda de la red Blockchain que vaya a utilizar, como quien compra acciones en la casa de cambio. Sólo cuando el monedero está creado y cargado, el usuario puede empezar a enviar transacciones a Blockchain. Para ello es necesario que “firme” la transacción con la clave privada asociada a su monedero, inicie la transacción, pague el coste de ejecutarla y, finalmente, esperar a que se confirme. Estas transacciones tienen un coste asociado que depende, entre otros factores, de la capacidad de computación de la red Blockchain que necesite para ejecutarse, por lo que es necesario que el monedero tenga suficientes fondos para ejecutarlas. ⚠️ Hay que tener en cuenta que ese coste es asumido por el usuario y debe pagarlo en la criptomoneda propia de la red Blockchain donde esté operando. Por eso, el último paso (6) es “comprar criptomoneda”, para lo que además es necesario que esa moneda en concreto pueda cambiarla en la casa de cambio donde se ha registrado. Riesgos de los monederos digitales Algunos de los riesgos asociados al monedero son: Perder el par de claves, por lo que se dejaría de tener acceso al monedero, perdiendo todos los fondos que en él hubiera de forma irremediable. Como las redes Blockchain son descentralizadas y el monedero depende del usuario, no existe un tercero, como un banco en cuentas tradicionales, que permita restaurar las credenciales. Que un tercero se haga con dicho par de claves (mediante phishing, o cualquier otra técnica que lleve a obtener estas claves) y transfiera todos los fondos a su monedero, quedándose el usuario sin ellos. Por eso, hay que tomar precauciones y no basta con guardarlas para recuperarlas, sino hacerlo con las medidas oportunas de seguridad para minimizar el riesgo de robo. Realizar una transacción sobre un contrato del que se desconoce su funcionalidad y que éste vaya ‘vaciando’ el monedero. Estos contratos, o smart contracts en inglés, son programas descentralizados cuya funcionalidad puede ser ejecutada por otros contratos y/o monederos. Por ello es importante conocer de antemano qué es lo que se va a ejecutar ya que se podría estar ejecutando una transacción que ‘vacíe’ de fondos el monedero. Ethereum Account Abstraction para operar de forma más sencilla y segura La industria Blockchain es consciente de estos problemas y riesgos, y ha definido un mecanismo que permite operar en redes Blockchain de forma más sencilla y segura. Gracias a este mecanismo, conocido como Account Abstraction, definido en el estándar de la comunidad de Ethereum ERC4337, el usuario no necesita crear ningún monedero, ni guardar ningún par de claves pública/privada y arriesgarse a que un tercero se haga con ellas y perder los fondos. Tampoco tiene que preocuparse de adquirir fondos para realizar transacciones. Account Abstraction (abstracción de cuentas) consta de los siguientes elementos, que son totalmente transparentes para el usuario: Smart Account: smart contract que actúa como un monedero. Smart Account Factory: smart contract dedicado a crear nuevas Smart Accounts. User Operation: es una meta transacción (contiene los detalles de una transacción que se ejecutará en nombre de la Smart Account). Entrypoint: se encarga de hacer las comprobaciones necesarias y ejecutar las User Operations, ahora sí, como transacciones. Bundler: elemento encargado de recibir las User Operations enviadas por los usuarios, en caso necesario empaquetarlas, y enviarlas al Entrypoint. Paymaster: encargado de patrocinar las transacciones, es decir, pagar los fondos necesarios para su ejecución en nombre de la Smart Account. Por lo tanto, el flujo para realizar una transacción por primera vez queda de la siguiente forma: Crear una Smart Account, o cuenta controlada por contrato: Esta cuenta se crea de forma transparente para el usuario al poder utilizar cualquier credencial que actuará como identificador único para generarla, desde una simple dirección de correo electrónico y una contraseña, de forma que la creación de una Smart Account sería, de cara al usuario, exactamente igual que iniciar sesión en su correo electrónico, hasta autenticación de doble factor (2FA) o cualquier otro método de autenticación. De este modo, se elimina la necesidad de generar y guardar pares de claves pública/privada. Para la creación se llama al contrato Smart Account Factory. Iniciar la transacción, que llegará al Bundler y la redirigirá al Entrypoint para ser ejecutada. Esperar a que se confirme la transacción. Ventajas de la abstracción de cuentas La abstracción de cuentas abre todo un mundo de posibilidades. A continuación, se muestran algunas de las principales aplicaciones prácticas: Transacciones patrocinadas Esta es la aplicación más directa y popular de abstracción de cuentas y que se ha tratado anteriormente en este artículo. Gracias a las transacciones patrocinadas, ya no es necesario administrar fondos ni pagar directamente por las transacciones realizadas. El caso de uso típico de este tipo de transacciones es el de un proveedor de servicios que asume el coste de la transacción del usuario. Frente a una transacción tradicional donde el que firma asume el coste, con este mecanismo el que firma y por tanto el responsable y dueño de la transacción no tiene que ser la misma cuenta que asume los fondos necesarios para el registro. ✅ Esto permite que prestadores de servicios puedan ofrecer a sus clientes este servicio, liberándoles de la necesidad de adquirir fondos “crypto” en sus cuentas, haciendo toda la gestión por ellos, simplificando los balances contables de las empresas que operan en las redes Blockchain. Lotes de transacciones Otra de las aplicaciones de la abstracción de cuentas es la posibilidad de realizar varias transacciones en una, agrupándolas en un lote y ahorrando una cantidad nada desdeñable del coste que supondría ejecutar cada transacción por separado. Esto contribuye a crear una experiencia Blockchain más escalable y económica, al estilo de lo que permiten las soluciones Blockchain de capa 2 y rollups. Además, Account Abstraction también se puede aplicar a este tipo de soluciones, incrementando aún más sus beneficios. ✅ Como ejemplo de caso de uso de lotes de transacciones es un usuario que quiere realizar varios pagos pequeños. En vez de realizar una transacción por cada pago, puede agruparlos en una sola y estaría ahorrando costes por su ejecución. Cuentas multifirma Un monedero solo tiene un propietario, y no permite realizar transacciones con la aprobación de terceros. La abstracción de cuentas viene a solucionar este problema con las cuentas multifirma, en las que es necesario que una transacción sea necesariamente firmada por varios integrantes antes de que se pueda ejecutar. ✅ Un caso de uso de las cuentas multifirma puede ser ejecutar una operación que requiera de la aprobación de todos los administradores de una empresa. Recuperación de cuentas Subcaso de cuentas multifirma. Gracias a la abstracción de cuentas, los usuarios ya no tienen que guardar la clave privada de su monedero. Sin embargo, se sigue dependiendo de una credencial de acceso. En el caso de que el dueño de una Smart Account pierda esta credencial de acceso pierde el acceso a su cuenta. La recuperación de cuentas viene a solucionar este problema de forma que el propietario de una Smart Account pueda autorizar a un tercero en su cuenta. Una vez autorizado, si el propietario de la Smart Account pierde las credenciales puede recuperar su cuenta pidiéndole al tercero autorizado que le identifique como dueño de ésta. Estas son solo unas pocas aplicaciones prácticas de la abstracción de cuentas. Como las Smart Accounts son cuentas controladas por un smart contract, dependen de la lógica del contrato y se puede implementar una innumerable cantidad de condiciones para autorizar la ejecución de transacciones. La abstracción de cuentas está llamada a revolucionar Web3 al mejorar inmensamente la experiencia de usuario y aumentar la customización de cuentas y su seguridad. ◾ Para más información: Estándar ERC-4337 → Cyber Security Blockchain Criptomonedas: el fenómeno preocupante de los rug-pulls (y cómo protegerse) 28 de noviembre de 2023 Foto de rc.xyz NFT gallery en Unsplash.
9 de abril de 2024