
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
Un apéndice es donde un libro guarda el material que no espera que se lea. Este es lo contrario. Si el libro funciona, estas páginas son la última parte que quedará en pie: un argumento persuade y luego envejece, pero una especificación espera, y solo hace falta un lector con una clave.
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 cuerpo del libro 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.
- Persistencia. Una vez comprometido, el registro no puede ser borrado unilateralmente. El costo de reescribir el registro crece monótonamente con el tiempo.
- Verificabilidad sin árbitro. Cualquier parte con los insumos públicos puede verificar el registro por sí misma. No se requiere ningún tercero confiable en la ruta de verificación.
- Vinculación con la fuente. Cada observación comprometida está atada a una identidad criptográfica — una clave pública — que no puede ser reiniciada, reemitida ni lavada por un administrador.
- Divulgación selectiva. La observación misma no necesita estar sobre la cadena. Un compromiso con la observación (un hash) sí. El dato completo puede revelarse a las partes que lo necesiten y cotejarse contra el compromiso.
- Espacio para el contra-compromiso. Una parte que esté en desacuerdo con una observación comprometida puede comprometer su desacuerdo en el mismo sustrato, a costo comparable, bajo su propia clave.
- Caída visible. Cuando el dato detrás de un compromiso ya no coincide con el compromiso, la rama cae de manera observable para cualquiera que lea el sustrato.
- Disponibilidad. El dato comprometido permanece recuperable. Un hash cuyo contenido no puede obtenerse no puede verificarse, así que el protocolo trata el almacenamiento redundante del dato — espejos independientes y copias de archivo, recuperados por una dirección de contenido que la hoja registra junto a su compromiso, y luego re-hasheados y cotejados contra el valor anclado — como una propiedad, no como una cortesía que el operador extiende. El compromiso de la cadena vincula el dato y su contexto; no es en sí mismo la dirección de almacenamiento, así que la hoja lleva el mapeo de uno al otro, y un lector que obtiene una copia re-deriva el compromiso para confirmar que son los bytes correctos. Una rama cuyos datos se han apagado es una rama cuya validez de hash no puede cotejarse, y así se lee.
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:
- El observador produce un compromiso firmado:
sig = Sign(privkey, H(datum || context)), dondecontextata la observación a su categoría, marca de tiempo, y cualquier raíz de colección bajo la cual será anclada. - El compromiso firmado
sigse inscribe sobre el sustrato en una transaccióntxid, confirmada a la altura de bloqueh. El ancla duradera es la tuplaA = (txid, header(h), inclusion_proof(txid, h)): el id de la transacción, la cabecera del bloque, y la prueba de Merkle de la inclusión de la transacción en ese bloque. El propio hash del bloque no puede ser parte de lo que se inscribe a la alturah, porque no existe hasta que el bloque es minado; cualquier identificador derivado a la vez desigy deblockhash(h)es una etiqueta post hoc que un lector puede computar, nunca un valor inscrito. Una nota más de vinculación, porque la primitiva nombrada la exige: una inscripción de estilo ordinal vive en el witness de la transacción, y el txid no se compromete con los datos del witness. Un ancla que deba probar qué se inscribió, no meramente que una transacción existió, se vincula por la ruta del witness — del witness al wtxid, de los wtxids al compromiso de witness de la coinbase, de la coinbase a la cabecera por su propia prueba de inclusión — o bien carga el compromiso en el cuerpo mismo de la transacción, al estilo OP_RETURN, donde el txid sí se compromete con él. De un modo u otro, la vinculación debe alcanzar la carga útil, no detenerse en el id de la transacción. - El
datumcompleto vive fuera de cadena, replicado según la propiedad de disponibilidad del §1. La verificación recorre la cadena de extremo a extremo: recuperardatum, recomputarH(datum || context), cotejar la firma contra la clave pública declarada, y luego caminar el ancla del compromiso firmado altxid, deltxida través de la prueba de inclusión hasta la cabecera, y de la cabecera al chainwork acumulado encima de ella.
Dos notas de higiene, baratas ahora y caras de retroadaptar. Versionado del protocolo: cada carga útil firmada lleva una etiqueta de versión, de modo que un cambio futuro en el formato del compromiso no deje huérfanas las pruebas viejas; los verificadores rechazan las versiones que no reconocen en lugar de malinterpretarlas. Separación de dominios: cada hash y cada firma se computan sobre una entrada etiquetada por dominio (H("fingerprint:v1:" || ...)), de modo que una firma producida para un contexto nunca pueda replayearse como firma de otro. Ambas son una línea en la especificación y una costura si se omiten. La misma disciplina se extiende a los árboles mismos: las hojas y los nodos internos se hashean bajo prefijos distintos (la convención de Certificate Transparency), los conteos impares de hojas siguen una sola regla declarada, cada entrada concatenada lleva prefijo de longitud, y la convención que pone sig_n más a la derecha es canónica, no consuetudinaria.
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.
Un ejemplo trabajado. Una estación meteorológica en Reikiavik firma su lectura — velocidad del viento, temperatura, presión barométrica, a las 14:32 UTC — y el compromiso firmado se ancla bajo la raíz de colección de ese día. Tres años después, una disputa de seguros pregunta qué viento hacía esa tarde. La cadena recuerda, y también la clave de la estación: sus firmas a lo largo de tres años de lecturas o son consistentes con lo que otros observadores sin intereses creados también registraron, o no lo son. La clave o tiene el historial o no lo tiene. Ninguna plataforma a la cual peticionar. Ningún portal que cerrar. El registro se sostiene. (El orden de construcción del §10 comienza exactamente con este oráculo.)
§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:
- El operador ensambla las hojas destinadas a la nueva raíz y calcula una raíz pre-imagen:
R_pre_n = MerkleRoot(hojas_intencionadas). - 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)). - 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 sigue a la clave privada. No es la concesión de un administrador, ni reiniciable por uno. La misma propiedad hace de la clave misma el punto único de falla de la rama, que es lo que el §2c existe para manejar: una clave robada es una trayectoria robada hasta que el robo también está en el registro.
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.
§2c Ciclo de vida de las claves
La construcción hasta aquí trata la clave de la rama como inmortal. Las claves no lo son. Quien sostenga la clave privada puede extender la rama, y el sustrato no puede distinguir al ladrón del dueño. Cuatro mecánicas cierran la brecha, cada una una hoja ordinaria, inscrita y anclada como cualquier otra.
Rotación. El operador inscribe una hoja de traspaso bajo la clave vieja: la nueva clave pública y la altura a la que la autoridad se transfiere, firmadas por la clave vieja. Desde esa altura en adelante, las raíces firmadas por la clave nueva extienden la rama; las raíces firmadas por la clave vieja se leen como bifurcaciones. La trayectoria sobrevive al traspaso porque el traspaso mismo está en el registro — un eslabón firmado entre las historias de las dos claves.
Revocación. Una vulneración detectada se anuncia del mismo modo: una hoja de revocación, firmada por la clave vieja o por una clave de recuperación pre-comprometida, que declara la altura después de la cual las firmas de la clave vieja quedan sin autorización. Todo lo que la clave firmó antes de esa altura conserva su peso. Todo lo posterior se lee como disputado. La revocación no puede antedatarse; carga su propia altura de bloque como cualquier otra hoja.
Sucesión. Las instituciones sobreviven a sus operadores. Una hoja de sucesión pre-compromete la clave — o el quórum — que hereda la rama si la clave actual queda en silencio durante un intervalo declarado. El interruptor de hombre muerto es una regla publicada, no un custodio.
Gobernanza multisig. Una rama cuyas raíces requieren m-de-n firmas convierte el robo de una sola clave en un problema de quórum. La génesis declara el quórum; los cambios al quórum son, ellos mismos, hojas de traspaso, firmadas bajo el quórum viejo.
Lo que un lector haga con una ventana disputada — dos claves reclamando la misma rama entre la vulneración y la revocación — es interpretación, como todo lo demás en el árbol. El sustrato garantiza solamente que los traspasos, las revocaciones y las bifurcaciones están, todos, en el registro, con marca de tiempo, en orden, bajo las claves que los hicieron.
§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.
- Tiempo —
t = now - block_time(h). ¿Cuánto tiempo se ha sostenido el compromiso? El tiempo puede sobrevivirse. No puede falsificarse. Sí puede, en cambio, comprarse entero junto con la clave que lo contiene (§8a). - Valor — dos señales, reportadas por separado:
fee = fee_paid(h), el sacrificio propio del inscriptor, ywork = chainwork(tip) − chainwork(h), la prueba de trabajo que la red ha apilado encima del ancla desde que fue colocada. La tarifa mide lo que el inscriptor entregó. El chainwork mide qué tan profundamente el sustrato ha enterrado el compromiso. Pertenecen a partes distintas y no se multiplican en un solo número; el lector pesa cada una por su cuenta. - Proximidad —
p = distance_from_trunk(node). ¿Qué tan estructuralmente cerca está el nodo del núcleo portante del árbol? Una rama primaria carga más peso que una ramita distante con las mismas palabras encima. - Validez del hash —
hv = (H(datum || context) == committed_hash). ¿Sigue el dato fuera de cadena coincidiendo con el compromiso en cadena? La única fuerza dinámica — puede invertirse en cualquier momento.
El peso de un nodo no es un solo escalar que la cadena calcule. Es un vector de cantidades registradas que el lector interpreta. Cualquier función de ponderación — w = f(t, fee, work, p, hv) — es del lector elegirla, publicarla, defenderla o revisarla. La cadena garantiza únicamente que las cuatro variables son lo que son. Cómo se compensan entre sí, si una década de tiempo sostenido debería pesar más que una comisión alta pagada ayer, es una pregunta abierta que este boceto no resuelve.
§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.
Un borde sobre el que el patrón pasa de largo: la estimación de comisiones a través de los intervalos de batching es genuinamente difícil. Una raíz programada para anclarse en una cadencia fija se encuentra con lo que el mempool tenga a esa hora, y un pico de comisión al momento de anclar fuerza una decisión que el protocolo no toma por el operador. Paga el pico y la señal de valor de la colección queda distorsionada por el ruido del mercado; retrasa el anclaje y lo que se distorsiona es su tempo. Cualquier despliegue real necesita una política de comisiones, y toda política de comisiones filtra información sobre el presupuesto y las prioridades del operador hacia el registro.
§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:
SIGNED— el oráculo se comprometió.ACTIVE_NO_COMMITMENT— el oráculo estaba demostrablemente activo; ningún compromiso apareció.ABSENT— el oráculo no estaba presente; nada puede inferirse.
El estado del protocolo registra actividad sin compromiso, nada más. Un latido prueba que la clave era capaz de firmar, no qué significó el silencio. Pero el estado ACTIVE_NO_COMMITMENT es el que los sistemas convencionales no pueden expresar, y en manos del lector es una señal de primera clase. La censura, el desacuerdo y la cobardía dejan, todas, la misma huella. También una cuarta causa que el lector debe tener presente: un oráculo que firmó y transmitió pero cuyo anclaje fue filtrado antes de aterrizar. El filtrado por plantilla de inscripciones y de OP_RETURN ocurre en la capa de mineros y relays, y un anclaje que nunca se confirma se lee exactamente como un anclaje que nunca se intentó. La defensa está del lado del envío — rutas de transmisión redundantes y reintento a lo largo de los bloques — pero el estado por sí solo no puede separar lo filtrado de lo retenido; solo el patrón del oráculo a lo largo del tiempo puede. La huella carga la marca de tiempo del bloque, la clave pública, y la forma de lo que el oráculo eligió, o fue impedido de elegir, no decir. Una escapatoria merece nombrarse: la tricotomía solo ata mientras el latido corre. Un oráculo que espera ser coaccionado puede matar su propio latido y convertir un rechazo legible en ABSENT, del cual nada puede inferirse. La asistencia es voluntaria, y la salida es silenciosa; lo que el registro preserva es cuándo empezó el silencio.
§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:
ANCHORED— comprobable bajo al menos una raíz inscrita.PENDING— presente en el árbol local de la rama, todavía no bajo una raíz inscrita.ABSENT— no está en ninguna raíz, ni anclada ni pendiente.
“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. Autoridad significa aquí autoridad sobre el compromiso: qué se firmó, cuándo, bajo qué clave, a qué costo. Si el dato comprometido es verdadero sigue siendo inferencia del lector.
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. Dónde queda la línea en los casos marginales, si una etiqueta legible de la colección es estructura o marketing, es un juicio que la especificación no puede hacer por el operador.
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. En operación ordinaria, la deserción se mantiene más cara que la continuación, y la brecha se ensancha con el tiempo. La excepción está tasada en el §8a: una sola mentira decisiva en una disputa lo bastante grande puede valer más que todo lo que una rama ha acumulado. El argumento del bloqueo se sostiene para lo cotidiano; el lector pesa el valor acumulado de la rama contra lo que una traición podría ganar cada vez que lo que está en juego se vuelve decisivo.
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. Donde el castigo se queda corto frente al premio, el §8a toma el relevo.
§8a Modelo de amenazas
Las costuras son las exposiciones filosóficas. Estas son las de ingeniería. Cada entrada nombra el ataque, lo que cuesta ejecutarlo, y lo que el lector ve.
Hijos Sybil. Un operador fabrica hijos títere para inflar la cardinalidad de una rama de categoría. El §2a ya le pone precio: cada hijo necesita su propia inscripción génesis, su propia tarifa, su propia historia, así que el fraude migra de la cardinalidad al costo, donde el tiempo lo decae (Costura I). Lo que el lector ve: muchos hijos con historias someras y sincronizadas, y sin actividad económica independiente.
Colusión. Oráculos que parecen independientes coordinando sus observaciones. El sustrato no puede distinguir el acuerdo de la conspiración. Lo que preserva es el material para el análisis: fechas de creación de claves, cadencias de anclaje, rutas de financiación donde tocan la cadena, proximidad estructural. Las fechas de génesis correlacionadas y los cronogramas de anclaje sincronizados son la huella que la colusión deja. La diversidad de escritores — la propiedad por la que argumenta la Parte VI — es la mitigación. No hay detección, solo evidencia.
Dependencia de fuente. Diez oráculos republicando un mismo feed aguas arriba son un oráculo vistiendo diez firmas. Las cuatro fuerzas no pueden ver lo que hay aguas arriba. La respuesta del protocolo es una convención de divulgación — la auto-descripción declarando método y fuente — y la convención solo es cotejable socialmente. Un lector que audita la convergencia tiene que preguntar qué midió cada oráculo por su cuenta, y la respuesta honesta a veces es: nada.
Retención dirigida de datos. La Costura VIII ejecutada deliberadamente: el operador sirve el dato a los aliados y se lo retiene a los auditores. Mitigación: espejos de terceros direccionados por contenido, que la propiedad de disponibilidad invita. Un operador cuyos datos solo se han servido, desde siempre, desde su propio endpoint está anunciando la exposición.
Vulneración de claves. El §2c es la maquinaria; la ventana entre el robo y la revocación es el riesgo residual, y el multisig la estrecha. Las hojas dentro de una ventana revocada después se leen como disputadas, que es lo que son.
Cultivo de compromisos. Los compromisos son hashes opacos con divulgación selectiva, así que un adversario puede inscribir barato ambos lados de cada pregunta disputada, esperar, y revelar solo los ganadores. Sigue la consecuencia hasta el final: en enero el cultivador inscribe tanto “el ensayo del fármaco tiene éxito” como “el ensayo del fármaco fracasa”, unos pocos miles de sats cada uno, bajo una clave nueva. En junio el ensayo reporta, el hash perdedor queda opaco para siempre, y el ganador se revela con cinco meses de antigüedad de anclaje detrás. Corre esto a lo largo de cincuenta preguntas y la selección sobreviviente parece, ante las cuatro fuerzas, un profeta: vieja, pagada, con hash válido. La defensa es una regla de lectura, no una regla de protocolo: los compromisos no revelados descuentan a los revelados, y una trayectoria armada a partir de divulgación selectiva se pesa como la selección que es. Una rama que quiere que se confíe en su historia publica sus fallos.
Cobro de la reputación. El peso acumulado es gastable. Un operador puede vender la clave en silencio, y el comprador hereda la trayectoria; la maquinaria de traspaso del §2c hace visible la transferencia honesta, y nada hace visible la deshonesta. O el operador gasta el peso directamente: una mentira decisiva en una disputa que vale más que todo lo que la rama ha acumulado. El argumento del bloqueo del §8 se sostiene para la operación ordinaria y falla exactamente aquí. El contrapeso del lector es el mismo que contra el cultivador: el peso con un comprador obvio de una sola jugada se descuenta por el comprador que tiene.
Ninguno de estos ataques rompe el sustrato. Todos degradan la lectura. El resumen es la doctrina misma del libro: la cadena registra, el lector pesa, los ataques viven en la brecha entre los dos, y el registro es lo que mantiene la brecha auditable.
§9 Las ocho costuras
Ninguna arquitectura sale a la calle sin costuras abiertas. Siete costuras las nombra, y su segunda edición añade la octava. La versión corta, porque un ingeniero leyendo este apéndice se merece las advertencias:
- I. El sesgo de riqueza sobrevive al dinero duro. Las señales costosas favorecen a la parte con más para gastar. El filtro es honesto; no es igualitario.
- II. El tronco es abstracto. Bitcoin es el tronco solo por convención de lectura. Una bifurcación, una captura social, una crisis de osificación del protocolo abrirían cada una de nuevo la pregunta de qué es “el tronco”.
- III. Después del dinero, ¿quién mina? Si el papel de Bitcoin se desplaza de riel monetario a sustrato epistémico, el incentivo para que los mineros mantengan la cadena viva debe re-derivarse.
- IV. La brújula solo funciona sobre agentes que la consultan. Una IA que no esté apuntada al árbol no gana nada de la existencia del árbol.
- V. El peso no es significado. Una observación pesadamente anclada no es automáticamente una observación verdadera. Las cuatro fuerzas son condiciones necesarias para la confiabilidad. No son condiciones suficientes para la verdad.
- VI. La escala temporal de la pudrición. Las ramas que caen dejan cicatrices. Un sustrato que preserve esas cicatrices durante siglos no se ha construido antes. Los modos de falla de largo plazo no son conocidos.
- VII. El espejo tiene una puerta. La herramienta que compuso el argumento no es alcanzable por la mayoría de las personas para quienes el argumento existe. Los rieles de pago para los no bancarizados, argumentados hacia la existencia a través de infraestructura que los no bancarizados no pueden pagar por usar, heredan la asimetría de acceso de la infraestructura. El sustrato no resuelve su propio alcance.
- VIII. Los datos pueden apagarse. La cadena sostiene el ancla, no el dato. La propiedad de disponibilidad del §1 reduce la exposición; la retención dirigida — un operador que sirve el dato a unos lectores y no a otros — sigue siendo un ataque que el sustrato no puede ver.
Un constructor que empiece aquí debería esperar encontrarse con las ocho 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í:
- 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 cuyas rotaciones, si las hay, estarán en el registro (§2c).
- 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.
- 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. - 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.
- 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.
Lo que ya existe
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 ni token que lanzar. No hay cadena que bifurcar. Ambos han estado corriendo. Ninguno necesita la bendición de nadie.
Lo que falta no es arquitectura. Es inscripción. Alguien, en algún lugar, tiene que tomar una observación, firmarla bajo una clave cuyo ciclo de vida está en el registro, 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 espejos. En archivos. En almacenamiento direccionado por contenido contra el que cualquier poseedor del hash puede cotejar una copia. Una memoria USB en un cajón puede anclar una prueba privada, pero no puede sostener una rama pública, porque un compromiso cuyo dato nadie puede recuperar no prueba nada a nadie; esa es la Costura VIII, y la propiedad de disponibilidad del §1 es su respuesta. 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 huella, el problema del índice, democracia para enemigos, 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.