2026-08-03
La red respiraThe network breathes
A las 14:16 del 18 de julio la cadena selló su primer bloque. Seis minutos después llegó la primera finalidad, y desde entonces no ha dejado de tejer. Han pasado semanas, y ya hay recorrido para contar algo más útil que la emoción de aquel día. Cómo se sostiene esto cuando nadie está mirando.
Lo primero, porque casi todo lo demás se deduce de ahí: la cadena no vive en un servidor. Vive en máquinas independientes que ejecutan el mismo programa por su cuenta y comparan resultados. Cada una guarda la historia entera desde el bloque cero y ninguna da por buena la palabra de la vecina: cuando le llega un bloque, lo vuelve a ejecutar y comprueba que el resultado le sale igual. Si no le sale, lo tira. Un bloque cada doce segundos, más o menos, desde hace semanas. No existe la copia autorizada; existe la copia que todas calculan igual.
Ahora la parte que suele confundirse. Producir un bloque y sellarlo son dos cosas distintas. Un bloque recién producido es una propuesta: está ahí, se puede leer, y todavía se podría deshacer. Queda sellado —finalizado, decimos— cuando un comité declara que esa es la historia. Un comité que no se elige ni se compra: se sortea entre quienes tienen nombre en la red, con más papeletas cuanto más nombre, y los asientos rotan cada hora. Hace falta una supermayoría; no basta la mitad más uno.
Y las firmas de ese comité no se quedan en un archivo nuestro. Viajan pegadas al bloque: cada bloque finalizado lleva su prueba firmada dentro de la propia cadena. Esa es la diferencia entre pedirte que nos creas y darte con qué comprobarlo. Un nodo que llega nuevo no recibe un certificado de buena conducta: recibe las firmas y las verifica él mismo, una a una, contra las llaves que la propia cadena dice que tenían asiento en aquel sorteo. Y antes que eso comprueba otra cosa: el instalador lleva grabado un bloque concreto con su huella —hoy el 79.830, publicado en la página de la red—, y si los vecinos le sirven una historia que a esa altura no contiene exactamente ese bloque, el nodo se para solo. Por eso pedimos cotejar esa huella en dos sitios independientes: una comprobación que solo se puede hacer con nuestra palabra no es una comprobación.
Eso, en números medidos y no supuestos: un nodo recién instalado se pone al día con unos 80.000 bloques en unos 90 segundos, cruzando por el camino las dos reformas que la cadena ha hecho de su propio programa. Y entonces ocurre lo que de verdad importa: en cuanto le llega la primera prueba del comité, la verifica y finaliza a la altura de la punta. Sincronizar no es participar. Ese nodo participa desde el primer minuto, sin pedir permiso a nadie. Lo que hace falta para tenerlo en pie está publicado con la misma honradez: 4 GB de memoria, 2 núcleos y 3 GB de disco libres; la cadena ocupa unos 600 MB hoy y el nodo, ya en marcha, se queda en unos 230 MB.
Hasta aquí lo que funciona cuando todo va bien, que es la parte fácil. La interesante es la otra. Ha habido percances de verdad, ninguno ensayado. En una ocasión, varias de las máquinas que en ese momento tenían asiento desaparecieron de golpe y sin aviso. En otra, un cambio de reglas dejó fuera de juego a las que todavía corrían el programa anterior. En los dos casos pasó lo mismo: los bloques se siguieron produciendo con normalidad y el sellado se detuvo. Punto. La cadena se quedó sin finalizar durante un rato —unos diez minutos, en el segundo caso— antes que finalizar dos versiones de la misma historia. Cuando volvió el quórum, la finalidad se reanudó ella sola, sin que nadie tocara nada, y recuperó el atraso a tandas. No se perdió un bloque.
Merece la pena insistir, porque es contraintuitivo: parar es la protección, no el fallo. Una red que sigue sellando cuando no tiene con quién ponerse de acuerdo no está siendo resistente, está fabricando una bifurcación —dos historias incompatibles que alguien tendrá que deshacer después—. Preferimos que se quede quieta y que se note. Es la traducción a máquina del primer principio: antes quieto que siervo.
Y el final honesto, que es el que toca. Que la red haya aguantado no demuestra que sea libre; demuestra que el mecanismo hace lo que dijimos que hacía. Los nodos que la sostienen todavía son pocos, y mientras sean pocos la resistencia es más una promesa bien construida que un hecho consumado. Eso no lo arregla más código: lo arregla gente encendiendo máquinas que no son nuestras. La red respira. Falta que respire sin nosotros.
At 14:16 on July 18th the chain sealed its first block. Six minutes later came the first finality, and it has been weaving ever since. Weeks have passed, and there is enough road now to tell something more useful than the excitement of that day. How this holds itself up when nobody is watching.
First, because almost everything else follows from it: the chain does not live on a server. It lives on independent machines, each running the same program on its own and comparing results. Every one of them keeps the whole history since block zero, and none of them takes its neighbour's word for anything: when a block arrives, it runs it again and checks it gets the same result. If it doesn't, it throws it away. One block every twelve seconds or so, for weeks. There is no authorised copy; there is the copy they all compute alike.
Now the part that usually gets confused. Producing a block and sealing it are two different things. A freshly produced block is a proposal: it is there, you can read it, and it could still be undone. It becomes sealed —finalised, we say— when a committee declares that this is the history. A committee that is neither elected nor bought: it is drawn by lot among those who carry a name on the network, with more tickets the greater the name; the seats rotate every hour. A supermajority is needed; half plus one is not enough.
And that committee's signatures do not stay in a file of ours. They travel attached to the block: every finalised block carries its signed proof inside the chain itself. That is the difference between asking you to believe us and handing you the means to check. A node that arrives new does not receive a certificate of good conduct: it receives the signatures and verifies them itself, one by one, against the keys the chain says held a seat in that draw. And before even that it checks something else: the installer carries one specific block written inside it, with its fingerprint —today 79,830, published on the network page—, and if its peers serve a history that does not contain exactly that block at that height, it stops itself. That is why we ask people to cross-check that fingerprint against two independent sources: a check you can only make on our word is not a check.
In measured figures, not assumed ones: a freshly installed node catches up on some 80,000 blocks in about 90 seconds, crossing on the way the two reforms the chain has made to its own program. And then the thing that really matters happens: the moment the first committee proof reaches it, it verifies it and finalises at the tip. Syncing is not participating. That node participates from its first minute, without asking anyone's permission. What it takes to keep one standing is published with the same honesty: 4 GB of memory, 2 cores and 3 GB of free disk; the chain is around 600 MB today, and the node, once running, settles at 230 MB.
So much for what works when all goes well. The interesting part is the other one. There have been real mishaps, none of them rehearsed. On one occasion, several of the machines then holding a seat vanished at once, without warning. On another, a change of rules put out of play the ones still running the previous program. In both, the same thing happened: blocks went on being produced as normal, and the sealing stopped. Full stop. The chain went unfinalised for a while —about ten minutes, in the second case— rather than finalise two versions of the same history. When the quorum came back, finality resumed on its own, with nobody touching anything, and closed the gap in batches. Not one block was lost.
Worth insisting, because it runs against instinct: stopping is the protection, not the failure. A network that keeps sealing when it has nobody to agree with is not being resilient, it is manufacturing a fork —two incompatible histories somebody will have to undo later—. We would rather it stood still, and that the stillness showed. It is the machine translation of the first principle: stillness before servitude.
And the honest ending, which is the one that is due. That the network held up does not prove it is free; it proves the mechanism does what we said it did. The nodes holding it up are still few, and while they are few the resilience is more a well-built promise than an accomplished fact. More code will not fix that: what fixes it is people switching on machines that are not ours. The network breathes. What remains is for it to breathe without us.