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.
- Para operadores — el libro sigue cerrado; publicas una prueba, no tus libros.
- Para auditores y supervisores — verificas en segundos, en un ordenador normal, contra una spec pública, sin ver una sola cuenta. Descarga el kit del verificador.
- Para quien construye — Rust, pruebas STARK, formato de cable versionado (
zkssl/0.4), MIT/Apache-2.0. Lee la especificación.
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.
- Libro privado Lo guarda el operador. Nadie más lo ve.
- Prueba + cabeza de época firmada Publicada cada época; cofirmada por testigos independientes.
- Verificador independiente La máquina de cualquiera, sin red. Acepta, o rechaza nombrando la regla.
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).
- Release
arqueo-verify-v0.2.0, producida sobre el commit1528943; el ficheroVERSIONde dentro lo nombra. - Tarball
arqueo-verify-0.2.0-x86_64-unknown-linux-gnu.tar.gz— sha2562fe9030a310a1e0b02768eaac19ac079114e8e4dae3bec04bb2bf2a3da79f5ce, 2.891.949 bytes, 109 ficheros. - Binario, reproducible desde ese commit (compilado con
--remap-path-prefix, rustc 1.97.1): sha2566356debde7f117b15d16cc755a798fdd29ba55ef98707a7a9d05124406dc478b. - Requiere Linux x86_64 y glibc 2.34 o posterior. Comprueba la descarga antes de creerla:
sha256sumcontra la huella de arriba, y despuéssha256sum -c SHA256SUMSdentro.
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.
- Conservación medido — nada se creó ni se perdió: el suministro es igual a los saldos más lo que está en vuelo. Sistemas de depósito y devolución, garantías de origen, vales y ayudas públicas, saldos de dinero electrónico, registros de acciones y participaciones, pasivos de fidelización, compensación entre empresas de un grupo o entre operadores.
- Uso único medido — dentro de un libro una unidad se consume una vez, y el consumo se publica en la cabeza firmada. Entre dos libros la misma etiqueta se detecta desde sus dos cabezas firmadas, con los dos operadores apagados: detección, no prevención, y solo si ambos computan la etiqueta de la misma forma. Entradas y abonos, cuotas (pesca, agua, emisiones), licencias y créditos de API, y el fraude característico de los programas financiados por la UE: el mismo gasto certificado dos veces, ante dos organismos.
- Historia no reescribible, con prueba de extensión medido — el libro de hoy es el de ayer más algo. Censos de socios, censos electorales internos, expedientes, trazabilidad de lotes.
- Inclusión con recibo medido — el usuario prueba que su entrada quedó registrada, sin depender de la buena voluntad del operador. Registros públicos de solicitudes, plazos legales, vendedores de marketplaces, beneficiarios de ayudas.
- Autoría sin que la clave viaje medido — el operador lo ve todo y aun así no puede mover una cuenta que no controla. Monedas locales, bancos de tiempo, ahorro comunitario.
- Corte y completitud en parte — nada queda en vuelo pasado su plazo; cada acuse acaba aplicado o rechazado. La caja vacía — nada en vuelo más viejo que una edad dada — se prueba sin el nodo; la completitud está planeada. Liquidación en dos fases entre empresas, clearing entre operadores, cierre de periodo.
- Rechazo con causa medido — una negativa lleva la regla que la produjo. Recursos contra ayudas denegadas, reclamaciones, admisiones.
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
- El operador ve. No hay privacidad de importes ni de participantes frente a quien guarda el libro; la privacidad es frente al verificador externo.
- Recuperar una cuenta requiere dos custodios. Publicado en la documentación de seguridad.
- El límite del oráculo. Las pruebas hablan del libro, no del mundo: Arqueo aplica donde la unidad nace y muere dentro del sistema.
- Entre libros detecta; no previene. Dos libros pueden aceptar cada uno la misma etiqueta. Un tercero con las dos cabezas firmadas lo ve después, a las alturas que esas cabezas firman, nunca antes; y una etiqueta que dos organismos puedan comparar es un acuerdo entre ellos, no una propiedad del código.
- Un rechazo con causa prueba la regla, no la negativa. Ni que el nodo rechazara, ni cuándo, ni que la regla sea justa: la prueba dice que la regla se aplicó sobre lo que una cabeza firmada compromete.
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
- Repositorio — código, tests y el registro de auditoría (
AUDITORIA.md) - Especificación, RFC y vectores de conformidad —
spec/; versión de cable vigentezkssl/0.4 - Documentación de seguridad — los límites declarados, en un solo sitio
- Casos de uso, medidos y candidatos — la tabla detrás de «Dónde aplica»; cada fila medida lleva su fuente, y las candidatas lo dicen
- Kit del verificador, release
arqueo-verify-v0.2.0— la descarga, con sus huellas junto a su commit; manual endoc/KIT.md - RFC-0006, el consumo publicado — uso único dentro de un libro, detección entre libros, y lo que no afirma
- RFC-0009, lo que revela una prueba — prueba a prueba, qué sale y qué no; la tabla se re-mide en cada sello
- crates.io — nombre reservado; los crates migran bajo él tras la ventana actual
Papers
- From Institutional Trust to Verifiable Properties
- Comparative Implementation of a ZK Settlement Layer across Five Proof Systems
- Provable Compliance without Full Ledger Disclosure
- Residual Trust After Verification: A Microeconomic Account of What Proofs Cannot Eliminate
- Residual Surfaces in Retail CBDC Incidents and the Verification-Residual Partition
- Reputation, Residual Power, and Verification Investment in Digital Settlement
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.