Arqueo

Pruebas abiertas de conservación para libros cerrados.

Demuestra a un tercero que tu libro conserva cada unidad que guarda — sin abrirlo, y sin pedir a nadie que se fíe de ti.

English version

Arqueo es el término contable del recuento de caja: comprobar que lo que el libro dice está de verdad. Este proyecto convierte ese acto en criptográfico, exhaustivo y verificable por un tercero sin abrir el libro.

El verificador necesita la prueba, la cabeza firmada y la especificación pública. No necesita el libro, ni al operador, ni una red.

El problema

Cuando una organización lleva un libro cerrado — saldos de socios, certificados, depósitos, fondos de clientes — y un tercero tiene que creer una afirmación sobre ese libro, la práctica universal es declarar y auditar por muestreo. En los dominios revisados — moneda comunitaria federada, certificados de garantía de origen, comunidades energéticas, préstamo bibliotecario digital, sistemas de depósito y devolución, salvaguarda de fondos de clientes — la técnica desplegada protege la integridad del registro o la privacidad de los datos. En ninguno se prueba la conservación de la unidad de cuenta.

Qué existe hoy, medido

Un motor de liquidación en Rust con pruebas STARK que demuestra que un conjunto de posiciones conserva el dinero — los saldos más lo pendiente igual al suministro — y que cada transición respetó las reglas, incluidos los movimientos en tránsito de su protocolo en dos fases. Un tercero verifica con la cabeza de época firmada y la prueba: sin el libro, sin el autor y sin red. Verificador y operador corren en CPUs de consumo. El invariante sobrevive a un reinicio: las raíces en reposo se persisten y se comprueban al reabrir, cada una con un testigo que falla si se manipulan. Y las pruebas se guardan lo que se les dio: la clave de gasto no viaja por la API y, desde el RFC-0009, tampoco sale en la prueba — el probador oculta su testigo, re-medido a cero literales en cada sello, que es lo que movió el cable a zkssl/0.4.

El formato es un contrato gobernado: una regla escrita de cuándo sube la versión, vectores de conformidad conservados por versión y jamás reescritos, una puerta que rechaza versiones anteriores en cada corrida, y un proceso RFC con estados — el paquete de evidencia (RFC-0004), el consumo publicado (RFC-0006), las pruebas sobre el estado comprometido (RFC-0007), las pruebas portables del pendiente (RFC-0008) y lo que revela una prueba (RFC-0009) son RFC aceptados, cada uno con sus vectores. La regla de diseño: ninguna afirmación se añade sin poder escribir primero el testigo que la falsaría.

Licencia MIT OR Apache-2.0. Un registro de auditoría (AUDITORIA.md) que ficha cada decisión sellada y también las hipótesis que salieron falsas.

Pruébalo: el kit del verificador

Un verificador autónomo, su especificación y sus vectores de conformidad, en una descarga. Corre sin red, sin el repositorio y sin preguntar nada a nadie: cuatro comprobaciones, en este orden — un expediente que cuadra; uno manipulado que no cuadra, con la regla rota nombrada; la misma etiqueta publicada en dos libros, detectada desde sus dos cabezas firmadas con los dos nodos apagados; un intercambio de libros, rechazado con su nombre. Paso a paso: doc/KIT.md (English: doc/KIT_EN.md).

Las huellas se publican junto a su commit, aquí y en el registro de auditoría; el tarball no puede llevar su propia huella. Para reproducirlo: git checkout 1528943 y bash tools/artefacto.sh con la toolchain que VERSION nombra dan el mismo binario y el mismo tarball, y el canon del proyecto comprueba esa propiedad en cada sello.

Dónde aplica

La forma del problema es siempre la misma: un operador lleva un libro; quienes dependen de él no pueden verlo; y las dos partes no se fían. Hoy el conflicto lo resuelve un tercero que abre el libro — un auditor, un supervisor, un juzgado — una vez al año, por muestreo. Arqueo sustituye esa apertura por una prueba, y encaja allí donde la unidad de cuenta nace y muere dentro del libro: la emite el operador, se mueve entre cuentas, la retira el operador.

Dónde no aplica, y lo dice: allí donde la pregunta es cuánto vale el libro y no qué hizo. Solvencia y reservas bancarias, cámaras de contrapartida central (su trabajo es el riesgo de contraparte, a volúmenes muy por encima del rendimiento medido de este motor), y libros cuyo operador se verifica a sí mismo por diseño, como la plataforma de liquidación de un banco central. Arqueo prueba conservación, no solvencia. Los dominios nombrados más allá de los seis revisados en la propuesta son candidatos: comparten la forma, y aún no se han medido.

Fondos públicos: el mismo gasto certificado dos veces

El fraude es simple y difícil de ver: una factura justifica una ayuda regional y, meses después, la misma factura justifica una europea en otra ventanilla. Hoy se caza por muestreo, o cruzando bases de datos a posteriori. Lo que Arqueo tiene, medido (RFC-0006, aceptado): el organismo que certifica un gasto publica el consumo de una etiqueta en su cabeza firmada; dentro de ese libro una etiqueta se consume una vez, y su prueba viaja sin el nodo. Dos organismos que computen la etiqueta de la misma forma pueden leer cada uno la cabeza firmada del otro y ver la misma etiqueta en ambas — detección desde dos cabezas firmadas con los dos nodos apagados, que es el paso 3 del kit; un libro duplicado o intercambiado se rechaza con su nombre, que es el paso 4.

Lo que eso no afirma, dicho en el mismo aliento. Detecta; no previene: dos libros soberanos pueden aceptar la misma etiqueta, nadie ordena entre ellos, y un tercero lo ve después, a las alturas que esas cabezas firman. La etiqueta es un acuerdo — H(dominio, identificador acordado), pública y precomputable por quien conozca el identificador — así que para que dos organismos detecten la misma factura tienen que computarla igual, y eso es gobernanza entre ellos, no una propiedad del código. Y el límite del oráculo: la factura nace fuera del libro; lo que se prueba es que la misma etiqueta se publicó, no que la factura sea real. Anclar el identificador en una fuente de facturación verificada (en España, VeriFactu o TicketBAI) es el encaje natural, y es un candidato, no una medición. Entre países, ni siquiera detección hasta que exista una etiqueta compartida.

Contra las aserciones de auditoría: la existencia y la exactitud de lo que un libro hizo se miden hoy, y el corte en parte (la caja vacía); la completitud es la siguiente prueba. La solvencia — si el dinero está en el banco — queda fuera del alcance por diseño.

Lo que no hace

Qué viene después

Cuatro de las cinco pruebas sobre el mismo estado comprometido están medidas (RFC-0007 y RFC-0008, aceptados): el rechazo con prueba de causa; la edad de lo que está en vuelo, en su forma de caja vacía; el cobro pendiente portable, del lado del cobrador; y el pago en curso, del lado del pagador — junto con la prenda, una transición con prueba propia. Queda una: la completitud — cada acuse recibido acaba aplicado o rechazado, con traza. Su vía está redactada: RFC-0010, el recibo de recepción (propuesto) — lo que el operador no puede negar haber recibido. Juntas, las cinco cubren las cuatro aserciones de auditoría que aplican a un libro de posiciones: existencia, exactitud, corte y completitud.

El nombre

Arqueo viene de arca, el cofre: arquear es contar lo que el arca guarda. El latín arca viene de arceō, encerrar, contener; y el griego ἀρκέω (arkéō) crece de la misma raíz, y significa contener y, de ahí, bastar, ser suficiente. El nombre lleva las dos mitades de lo que este proyecto prueba: el libro está cerrado, y lo que hay dentro es exactamente lo que debe haber.

El arca más antigua de ese linaje es el Arca de la Alianza: lo que guardaba era una ley que todos debían obedecer, y sin embargo el arca misma no se abría ni se miraba dentro. Esa es la forma del problema aquí. Las reglas de un libro obligan a todos los que dependen de él; el libro no es suyo para abrirlo. Arqueo permite verificar las reglas sin abrir la caja.

Dónde mirar

Papers

Todos los depósitos están en Zenodo bajo CC-BY 4.0. Se publicaron bajo el nombre anterior del proyecto y preceden a algunas correcciones selladas después en el repositorio; el texto del repositorio es el vigente.