Apéndice: El Boceto de Implementación

Toda la ciencia no es nada más que un refinamiento del pensamiento cotidiano.

— Albert Einstein, “Physics and Reality”, Journal of the Franklin Institute, 1936


El cuerpo de este libro argumentó que la arquitectura es lo que importa. Este apéndice es para el lector que cerró el último capítulo y preguntó: ¿podría yo construir esto?

Lo que sigue no es el libro en otro registro. Es el esqueleto portante extraído de los capítulos narrativos y depositado al lado de ellos en registro de ingeniería. Los capítulos en prosa siguen siendo el argumento primario. El apéndice es la especificación que un constructor leería en una segunda pasada, con la narrativa todavía en mente.

Tres reglas básicas se trasladan desde el capítulo de la huella hasta estas páginas. Una: el presente aquí es condicional. Esto es un boceto, no un reporte sobre un sistema que existe. Dos: las primitivas son tecnología establecida — prueba de trabajo, cadenas de hash, firmas de clave pública, árboles de Merkle, servicios de marca de tiempo. Nada en este apéndice requiere criptografía nueva. Tres: lo que es mío es la pila, no las piezas. Cualquier ingeniero que lea esto y decida construir es bienvenido a la pila. Que se sienta libre de cambiar todo en ella excepto las propiedades del §1.


§1 Propiedades que el sustrato debe cargar

El árbol de la prueba no prescribe una capa específica. Prescribe propiedades. Un sustrato que cargue todas las siguientes es un candidato. Un sustrato que cargue solo algunas no lo es.

Bitcoin L1 satisface persistencia y verificabilidad-sin-árbitro. Los protocolos de Capa 2 y los servicios de marca de tiempo (OpenTimestamps, por ejemplo) pueden proveer throughput sin sacrificar el ancla. Las pilas de validación del lado del cliente pueden cargar divulgación selectiva. El ingeniero elige la composición. Las propiedades son lo no negociable.


§2 La primitiva de la huella

La huella es la unidad atómica. Su construcción son tres líneas:

  1. El observador produce un compromiso firmado: sig = Sign(privkey, H(datum || context)), donde context ata la observación a su categoría, marca de tiempo, y cualquier raíz de colección bajo la cual será anclada.
  2. El compromiso firmado se inscribe sobre el sustrato a la altura de bloque h, produciendo un ancla duradera A = H(sig || blockhash(h)).
  3. El datum completo vive fuera de cadena. Un verificador recupera datum, recomputa H(datum || context), coteja la firma contra la clave pública declarada, y coteja que A aparece a la altura h.

La rama que resulta carga dos garantías ortogonales al mismo tiempo. La primera es termodinámica — costo quemado para colocar el ancla, costo requerido para borrarla. La segunda es criptográfica — la identidad que respaldó la observación, verificable contra la clave pública sin árbitro alguno en el bucle.

Los bytes en cadena son mínimos. La inscripción es un hash. La observación completa vive donde el observador elija publicarla, bajo cualquier restricción de privacidad apropiada para ese dato. Lo que el sustrato carga no es la conversación. Carga la prueba innegable de que la conversación ocurrió, etiquetada, tasada y permanente.


§2a Una rama

Una rama es un árbol de Merkle, anclado como una inscripción, encadenado a su historia por una firma digital que se ata a la extensión específica que se está inscribiendo.

La cadena comienza con una inscripción génesis que contiene la clave pública de la rama y, donde la rama es hija de otra, el hash génesis de la rama padre bajo la cual se declara. La carga útil completa está firmada por la clave privada correspondiente como prueba de posesión. La génesis es la única raíz que no apunta hacia atrás en su propia historia — no hay raíz previa a la cual apuntar. La referencia al padre, donde está presente, es un tipo distinto de puntero: hacia afuera, hacia otra rama, no hacia atrás, hacia una raíz previa de esta.

Cada raíz subsiguiente se construye en tres pasos:

  1. El operador ensambla las hojas destinadas a la nueva raíz y calcula una raíz pre-imagen: R_pre_n = MerkleRoot(hojas_intencionadas).
  2. El operador firma sobre la raíz pre-imagen, la raíz previa y su propia clave pública: sig_n = Sign(privkey, H(R_pre_n || R_{n-1} || pubkey)).
  3. La firma se añade al conjunto de hojas — por convención, como la hoja más a la derecha — y se recomputa la raíz inscrita: R_n = MerkleRoot(hojas_intencionadas ∪ {sig_n}). R_n es lo que queda anclado en el sustrato.

El verificador invierte la construcción. Leyendo R_n desde la cadena, identifica la hoja más a la derecha como sig_n, la quita, recomputa R_pre_n a partir de las hojas restantes, calcula H(R_pre_n || R_{n-1} || pubkey) por su cuenta, y verifica sig_n contra pubkey sobre ese hash. Luego camina hacia atrás hasta R_{n-1} y verifica el siguiente eslabón de la misma forma, hasta que la cadena termina en la génesis que la rama declara.

La continuidad de la identidad a través de las raíces no es una convención. Es una cadena de firmas, cada eslabón anclado al reloj termodinámico del sustrato, y cada firma criptográficamente atada a la extensión específica que autoriza.

Esto compra cuatro cosas, cada una acotada a lo que la construcción realmente entrega.

La propiedad de la rama es explícita, dada la declaración de la génesis, y solo reiniciable por la pérdida de la clave privada — no por un administrador.

Cada firma se ata a una extensión específica. La misma firma no puede replayearse en una raíz distinta, porque una raíz distinta calcularía una raíz pre-imagen distinta, y la firma solo verifica sobre la original. Una parte externa no puede copiar la firma del operador a su propia extensión reclamada; un atacante que altera cualquier hoja en R_n rompe R_pre_n y la firma deja de verificar. El dueño todavía puede bifurcar su propia rama — firmando deliberadamente una segunda extensión distinta de R_{n-1} — pero cada bifurcación es una firma recién comprometida, no una copia de una existente, y el reloj del sustrato registra cuál se inscribió primero.

Y combinada con las pruebas de consistencia en §7, el lector audita la procedencia de extremo a extremo — continuidad de identidad desde esta sección, continuidad de contenido desde aquella — sin confiar en lo que ningún operador afirme sobre su propia historia. La procedencia es el sustrato, no la marca.

Y la referencia al padre hace bilateral la población de una rama. Una rama de categoría que reclama un hijo no puede declararlo por sí sola; la propia génesis del hijo debe nombrar el hash génesis del padre, firmado bajo la clave privada del hijo, anclado a la altura de bloque propia del hijo, pagado con la tarifa propia del hijo. Un padre que lista mil hijos cuyas inscripciones génesis no apuntan de vuelta tiene mil referencias de texto y cero hijos atestiguados. Un padre cuyos mil hijos inscribieron, cada uno por su cuenta, una referencia al padre que apunta a casa, tiene mil hijos atestiguados, cada uno con su propia historia de cuatro fuerzas. El peso estructural de una rama de categoría se suma a partir de los vectores de los hijos, no de la afirmación del padre. Los ataques Sybil siguen siendo posibles — un operador que fabrica mil hijos títere, pagando por cada inscripción génesis, está ejecutando el ataque de sesgo de riqueza que la Costura I nombra — pero el fraude ha migrado de la cardinalidad al costo, donde el tiempo lo decae de la manera que el manuscrito ya acepta.

La primitiva de la huella (§2) firma observaciones individuales. La construcción de rama firma la historia estructural de la rama misma. Ambas capas de direccionamiento usan la misma clave. Una observación firmada bajo una rama es por eso rastreable en dos direcciones: hacia adelante hasta la hoja, y hacia atrás a través de la cadena firmada de raíces de la rama hasta la génesis donde la rama fue anclada por primera vez.


§2b Metadatos de la rama

Una rama que existe estructuralmente — génesis anclada, raíces encadenadas, padre atestiguado — todavía no es una rama por la que un agente pueda navegar. La atestación bilateral en §2a le dice al agente el padre de esta rama es X y sus hijos son Y, Z, …. No le dice al agente en cuál hijo descender para qué consulta. Sin eso, un agente que lee una rama de categoría con mil hijos tiene que descender en cada uno de ellos para encontrar lo que busca. La travesía a ciegas es el modo de falla que la capa de navegación debe cerrar.

Dos capas de metadatos lo cierran. La auto-descripción, publicada por cada rama bajo su propia clave, es la autoridad. Las hojas-índice, publicadas por cada padre como catálogo de sus hijos, son el caché. El agente lee el caché para navegar. El agente verifica contra la autoridad cuando le importa.

Auto-descripción. Cada rama publica un pequeño conjunto de hojas inscritas bajo su propia clave, firmadas y ancladas bajo una de las raíces de la rama como cualquier otra hoja — una etiqueta de categoría que declara de qué es la rama, un esquema que declara la estructura que se espera que carguen las hojas, y referencias cruzadas opcionales a ramas pares que el operador considera relacionadas, competitivas o complementarias. La convergencia sobre las etiquetas sucede del modo en que convergieron las convenciones de DNS: a través del uso, la referencia cruzada y el costo. Una rama cuya etiqueta declarada se ve contradicha por las hojas que efectivamente publica es detectable por cualquier lector que recorra las hojas. Las referencias cruzadas que el par reciproca cargan más peso que las unilaterales — el mismo patrón de atestación bilateral que delimita el peso padre-hijo delimita también las relaciones entre pares.

Hojas-índice. Una rama padre publica un catálogo estructurado de sus hijos, refrescado en cada una de las anclas del padre. Para cada hijo, el índice registra: el hash génesis del hijo (el puntero de atestación bilateral), la etiqueta de categoría declarada por el hijo, copiada de su auto-descripción, el vector de cuatro fuerzas del hijo al momento en que el índice fue refrescado por última vez, y un puntero a la hoja de auto-descripción del hijo, para que el agente pueda verificar si desciende. Un agente que aterriza en un padre lee el índice, hace coincidir su consulta con las etiquetas y los resúmenes de peso de los hijos, selecciona el hijo cuyo tema coincide y cuyo peso justifica el descenso, y desciende solo en el hijo coincidente. Los hijos restantes no se recorren. Una rama de categoría con mil hijos se navega en log(N) lecturas, no en N lecturas.

Caché versus autoridad. El índice del padre es un caché, no una autoridad. La misma disciplina que §7 sostiene para el objeto de resumen se sostiene aquí: una mentira en el índice es mecánicamente detectable porque los datos subyacentes en la cadena son siempre la autoridad. Si la entrada del índice del padre para un hijo dice categoría: oncología y la auto-descripción del propio hijo dice categoría: cardiología, el agente lee ambas y la contradicción está en cadena. La auto-descripción firmada por el hijo es lo que el agente confía. El índice del padre es lo que el agente lee primero porque es más rápido. Un agente con prisa confía en el caché. Un agente en auditoría camina la cadena.

Las cuatro fuerzas se aplican en ambas capas. Una hoja-índice con tres años de historia de refresco bajo un padre que ha sostenido peso por una década se lee distinto a una hoja-índice publicada ayer bajo un padre sin historia de anclaje. Una auto-descripción firmada por una rama con miles de observaciones precisas previas se lee distinto a los mismos campos firmados por una rama sin trayectoria. Los metadatos viejos, costosos, estructuralmente próximos y con hash válido pesan más que los nuevos, baratos, distantes y con hash inválido. La navegación hereda la honestidad del sustrato en cada paso.

La ceguera del agente en El problema del índice era que la reputación vivía fuera de la superficie que el agente podía leer. Con auto-descripciones ancladas bajo la propia clave de cada rama y hojas-índice catalogando a los hijos en cada padre, la superficie que el agente lee contiene tanto el directorio como su procedencia. El agente lee el índice para encontrar el camino. El agente verifica el camino contra el sustrato cuando importa. La travesía a ciegas con la que abrió El problema del índice se cierra aquí, en esta sección, con dos hojas y un vector de cuatro fuerzas.


§3 Las cuatro fuerzas

Cada nodo en el árbol está pesado por cuatro variables independientes. Las cuatro deben estar presentes. Quita cualquiera y el peso del nodo colapsa.

El peso de un nodo no es un solo escalar que la cadena calcule. Es una cuádruple que el lector interpreta. Cualquier función de ponderación — w = f(t, v, p, hv) — es del lector elegirla, publicarla, defenderla o revisarla. La cadena no puntúa. El lector lo hace. La cadena solo garantiza que las cuatro variables son lo que son.


§4 Colecciones y la jerarquía del peso

Firmar es barato. Inscribir no. Un árbol de Merkle resuelve la asimetría.

Un oráculo que produce muchas observaciones en una ventana las hashea en un árbol, firma la raíz, e inscribe la raíz firmada. Una transacción. El conjunto completo queda anclado. Cada observación individual es verificable contra la raíz con una prueba logarítmica — ninguna hoja individual necesitó ser enterrada por separado.

Lo que se desprende de esto, sin ninguna decisión de gobernanza, es una jerarquía que refleja la importancia que el oráculo asigna a cada colección. Las colecciones de alta importancia se anclan a menudo, con tarifas altas, en posiciones cercanas al tronco del árbol. Las colecciones de baja importancia se anclan rara vez, baratas, en posiciones periféricas. El mercado de tarifas codifica la jerarquía. Nadie tuvo que declararla.

La pregunta de escalamiento del ingeniero tiene una respuesta limpia: anclar las raíces de Merkle sobre L1. Transmitir las hojas a través de una malla de relés — una red con forma de Nostr serviría — y anclar las raíces por lotes a la cadencia que justifique lo que está en juego en la colección. OpenTimestamps es la implementación de referencia existente del patrón de batching.


§5 El silencio legible

El requisito del asistente activo cierra la ambigüedad elección-versus-falla que una arquitectura de oráculo pasiva deja abierta.

El nodo de un oráculo publica latidos continuos — firmas de baja importancia sobre colecciones rutinarias, actualizaciones de canal si el sustrato tiene forma de Lightning, pings sobre relés públicos. Nada consecuente. Solo la prueba, bloque tras bloque, de que la clave pública está en línea y es capaz de firmar.

En una ventana donde el nodo está demostrablemente vivo, la ausencia de una firma sobre una observación específica ya no es indistinguible de un crash. Es una selección. Un verificador que lea el sustrato puede distinguir tres estados:

El estado REFUSED es el que los sistemas convencionales no pueden expresar. Sobre este sustrato es una señal de primera clase. La censura, el desacuerdo y la cobardía dejan, todas, una huella. La huella carga la marca de tiempo del bloque, la clave pública, y la forma de lo que el oráculo eligió no decir.


§6 El árbol, de un vistazo

{width=4.5in}

El tronco es física. Las ramas son identidades. Las sub-ramas son categorías de afirmación. Las hojas son observaciones firmadas — o, en un nodo de asistente activo, rechazos registrados. La distancia vertical debajo del tronco corresponde a peso estructural decreciente; la amplitud horizontal corresponde a historia acumulada. La misma geometría se repite en cada zoom.


§7 Ramas en el tiempo: la cadena dentro de la cadena

Un ancla única es una instantánea. La historia de una rama es un objeto distinto, y leerla correctamente importa.

Un ancla es un par: (root, block). La raíz es un hash de Merkle del estado de la rama en el momento en que la raíz fue computada. El bloque es la altura de Bitcoin en la que la raíz fue inscrita. El ancla avala exactamente las hojas cuya prueba de inclusión termina en esa raíz — ni más, ni menos. Una hoja añadida a la rama después del bloque del ancla no tiene prueba de inclusión bajo esa raíz, porque la raíz fue computada antes de que la hoja existiera. No inválida. Solo fuera de esa instantánea en particular.

Una rama de larga duración es, por lo tanto, una secuencia, no un objeto único:

anchor_1 = (root_1, block_N1)
anchor_2 = (root_2, block_N2)
anchor_3 = (root_3, block_N3)
...

Cada ancla compromete el estado-de-la-rama-al-momento-de-su-bloque. Un lector que pregunta a qué se comprometió este cuerpo a la fecha X camina al ancla más cercana en o antes de X y verifica contra esa raíz. Qué es crecimiento nuevo desde anchor_k es el conjunto de hojas presentes bajo root_{k+n} pero no bajo root_k. La diferencia es trivialmente computable si el árbol es solo-anexo.

Lo que hace el solo-anexo mecánicamente exigible en lugar de meramente declarado es la prueba de consistencia: un recibo criptográfico corto de que root_{k+1} es una extensión-por-prefijo de root_k — que las hojas viejas siguen ahí, sin cambios, y solo se añadieron hojas nuevas. Sin ella, el operador de una rama podría dejar caer silenciosamente una hoja vieja y re-raizar alrededor del hueco. Con ella, el prefijo es estable. Certificate Transparency corre exactamente sobre este patrón; porta directamente al árbol de la prueba.

Para cualquier hoja en una rama de larga duración hay tres estados legibles, cada uno leído relativo a un ancla elegida:

“Crecimiento nuevo” no es un cuarto estado. Es un encuadre del lector: una hoja anclada bajo un ancla posterior pero no bajo una anterior. Cambia el ancla desde la cual se plantea la pregunta y la misma hoja se desplaza. La arquitectura no necesita una bandera para “nuevo”. Necesita anclas y pruebas de consistencia, y nuevo se convierte en una consulta en lugar de una propiedad almacenada.

La hoja de resumen. Leer el tempo completo de una rama caminando cada ancla y cada raíz es posible pero costoso. El arreglo es que la rama publique un objeto de resumen — una hoja estructurada que lista, para cada ancla pasada, la tupla (root, block, value_spent, leaf_count). El resumen está, él mismo, inscrito bajo la clave de la rama, bajo una raíz, en un bloque. Es una hoja cuyo contenido es el índice que la rama hace de sí misma.

La propiedad que esto compra es lectura con confianza opcional. Un lector que confía en el resumen lee el tempo en una sola vuelta. Un lector que no confía toma cada tupla y la verifica contra Bitcoin directamente — encuentra la inscripción en el bloque, confirma que la raíz coincide con la afirmación del resumen. La auditoría es barata por tupla y embarazosamente paralela entre tuplas. El resumen es por lo tanto un caché de hechos que la cadena ya registró, no una nueva fuente de verdad. Una mentira en el resumen es mecánicamente detectable; los datos subyacentes en la cadena son siempre la autoridad.

Con el tiempo la rama publica una secuencia de hojas de resumen: summary_1, summary_2, summary_3, cada una inscrita en su propio bloque, cada una una extensión solo-anexo de la anterior, cada una cargando una prueba de consistencia contra la anterior a ella. Una rama carga así una cadena propia, anidada dentro de la cadena de Bitcoin que la protege. La misma recursión que produjo la huella atómica produce el auto-índice de la rama. El árbol es una cadena de cadenas.

Tres líneas de disciplina vale la pena sostener.

Primera, mantener el resumen estrictamente estructural. Cada tupla es (root, block, value_spent, leaf_count) y nada más. En el momento en que el resumen empieza a cargar la auto-descripción del cuerpo — quiénes somos, por qué importan nuestras inscripciones — la capa de medición se ha convertido en una capa de marketing, y la limpieza del protocolo se erosiona. La auto-descripción pertenece dentro de hojas ordinarias, donde un lector puede pesarla en contexto. El resumen mide. Las hojas hablan.

Segunda, el derecho a resumir una rama no es de la rama en solitario. Porque las anclas subyacentes son públicas, cualquier observador externo — un archivero, un espejo, un monitor — puede computar y publicar un resumen independiente del tempo de la misma rama, firmado bajo su propia clave. Una rama no puede monopolizar la descripción de su propia forma. Los resúmenes externos cotejan los internos. El sustrato hace la auto-descripción auditable por defecto.

Tercera, la cardinalidad de una rama en la capa del padre — cuántas sub-ramas sostiene una rama de categoría — no es un entero auto-reportado en el resumen del padre. Es un conteo de hijos cuyas propias inscripciones génesis nombran el hash génesis del padre, firmado bajo la clave privada de cada hijo, anclado a la altura de bloque propia de cada hijo. Un padre que reclama hijos que no atestiguaron de vuelta ha hecho una afirmación inejecutable, mecánicamente detectable por cualquier lector que recorra los hijos. La cadena es la autoridad. El resumen es el caché. La disciplina se sostiene en la capa del padre del mismo modo en que se sostiene en la capa de la hoja.


§8 Auto-aplicación: el movimiento de Nakamoto, una capa más arriba

Bitcoin se sostiene sin un custodio porque los mineros tienen piel en el juego. Atacar la cadena destruye el valor del poder de hash que ya gastaron. El tronco está protegido por el incentivo privado de las partes con más que perder de su falla.

El árbol de la prueba hereda esta propiedad en cada capa por encima del tronco.

El operador de una rama que ha gastado años inscribiendo anclas, pagando sats, acumulando tempo, publicando resúmenes consistentes, ha construido un objeto económico duradero. Romper la rama — dejando caer silenciosamente una hoja, reescribiendo una raíz, publicando un resumen que contradice un resumen previo — destruye el valor de todo lo que ya se ha acumulado. Los resúmenes previos son permanentes. La contradicción es evidencia legible. El costo de la deserción no está impuesto externamente. Es igual a lo que la rama haya acumulado.

Este incentivo se compone exactamente sobre la misma curva en la que se compone el peso. Una rama de un año rompiendo su cadena pierde un año. Una orden centenaria rompiendo su cadena pierde un siglo. Cuanto más vieja la rama, más fuerte el bloqueo. El protocolo no necesita hacer cumplir la consistencia. El operador de la rama la hace cumplir, porque la alternativa destruye su propia apuesta.

Lo que se generaliza de esto es la afirmación arquitectónica que vale la pena enunciar con claridad: la arquitectura no requiere aplicación externa en ninguna capa, porque cada capa carga la misma propiedad teórico-juego que el sustrato. Los mineros de Bitcoin protegen el tronco por el poder de hash acumulado. Los operadores de ramas protegen sus propias ramas por el tempo acumulado. Los observadores individuales protegen sus propias firmas por la reputación acumulada bajo su clave pública. El movimiento es el de Nakamoto, repetido en cada nivel — el interés propio como guardián contra la deserción, todo el camino hacia arriba.

Esta no es una afirmación de que la arquitectura sea irrompible. Cualquier rama individual puede ser abandonada, corrompida o vendida. Lo que se afirma es más débil y más honesto: romper una rama es localmente irracional para la parte que la construyó, y la irracionalidad escala con el tiempo acumulado. No hay momento en el que la deserción se vuelva más barata que la continuación. Siempre hay un momento en el que el peso acumulado excede cualquier ganancia de corto plazo que pudiera venir de la traición.

La consecuencia arquitectónica es la que el libro ha estado construyendo hacia: un sustrato de memoria que no necesita custodio para mantenerse honesto, porque la deshonestidad en cualquier capa es castigada por la capa misma. La estructura protege a la estructura. El lector puede leer.


§9 Las siete costuras

Ninguna arquitectura sale a la calle sin costuras abiertas. Siete costuras las nombra. La versión corta, porque un ingeniero leyendo este apéndice se merece las advertencias:

Un constructor que empiece aquí debería esperar encontrarse con las siete en el camino. Encontrárselas es parte de construir. No encontrárselas es la marca de que la construcción todavía no se ha enganchado con los problemas duros.


§10 Qué construir primero

El oráculo con huella mínimo viable es más pequeño que la arquitectura. Un ingeniero que pregunta por dónde empiezo debería empezar aquí:

  1. Un oráculo. Una clave. Una categoría. Una estación meteorológica. Un scraper de rendimientos de bonos. Un conteo electoral local. Cualquier fuente en la que el ingeniero ya confíe, dispuesta a publicar bajo una clave pública que no rotará.
  2. Inscripción diaria. Una raíz de Merkle por día, anclada vía OpenTimestamps. Throughput bajo. Claridad alta. La meta es un año de compromisos, no un minuto de ellos.
  3. Un verificador público. Una página estática que toma la clave pública, una fecha y una observación, y devuelve VERIFIED / REJECTED / ABSENT. Sin UI. Sin login. Sin admin. Solo la verificación.
  4. Un segundo oráculo, no relacionado. La misma categoría, fuente distinta, clave distinta, mismo cronograma de anclaje. Ahora la convergencia y la divergencia son localizables.
  5. Un contra-compromiso de un tercero. No un mecanismo de disputa. Solo la demostración de que el sustrato acomoda la disidencia en la misma forma en que acomoda el acuerdo.

Esa es la semilla. Un año de esto — dos oráculos firmados, un contra-compromiso, un verificador público, un set creciente de rechazos registrados — es la instancia más pequeña a partir de la cual se pueden leer las propiedades de la arquitectura completa.

El resto es tiempo.


Lo que ya existe

El boceto es un boceto. No es una razón para esperar.

El sustrato lleva funcionando desde enero de 2009. Bloque a bloque, tic a tic, la energía se ha gastado y la entropía ha aumentado. El tronco no está esperando un consorcio, un organismo de estándares, una fundación ni una hoja de ruta. Ya está ahí.

Los primitivos también están ahí. Firmas de clave pública, árboles de Merkle, cadenas de hashes, marcado de tiempo, inscripciones de estilo ordinal, pruebas de consistencia. Ninguno es condicional. Cada componente del que depende la arquitectura de estas páginas es tecnología establecida, disponible para cualquiera con un teclado y una conexión.

Todo lo que la Parte VI describió — la huella, la rama, las cuatro fuerzas, la jerarquía de peso, el silencio legible, la prueba de consistencia, el árbol mismo — se compone a partir de esos primitivos sin pedirle permiso a nadie. No hay protocolo que inventar. No hay cadena que bifurcar. No hay token que lanzar. La cadena es la cadena. La matemática es la matemática.

Lo que falta no es arquitectura. Es inscripción. Alguien, en algún lugar, tiene que tomar una observación, firmarla bajo una clave que no rotará, hacer el hash del compromiso, anclar el hash en cadena. Ese es el acto. El dato completo detrás de la inscripción — la observación subyacente, el rastro de auditoría, la prosa, la grabación, el documento — vive donde el inscriptor elija. En Amazon. En un servidor personal. En un disco duro en un sótano. En una memoria USB en un cajón. La cadena no almacena el contenido y no necesita hacerlo. Solo guarda la huella, el costo, el tiempo, la prueba.

Esto replantea todo lo anterior. El árbol de la prueba, la reputación que no puede reiniciarse, el problema del índice, democracia para enemigos, los cuerpos que creen, las siete costuras, este boceto — nada de eso requiere permiso, financiación, un consorcio, un organismo de estándares, ni una cadena nueva. Requiere que alguien vea lo que ya está ahí y empiece a inscribir.

El árbol no necesita ser construido. Necesita ser usado.