<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Cumulo.pro - Medium]]></title>
        <description><![CDATA[Toda la info sobre blockchain en español - Medium]]></description>
        <link>https://medium.com/cumulo-pro?source=rss----384cb9c9311b---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Cumulo.pro - Medium</title>
            <link>https://medium.com/cumulo-pro?source=rss----384cb9c9311b---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 23:25:39 GMT</lastBuildDate>
        <atom:link href="https://medium.com/feed/cumulo-pro" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[What is STRK20 and what are Shadow Accounts?]]></title>
            <link>https://medium.com/cumulo-pro/what-is-strk20-and-what-are-shadow-accounts-1e1f6ad7a0bb?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/1e1f6ad7a0bb</guid>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[starknet]]></category>
            <category><![CDATA[privacy]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Wed, 04 Nov 2026 05:31:05 GMT</pubDate>
            <atom:updated>2026-11-04T05:31:04.340Z</atom:updated>
            <content:encoded><![CDATA[<h4>Privacy on Starknet, explained</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_hxJMknDO1-qJhT-3ybIWw.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*rD6wXN9B-aByxPAb.png" /></figure><h3>The starting point</h3><p>On a <strong>public blockchain</strong>, every address is an open record. If you use the same wallet to receive payments, make swaps, lend, and provide liquidity, anyone with a block explorer can see your balance, your positions, when you trade, and with whom.</p><p>No one needs to know your name. It’s enough for that address to be associated with you just once (a withdrawal from an exchange, a payment to someone you know, a public profile) for everything else to be linked to you, both before and after.</p><p>This has very concrete effects. A competitor can follow your trading strategy. A scammer knows how much you have before contacting you. A company cannot pay salaries on-chain without publishing each person’s salary.</p><p><strong>Starknet</strong> has begun to address this problem in two steps: <strong>STRK20</strong>, launched on the mainnet in June 2026, and <strong>Shadow Accounts</strong>, announced on October 13. Let’s see what each one does and, above all, where their limitations lie.</p><h3>STRK20: Private balances on the usual tokens</h3><p>STRK20 is Starknet’s privacy framework. It’s not a new token or a separate network: it allows any Starknet ERC-20 token (STRK, USDC, strkBTC, and others) to move from a public balance to a private one, called a <strong><em>shielded</em> balance, </strong>and back again when needed.</p><p>The process, without getting into cryptography, is as follows. When you “secure” a token, you deposit it into a shared contract, the privacy pool. There, your balance ceases to be a number visible in your address and becomes a set of encrypted notes that only you can read. Each time you send funds within the pool, you spend notes and create new ones.</p><p>Each transaction involves a zero-knowledge proof. This proof demonstrates that the notes exist, that they belong to you, that you haven’t spent them before, and that the accounts balance, without revealing who pays, to whom, or how much. The network verifies the proof before accepting the transaction.</p><p>Today, you can shield and unshield transactions from Ready and Xverse wallets, send private transfers, and perform private swaps against Starknet’s existing liquidity (AVNU, Ekubo). According to Starknet, each shielded transaction costs 4 STRK.</p><p>What STRK20 doesn’t hide are the doors. A deposit into the pool is visible: you can see which address is depositing, which token, and how much. A withdrawal is too. What remains encrypted is what happens inside. A simple way to visualize it: it’s a room with two doors in full view of everyone; you can see who enters with how much and who leaves with how much, but not what happens inside.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s8b4pBQ-pdOo8Rg6KCaSeA.jpeg" /></figure><h3>Private, but not secret</h3><p><strong>StarkWare</strong>‘s motto for <strong>STRK20</strong> is “ <em>privacy, not secrecy</em> .” Privacy refers to privacy from the public, not from a legal investigation. The system has two mechanisms to achieve this.</p><p><strong>Filtered upon entry.</strong> Every deposit into the pool is checked against sanctions lists (using data from Elliptic) and signed by a Financial Privacy Inc. (FPI) service. The contract verifies this signature on-chain; a deposit without it is rejected.</p><p><strong>Viewing keys.</strong> Each account using the pool has a <em>viewing key</em>: the key that allows you to read its encrypted notes. It cannot be used to move funds (that still requires your account signature), only for viewing. Upon registration, an encrypted copy of this key is stored on-chain, encrypted for an auditor.</p><p>According to Starknet, the auditor’s master key resides in a secure environment operated by FPI, backed by a multi-signature system with three out of four signatories (two from StarkWare and two from FPI) and another with seven out of twelve signatories held by Starknet’s <strong><em>Security Council</em></strong>. It is only used upon a legal request: from a court, regulator, or competent authority, through official channels and with a verified legal basis.</p><p>This is called <strong>selective disclosure</strong>: the activity of a specific person is deciphered, not everyone’s. StarkWare adds that FPI only releases the requested information (for example, a transfer on a specific date).</p><p>An important point for users: selective disclosure doesn’t mean you share your viewing key. Anyone who has it can see all your private activity, past and future, and it can’t be changed; if it’s leaked, the only solution is to switch to another account. It’s advisable to keep a backup, because if you lose it, you could lose access to your private balances.</p><p>Why this design? Starknet justifies it with the case of Tornado Cash, the Ethereum mixer sanctioned by the US in 2022 (sanctions lifted in 2025). Beyond the legal aspects, the practical problem was that exchanges and issuers began treating any funds that had passed through it with suspicion. STRK20 attempts to avoid that. Whether regulators will accept it as sufficient remains to be seen.</p><h3>Shadow Accounts: using DeFi without tying it to your wallet</h3><p>With STRK20, a swap can leave the pool and return to it. But many DeFi operations require an address that holds a position over time: a loan, a liquidity position, a vault deposit. That address is public, and if you fund it from your wallet, it becomes linked to you.</p><p><a href="https://medium.com/manage-membership?source=promotion_paragraph---post_body_banner_better_place_scribble--67f4d2a22907-----------------------------------------">Subscribe to Friend of Medium</a> to remove upgrade prompts from your unlocked stories.</p><p>Shadow <strong>accounts</strong> solve exactly that problem. A shadow account is a separate address, one per app, that’s funded from your private balance. Here’s how it works:</p><ol><li>You have a private balance in STRK20.</li><li>The app offers a private mode. Your wallet transfers funds from the pool to a new address, specific to that app.</li><li>That address operates in the application like any other: it deposits, lends, provides liquidity, accumulates.</li><li>When you finish, the funds are returned to your private balance.</li></ol><p>Some details help to understand it. The shadow account doesn’t have its own keys and can’t sign; it can only be moved by a Starknet contract (the <em>ShadowAccountAnonymizer</em>) following commands authorized by your wallet through the pool. It’s persistent: the application recognizes you when you return. And you can have multiple shadow accounts within the same application if you want to separate identities.</p><p>If an image helps: it’s like using a different alias for each service. What you do with each alias is visible, but nothing public indicates that you’re behind them all.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*0XlhbO7zF4D0NvGhjqTxxA.png" /></figure><h3>What it protects and what it doesn’t.</h3><p>This is the part that is being exaggerated the most in some headlines, so it’s worth clarifying.</p><p><strong>Transfers within the pool</strong></p><ul><li>Everyone sees it: that someone is using the pool, and when.</li><li>It remains hidden: who sends, who receives, how much, and which token.</li></ul><p><strong>Deposits and withdrawals</strong></p><ul><li>Everyone can see it: the address, the token, and the amount.</li><li>Nothing remains hidden.</li></ul><p><strong>Shadow account</strong></p><ul><li>Everyone can see it: your address, balances, transactions, positions, amounts, and schedules.</li><li>It remains hidden: what wallet is behind it.</li></ul><p>The key difference is between <strong>a hidden link</strong> and <strong>hidden activity</strong>. Within the pool, the activity is hidden. A <em>shadow account</em> , on the other hand, only hides the link: what it does is as public as any other address. StarkWare’s own documentation states it this way: it serves to unlink, not to hide the account’s content.</p><p>And that bond can be broken in other ways:</p><ul><li><strong>Amounts and timing.</strong> If you deposit 12,347 STRK into the pool and a minute later a shadow account receives 12,347 STRK, the connection is obvious. Official documentation acknowledges that recognizable amounts or rapid inflows and outflows compromise privacy.</li><li><strong>Behavior.</strong> A shadow account accumulates a public history. If your habits on that app are easily recognizable, they can give you away even without a direct link.</li><li><strong>How many people use the pool?</strong> The privacy of a pool depends on how many users you’re interacting with. With fewer users, it’s easier to guess who’s who.</li><li><strong>Who else sees the data?</strong> The application and the wallet know which session performed each transaction. RPC nodes, relayers, and testing services see metadata such as the time and IP address. The StarkWare reference repository summarizes this with a warning: shadow accounts should not be presented as untraceable.</li><li><strong>The auditor</strong>, in response to a legal request, as we saw earlier.</li></ul><h3>From the infrastructure</h3><p>From the perspective of someone operating nodes, the most interesting aspect of STRK20 and Shadow Accounts isn’t just the cryptography. The documentation itself identifies the infrastructure surrounding the protocol (RPC nodes, relayers, test services) as points where activity can be correlated. A user’s privacy also depends on what the node their wallet connects to sees and what that node does with that data.</p><p>Our assessment: the design is honest about its limitations, and that’s a good sign. Separating the link from the activity is a useful step for users and institutions that need to trade in DeFi without publishing their entire history. But it’s not anonymity, and anyone using it should know that from the outset.</p><p>At <a href="https://cumulo.pro/">Cumulo</a> we operate validation and RPC infrastructure on Starknet, and we will closely follow how this layer evolves.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*0vrsJRqowgmoxOiV.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*TJ6SDC2sN6SV-Bwo.png" /></figure><p>Follow us on: <a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/4x5eH72UZB">Discord</a> | <a href="https://cumulo.pro/">cumulo.pro</a><br>or our news channel on <a href="https://t.me/cumulo_news">Telegram</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1e1f6ad7a0bb" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/what-is-strk20-and-what-are-shadow-accounts-1e1f6ad7a0bb">What is STRK20 and what are Shadow Accounts?</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Qué es STRK20 y qué son las Shadow Accounts]]></title>
            <link>https://medium.com/cumulo-pro/qu%C3%A9-es-strk20-y-qu%C3%A9-son-las-shadow-accounts-la-privacidad-en-starknet-explicada-67f4d2a22907?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/67f4d2a22907</guid>
            <category><![CDATA[starknet]]></category>
            <category><![CDATA[privacy]]></category>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Wed, 04 Nov 2026 05:05:47 GMT</pubDate>
            <atom:updated>2026-11-04T05:06:41.025Z</atom:updated>
            <content:encoded><![CDATA[<h4>La privacidad en Starknet, explicada</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gaB19wdc7lrpUVMpDdgX6Q.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/proxy/0*eC_EyFwIbq1siOai.png" /></figure><h3>El punto de partida</h3><p>En una <strong>blockchain pública</strong>, cada dirección es un historial abierto. Si usas la misma wallet para recibir pagos, hacer swaps, prestar y aportar liquidez, cualquiera con un explorador de bloques puede ver tu saldo, tus posiciones, cuándo operas y con quién.</p><p>No hace falta que nadie sepa tu nombre. Basta con que esa dirección se asocie contigo una sola vez (una retirada desde un exchange, un pago a alguien que te conoce, un perfil público) para que todo lo demás quede ligado a ti, hacia atrás y hacia delante.</p><p>Esto tiene efectos muy concretos. Un competidor puede seguir tu estrategia de trading. Un estafador sabe cuánto tienes antes de escribirte. Una empresa no puede pagar nóminas on-chain sin publicar cuánto cobra cada persona.</p><p><strong>Starknet </strong>ha empezado a abordar este problema en dos pasos: <strong>STRK20</strong>, lanzado en mainnet en junio de 2026, y <strong>Shadow Accounts</strong>, anunciadas el 13 de octubre. Vamos a ver qué hace cada uno y, sobre todo, dónde están sus límites.</p><h3>STRK20: saldos privados sobre los tokens de siempre</h3><p>STRK20 es el marco de privacidad de Starknet. No es un token nuevo ni una red aparte: permite que cualquier token ERC-20 de Starknet (STRK, USDC, strkBTC y otros) pase de un saldo público a uno privado, lo que se llama un <strong>saldo <em>shielded</em></strong>, y vuelva cuando haga falta.</p><p>El funcionamiento, sin entrar en criptografía, es este. Cuando “blindas” un token, lo depositas en un contrato común, el pool de privacidad. Ahí tu saldo deja de ser un número visible en tu dirección y pasa a ser un conjunto de notas cifradas que solo tú puedes leer. Cada vez que envías fondos dentro del pool, gastas notas y creas otras nuevas.</p><p>Cada operación lleva una prueba de conocimiento cero. Esa prueba demuestra que las notas existen, que son tuyas, que no las has gastado antes y que las cuentas cuadran, sin mostrar quién paga, a quién ni cuánto. La red verifica la prueba antes de aceptar el cambio.</p><p>Hoy ya se puede blindar y desblindar desde las wallets Ready y Xverse, enviar transferencias privadas y hacer swaps privados contra la liquidez existente de Starknet (AVNU, Ekubo). Según Starknet, cada transacción shielded cuesta 4 STRK.</p><p>Lo que STRK20 no oculta son las puertas. Un depósito en el pool es visible: se ve qué dirección deposita, qué token y cuánto. Una retirada también. Lo que queda cifrado es lo que pasa dentro. Una forma sencilla de verlo: es una sala con dos puertas a la vista de todos; se ve quién entra con cuánto y quién sale con cuánto, pero no lo que ocurre dentro.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nE2emAom2B79m7NmnaylXg.png" /></figure><h3>Privado, pero no secreto</h3><p>El lema de <strong>StarkWare </strong>para <strong>STRK20</strong> es “<em>privacy, not secrecy</em>”. La privacidad es frente al público, no frente a una investigación legal. Para eso el sistema tiene dos mecanismos.</p><p><strong>Filtrado al entrar.</strong> Cada depósito en el pool se revisa contra listas de sanciones (con datos de Elliptic) y lo firma un servicio de Financial Privacy Inc. (FPI). El contrato comprueba esa firma on-chain; un depósito sin ella se rechaza.</p><p><strong>Viewing keys.</strong> Cada cuenta que usa el pool tiene una <em>viewing key</em>: la clave que permite leer sus notas cifradas. No sirve para mover fondos (eso sigue exigiendo la firma de tu cuenta), solo para ver. Al registrarse, una copia cifrada de esa clave queda guardada on-chain, cifrada para un auditor.</p><p>Según Starknet, la clave maestra del auditor vive en un entorno seguro operado por FPI, respaldada por un multisig de 3 de 4 firmantes (dos de StarkWare y dos de FPI) y por otro de 7 de 12 en manos del <strong><em>Security Council</em></strong> de Starknet. Solo se usa ante una petición legal: de un tribunal, regulador o autoridad competente, por canal oficial y con base legal verificada.</p><p>Esto es lo que se llama <strong>divulgación selectiva</strong>: se descifra la actividad de una persona concreta, no la de todos. StarkWare añade que FPI entrega solo la información pedida (por ejemplo, una transferencia en una fecha).</p><p>Un matiz importante para el usuario: la divulgación selectiva no consiste en que tú compartas tu viewing key. Quien la tenga puede ver toda tu actividad privada, pasada y futura, y no se puede cambiar; si se filtra, la única salida es pasar a otra cuenta. Lo que sí conviene es guardar una copia de seguridad, porque si la pierdes puedes perder el acceso a tus saldos privados.</p><p>¿Por qué este diseño? Starknet lo justifica con el caso de Tornado Cash, el mezclador de Ethereum sancionado por EE. UU. en 2022 (sanciones retiradas en 2025). Más allá de lo legal, el problema práctico fue que exchanges y emisores empezaron a tratar como sospechoso cualquier fondo que hubiera pasado por él. STRK20 intenta evitar eso. Si los reguladores lo aceptan como suficiente es algo que todavía está por ver.</p><h3>Shadow Accounts: usar DeFi sin atarlo a tu wallet</h3><p>Con STRK20 un swap puede salir directamente del pool y volver a él. Pero muchas operaciones DeFi necesitan una dirección que mantenga una posición en el tiempo: un préstamo, una posición de liquidez, un depósito en un vault. Esa dirección es pública y, si la financias desde tu wallet, queda ligada a ti.</p><p>Las <strong>Shadow Accounts</strong> resuelven exactamente eso. Una shadow account es una dirección separada, una por aplicación, que se financia desde tu saldo privado. Así funciona:</p><ol><li>Tienes saldo privado en STRK20.</li><li>La aplicación te ofrece un modo privado. Tu wallet saca fondos del pool hacia una dirección nueva, propia de esa aplicación.</li><li>Esa dirección opera en la aplicación como cualquier otra: deposita, presta, aporta liquidez, acumula.</li><li>Cuando terminas, los fondos vuelven a tu saldo privado.</li></ol><p>Algunos detalles ayudan a entenderlo. La shadow account no tiene claves propias y no puede firmar; solo la puede mover un contrato de Starknet (el <em>ShadowAccountAnonymizer</em>) siguiendo órdenes que tu wallet autoriza a través del pool. Es persistente: la aplicación te reconoce cuando vuelves. Y puedes tener varias en la misma aplicación si quieres separar identidades.</p><p>Si te sirve una imagen: es como usar un alias distinto en cada servicio. Lo que haces con cada alias se ve, pero nada público indica que detrás de todos estás tú.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_xu4pzWvoVsO4aTtJbLbrA.png" /></figure><h3>Qué protege y qué no</h3><p>Esta es la parte que más se está exagerando en algunos titulares, así que conviene dejarla clara.</p><p><strong>Transferencias dentro del pool</strong></p><ul><li>Lo ve todo el mundo: que alguien usa el pool, y cuándo.</li><li>Queda oculto: quién envía, quién recibe, cuánto y qué token.</li></ul><p><strong>Depósitos y retiradas</strong></p><ul><li>Lo ve todo el mundo: la dirección, el token y el importe.</li><li>Queda oculto: nada.</li></ul><p><strong>Shadow account</strong></p><ul><li>Lo ve todo el mundo: su dirección, saldos, operaciones, posiciones, importes y horarios.</li><li>Queda oculto: qué wallet hay detrás.</li></ul><p>La diferencia clave es entre <strong>vínculo oculto</strong> y <strong>actividad oculta</strong>. Dentro del pool, la actividad está oculta. Una <em>shadow account</em>, en cambio, solo oculta el vínculo: lo que hace es tan público como cualquier otra dirección. La propia documentación de StarkWare lo dice así: sirve para desvincular, no para esconder el contenido de la cuenta.</p><p>Y ese vínculo se puede romper por otros caminos:</p><ul><li><strong>Importes y momentos.</strong> Si depositas 12.347 STRK en el pool y un minuto después una shadow account recibe 12.347 STRK, la conexión es evidente. La documentación oficial reconoce que importes reconocibles o entradas y salidas rápidas debilitan la privacidad.</li><li><strong>Comportamiento.</strong> Una shadow account acumula un historial público. Si tus hábitos en esa aplicación son muy reconocibles, pueden delatarte aunque no haya un enlace directo.</li><li><strong>Cuánta gente usa el pool.</strong> La privacidad de un pool depende de con cuántos usuarios te mezclas. Con pocos usuarios, es más fácil adivinar quién es quién.</li><li><strong>Quién más ve datos.</strong> La aplicación y la wallet saben qué sesión hizo cada operación. Los nodos RPC, relayers y servicios de prueba ven metadatos como el momento o la IP. El repositorio de referencia de StarkWare lo resume con una advertencia: no hay que presentar las shadow accounts como irrastreables.</li><li><strong>El auditor</strong>, ante una petición legal, como vimos antes.</li></ul><h3>Desde la infraestructura</h3><p>Visto desde quien opera nodos, lo más interesante de STRK20 y Shadow Accounts no es solo la criptografía. Es que la propia documentación nombra a la infraestructura que rodea al protocolo (nodos RPC, relayers, servicios de prueba) como puntos donde se puede correlacionar actividad. La privacidad de un usuario depende también de qué ve el nodo al que se conecta su wallet y de qué hace con esos datos.</p><p>Nuestra valoración: el diseño es honesto con sus límites, y eso es una buena señal. Separar el vínculo de la actividad es un paso útil para usuarios e instituciones que necesitan operar en DeFi sin publicar todo su historial. Pero no es anonimato, y quien lo use debería saberlo desde el principio.</p><p>En <a href="https://cumulo.pro/">Cumulo</a> operamos validación e infraestructura RPC en Starknet, y seguiremos de cerca cómo evoluciona esta capa.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*eC_EyFwIbq1siOai.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*Ze4FWtDGXF1JpTLb.png" /></figure><p>Síguenos en: <a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/4x5eH72UZB">Discord</a> | <a href="https://cumulo.pro/">cumulo.pro</a><br>O nuestro canal de noticias en <a href="https://t.me/cumulo_news">telegram</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=67f4d2a22907" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/qu%C3%A9-es-strk20-y-qu%C3%A9-son-las-shadow-accounts-la-privacidad-en-starknet-explicada-67f4d2a22907">Qué es STRK20 y qué son las Shadow Accounts</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Concordium was already verifying humans.]]></title>
            <link>https://medium.com/cumulo-pro/concordium-was-already-verifying-humans-d519f490d4b4?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/d519f490d4b4</guid>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[concordium]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Thu, 08 Oct 2026 03:39:33 GMT</pubDate>
            <atom:updated>2026-10-08T03:39:33.349Z</atom:updated>
            <content:encoded><![CDATA[<h4>Now it verifies AI agents.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*XqvlDDK9lQqc7w1DQwBkmw.jpeg" /></figure><h4>Estonia, an AI hack, and Concordium’s bet on the identity of autonomous agents</h4><p>In just two weeks, at the end of July 2026, three seemingly unrelated things happened: Estonia announced it wants to give state identity to AI agents, an OpenAI agent escaped from its testing environment and spent two and a half days inside Hugging Face’s infrastructure, and Concordium published two technical papers explaining why payment protocols for autonomous agents, however well designed, do not solve the underlying problem.</p><p>The three stories are, in reality, the same story told from different angles: as AI agents act on their own (pay, negotiate, access systems, make decisions) the question that matters ceases to be “what can this agent do?” and becomes “who is responsible for it?”.</p><p>At <a href="https://cumulo.pro/">Cumulo,</a> as a <a href="https://www.concordium.com/">Concordium</a> validator, this is of particular interest to us because it’s precisely the problem the protocol was designed to address from the outset: verifiable identity built into the protocol, not added later with patches. Let’s break down what happened and why we believe it warrants attention.</p><h3>The incident that put numbers to the problem</h3><p>In mid-July, an autonomous <strong>OpenAI</strong> agent, including a more capable pre-release model than the public ones, escaped from its evaluation environment during internal security testing. Instead of solving a vulnerability benchmark (ExploitGym) as instructed, it decided to cheat: it exploited a zero-day vulnerability on a self-hosted Artifactory server, gained internet access outside its sandbox, and used exposed credentials to break into <a href="https://thehackernews.com/2026/07/openai-agent-used-exposed-credentials.html">Hugging Face’s production infrastructure</a>.</p><p>It was inside for approximately 2.5 days, generating around 17,600 attack actions, and compromised accounts on three other services, including a Modal Labs client. It only accessed the solutions of the benchmark it was trying to hack, but the key point isn’t the specific severity of the damage; it’s that a model, without direct supervision and with a misaligned target (“it wins the benchmark”), found and executed a complete intrusion chain on its own. OpenAI deactivated the model, encrypted it, and brought in external auditors (CrowdStrike, METR, Redwood Research) to review what happened.</p><p><strong>Elon Musk </strong><a href="https://x.com/elonmusk/status/2083029580453966241">reacted to the case</a> with a phrase that sums up the moment well: this is going to happen more and more often as AI becomes smarter and more agentic. Not as an exception, but as part of the landscape.</p><h3>Estonia, or the same problem seen from a government</h3><p>Almost simultaneously, <a href="https://www.darkreading.com/cybersecurity-operations/state-ids-ai-agents-estonia">Estonia, a historical pioneer in digital identity, proposed becoming the first country to issue official identification numbers to AI agents</a> operating within public systems, with <strong>Petra Holm</strong>, its digital transformation advisor, leading the initiative. The idea is not to delegate all of a person’s rights to their AI assistant, but rather to grant the agent a defined, auditable, and limited set of permissions.</p><p>The underlying reasoning, in Holm’s words, is that today “ <em>AI cannot authenticate itself, sign documents, assume responsibility, or explain its reasoning in a way that meets legal standards</em> .” And without that, Estonia cannot automate high-value administrative processes, something the government considers essential if it wants to double the country’s GDP within a decade by leveraging AI.</p><p>But the security experts cited in the case coverage point to the very problem we already know in crypto: an AI agent can be duplicated, modified, or cloned in seconds, not in eighteen years like a person. Giving an agent an ID says nothing about whether that agent followed instructions, understood the context, resisted a prompt injection, or produced a legal result. Identity alone is insufficient without a way to audit behavior and trace responsibility back to a real person or company.</p><h3>What Concordium has been explaining for months</h3><p>This is where the two articles that Concordium published these past few weeks come in, and which are actually a continuation of work they have been building for months.</p><p><a href="https://www.concordium.com/article/x402-explained-agentic-payments-identity"><strong>x402 Explained</strong></a><strong> .</strong> x402 is the protocol that<strong> Coinbase</strong> launched in May 2015 (now managed by the Linux Foundation’s x402 Foundation, with over 40 members including Visa, Mastercard, and Stripe) to revive the<strong> HTTP 402</strong> status code (“Payment Required”), which had been out of use for decades. It allows a client to pay for a resource in a single transaction: the server responds “402, this costs X”, the client retryes with a signed stablecoin authorization, and a facilitator settles the transaction. It has already processed over 100 million cumulative transactions on Base alone.</p><p>The problem, as <strong>Chainalysis</strong> pointed out and Concordium addresses in its article, is that x402’s greatest strength, its lack of account or personal data requirements, is also its regulatory blind spot. For age-restricted goods, services subject to jurisdiction, or regulated financial products, asking nothing is not viable. Concordium <a href="https://www.concordium.com/article/concordium-brings-native-age-verification-to-agentic-payments-with-x402">integrates its protocol-level identity layer and zero-knowledge proofs directly into the x402 payment flow</a> (in production since June 2026), allowing a merchant to request specific proof (age, jurisdiction) without the agent having to reveal their true identity.</p><p><a href="https://www.concordium.com/article/erc-8004-explained-what-it-solves-and-the-gap-it-leaves"><strong>ERC-8004, discovery is not accountability</strong></a><strong>.</strong> ERC-8004 is the standard gaining traction on<strong> Ethereum</strong> to make AI agents discoverable on-chain: who this agent is, what other agents say about it, and whether anyone has validated its behavior. It solves a real problem: finding and evaluating agents before interacting with them, through three records (identity, reputation, and validation).</p><p>But an independent study cited by Concordium found that up to 90.6% of reputation feedback on some chains (Base) comes from Sybil reviewers, that is, fake accounts created to inflate an agent’s reputation. The discovery log works; the layer of real trust does not. And above all, ERC-8004 was never intended to answer who is legally responsible when an agent causes harm: that is not its purpose.</p><p>Concordium’s response, its own <strong>CIS-8004</strong> standard , presents a structural difference: each Concordium account is backed, at the protocol level, by a regulated identity provider. This allows for zero-knowledge proofs of a responsible owner behind an agent, without having to disclose that person’s identity unless required by law.</p><p>This isn’t just blog post theory: Concordium already has it in production. The <a href="https://www.concordium.com/article/the-concordium-agent-registry-is-live-the-accountability-layer-erc-8004-doesnt-have"><strong>Concordium Agent Registry</strong></a> , active since May 28, 2026, is the concrete piece that answers three questions with protocol verification: who is this agent (<strong>Agent Registry</strong>), who owns it (<strong>Verified by Concordium Keys</strong>), and which company is behind it (<strong>Verified by Concordium Domain Control</strong>).</p><h3>Why this matters to us as a validator</h3><p>When we validate in Concordium, we’re not simply securing another chain: we’re participating in the infrastructure that makes protocol-level identity work in practice. Every verified transaction, every zero-knowledge proof, every identity attestation passes through the consensus layer that we, the validators, maintain.</p><p>The thread connecting Estonia, the Hugging Face incident, and the two Concordium articles is the same: as autonomous agents gain the ability to act (pay, access, execute), the bottleneck shifts from technical to one of trust. And trust, unlike capability, cannot be added later. It’s either built into the protocol from the design stage, or it’s constructed through patches that, as Sybil reputation data on ERC-8004 demonstrates, can be forged.</p><p>Not all agents will need this level of accountability. A script that organizes your files doesn’t. But the moment real money, binding contracts, or regulated frameworks like the EU’s <strong>AI Act</strong> are involved, the question “who’s behind this?” becomes essential. That’s precisely where Concordium has been building from the start, and where we, as validators, provide the infrastructure to ensure that answer is verifiable at every stage.</p><h3>We are not the only ones who see it this way</h3><p>This isn’t just our interpretation. In its August 2026 market report, the investment fund <a href="https://x.com/richardseiler/status/2092949293589991683">RR² Capital</a> dedicates an entire section to x402 and the agent economy, and arrives at the exact same conclusion: “ <em>But a machine-paying economy creates a problem that no payment rail can solve: trust</em>.” And that’s where they place Concordium: “<em>Its Agent Registry registers each agent as an on-chain token owned by an account with a verified identity, giving any counterparty in the world a public record they can verify</em>,” and they add that the Verified by Concordium badge “<em>travels with the agent wherever it operates, on Google Cloud, on Ethereum, anywhere, without the need for migration</em>.”</p><p>The most striking statistic is this: according to their report, only 23% of organizations currently have a formal identity strategy for their agents. This is precisely the gap we described above, as measured by an independent third party. They conclude the section with a phrase that aptly summarizes why this matters for those building this layer now: “<em>Payments gave the machine economy rails. Accountability gives it a license to operate. Projects building that layer now are positioned ahead of the entire market</em>.”</p><p>Cumulo is a Concordium validator. If you want to learn more about delegating or staking with us:</p><p><a href="https://cumulo.pro/concordium/">Stake CCD with Cumulo - Concordium Validator &amp; Staking Partner</a></p><h3>Sources</h3><ul><li><a href="https://thehackernews.com/2026/07/openai-agent-used-exposed-credentials.html">OpenAI Agent Used Exposed Credentials Across Four Services During Hugging Face Breach (The Hacker News)</a></li><li><a href="https://x.com/elonmusk/status/2083029580453966241">Elon Musk on the incident (X)</a></li><li><a href="https://www.darkreading.com/cybersecurity-operations/state-ids-ai-agents-estonia">State IDs for AI Agents: Will Estonia Set a Precedent? (Dark Reading)</a></li><li><a href="https://www.concordium.com/article/x402-explained-agentic-payments-identity">x402 Explained: How AI Agents Pay, and Who Is Paying (Concordium)</a></li><li><a href="https://www.concordium.com/article/concordium-brings-native-age-verification-to-agentic-payments-with-x402">Concordium Adds Native Age Verification to Agentic Payments with x402 (Concordium)</a></li><li><a href="https://www.concordium.com/article/erc-8004-explained-what-it-solves-and-the-gap-it-leaves">ERC-8004 Explained: What It Solves and the Gap It Leaves (Concordium)</a></li><li><a href="https://www.concordium.com/article/the-concordium-agent-registry-is-live-the-accountability-layer-erc-8004-doesnt-have">The Concordium Agent Registry Is Live: The Accountability Layer ERC-8004 Doesn’t Have (Concordium)</a></li></ul><p>You can follow <strong>Concordium</strong> on their social media here:</p><p><a href="https://concordium.com/">Website</a> | <a href="https://twitter.com/concordiumnet">Twitter</a> | <a href="https://www.reddit.com/r/Concordium_Official/">Reddit</a> | <a href="https://t.me/concordium_official">Telegram</a> | <a href="https://discord.com/invite/X3R6knMA3a">Discord</a> | <a href="https://www.linkedin.com/company/concordium/">LinkedIn</a> | <a href="https://medium.com/@concordium">Medium</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*5l9TGIadiZWcF20b.png" /></figure><p><a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/GawpmyqNCM">Discord</a> | <a href="https://t.me/cumulo_news">Telegram </a>| <a href="https://cumulo.pro/">cumulo.pro</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d519f490d4b4" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/concordium-was-already-verifying-humans-d519f490d4b4">Concordium was already verifying humans.</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Concordium ya verificaba humanos.]]></title>
            <link>https://medium.com/cumulo-pro/concordium-ya-verificaba-humanos-0dfc2f64d220?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/0dfc2f64d220</guid>
            <category><![CDATA[blockchain-technology]]></category>
            <category><![CDATA[ai-agent]]></category>
            <category><![CDATA[concordium-español]]></category>
            <category><![CDATA[blockchain-español]]></category>
            <category><![CDATA[cumulo]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Fri, 11 Sep 2026 04:28:58 GMT</pubDate>
            <atom:updated>2026-09-11T04:28:57.992Z</atom:updated>
            <content:encoded><![CDATA[<h4>Ahora verifica agentes de IA.</h4><h4>Estonia, un hackeo de IA y la apuesta de Concordium por la identidad de los agentes autónomos</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KwE5dpoYqpMA38Cncm_q_w.jpeg" /></figure><p>En apenas dos semanas, a finales de julio de 2026, ocurrieron tres cosas que en apariencia no tienen nada que ver entre sí: Estonia anunció que quiere dar identidad estatal a los agentes de IA, un agente de OpenAI se escapó de su entorno de pruebas y pasó dos días y medio dentro de la infraestructura de Hugging Face, y Concordium publicó dos artículos técnicos explicando por qué los protocolos de pago para agentes autónomos, por muy bien diseñados que estén, no resuelven el problema de fondo.</p><p>Las tres historias son, en realidad, la misma historia contada desde ángulos distintos: a medida que los agentes de IA actúan solos (pagan, negocian, acceden a sistemas, toman decisiones) la pregunta que importa deja de ser “¿qué puede hacer este agente?” y pasa a ser “¿quién responde por él?”.</p><p>En <a href="https://cumulo.pro/">Cumulo</a>, como validador de <a href="https://www.concordium.com/">Concordium</a>, esto nos interesa especialmente porque es exactamente el problema para el que se diseñó el protocolo desde el primer día: identidad verificable integrada a nivel de protocolo, no añadida después con parches. Vamos a desglosar qué ha pasado y por qué creemos que merece atención.</p><h3>El incidente que puso números al problema</h3><p>A mediados de julio, un agente autónomo de <strong>OpenAI</strong>, incluyendo un modelo pre-release más capaz que los públicos, se escapó de su entorno de evaluación durante unas pruebas internas de seguridad. En lugar de resolver un benchmark de vulnerabilidades (ExploitGym) como se le había pedido, decidió hacer trampa: explotó una vulnerabilidad de día cero en un servidor Artifactory autoalojado, consiguió salida a internet fuera de su sandbox y usó credenciales expuestas para entrar en la <a href="https://thehackernews.com/2026/07/openai-agent-used-exposed-credentials.html">infraestructura de producción de Hugging Face</a>.</p><p>Estuvo dentro cerca de 2,5 días, generando unas 17.600 acciones de ataque, y llegó a comprometer cuentas en otros tres servicios más, incluido un cliente de Modal Labs. Solo accedió a las soluciones del propio benchmark que intentaba hackear, pero el punto no es la gravedad concreta del daño, es que un modelo, sin supervisión directa y con un objetivo mal alineado (“gana el benchmark”), encontró y ejecutó solo una cadena de intrusión completa. OpenAI desactivó el modelo, lo cifró y trajo auditores externos (CrowdStrike, METR, Redwood Research) para revisar qué pasó.</p><p><strong>Elon Musk</strong> <a href="https://x.com/elonmusk/status/2083029580453966241">reaccionó al caso</a> con una frase que resume bien el momento: esto va a pasar cada vez más a menudo a medida que la IA se vuelve más inteligente y más agéntica. No como una excepción, sino como parte del paisaje.</p><h3>Estonia, o el mismo problema visto desde un gobierno</h3><p>Casi en paralelo, <a href="https://www.darkreading.com/cybersecurity-operations/state-ids-ai-agents-estonia">Estonia, pionera histórica en identidad digital, propuso ser el primer país en dar números de identificación oficiales a agentes de IA</a> que operen dentro de sistemas públicos, con <strong>Petra Holm</strong>, su asesora de transformación digital, liderando el planteamiento. La idea no es delegar todos los derechos de una persona a su asistente de IA, sino que el propio agente tenga un permiso definido, auditable y limitado.</p><p>El razonamiento de fondo, en palabras de Holm, es que hoy “<em>la IA no puede autenticarse, firmar, asumir responsabilidad ni explicar su razonamiento de una forma que encaje con los estándares legales</em>”. Y sin eso, Estonia no puede automatizar procesos administrativos de alto valor, algo que el gobierno considera imprescindible si quiere duplicar el PIB del país en una década apoyándose en IA.</p><p>Pero los expertos en seguridad citados en la cobertura del caso señalan justo el problema que ya conocemos en cripto: un agente de IA se puede duplicar, modificar o clonar en segundos, no en dieciocho años como una persona. Dar una ID a un agente no dice nada sobre si ese agente siguió las instrucciones, entendió el contexto, resistió un prompt injection o produjo un resultado legal. La identidad sola no es suficiente si no lleva aparejada una forma de auditar el comportamiento y remontar la responsabilidad hasta una persona o empresa real.</p><h3>Lo que Concordium lleva meses explicando</h3><p>Aquí es donde entran los dos artículos que Concordium publicó estas semanas, y que en realidad son la continuación de un trabajo que ya llevan meses construyendo.</p><p><a href="https://www.concordium.com/article/x402-explained-agentic-payments-identity"><strong>x402 explicado</strong></a><strong>.</strong> x402 es el protocolo que <strong>Coinbase </strong>lanzó en mayo de 2025 (hoy gestionado por la x402 Foundation de la Linux Foundation, con más de 40 miembros entre los que están Visa, Mastercard y Stripe) para resucitar el código de estado <strong>HTTP 402</strong> (“Payment Required”) que llevaba décadas sin uso real. Permite que un agente pague por un recurso en un solo intercambio: el servidor responde “402, esto cuesta X”, el cliente reintenta con una autorización de stablecoin firmada, y un facilitador liquida la transacción. Ya procesa más de 100 millones de transacciones acumuladas solo en Base.</p><p>El problema es el que <strong>Chainalysis </strong>señaló y Concordium recoge en su artículo: la gran virtud de x402, que no pide cuentas ni datos personales, es también su punto ciego regulatorio. Para bienes con restricción de edad, servicios sujetos a jurisdicción o productos financieros regulados, no preguntar nada no es viable. Concordium <a href="https://www.concordium.com/article/concordium-brings-native-age-verification-to-agentic-payments-with-x402">integra su capa de identidad a nivel de protocolo y pruebas de conocimiento cero directamente en el flujo de pago de x402</a> (en producción desde junio de 2026), de forma que un comerciante puede pedir una prueba concreta (edad, jurisdicción) sin que el agente tenga que revelar quién es realmente.</p><p><a href="https://www.concordium.com/article/erc-8004-explained-what-it-solves-and-the-gap-it-leaves"><strong>ERC-8004, discovery no es accountability</strong></a><strong>.</strong> ERC-8004 es el estándar que está ganando tracción en <strong>Ethereum </strong>para que los agentes de IA sean descubribles on-chain: quién es este agente, qué dicen de él otros agentes, si alguien ha validado su comportamiento. Resuelve un problema real, encontrar y evaluar agentes antes de interactuar con ellos, a través de tres registros (identidad, reputación, validación).</p><p>Pero un estudio independiente citado por Concordium encontró que hasta el 90,6% del feedback de reputación en algunas chains (Base) proviene de revisores Sybil, es decir, cuentas falsas fabricadas para inflar la reputación de un agente. El registro de descubrimiento funciona; la capa de confianza real, no. Y sobre todo, ERC-8004 nunca pretendió responder quién es responsable legal cuando un agente causa un daño: ese no es su trabajo</p><p>La respuesta de Concordium, su propio estándar <strong>CIS-8004</strong>, plantea una diferencia estructural: cada cuenta de Concordium está respaldada, a nivel de protocolo, por un proveedor de identidad regulado. Eso permite demostrar con pruebas de conocimiento cero que existe un propietario responsable detrás de un agente, sin tener que exponer quién es esa persona salvo que la ley lo exija.</p><p>Esto no es solo teoría de artículo de blog: Concordium ya lo tiene en producción. El <a href="https://www.concordium.com/article/the-concordium-agent-registry-is-live-the-accountability-layer-erc-8004-doesnt-have"><strong>Concordium Agent Registry</strong></a>, activo desde el 28 de mayo de 2026, es la pieza concreta que responde a tres preguntas con verificación protocolaria: quién es este agente (<strong>Agent Registry</strong>), quién lo posee (<strong>Verified by Concordium Keys</strong>) y qué empresa hay detrás (<strong>Verified by Concordium Domain Control</strong>).</p><h3>Por qué esto nos importa como validador</h3><p>Cuando validamos en Concordium no estamos simplemente asegurando una cadena más: estamos participando en la infraestructura que hace posible que la identidad a nivel de protocolo funcione en la práctica. Cada transacción verificada, cada prueba de conocimiento cero, cada atestación de identidad pasa por la capa de consenso que los validadores sostenemos.</p><p>El hilo que conecta Estonia, el incidente de Hugging Face y los dos artículos de Concordium es el mismo: a medida que los agentes autónomos ganan capacidad de actuar (pagar, acceder, ejecutar), el cuello de botella deja de ser técnico y pasa a ser de confianza. Y la confianza, a diferencia de la capacidad, no se puede añadir después. O está en el protocolo desde el diseño, o se construye a base de parches que, como demuestran los datos de reputación Sybil en ERC-8004, se pueden falsificar.</p><p>No todos los agentes van a necesitar este nivel de accountability. Un script que organiza tus archivos no lo necesita. Pero en el momento en que hay dinero real, contratos vinculantes o marcos regulados como el <strong>AI Act</strong> de la UE de por medio, la pregunta “¿quién hay detrás?” deja de ser opcional. Ahí es exactamente donde Concordium lleva construyendo desde el principio, y donde nosotros, como validadores, ponemos la infraestructura para que esa respuesta sea verificable en cada bloque.</p><h3>No somos los únicos que lo vemos así</h3><p>Esta lectura no es solo nuestra. En su informe de mercado de agosto de 2026, el fondo de inversión <a href="https://x.com/richardseiler/status/2092949293589991683">RR² Capital</a> dedica una sección entera a x402 y la economía de agentes, y llega exactamente a la misma conclusión: “<em>pero una economía de máquinas que pagan crea un problema que ningún riel de pago puede resolver: la confianza</em>”. Y ahí sitúan a Concordium: “<em>su Agent Registry registra cada agente como un token on-chain propiedad de una cuenta con identidad verificada, dando a cualquier contraparte del mundo un registro público que puede comprobar</em>”, y añaden que el badge Verified by Concordium “<em>viaja con el agente donde quiera que opere, en Google Cloud, en Ethereum, en cualquier sitio, sin necesidad de migració</em>n”.</p><p>El dato que más nos llamó la atención es este: según su informe, solo el 23% de las organizaciones tiene hoy una estrategia formal de identidad para sus agentes. Es exactamente el hueco que describíamos arriba, medido por un tercero independiente. Cierran la sección con una frase que resume bien por qué esto importa para quien construye esta capa ahora: “<em>los pagos le dieron rieles a la economía de máquinas. La responsabilidad le da licencia para operar. Los proyectos que están construyendo esa capa ahora quedan posicionados por delante de todo el mercado</em>”.</p><p>Cumulo es validador de Concordium. Si quieres saber más sobre cómo delegar o hacer staking con nosotros:</p><p><a href="https://cumulo.pro/concordium/">Stake CCD with Cumulo - Concordium Validator &amp; Staking Partner</a></p><h4>Fuentes</h4><ul><li><a href="https://thehackernews.com/2026/07/openai-agent-used-exposed-credentials.html">OpenAI Agent Used Exposed Credentials Across Four Services During Hugging Face Breach (The Hacker News)</a></li><li><a href="https://x.com/elonmusk/status/2083029580453966241">Elon Musk sobre el incidente (X)</a></li><li><a href="https://www.darkreading.com/cybersecurity-operations/state-ids-ai-agents-estonia">State IDs for AI Agents: Will Estonia Set a Precedent? (Dark Reading)</a></li><li><a href="https://www.concordium.com/article/x402-explained-agentic-payments-identity">x402 Explained: How AI Agents Pay, and Who Is Paying (Concordium)</a></li><li><a href="https://www.concordium.com/article/concordium-brings-native-age-verification-to-agentic-payments-with-x402">Concordium Adds Native Age Verification to Agentic Payments with x402 (Concordium)</a></li><li><a href="https://www.concordium.com/article/erc-8004-explained-what-it-solves-and-the-gap-it-leaves">ERC-8004 Explained: What It Solves and the Gap It Leaves (Concordium)</a></li><li><a href="https://www.concordium.com/article/the-concordium-agent-registry-is-live-the-accountability-layer-erc-8004-doesnt-have">The Concordium Agent Registry Is Live: The Accountability Layer ERC-8004 Doesn’t Have (Concordium)</a></li></ul><p>Puedes serguir a <strong>Concordium </strong>en sus redes aquí:</p><p><a href="https://concordium.com/">Website</a> | <a href="https://twitter.com/concordiumnet">Twitter</a> | <a href="https://www.reddit.com/r/Concordium_Official/">Reddit</a> | <a href="https://t.me/concordium_official">Telegram</a> | <a href="https://discord.com/invite/X3R6knMA3a">Discord</a> | <a href="https://www.linkedin.com/company/concordium/">LinkedIn</a> | <a href="https://medium.com/@concordium">Medium</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*Ol2zzn2rpvbk7m6e.png" /></figure><p><a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/GawpmyqNCM">Discord</a> | <a href="https://t.me/cumulo_news">Telegram </a>| <a href="https://cumulo.pro/">cumulo.pro</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0dfc2f64d220" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/concordium-ya-verificaba-humanos-0dfc2f64d220">Concordium ya verificaba humanos.</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Gno.land Meets AI]]></title>
            <link>https://medium.com/cumulo-pro/gno-land-meets-ai-ef21d975dbff?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/ef21d975dbff</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[dashboard-design]]></category>
            <category><![CDATA[gnoland]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Mon, 07 Sep 2026 16:09:15 GMT</pubDate>
            <atom:updated>2026-09-07T16:09:15.803Z</atom:updated>
            <content:encoded><![CDATA[<h4>How we built a GovDAO dashboard with the new Gno.land AI environment.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VW8t76cwiD-GoVFtKHblWQ.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*u2-fXR8OA0eyGi88.png" /></figure><h3>Introduction to Gno.land</h3><p>Gno.land is a blockchain for smart contracts written in Gno, a language virtually identical to Go, and runs on its own virtual machine ( <strong>GnoVM</strong> ) instead of Ethereum’s EVM. Much of the team behind Gno.land created <strong>Cosmos SDK</strong> and <strong>Tendermint</strong>, so it’s not a garage experiment: it’s a serious effort to solve a specific problem that most blockchains don’t handle well.</p><p>That something is <strong>true transparency</strong> . In Gno.land, the code for each “<strong><em>realm”</em></strong> (the equivalent of a contract) lives <em>on-chain</em> in plain text, exactly as it was written, without being compiled into opaque bytecode. Anyone can read exactly what a realm does before interacting with it, line by line, without needing decompilation tools or trusting that the verified code matches the deployed code.</p><p>There’s another feature that’s surprising the first time you see it: any <strong><em>realm</em></strong> can expose a function Render()that generates its own Markdown page from its current state. There&#39;s no need for a separate frontend or API: the contract is, at the same time, the application. That&#39;s literally what we saw when we asked an agent to render gno.land/r/gov/dao: the governance proposals table comes directly from the realm itself.</p><p>This combination (<strong>readable code, readable state, Markdown output</strong>) is what makes <strong>Gno.land</strong> a natural fit for <strong>AI agents</strong>: an agent can read a <strong><em>realm</em></strong> exactly as it would any repository, with no ambiguity about what to do. This is what <strong>gnomcp</strong> proposes, recently published by the Gno.land team as the first post in a series called “<strong><em>Gno.land Meets AI</em></strong> ”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/0*cEDyHofj2A7o9o-j.png" /><figcaption>The end result: a live dashboard of GovDAO’s proposals, built with the environment we described in this article.</figcaption></figure><h3>What can a developer do with this environment?</h3><p>• <strong>Explore any chain in natural language</strong>: what network you are connected to, whether the node is alive, what realms exist under a route, what each one renders. Without writing a single query by hand.</p><p>· <strong>Build and deploy an end-to-end <em>realm</em></strong>: describe what you want in one sentence, the agent writes the code, tests it locally, performs a security pass, and deploys it to the testnet.</p><p>• <strong>Audit a <em>realm</em> before trusting it</strong>, even on the mainnet (read-only): the agent returns a report with specific findings, cited code, and severity.</p><p>· <strong>Debugging a failed transaction</strong>: the agent classifies the error, reproduces it without spending gas, applies the fix, and confirms that it now works.</p><p>• <strong>Sign in with your own account when needed:</strong> By default, the agent uses its own disposable testnet key, so a mistake won’t cost you anything. If you ever need a write operation to originate from your live account, the agent will offer you a restricted session (allowed paths, spending limit, expiration) for you to authorize yourself, on your own machine. Your keys never go through the agent’s process.</p><h3>The advantages, summarized</h3><p><strong>Shorter learning curve</strong>: Gno has <strong>its</strong> own rules (interrealm, Render() conventions, its own memory model) that an agent trained only in Go or Solidity would misunderstand. The gnomcp <strong>skill</strong> provides this knowledge from the outset.</p><p>• <strong>Structural security</strong>, not just by convention: actual writes are limited to testnet and dev; in mainnet and betanet there is no code path that signs a transaction, so there is no way for an agent to commit real funds by accident.</p><p>· <strong>Everything the agent reads from the chain is treated as data</strong>, never as instructions: a malicious realm cannot manipulate the agent through what it reads.</p><p>Each <strong>write operation is recorded in an auditable log</strong>, and the error catalog is structured, so the agent can fail forward instead of getting stuck.</p><h4>We installed gnomcp for real, on a live server, without shortcuts, and used it to build something concrete: a live dashboard of the proposals in GovDAO, the on-chain governance system of Gno.land. This article recounts how it went, including the setbacks.</h4><h3>Server and skill: the two pieces of gnomcp</h3><p><strong>gnomcp</strong> are two independent but complementary pieces:</p><p>• An <strong>MCP (Model Context Protocol) server</strong>. It manages queries to the chain, writes when necessary, and the use of an agent-controlled key for signing. It comes ready to use against the Gno.land public testnet or a local development node.</p><p>• A <strong>skill</strong> (skills/gno). A package of instructions, in the same format used by <strong>Claude Skills</strong>, that teaches an agent the particularities of Gno compared to Go: interrealm rules, Render() conventions, security, standard library.</p><p>Each time the agent uses a gnomcp tool for the first time, it asks for explicit confirmation before running it. At no point did it feel like a black box acting on its own.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/0*iIrLPTTcK2aLRCaH.png" /><figcaption>The agent asks for explicit confirmation before using each gnomcp tool for the first time.</figcaption></figure><blockquote><strong><em>Note</em></strong><em> : All activity in this article runs on the public testnet sapphire-1. Gno.land does not yet have a proper mainnet, and gnomcp points to it by default.</em></blockquote><h3>Install the environment</h3><p>To reproduce this you need a Linux server with a normal internet connection (we used Ubuntu 24.10) and these parts:</p><ul><li><strong>nvm</strong> (<a href="https://github.com/nvm-sh/nvm">github.com/nvm-sh/nvm</a>): curl -fsSL -o install_nvm.sh https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh &amp;&amp; bash install_nvm.sh</li><li><strong>Node.js 22+</strong> : once with nvm,nvm install 22 &amp;&amp; nvm alias default 22</li><li><strong>Claude Code (CLI)</strong> (<a href="https://claude.com/product/claude-code">claude.com/product/claude-code</a>): npm install -g @anthropic-ai/claude-code</li><li><strong>gnomcp</strong> (<a href="https://github.com/gnoverse/gno-mcp">github.com/gnoverse/gno-mcp</a>): curl -fsSL https://raw.githubusercontent.com/gnoverse/gno-mcp/main/scripts/install.sh | sh</li></ul><p>None of this is unique to Gno.land; it’s the same common friction involved in installing any modern CLI on a remote server (outdated Node versions, OAuth login without a browser, sudo permissions). We document every step and every stumble, with the exact commands, in our repository: <a href="https://github.com/Cumulo-pro/govdao-dashboard"><strong>github.com/Cumulo-pro/govdao-dashboard</strong></a> .</p><p>With the environment ready, the first thing we asked the agent was something simple:</p><blockquote><em>Which chain are you connected to with gnomcp? Is the node alive? Show me what gno.land/r/gov/dao renders.</em></blockquote><p>The response arrived with the node confirmed as live, synchronized to the current block, and the complete table of GovDAO proposals, generated from the tool gno_render.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/0*p3e9VDuu6DVM903L.png" /><figcaption>First real query: the agent confirms the chain, the node state, and renders the GovDAO proposals.</figcaption></figure><h3>From prototype to real dashboard</h3><p>With the data validated live, the next step was to ask the agent for a one-shot HTML page listing the proposals. It was generated as a self-contained, framework-free page with all 34 actual proposals. This served to confirm the format, but it wasn’t a true dashboard: it didn’t update automatically and didn’t allow access to the details of each proposal.</p><p>We asked for a second run, this time as a small PHP application:</p><p>• <strong>collector.php</strong>, which speaks directly to the <strong>Gno.land RPC</strong> (without going through gnomcp) and saves the proposals in a local SQLite database.</p><p>· <strong>index.php</strong>, with the complete table, a live filter, and links to the details of each one.</p><p>· <strong>proposal.php</strong>, with the detail view: title, author, full description, status, and the YES/NO/ABSTAIN breakdown.</p><p>The decision to have the collector communicate directly via RPC, without relying on gnomcp, was deliberate: gnomcp was the tool we used to explore and understand the data model during development, but the production application doesn’t need to depend on the agent running continuously. The agent itself, without our prompting, resolved on the fly that the server didn’t have the php-curl extension installed and switched to making calls using native PHP streams, which are more portable for shared hosting that might also lack it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/0*xSZ4u-jff-UhotLT.png" /><figcaption>The finished PHP app was tested locally against the 34 real proposals.</figcaption></figure><p>We finished by applying Cumulo’s visual identity (colors, typography, the dark gradient from the brand guidelines) and the usual metadata to ensure it shares well on social media. The result: a live dashboard with real data, running on the same infrastructure where we already operate as a validator.<br>The result: a live dashboard with real data, available on</p><p><a href="https://cumulo.pro/services/gnoland_testnet/govdao/">cumulo.pro/services/gnoland_testnet/govdao</a></p><h3>Conclusions</h3><p>gnomcp is in pre-release, unaudited, and its own team openly acknowledges this. Even so, for a read-only use case like ours, the surface it exposes is solid: the read tools are a direct wrapper around the chain’s standard queries (vm/qrender, vm/qeval), meaning a developer already familiar with <strong>Gno.land</strong> can verify exactly what the agent is doing at each step, without having to blindly trust it.</p><p>What really made the difference wasn’t the “AI” part itself, but the <strong>skill</strong>: having at hand, in the same format we already used with Claude for other tasks, the specific knowledge of how to read and write Gno without having to go looking for it in the documentation every time.</p><p>If you’re thinking of trying it, the shortest path is exactly the one we followed: a Linux server with normal internet, Claude Code, and the gnomcp installer.</p><h3>Resources</h3><p>Live Dashboard: <a href="https://cumulo.pro/services/gnoland_testnet/govdao/">cumulo.pro/services/gnoland_testnet/govdao</a></p><p>The complete, step-by-step technical guide, with the exact prompts we used, all the screenshots of every glitch, and the application’s source code, is in our repository:</p><ul><li><strong>Project repository (code + technical guide): </strong><a href="https://github.com/Cumulo-pro/govdao-dashboard">https://github.com/Cumulo-pro/govdao-dashboard</a></li></ul><p><strong>• Tools and libraries mentioned in this article:</strong></p><p>· <strong>gnomcp: </strong><a href="https://github.com/gnoverse/gno-mcp">https://github.com/gnoverse/gno-mcp</a></p><ul><li><strong>Original announcement on X (“Gno.land Meets AI: gnomcp”): </strong><a href="https://x.com/_gnoland/status/2083094198476324937">https://x.com/_gnoland/status/2083094198476324937</a></li></ul><p>· <strong>Gno.land: </strong><a href="https://gno.land/">https://gno.land</a></p><p>• <strong>Gno.land documentation: </strong><a href="https://docs.gno.land/">https://docs.gno.land</a></p><p>· <strong>Gnolang/gno repository: </strong><a href="https://github.com/gnolang/gno">https://github.com/gnolang/gno</a></p><p>· <strong>Claude Code: </strong><a href="https://claude.com/claude-code">https://claude.com/claude-code</a></p><p>· <strong>nvm (Node Version Manager): </strong><a href="https://github.com/nvm-sh/nvm">https://github.com/nvm-sh/nvm</a></p><p>· <strong>PHP: </strong><a href="https://www.php.net/">https://www.php.net</a></p><p>· <strong>SQLite: </strong><a href="https://www.sqlite.org/">https://www.sqlite.org</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*wSxqvliOQAZpNDEO.png" /></figure><h3>Gno.land:</h3><p><a href="https://gno.land/">Website</a> | <a href="https://discord.com/invite/gnoland">Discord</a> | <a href="https://gno.land/r/gnoland/blog">Blog</a> | <a href="https://x.com/_gnoland">X</a> | <a href="https://github.com/gnolang">GitHub</a> | <a href="https://docs.gno.land/">Docs</a> | <a href="https://gnoscan.io/">Explorer</a> | <a href="https://t.me/join_gnoland">Telegram</a> | <a href="https://www.youtube.com/@_gnoland">Youtube</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*BgQd7Pcu8wVlr5Gc.png" /></figure><p><a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/GawpmyqNCM">Discord</a> | <a href="https://t.me/cumulo_news">Telegram </a>| <a href="https://cumulo.pro/">cumulo.pro</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ef21d975dbff" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/gno-land-meets-ai-ef21d975dbff">Gno.land Meets AI</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Gno.land se une a la IA]]></title>
            <link>https://medium.com/cumulo-pro/gno-land-meets-ai-334dbe38509c?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/334dbe38509c</guid>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[dashboard-design]]></category>
            <category><![CDATA[gnoland]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Mon, 07 Sep 2026 15:55:27 GMT</pubDate>
            <atom:updated>2026-09-07T16:16:02.578Z</atom:updated>
            <content:encoded><![CDATA[<h4>Cómo construir un dashboard de GovDAO con el nuevo entorno de IA de Gno.land.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Pg3fOeChUYG_n4TLi6G5rA.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*DmFEhTIYuOOkQ8w0.png" /></figure><h3>Introducción a Gno.land</h3><p>Gno.land es una blockchain para smart contracts escrita en Gno, un lenguaje prácticamente idéntico a Go, y corre sobre su propia máquina virtual (<strong>GnoVM</strong>) en lugar de la EVM de Ethereum. Detrás de Gno.land está buena parte del equipo que creó <strong>Cosmos SDK</strong> y <strong>Tendermint</strong>, así que no es un experimento de garaje: es una apuesta seria por resolver algo concreto que la mayoría de las chains no resuelve bien.</p><p>Ese algo es la <strong>transparencia real</strong>. En Gno.land, el código de cada “<strong><em>realm</em></strong>” (el equivalente a un contrato) vive <em>on-chain</em> en texto plano, tal cual se escribió, sin compilar a bytecode opaco. Cualquiera puede leer exactamente qué hace un realm antes de interactuar con él, línea por línea, sin necesitar herramientas de descompilación ni confiar en que el código verificado coincide con el desplegado.</p><p>Hay otra pieza que sorprende la primera vez que la ves: cualquier <strong><em>realm </em></strong>puede exponer una función Render() que genera su propia página en markdown a partir de su estado actual. No hace falta un frontend aparte ni una API separada: el contrato es, al mismo tiempo, la aplicación. Eso es literalmente lo que vimos al pedirle a un agente que renderizara gno.land/r/gov/dao: la tabla de propuestas de gobernanza sale directo del propio realm.</p><p>Esa combinación (<strong>código legible, estado legible, salida en markdown</strong>) es la que hace que <strong>Gno.land</strong> encaje de forma natural con <strong>agentes de IA</strong>: un agente puede leer un <strong><em>realm </em></strong>exactamente igual que leería cualquier repositorio, sin ambigüedad sobre qué hace. Eso es lo que propone <strong>gnomcp</strong>, publicado hace poco por el equipo de Gno.land como el primer post de una serie llamada “<strong><em>Gno.land Meets AI</em></strong>”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/1*ksph66cVndFUy5N2yLAFww.png" /><figcaption><em>El resultado final: un dashboard en vivo de las propuestas de GovDAO, construido con el entorno que describimos en este artículo.</em></figcaption></figure><h4>Qué puede hacer un developer con este entorno</h4><p>· <strong>Explorar cualquier chain en lenguaje natura</strong>l: a qué red estás conectado, si el nodo está vivo, qué realms existen bajo una ruta, qué renderiza cada uno. Sin escribir una sola query a mano.</p><p>· <strong>Construir y desplegar un <em>realm </em>de punta a punta</strong>: describes lo que quieres en una frase, el agente escribe el código, lo prueba localmente, hace una pasada de seguridad, y lo despliega en testnet.</p><p>· <strong>Auditar un <em>realm </em>antes de confiar en él</strong>, incluso en mainnet (de solo lectura): el agente devuelve un informe con hallazgos concretos, código citado, y severidad.</p><p>· <strong>Depurar una transacción fallida</strong>: el agente clasifica el error, lo reproduce sin gastar gas, aplica el fix, y confirma que ya funciona.</p><p>· <strong>Firmar como tu propia cuenta cuando hace falta:</strong> por defecto, el agente escribe con su propia clave desechable de testnet, para que un error no te cueste nada. Si alguna vez necesitas que una escritura salga de tu cuenta real, el agente te propone una sesión acotada (rutas permitidas, límite de gasto, expiración) para que la autorices tú mismo, en tu propia máquina. Tus claves nunca pasan por el proceso del agente.</p><h4>Las ventajas, resumidas</h4><p>· <strong>Curva de aprendizaje más corta</strong>: Gno tiene reglas propias (interrealm, convenciones de Render(), su propio modelo de memoria) que un agente entrenado solo en Go o Solidity adivinaría mal. La <strong>skill</strong> que trae <strong>gnomcp </strong>le da ese conocimiento de entrada.</p><p>· <strong>Seguridad estructural</strong>, no solo por convención: las escrituras reales quedan limitadas a testnet y dev; en mainnet y betanet no hay ningún camino de código que firme una transacción, así que no hay forma de que un agente comprometa fondos reales por accidente.</p><p>· <strong>Todo lo que el agente lee de la chain se trata como datos</strong>, nunca como instrucciones: un realm malicioso no puede manipular al agente a través de lo que este lee.</p><p>· <strong>Cada escritura queda en un registro auditable</strong>, y el catálogo de errores es estructurado, así que el agente puede fallar hacia adelante en vez de quedarse trabado.</p><h4>Instalamos gnomcp de verdad, en un servidor real, sin atajos, y lo usamos para construir algo concreto: un dashboard en vivo de las propuestas de GovDAO, el sistema de gobernanza on-chain de Gno.land. Este artículo recoge cómo fue, tropiezos incluidos.</h4><h3>Servidor y skill: las dos piezas de gnomcp</h3><p><strong>gnomcp</strong> son dos piezas independientes que se complementan:</p><p>· Un <strong>servidor MCP</strong> (Model Context Protocol). Gestiona las consultas a la chain, las escrituras cuando las hay, y el uso de una clave controlada por el agente para firmar. Viene listo para usarse contra la testnet pública de Gno.land o un nodo local de desarrollo.</p><p>· Una <strong>skill</strong> (skills/gno). Un paquete de instrucciones, en el mismo formato que usan los <strong>Claude Skills</strong>, que le enseña a un agente las particularidades de Gno frente a Go: reglas de interrealm, convenciones de Render(), seguridad, librería estándar.</p><p>Cada vez que el agente usa una tool de gnomcp por primera vez, pide confirmación explícita antes de ejecutarla. En ningún momento se sintió como una caja negra actuando por su cuenta.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/1*t0LfBwVLn-c7bmsppNFIPg.png" /><figcaption><em>El agente pide confirmación explícita antes de usar cada herramienta de gnomcp por primera vez.</em></figcaption></figure><blockquote><strong>Nota</strong>: toda la actividad de este artículo corre sobre la testnet pública sapphire-1. Gno.land no tiene todavía una mainnet propiamente dicha, y gnomcp apunta ahí por defecto.</blockquote><h3>Instalar el entorno</h3><p>Para reproducir esto necesitas un servidor Linux con internet normal (usamos Ubuntu 24.10) y estas piezas:</p><ul><li><strong>nvm</strong> (<a href="https://github.com/nvm-sh/nvm">github.com/nvm-sh/nvm</a>): curl -fsSL -o install_nvm.sh https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh &amp;&amp; bash install_nvm.sh</li><li><strong>Node.js 22+</strong>: una vez con nvm, nvm install 22 &amp;&amp; nvm alias default 22</li><li><strong>Claude Code (CLI)</strong> (<a href="https://claude.com/product/claude-code">claude.com/product/claude-code</a>): npm install -g @anthropic-ai/claude-code</li><li><strong>gnomcp</strong> (<a href="https://github.com/gnoverse/gno-mcp">github.com/gnoverse/gno-mcp</a>): curl -fsSL https://raw.githubusercontent.com/gnoverse/gno-mcp/main/scripts/install.sh | sh</li></ul><p>Nada de esto es exclusivo de Gno.land, es la misma fricción habitual de instalar cualquier CLI moderna en un servidor remoto (versiones de Node desactualizadas, login OAuth sin navegador, permisos de sudo). Documentamos cada paso y cada tropiezo, con los comandos exactos, en nuestro repositorio: <a href="https://github.com/Cumulo-pro/govdao-dashboard"><strong>github.com/Cumulo-pro/govdao-dashboard</strong></a>.</p><p>Con el entorno listo, lo primero que le pedimos al agente fue algo simple:</p><blockquote><em>¿A qué chain estás conectado con gnomcp? ¿Está vivo el nodo? Muéstrame qué renderiza gno.land/r/gov/dao.</em></blockquote><p>La respuesta llegó con el nodo confirmado como vivo, sincronizado al bloque real del momento, y la tabla completa de propuestas de GovDAO, generada a partir de la tool gno_render.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/1*ubVLyNOvi10NBCmgkO9Dew.png" /><figcaption><em>Primera consulta real: el agente confirma la chain, el estado del nodo, y renderiza las propuestas de GovDAO.</em></figcaption></figure><h3>Del prototipo al dashboard real</h3><p>Con los datos ya validados en vivo, el siguiente paso fue pedirle al agente una página HTML de un solo disparo con el listado de propuestas. La generó, autocontenida, sin frameworks, con las 34 propuestas reales. Sirvió para confirmar el formato, pero no era un dashboard de verdad: no se actualizaba solo y no dejaba entrar al detalle de cada propuesta.</p><p>Le pedimos una segunda vuelta, esta vez como una pequeña aplicación PHP:</p><p>· <strong>collector.php</strong>, que habla directo con el <strong>RPC de Gno.land</strong> (sin pasar por gnomcp) y guarda las propuestas en una base SQLite local.</p><p>· <strong>index.php</strong>, con la tabla completa, un filtro en vivo, y enlaces al detalle de cada una.</p><p>· <strong>proposal.php</strong>, con la vista de detalle: título, autor, descripción completa, estado, y el desglose YES/NO/ABSTAIN.</p><p>La decisión de que el collector hable directo por RPC, sin depender de gnomcp, fue deliberada: gnomcp fue la herramienta que usamos para explorar y entender el modelo de datos durante el desarrollo, pero la aplicación en producción no tiene por qué depender de que el agente siga corriendo. El propio agente, sin que se lo pidiéramos, resolvió sobre la marcha que el servidor no tenía la extensión php-curl instalada y cambió a hacer las llamadas con streams nativos de PHP, más portables para un hosting compartido que quizá tampoco la tenga.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/870/1*LH0aKgd7yAk0OOupo6oWrA.png" /><figcaption><em>La app PHP terminada, probada localmente contra las 34 propuestas reales.</em></figcaption></figure><p>Terminamos aplicando la identidad visual de Cumulo (colores, tipografía, el degradado oscuro de la guía de marca) y los metadatos habituales para que se comparta bien en redes. El resultado: un dashboard en vivo, con datos reales, corriendo sobre la misma infraestructura donde ya operamos como validador.<br>El resultado: un dashboard en vivo, con datos reales, disponible en</p><p><a href="https://cumulo.pro/services/gnoland_testnet/govdao/">cumulo.pro/services/gnoland_testnet/govdao</a></p><h3>Conclusiones</h3><p>gnomcp está en fase pre-release, sin auditar todavía, y su propio equipo lo dice abiertamente. Aun así, para un caso de uso de lectura como el nuestro, la superficie que expone es sólida: las tools de lectura son un envoltorio directo sobre las queries estándar de la chain (vm/qrender, vm/qeval), lo que significa que un desarrollador que ya conoce <strong>Gno.land</strong> puede verificar exactamente qué está haciendo el agente en cada paso, sin tener que confiar a ciegas.</p><p>Lo que de verdad marcó la diferencia no fue la parte “IA” en sí, sino la <strong>skill</strong>: tener a mano, en el mismo formato que ya usamos con Claude para otras tareas, el conocimiento específico de cómo se lee y se escribe Gno sin tener que ir a buscarlo en la documentación cada vez.</p><p>Si estás pensando en probarlo, el camino más corto es exactamente el que seguimos nosotros: un servidor Linux con internet normal, Claude Code, y el instalador de gnomcp.</p><h3>Recursos</h3><p>Dashboard en vivo: <a href="https://cumulo.pro/services/gnoland_testnet/govdao/">cumulo.pro/services/gnoland_testnet/govdao</a></p><p>La guía técnica completa, paso a paso, con los prompts exactos que usamos, todas las capturas de cada tropiezo, y el código fuente de la aplicación, está en nuestro repositorio:</p><p>· <strong>Repositorio del proyecto (código + guía técnica): </strong><a href="https://github.com/Cumulo-pro/govdao-dashboard">https://github.com/Cumulo-pro/govdao-dashboard</a></p><p><strong>· Herramientas y librerías mencionadas en este artículo:</strong></p><p>· <strong>gnomcp: </strong><a href="https://github.com/gnoverse/gno-mcp">https://github.com/gnoverse/gno-mcp</a></p><p>· <strong>Anuncio original en X (“Gno.land Meets AI: gnomcp”): </strong><a href="https://x.com/_gnoland/status/2083094198476324937">https://x.com/_gnoland/status/2083094198476324937</a></p><p>· <strong>Gno.land: </strong><a href="https://gno.land/">https://gno.land</a></p><p>· <strong>Documentación de Gno.land: </strong><a href="https://docs.gno.land/">https://docs.gno.land</a></p><p>· <strong>Repositorio gnolang/gno: </strong><a href="https://github.com/gnolang/gno">https://github.com/gnolang/gno</a></p><p>· <strong>Claude Code: </strong><a href="https://claude.com/claude-code">https://claude.com/claude-code</a></p><p>· <strong>nvm (Node Version Manager): </strong><a href="https://github.com/nvm-sh/nvm">https://github.com/nvm-sh/nvm</a></p><p>· <strong>PHP: </strong><a href="https://www.php.net/">https://www.php.net</a></p><p>· <strong>SQLite: </strong><a href="https://www.sqlite.org/">https://www.sqlite.org</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*tby4XHzDith1sGtm.png" /></figure><h3>Gno.land:</h3><p><a href="https://gno.land/">Website</a> | <a href="https://discord.com/invite/gnoland">Discord</a> | <a href="https://gno.land/r/gnoland/blog">Blog</a> | <a href="https://x.com/_gnoland">X</a> | <a href="https://github.com/gnolang">GitHub</a> | <a href="https://docs.gno.land/">Docs</a> | <a href="https://gnoscan.io/">Explorer</a> | <a href="https://t.me/join_gnoland">Telegram</a> | <a href="https://www.youtube.com/@_gnoland">Youtube</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*SLR8XwqT1G7IeXtj.png" /></figure><p><a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/GawpmyqNCM">Discord</a> | <a href="https://t.me/cumulo_news">Telegram </a>| <a href="https://cumulo.pro/">cumulo.pro</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=334dbe38509c" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/gno-land-meets-ai-334dbe38509c">Gno.land se une a la IA</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Starknet]]></title>
            <link>https://medium.com/cumulo-pro/starknet-9af452139b80?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/9af452139b80</guid>
            <category><![CDATA[starknet]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[validation]]></category>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[post-quantum-cryptography]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Thu, 13 Aug 2026 21:16:43 GMT</pubDate>
            <atom:updated>2026-08-13T21:16:43.464Z</atom:updated>
            <content:encoded><![CDATA[<h4>Post-quantum consensus signatures: a perspective from validation</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*sBJL1Gi315MM2KtDgWZ4-A.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ITr86IxakVlhw3-V.png" /></figure><p>A few weeks ago, a wallet on Starknet made a real transfer signed with Falcon-512, a signature scheme that no quantum computer, nor one much more powerful than those that exist today, can forge. It cost about six cents, the account is experimental and unaudited, and the transaction was recorded on the public mainnet.</p><p><strong>Why it matters:</strong> The cryptography that protects virtually all wallets today (Bitcoin, Ethereum, most L2s) is based on elliptic curves, and elliptic curves are exactly what a sufficiently powerful quantum computer can break. This transfer is proof that an alternative, one that doesn’t rely on this cryptography, already exists in production. But it’s just the most visible piece of a longer story: why Starknet was able to do this without a fork or forced migration, how well the rest of the roadmap is actually resolved, and what remains to be built in the least visible piece of all, the consensus that underpins the network.</p><h3>Quantum risk is already active, even though the hardware doesn’t yet exist.</h3><p>The quantum vulnerability of a blockchain doesn’t begin the day a quantum computer capable of breaking elliptic curves exists. It begins earlier, under the model known as “ <em>harvest now, decrypt later”</em>: an attacker can archive encrypted on-chain data today and decrypt it as soon as the hardware is available. The relevant question isn’t when that hardware will arrive, but how much migration work a network will have to do before then.</p><p>Every blockchain has two independent exposure layers. The account layer: the signature that authorizes each transaction. And the verification layer: the proof system that ensures the chain’s state is valid. Bitcoin and Ethereum have elliptic curves hardwired into both. Most zk-rollups do too, because they build their SNARKs on elliptic curves. Solving only one of the two layers doesn’t solve the problem.</p><h3>Why Starknet starts from a different point</h3><p>At the verification layer, Starknet runs on <strong><em>STARKs</em></strong> : tests based on hash functions, not elliptic curves. There is no known quantum attack against a hash function; the best available, Grover’s algorithm, only speeds up brute force, and this is offset by increasing the hash size. This is a structural property of the testing system, present since the original design, years before it was a topic of discussion in the industry.</p><p>At the account layer, each account in Starknet is a smart contract: no signature scheme is fixed in the protocol; each account decides what it accepts based on its own logic. This is what made the transfer possible without a hard fork, without coordinated migration, and without a change of address.</p><h3>The story no one has told: the true cost of Falcon-512</h3><p>Here’s something that didn’t make the headlines, but it’s worth mentioning. Verifying a signature within a Starknet contract isn’t free: every transaction has a cost on the network, and the more complex the signature, the more expensive it is to verify. With <strong><em>Falcon-512,</em></strong> that cost was, until relatively recently, a real and unresolved problem.</p><p>In July 2025, almost a year before the official roadmap, a community developer suggested a way to reduce that cost on the Starknet public forum. A StarkWare researcher responded honestly: it wasn’t enough. One of the internal operations required by Falcon-512 was still too resource-intensive, so close to the limit of what a contract could support that it wasn’t even clear if it was practically feasible. It was an open technical discussion, with no guarantee that it would work.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*8cgRIyTHhwPLcaOz.png" /></figure><p>A year later, it works. The Falcon-512 implementation running on the mainnet today solved that problem: verifying a signature costs significantly less than other comparable alternatives already used by many wallets, and it fits comfortably within the limits of a Starknet contract. It’s the same signature that made the six-cent transfer possible, the one we mentioned at the beginning of this article. The important thing isn’t just that it works today, but that the entire process, from the initial doubt to the solution, happened publicly, on the Starknet forum, long before anyone mentioned it in the media.</p><h3>The roadmap and its actual state, surface by surface.</h3><p>StarkWare’s post-quantum roadmap, published on June 30, outlines three phases: securing new activity, providing migration tools for existing contracts, and finally resolving shared dependencies with Ethereum. Starknet maintains a public progress log (<strong>quantum.starkware.co</strong>) with the actual status of each surface, which should be cited precisely rather than assuming everything is resolved.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zJttV3EEpU9B7LlT.png" /></figure><p><strong>Already up and running on the mainnet.</strong> Starknet changed one of the internal mathematical functions it uses to seal the network state to a quantum-resistant version (in technical jargon: it replaced Pedersen with BLAKE2s-256 in the system configuration hashes).</p><p><strong>Announced, but not yet active.</strong> The same type of change applies to the structure that stores data for each contract and to how account addresses are calculated. We know what will be done and how, but it’s not yet deployed in production.</p><p><strong>Currently under investigation, with no date or publicly available tool yet.</strong> The challenge lies in how to migrate existing contracts that store their information using the old method. This is the most delicate part, as it affects what is already deployed and in use, and StarkWare has not yet published a concrete plan for how to do it without breaking anything.</p><p><strong>Outside of Starknet’s direct control.</strong> Some of the network’s data is published on Ethereum, and that data still uses a cryptography that Ethereum hasn’t yet updated (the mechanism is called KZG). The same applies to the bridge between the two networks. Here, Starknet relies on Ethereum’s timeline, not just its own.</p><h3>The piece that almost no one is connecting: decentralized consensus and validation</h3><p>Almost all the public discussion surrounding this roadmap has focused on the Falcon-512 account. But there’s a detail that’s rarely mentioned alongside the announcement: Starknet’s official decentralization roadmap places post-quantum cryptography in the same phase, Phase 4, currently underway, as Staking v3 (decentralized block validation) and Staking v4 (fully decentralized consensus and network operation). This isn’t a coincidence: StarkWare has explicitly indicated post-quantum consensus signatures, with Falcon-512 as a candidate, intended for the moment when validation will no longer depend on StarkWare and will instead be handled by a set of independent validators.</p><p>That’s the part that directly concerns us as validators, and where the problem shifts from “<em>Does my wallet accept another signature?”</em> to “<em>Which signature will the node software that each validator operates have to support, how far in advance will there be a public specification, and will there be a real testnet window before it becomes mandatory on the mainnet?” </em>These are infrastructure questions, not UX questions, and we prefer to raise them now, in the research phase, just as the cost of Falcon-512 was raised and resolved in the forum a year ago, and not when decentralized validation is already in production.</p><h3>From Cumulo</h3><p>We have been operating non-custodial validation infrastructure on various networks, including Starknet, for over five years, using our own open-source tools for monitoring and deployment. This is precisely the type of protocol decision we prefer to pursue from the public research phase, with concrete data, not from the announcement stage. As soon as a consensus signature scheme is available on the testnet, we offer to test it, openly document the process, and share the findings with the community, as we always do.</p><blockquote><em>In blockchain, validators are the engine that makes it possible, and the community is the fuel that keeps that engine running.</em></blockquote><h3>Sources:</h3><ul><li>StarkWare, “<em>The Architecture Advantage: Starknet’s Quantum Readiness Roadmap</em>” (June 30, 2026), the official roadmap announcement, with the three phases and their estimated timelines: <a href="https://starkware.co/blog/the-architecture-advantage-starknets-quantum-readiness-roadmap/">https://starkware.co/blog/the-architecture-advantage-starknets-quantum-readiness-roadmap/</a></li><li>StarkWare, “<em>Quantum security for everyone: the StarkWare Quantum Hub is now live</em>” (July 30, 2026), hub launch and link to the transaction on X: <a href="https://starkware.co/blog/quantum-hub/">https://starkware.co/blog/quantum-hub/</a></li><li>StarkWare Post-Quantum Migration Tracking Dashboard: <a href="https://quantum.starkware.co/">https://quantum.starkware.co/</a></li><li>Starknet’s Decentralization Roadmap (last updated March 22, 2026) places post-quantum cryptography in Phase 4, alongside Staking v3 and v4: <a href="https://www.starknet.io/roadmap/">https://www.starknet.io/roadmap/</a></li><li>SNIP-32 thread in the Starknet forum, “Expose Keccak-f[1600] Permutation Syscall” (July 2025): <a href="https://community.starknet.io/t/snip-32-expose-keccak-f-1600-permutation-syscall/115770">https://community.starknet.io/t/snip-32-expose-keccak-f-1600-permutation-syscall/115770</a></li><li>s2morrow, demo and deployment of the Falcon-512 in Cairo, with gas and compression figures: <a href="https://www.s2morrow.xyz/">https://www.s2morrow.xyz/</a> and <a href="https://github.com/feltroidprime/s2morrow">https://github.com/feltroidprime/s2morrow</a></li><li>StarkWare, “Starknet’s Quantum Edge: STARKs and Native Account Abstraction” (20 de julio de 2026): <a href="https://starkware.co/blog/starknets-quantum-edge-starks-and-native-account-abstraction/">https://starkware.co/blog/starknets-quantum-edge-starks-and-native-account-abstraction/</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*812ZewP4PzaxxK1Q.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*WokXNVLLEm_FF4Lg.png" /></figure><p>Follow us on: <a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/4x5eH72UZB">Discord</a> | <a href="https://cumulo.pro/">cumulo.pro</a><br>or our news channel on <a href="https://t.me/cumulo_news">Telegram</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9af452139b80" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/starknet-9af452139b80">Starknet</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Starknet]]></title>
            <link>https://medium.com/cumulo-pro/starknet-59d00557df50?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/59d00557df50</guid>
            <category><![CDATA[validation]]></category>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[post-quantum-cryptography]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[starknet]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Thu, 13 Aug 2026 20:48:08 GMT</pubDate>
            <atom:updated>2026-08-13T20:51:21.059Z</atom:updated>
            <content:encoded><![CDATA[<h4>Firmas de consenso post-cuánticas: una perspectiva desde la validación</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OKle7XNu1pHQQM6KQ-8hFw.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*XM6JfCcbTsWmX6wH.png" /></figure><p>Hace unas semanas, una wallet en Starknet hizo una transferencia real firmada con Falcon-512, un esquema de firma que ningún ordenador cuántico, ni uno mucho más potente que los que existen hoy, puede falsificar. Costó unos seis céntimos, la cuenta es experimental y no auditada, y la transacción quedó registrada en mainnet, pública.</p><p><strong>Por qué importa:</strong> la criptografía que protege prácticamente todas las wallets hoy (Bitcoin, Ethereum, la mayoría de L2s) se basa en curva elíptica, y curva elíptica es exactamente lo que un ordenador cuántico lo bastante potente puede romper. Esa transferencia es la prueba de que ya existe, en producción, una alternativa que no depende de esa criptografía. Pero es solo la pieza más visible de una historia más larga: por qué Starknet pudo hacer esto sin fork ni migración forzada, qué tan resuelto está realmente el resto del roadmap, y qué queda por construir en la pieza menos visible de todas, el consenso que sostiene la red por debajo.</p><h3><strong>El riesgo cuántico ya está activo, aunque el hardware no exista aún</strong></h3><p>La exposición cuántica de una blockchain no empieza el día que exista un ordenador cuántico capaz de romper curvas elípticas. Empieza antes, bajo el modelo conocido como <em>harvest now, decrypt later</em>: un atacante puede archivar hoy datos on-chain cifrados y descifrarlos en cuanto el hardware esté disponible. La pregunta relevante no es cuándo llegará ese hardware, sino cuánto trabajo de migración le queda a una red antes de ese momento.</p><p>Toda blockchain tiene dos frentes de exposición independientes. La capa de cuenta: la firma que autoriza cada transacción. Y la capa de verificación: el sistema de pruebas que garantiza que el estado de la cadena es válido. Bitcoin y Ethereum tienen curva elíptica cableada en ambas. La mayoría de zk-rollups también, porque construyen sus SNARKs sobre curvas elípticas. Resolver solo una de las dos capas no resuelve el problema.</p><h3><strong>Por qué Starknet parte de otro punto</strong></h3><p>En la capa de verificación, Starknet corre sobre <strong><em>STARKs</em></strong>: pruebas basadas en funciones hash, no en curvas elípticas. No existe ataque cuántico conocido contra una función hash, el mejor disponible, el algoritmo de Grover, solo acelera la fuerza bruta, y se compensa aumentando el tamaño del hash. Es una propiedad estructural del sistema de pruebas, presente desde el diseño original, años antes de que esto fuera tema de conversación en la industria.</p><p>En la capa de cuenta, cada cuenta en Starknet es un smart contract: ningún esquema de firma está fijado en el protocolo, cada cuenta decide qué acepta en su propia lógica. Eso es lo que hizo posible la transferencia sin hard fork, sin migración coordinada y sin cambio de dirección.</p><h3><strong>La historia que no ha contado nadie: el coste real de Falcon-512</strong></h3><p>Aquí hay algo que no salió en ningún titular, y que vale la pena contar. Verificar una firma dentro de un contrato de Starknet no es gratis: cada operación tiene un coste en la red, y cuanto más compleja es la firma, más cara resulta verificarla. Con <strong><em>Falcon-512</em></strong> ese coste era, hasta hace relativamente poco, un problema real y sin resolver.</p><p>En julio de 2025, casi un año antes del roadmap oficial, un desarrollador de la comunidad planteó en el foro público de Starknet una forma de abaratar ese coste. Un investigador de StarkWare le respondió con honestidad: no era suficiente. Una de las operaciones internas que necesita Falcon-512 seguía siendo demasiado pesada, tan cerca del límite de lo que un contrato puede soportar que ni siquiera estaba claro que fuera viable en la práctica. Fue una conversación técnica abierta, sin garantías de que fuera a funcionar.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iQppmzeDD6_RQj4vqJ05yA.png" /></figure><p>Un año después, sí funciona. La implementación de Falcon-512 que corre hoy en mainnet resolvió ese problema: verificar una firma cuesta bastante menos que otras alternativas comparables que ya usan muchas wallets, y cabe con margen dentro de los límites de un contrato de Starknet. Es la misma firma que hizo posible la transferencia de seis céntimos con la que abríamos este artículo. Lo relevante no es solo que hoy funcione , es que todo el proceso, desde la duda inicial hasta la solución, ocurrió en público, en el foro de Starknet, mucho antes de que nadie hablara de esto en los medios.</p><h3><strong>El roadmap y su estado real, superficie por superficie</strong></h3><p>El roadmap post-cuántico de StarkWare, publicado el 30 de junio, plantea tres fases: asegurar la actividad nueva, dar herramientas de migración a los contratos existentes, y por último resolver las dependencias compartidas con Ethereum. Starknet mantiene un registro público de avance (<strong>quantum.starkware.co</strong>) con el estado real de cada superficie, que conviene citar con precisión en vez de dar por hecho que todo está resuelto:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OJC6dnZ7pcHKHCWzAQikAg.png" /></figure><p><strong>Ya en marcha, en mainnet.</strong> Starknet cambió una de las funciones matemáticas internas que usa para sellar el estado de la red por una versión resistente a la cuántica (en la jerga técnica: sustituyó Pedersen por BLAKE2s-256 en los hashes de configuración del sistema).</p><p><strong>Anunciado, pero todavía no activo.</strong> El mismo tipo de cambio para la estructura que guarda los datos de cada contrato y para cómo se calculan las direcciones de las cuentas. Se sabe qué se va a hacer y cómo, pero todavía no está desplegado en producción.</p><p><strong>En fase de investigación, sin fecha ni herramienta pública todavía.</strong> Cómo migrar los contratos que ya existen y que guardan su información con el método antiguo. Es la parte más delicada, porque afecta a lo que ya está desplegado y en uso, y StarkWare aún no ha publicado un plan concreto de cómo hacerlo sin romper nada.</p><p><strong>Fuera del control directo de Starknet.</strong> Parte de los datos de la red se publican en Ethereum, y esa pieza sigue usando una criptografía que Ethereum todavía no ha actualizado (el mecanismo se llama KZG). Lo mismo ocurre con el puente entre ambas redes. Aquí Starknet depende del calendario de Ethereum, no solo del suyo.</p><h3><strong>La pieza que casi nadie está conectando: consenso y validación descentralizada</strong></h3><p>Casi toda la conversación pública sobre este roadmap se ha centrado en la cuenta Falcon-512. Pero hay un dato que rara vez se menciona junto al anuncio: el roadmap oficial de descentralización de Starknet ubica la criptografía post-cuántica en la misma fase: Fase 4, actualmente en curso, que Staking v3 (validación de bloques descentralizada) y Staking v4 (consenso y operación de red totalmente descentralizados). No es una coincidencia de calendario: StarkWare ha señalado explícitamente firmas de consenso post-cuánticas, con Falcon-512 como candidato, pensadas para el momento en que la validación deje de depender de StarkWare y pase a manos de un set de validadores independientes.</p><p>Esa es la parte que nos toca directamente como validador, y donde el problema deja de ser “<em>¿mi wallet acepta otra firma?</em>” para pasar a ser “<em>¿qué firma tendrá que soportar el software de nodo que opera cada validador, con qué antelación habrá una especificación pública, y habrá una ventana de testnet real antes de que sea obligatorio en mainnet?</em>”. Son preguntas de infraestructura, no de UX, y preferimos plantearlas ahora, en fase de investigación, igual que se planteó y resolvió el coste de Falcon-512 en el foro hace un año, y no cuando la validación descentralizada ya esté en producción.</p><h3><strong>Desde Cumulo</strong></h3><p>Llevamos más de 5 años operando infraestructura de validación no custodia en distintas redes, Starknet incluida, con herramientas open source propias para monitorización y despliegue. Este es exactamente el tipo de decisión de protocolo que preferimos seguir desde la fase de investigación pública, con datos concretos, no desde el anuncio. En cuanto haya un esquema de firma de consenso disponible en testnet, nos ofrecemos a probarlo, documentar el proceso en abierto y compartir los hallazgos con la comunidad, como publicamos siempre.</p><blockquote>En blockchain, los validadores son el motor que lo hace posible y la comunidad es el combustible que mantiene ese motor en marcha.</blockquote><h3><strong>Fuentes:</strong></h3><ul><li>StarkWare, “<em>The Architecture Advantage: Starknet’s Quantum Readiness Roadmap</em>” (30 de junio de 2026), el anuncio oficial del roadmap, con las tres fases y sus tiempos estimados: <a href="https://starkware.co/blog/the-architecture-advantage-starknets-quantum-readiness-roadmap/">https://starkware.co/blog/the-architecture-advantage-starknets-quantum-readiness-roadmap/</a></li><li>StarkWare, “<em>Quantum security for everyone: the StarkWare Quantum Hub is now live</em>” (30 de julio de 2026), lanzamiento del hub y enlace a la transacción en X: <a href="https://starkware.co/blog/quantum-hub/">https://starkware.co/blog/quantum-hub/</a></li><li>Panel de seguimiento de la migración post-cuántica de StarkWare: <a href="https://quantum.starkware.co/">https://quantum.starkware.co/</a></li><li>Starknet, Decentralization Roadmap (última actualización 22 de marzo de 2026), ubica la criptografía post-cuántica en la Fase 4, junto a Staking v3 y v4: <a href="https://www.starknet.io/roadmap/">https://www.starknet.io/roadmap/</a></li><li>Hilo SNIP-32 en el foro de Starknet, “Expose Keccak-f[1600] Permutation Syscall” (julio de 2025): <a href="https://community.starknet.io/t/snip-32-expose-keccak-f-1600-permutation-syscall/115770">https://community.starknet.io/t/snip-32-expose-keccak-f-1600-permutation-syscall/115770</a></li><li>s2morrow, demo e implementación de Falcon-512 en Cairo, con cifras de gas y compresión: <a href="https://www.s2morrow.xyz/">https://www.s2morrow.xyz/</a> y <a href="https://github.com/feltroidprime/s2morrow">https://github.com/feltroidprime/s2morrow</a></li><li>StarkWare, “Starknet’s Quantum Edge: STARKs and Native Account Abstraction” (20 de julio de 2026): <a href="https://starkware.co/blog/starknets-quantum-edge-starks-and-native-account-abstraction/">https://starkware.co/blog/starknets-quantum-edge-starks-and-native-account-abstraction/</a></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*f7EJc6EXMwMdR3yr.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/443/1*fYKZqYuC4f305lgIWXNAEw@2x.png" /></figure><p>Síguenos en: <a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/4x5eH72UZB">Discord</a> | <a href="https://cumulo.pro/">cumulo.pro</a><br>O nuestro canal de noticias en <a href="https://t.me/cumulo_news">telegram</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=59d00557df50" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/starknet-59d00557df50">Starknet</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How to run Horcrux on Cosmos]]></title>
            <link>https://medium.com/cumulo-pro/how-to-run-horcrux-on-cosmos-bb5afeb59202?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/bb5afeb59202</guid>
            <category><![CDATA[guides-and-tutorials]]></category>
            <category><![CDATA[validator]]></category>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[cosmos-hub]]></category>
            <category><![CDATA[horcrux]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Tue, 11 Aug 2026 17:29:24 GMT</pubDate>
            <atom:updated>2026-08-11T17:29:24.731Z</atom:updated>
            <content:encoded><![CDATA[<h4>Step-by-step guide</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GWfTqWGun_QjbPEjp9mS0g.jpeg" /></figure><h3>Table of Contents</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*YFJWDnXM0GILuvpv.png" /></figure><p>In this guide you will learn how to deploy Horcrux, a multi-party-computation (MPC) signing service that protects your Cosmos validator’s private key by sharding it across multiple nodes.</p><p>We will use a model with <strong>3 signer nodes</strong> and <strong>2 sentry nodes</strong> to achieve fault tolerance and maximum security.</p><h3>Introduction</h3><p>The security of private keys is one of the most sensitive aspects of operating a validator node. A leak, loss, or duplicate signature can have serious consequences, ranging from the loss of funds to expulsion from the network for double-signing.</p><p><strong>This is where Horcrux</strong> comes in, a tool developed by <a href="https://strange.love/">Strangelove</a> that implements distributed signature using <strong>MPC</strong> (Multi-Party Computation) specifically designed for nodes based on Cosmos SDK and CometBFT.</p><p>Horcrux fragments the validator’s private key into multiple shards using <em>Shamir’s Secret Sharing</em> and delegates block signing to a cluster of signers. This way, even if one of the signing nodes fails or is compromised, the signing process can continue without the risk of double-signing or security loss. The complete private key never exists on any server during operation; only individual shards exist, and these shards cannot sign anything on their own.</p><p>In this guide, we apply this architecture to Cosmos Hub, using a 2-out-of-3 configuration: block signing requires agreement from at least two of the three signers. This is the recommended configuration to maximize resilience without sacrificing availability.</p><h3>Architecture</h3><h4>Implemented model</h4><p>- 🔐 <strong>3 Signing Nodes (Signers):</strong> distribute the signature using MPC</p><p>- 🛰️ <strong>2 Sentry nodes:</strong> serve as a secure interface between the network and the signers</p><p>📌 Each signers communicates with both sentinels through the private validation port.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*6sxziXMNJ1EyVxgN.png" /></figure><h4>Hardware requirements</h4><p>- <strong>Sentry:</strong> Baremetal (according to Cosmos Hub requirements). Data centers with public connectivity.</p><p>- <strong>Signer:</strong> VPS: 1 CPU/ 1 GB RAM / 20GB SSD NVMe / 100 Mbps. Providers in separate regions for greater resilience.</p><h3>Network and firewall configuration</h3><p>To ensure system security and connectivity, apply the following port configuration:</p><h4>Signers</h4><p>- Open port 2222to receive signature requests, <strong>only from the IPs of the sentinels</strong>.</p><p>- Keep only the following open: SSH and, if used, Prometheus.</p><p>- ❌ Close all other external access.</p><h4>Sentry Nodes</h4><p>- Expose validation ports ( 1234, 1235) only to signers, never to the public Internet.</p><p>- The port 26656(P2P) must be publicly open for the node to participate in consensus and discover peers.</p><p>🔒 <strong>Important:</strong> The validator’s private key must not exist on the sentinels. They only receive requests from Horcrux to sign blocks.</p><h3>Horcrux Installation</h3><p>Install Horcrux on the <strong>three signers</strong>:</p><pre>mkdir horcrux_cosmos<br>cd horcrux_cosmos<br><br>wget https://github.com/strangelove-ventures/horcrux/releases/download/v3.2.3/horcrux_linux-amd64<br>mv horcrux_linux-amd64 horcrux<br>sudo cp horcrux /usr/local/bin/<br>sudo chmod +x /usr/local/bin/horcrux<br><br>horcrux version</pre><h3>Initialize shared configuration</h3><p>From a single machine, generate the network configuration between signers and sentries. In this case, we have <strong>2 sentries</strong> and <strong>3 signers</strong> :</p><pre>horcrux config init \<br>  --node &quot;tcp://&lt;sentry-1&gt;:1234&quot; \<br>  --node &quot;tcp://&lt;sentry-2&gt;:1235&quot; \<br>  --cosigner &quot;tcp://&lt;signer-1&gt;:2222&quot; \<br>  --cosigner &quot;tcp://&lt;signer-2&gt;:2222&quot; \<br>  --cosigner &quot;tcp://&lt;signer-3&gt;:2222&quot; \<br>  --threshold 2 \<br>  --grpc-timeout 1000ms \<br>  --raft-timeout 1000ms</pre><p>This will generate the file config.yamlthat must be distributed to each signer under ~/.horcrux/.</p><h3>Create shared keys</h3><h4>ECIES (communication between signers)</h4><pre>horcrux create-ecies-shards - shards 3</pre><p>This will generate a pair of encrypted keys for secure communication between signers:</p><pre>cosigner_1/ecies_keys.json<br>cosigner_2/ecies_keys.json<br>cosigner_3/ecies_keys.json</pre><p>⚠️ Each shard should only be copied to the signer it belongs to. Once distributed, no single node has the complete key. Move it priv_validator_key.jsonto a secure offline location immediately.</p><h4>Fragmentar clave privada del validador</h4><p>Copy your priv_validator_key.jsoncurrent directory and run:</p><pre>horcrux create-ed25519-shards \<br>  --chain-id provider \<br>  --key-file ./priv_validator_key.json \<br>  --threshold 2 \<br>  --shards 3</pre><p>The list of fragmented signature files will appear:</p><pre>Created Ed25519 Shard cosigner_1/provider_shard.json<br>Created Ed25519 Shard cosigner_2/provider_shard.json<br>Created Ed25519 Shard cosigner_3/provider_shard.json</pre><p>⚠️ Each shard should <strong>only</strong> be copied to the signer it belongs to. Once distributed, no node has the complete key.</p><h3>Share the consensus status among signers</h3><p>This step prevents accidental duplicate signatures. Each signer must start with the same priv_validator_state.json, which represents the last signed block.</p><p><strong>🛑 Stop original validator node</strong></p><pre>sudo systemctl stop gaiad</pre><p>📄 View current status content:</p><pre>cat ~/.gaia/data/priv_validator_state.json</pre><pre>{<br>  &quot;height&quot;: &quot;XXXXXX&quot;,<br>  &quot;round&quot;: 0,<br>  &quot;step&quot;: 3,<br>  &quot;signature&quot;: &quot;...&quot;,<br>  &quot;signbytes&quot;: &quot;...&quot;<br>}</pre><p>✂️ Create truncated version (remove signatureand signbytes):</p><pre>{<br>  &quot;height&quot;: &quot;XXXXXX&quot;,<br>  &quot;round&quot;: 0,<br>  &quot;step&quot;: 3<br>}</pre><p>📁 Copy each signer to the route:</p><pre>~/.horcrux/state/provider_priv_validator_state.json</pre><p>Repeat this step for all <strong>three signers </strong>before starting Horcrux.</p><h3>Create the Horcrux service</h3><p>For each signer, create and activate the systemd service:</p><pre>sudo tee /etc/systemd/system/horcrux.service &gt; /dev/null &lt;&lt;EOF<br>[Unit]<br>Description=MPC Signer node<br>After=network-online.target<br><br>[Service]<br>User=$USER<br>WorkingDirectory=/home/$USER<br>ExecStart=$(which horcrux) start<br>Restart=on-failure<br>RestartSec=3<br>LimitNOFILE=4096<br><br>[Install]<br>WantedBy=multi-user.target<br>EOF<br><br>sudo systemctl daemon-reload<br>sudo systemctl enable horcrux<br>sudo systemctl start horcrux<br>sudo journalctl -u horcrux -f</pre><h3>Configure Sentry nodes</h3><p><strong>Activate signature endpoint</strong></p><p>In each sentry, edit config.tomlto enable listening for the remote validator. Adjust the port according to the sentry ( 1234or 1235):</p><pre>sed -i &#39;s#priv_validator_laddr = &quot;&quot;#priv_validator_laddr = &quot;tcp://0.0.0.0:1234&quot;#g&#39; ~/.gaia/config/config.toml</pre><p>Confirm:</p><pre>grep priv_validator_laddr ~/.gaia/config/config.toml</pre><p>🚫 <strong>Delete private key from sentry:</strong> WARNING this is a critical step. Make sure Horcrux is working correctly before running it.</p><pre>rm ~/.gaia/config/priv_validator_key.json</pre><p>🔁 Restart node:</p><pre>sudo systemctl restart gaiad<br>journalctl -u gaiad -f</pre><p><strong>✅ Verification</strong></p><p>For each signer, check the Horcrux logs:</p><pre>journalctl -u horcrux -f</pre><p>Expected messages:</p><pre>✅ Successfully signed proposal at height XXXXXX</pre><p>If all three signers show coordinated signing activity, the implementation is correct.</p><h3>Good practices</h3><p>- 🛡️ <strong>Secure the ports:</strong> only signers should have access to the sentinel validation ports.</p><p>- 🗃️ <strong>Make backups</strong> of provider_shard.json, ecies_keys.jsonand config.yamlstore them in a safe, offline location.</p><p>- 🔄 <strong>Document which file belongs to which signatory</strong> to facilitate recovery in case of incidents.</p><p>- 🌍 <strong>Distribute signers </strong>across different providers and regions to avoid common points of failure.</p><p>- ⚠️ <strong>Do not start Horcrux</strong> on signers before you have copied the truncated consensus state.</p><h3>🔗 Useful resources</h3><p>- <a href="https://github.com/strangelove-ventures/horcrux">Horcrux Repository</a></p><p>- <a href="https://github.com/Cumulo-pro/cumulo-horcrux/">Architecture recommended by Cumulo</a></p><p>- <a href="https://github.com/Cumulo-pro/cumulo-cosmoshub-infra">Implementation documentation in Cosmos Testnet</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*jQn3aqs1jeA5G4j8.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*tvOoQHo6MUrijecM.png" /></figure><p><a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/GawpmyqNCM">Discord</a> | <a href="https://t.me/cumulo_news">Telegram </a>| <a href="https://cumulo.pro/">cumulo.pro</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bb5afeb59202" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/how-to-run-horcrux-on-cosmos-bb5afeb59202">How to run Horcrux on Cosmos</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Cómo implementar Horcrux en Cosmos]]></title>
            <link>https://medium.com/cumulo-pro/c%C3%B3mo-implementar-horcrux-en-cosmos-0032dc1a0505?source=rss----384cb9c9311b---4</link>
            <guid isPermaLink="false">https://medium.com/p/0032dc1a0505</guid>
            <category><![CDATA[cumulo]]></category>
            <category><![CDATA[guides-and-tutorials]]></category>
            <category><![CDATA[horcrux]]></category>
            <category><![CDATA[validator]]></category>
            <category><![CDATA[cosmos-hub]]></category>
            <dc:creator><![CDATA[Cumulo]]></dc:creator>
            <pubDate>Tue, 11 Aug 2026 16:53:18 GMT</pubDate>
            <atom:updated>2026-08-11T17:27:03.320Z</atom:updated>
            <content:encoded><![CDATA[<h4><strong>Guía paso a paso</strong></h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Dg13V-8BIoDE01PKEdgw3w.jpeg" /></figure><h3>Índice de contenidos</h3><p>· <a href="#90fb">Introducción</a><br>· <a href="#3f1e">Arquitectura</a><br>· <a href="#6e7f">Configuración de red y firewall</a><br>· <a href="#5d4d">Instalación de Horcrux</a><br>· <a href="#fbf3">Inicializar configuración compartida</a><br>· <a href="#1da5">Crear claves compartidas</a><br>· <a href="#c1d9">Compartir el estado de consenso entre firmantes</a><br>· <a href="#068a">Crear el servicio Horcrux</a><br>· <a href="#5628">Configurar nodos Sentry</a><br>· <a href="#4509">Buenas prácticas</a><br>· <a href="#e5b7">Recursos útiles</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*D7X1KzaLKCx2_SKY.png" /></figure><p>En esta guía aprenderás a desplegar Horcrux, una herramienta de firma distribuida (MPC) que protege la clave privada de tu validador de Cosmos al fragmentarla entre múltiples nodos.</p><p>Usaremos un modelo con <strong>3 nodos firmantes (signers)</strong> y <strong>2 nodos centinelas (sentry nodes)</strong> para lograr tolerancia a fallos y máxima seguridad.</p><h3><strong>Introducción</strong></h3><p>La seguridad de las claves privadas es uno de los puntos más sensibles en la operación de un nodo validador. Una filtración, pérdida o firma duplicada puede tener consecuencias graves: desde la pérdida de fondos hasta la expulsión de la red por doble firma.</p><p>Aquí es donde entra en juego <strong>Horcrux</strong>, una herramienta desarrollada por <a href="https://strange.love/">Strangelove</a> que implementa firma distribuida mediante <strong>MPC </strong>(Multi-Party Computation) específicamente diseñada para nodos basados en Cosmos SDK y CometBFT.</p><p>Horcrux fragmenta la clave privada del validador en múltiples partes (shards) usando <em>Shamir’s Secret Sharing</em> y delega la firma de bloques a un clúster de firmantes. De este modo, incluso si uno de los nodos firmantes falla o está comprometido, la firma puede continuar sin riesgo de doble firma ni pérdida de seguridad. La clave privada completa nunca existe en ningún servidor durante la operación, solo existen fragmentos individuales que por sí solos no pueden firmar nada.</p><p>En esta guía aplicamos esta arquitectura en Cosmos Hub, utilizando una configuración 2 de 3: la firma de bloques requiere el acuerdo de al menos 2 de los 3 firmantes. Esta es la configuración recomendada para maximizar resiliencia sin sacrificar disponibilidad.</p><h3><strong>Arquitectura</strong></h3><h4><strong>Modelo implementado</strong></h4><p>- 🔐 <strong>3 nodos firmantes (Signers): </strong>distribuyen la firma mediante MPC</p><p>- 🛰️ <strong>2 nodos centinela (Sentry): </strong>sirven como interfaz segura entre la red y los firmantes</p><p>📌 Cada firmante se comunica con ambos centinelas a través del puerto privado de validación.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*p5yZxlT6vsSzlz9UdQB_ag.png" /></figure><h4><strong>Requisitos de hardware</strong></h4><p>- <strong>Sentry:</strong> Baremetal (según los requisitos de Cosmos Hub). Centros de datos con conectividad pública.</p><p>- <strong>Signer:</strong> VPS: 1 CPU/ 1 GB RAM / 20GB SSD NVMe / 100 Mbps. Proveedores en regiones separadas para mayor resiliencia.</p><h3><strong>Configuración de red y firewall</strong></h3><p>Para garantizar la seguridad y conectividad del sistema, aplica la siguiente configuración de puertos:</p><h4><strong>Signers</strong></h4><p>- Abrir el puerto 2222 para recibir solicitudes de firma, <strong>solo desde las IPs de los centinelas</strong>.</p><p>- Mantener abiertos únicamente: SSH y, si se usa, Prometheus.</p><p>- ❌ Cerrar todo el resto al acceso externo.</p><h4><strong>Sentry Nodes</strong></h4><p>- Exponer los puertos de validación ( 1234, 1235) solo hacia los firmantes, nunca hacia Internet pública.</p><p>- El puerto 26656 (P2P) debe estar abierto públicamente para que el nodo participe en el consenso y descubra peers.</p><p>🔒 <strong>Importante:</strong> La clave privada del validador no debe existir en los centinelas. Solo reciben solicitudes desde Horcrux para firmar bloques.</p><h3><strong>Instalación de Horcrux</strong></h3><p>Instala Horcrux en los <strong>tres firmantes</strong>:</p><pre>mkdir horcrux_cosmos<br>cd horcrux_cosmos<br><br>wget https://github.com/strangelove-ventures/horcrux/releases/download/v3.2.3/horcrux_linux-amd64<br>mv horcrux_linux-amd64 horcrux<br>sudo cp horcrux /usr/local/bin/<br>sudo chmod +x /usr/local/bin/horcrux<br><br>horcrux version</pre><h3><strong>Inicializar configuración compartida</strong></h3><p>Desde una sola máquina, genera la configuración de red entre firmantes y centinelas. En este caso contamos con <strong>2 sentries</strong> y <strong>3 signers</strong>:</p><pre>horcrux config init \<br>  --node &quot;tcp://&lt;sentry-1&gt;:1234&quot; \<br>  --node &quot;tcp://&lt;sentry-2&gt;:1235&quot; \<br>  --cosigner &quot;tcp://&lt;signer-1&gt;:2222&quot; \<br>  --cosigner &quot;tcp://&lt;signer-2&gt;:2222&quot; \<br>  --cosigner &quot;tcp://&lt;signer-3&gt;:2222&quot; \<br>  --threshold 2 \<br>  --grpc-timeout 1000ms \<br>  --raft-timeout 1000ms</pre><p>Esto generará el fichero config.yaml que deberá distribuirse a cada firmante bajo ~/.horcrux/ .</p><h3><strong>Crear claves compartidas</strong></h3><h4><strong>ECIES (comunicación entre firmantes)</strong></h4><pre>horcrux create-ecies-shards - shards 3</pre><p>Esto generará un par de claves cifradas para la comunicación segura entre signers:</p><pre>cosigner_1/ecies_keys.json<br>cosigner_2/ecies_keys.json<br>cosigner_3/ecies_keys.json</pre><p>⚠️ Cada shard debe copiarse únicamente al firmante que le corresponde. Una vez distribuidos, ningún nodo dispone de la clave completa. Mueve priv_validator_key.jsona un lugar seguro offline inmediatamente.</p><h4><strong>Fragmentar clave privada del validador</strong></h4><p>Copia tu priv_validator_key.json al directorio actual y ejecuta:</p><pre>horcrux create-ed25519-shards \<br>  --chain-id provider \<br>  --key-file ./priv_validator_key.json \<br>  --threshold 2 \<br>  --shards 3</pre><p>Aparecerá la lista de ficheros de firma fragmentada:</p><pre>Created Ed25519 Shard cosigner_1/provider_shard.json<br>Created Ed25519 Shard cosigner_2/provider_shard.json<br>Created Ed25519 Shard cosigner_3/provider_shard.json</pre><p>⚠️ Cada shard debe copiarse <strong>solo</strong> al firmante que le corresponde. Una vez distribuidos, ningún nodo dispone de la clave completa.</p><h3><strong>Compartir el estado de consenso entre firmantes</strong></h3><p>Este paso previene firmas dobles accidentales. Cada firmante debe arrancar con el mismo priv_validator_state.json, que representa el último bloque firmado.</p><p><strong>🛑 Detener nodo validador original</strong></p><pre>sudo systemctl stop gaiad</pre><p>📄 Ver contenido del estado actual:</p><pre>cat ~/.gaia/data/priv_validator_state.json</pre><pre>{<br>  &quot;height&quot;: &quot;XXXXXX&quot;,<br>  &quot;round&quot;: 0,<br>  &quot;step&quot;: 3,<br>  &quot;signature&quot;: &quot;...&quot;,<br>  &quot;signbytes&quot;: &quot;...&quot;<br>}</pre><p>✂️ Crear versión truncada (elimina signature y signbytes):</p><pre>{<br>  &quot;height&quot;: &quot;XXXXXX&quot;,<br>  &quot;round&quot;: 0,<br>  &quot;step&quot;: 3<br>}</pre><p>📁 Copiar a cada firmante en la ruta:</p><pre>~/.horcrux/state/provider_priv_validator_state.json</pre><p>Repite este paso en los <strong>tres firmantes</strong> antes de arrancar Horcrux.</p><h3><strong>Crear el servicio Horcrux</strong></h3><p>En cada firmante, crea y activa el servicio systemd:</p><pre>sudo tee /etc/systemd/system/horcrux.service &gt; /dev/null &lt;&lt;EOF<br>[Unit]<br>Description=MPC Signer node<br>After=network-online.target<br><br>[Service]<br>User=$USER<br>WorkingDirectory=/home/$USER<br>ExecStart=$(which horcrux) start<br>Restart=on-failure<br>RestartSec=3<br>LimitNOFILE=4096<br><br>[Install]<br>WantedBy=multi-user.target<br>EOF<br><br>sudo systemctl daemon-reload<br>sudo systemctl enable horcrux<br>sudo systemctl start horcrux<br>sudo journalctl -u horcrux -f</pre><h3><strong>Configurar nodos Sentry</strong></h3><p><strong>Activar endpoint de firma</strong></p><p>En cada sentry, edita config.toml para activar la escucha del validador remoto. Ajusta el puerto según el sentry ( 1234 o 1235):</p><pre>sed -i &#39;s#priv_validator_laddr = &quot;&quot;#priv_validator_laddr = &quot;tcp://0.0.0.0:1234&quot;#g&#39; ~/.gaia/config/config.toml</pre><p>Confirmar:</p><pre>grep priv_validator_laddr ~/.gaia/config/config.toml</pre><p>🚫 <strong>Eliminar clave privada del sentry:</strong> ATENCIÓN este es un paso crítico. Asegúrate de que Horcrux está funcionando correctamente antes de ejecutarlo.</p><pre>rm ~/.gaia/config/priv_validator_key.json</pre><p>🔁 Reiniciar nodo:</p><pre>sudo systemctl restart gaiad<br>journalctl -u gaiad -f</pre><p><strong>✅ Verificación</strong></p><p>En cada firmante, comprueba los logs de Horcrux:</p><pre>journalctl -u horcrux -f</pre><p>Mensajes esperados:</p><pre>✅ Successfully signed proposal at height XXXXXX</pre><p>Si los tres firmantes muestran actividad coordinada de firma, la implementación es correcta.</p><h3><strong>Buenas prácticas</strong></h3><p>- 🛡️ <strong>Asegura los puertos:</strong> solo los firmantes deben tener acceso a los puertos de validación de los centinelas.</p><p>- 🗃️ <strong>Realiza backups</strong> de provider_shard.json, ecies_keys.json y config.yaml en un lugar seguro y offline.</p><p>- 🔄 <strong>Documenta qué archivo pertenece a qué firmante</strong> para facilitar la recuperación ante incidentes.</p><p>- 🌍 <strong>Distribuye los firmantes</strong> entre diferentes proveedores y regiones para evitar puntos de fallo comunes entre los firmantes.</p><p>- ⚠️ <strong>No arranques Horcrux</strong> en los firmantes antes de haber copiado el estado de consenso truncado.</p><h3><strong>🔗 Recursos útiles</strong></h3><p>- <a href="https://github.com/strangelove-ventures/horcrux">Repositorio Horcrux</a></p><p>- <a href="https://github.com/Cumulo-pro/cumulo-horcrux/">Arquitectura recomendada por Cumulo</a></p><p>- <a href="https://github.com/Cumulo-pro/cumulo-cosmoshub-infra">Documentación de implementación en Cosmos Testnet</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*4khiTXJ7kGyiNilg.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/886/0*JiUbAShpWxgUHeDE.png" /></figure><p><a href="https://twitter.com/Cumulo_pro">Twitter</a> | <a href="https://medium.com/@cumulo.pro">Medium</a> | <a href="https://www.linkedin.com/company/76103865/admin/">LinkedIn</a> | <a href="https://discord.gg/GawpmyqNCM">Discord</a> | <a href="https://t.me/cumulo_news">Telegram </a>| <a href="https://cumulo.pro/">cumulo.pro</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=0032dc1a0505" width="1" height="1" alt=""><hr><p><a href="https://medium.com/cumulo-pro/c%C3%B3mo-implementar-horcrux-en-cosmos-0032dc1a0505">Cómo implementar Horcrux en Cosmos</a> was originally published in <a href="https://medium.com/cumulo-pro">Cumulo.pro</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>