Código y permanencia
Un registro que sobrevive a quien lo opera.
La especificación, el código y los datos públicos son abiertos, y cada día queda anclado en Bitcoin. Si el operador desapareciera mañana, cualquiera podría comprobar lo que hay y seguir sirviéndolo.
Repositorio público en preparación
El código se publicará en un repositorio público con las licencias de abajo. Hasta entonces, el verificador y el código de referencia ya se pueden descargar aquí.
Qué es abierto
Cada pieza, con su licencia.
| Pieza | Licencia | Qué permite |
|---|---|---|
| Especificación | CC BY 4.0 | Copiar, adaptar e implementar, citando la fuente. |
| Implementación de referencia del PID (parcid.py, parcid.js) | CC0 1.0 | Dominio público: úsala sin condiciones. |
| Verificador independiente (parcid-verify.js, cli.mjs) | CC0 1.0 | Comprobar actas, pruebas y exportaciones sin preguntar al registro. |
| Resolutor, API y herramienta de operación | Apache-2.0 | Levantar un espejo o un registro compatible, con licencia de patentes. |
| Datos públicos y exportación diaria | CC0 1.0 | Reutilizar la parte pública del registro sin condiciones. |
| Modelos de comparación del operador | No abiertos | El formato de la firma física es público; el motor que compara es de cada operador. |
Transparencia
Un libro que solo se puede alargar.
Libro solo de añadir
Toda acta sellada entra en un libro con número de orden. Nada se borra ni se corrige: una enmienda es otra acta.
Árbol Merkle diario
Cada día UTC se cierra en un árbol Merkle RFC 6962. Cada acta tiene su prueba de inclusión en /api/v1/parcels/{PID}/proof.
Declaración encadenada
La raíz del día va en una declaración firmada con Ed25519 que incluye la huella de la del día anterior.
Ancla en Bitcoin
La declaración se ancla con OpenTimestamps. Sin tokens, sin NFT y sin carteras: solo una huella dentro de un bloque.
Espejos
Cómo levantar un espejo.
Un espejo no necesita permiso ni la lista de PID: la exportación identifica cada unidad por una huella con sal propia, así que un espejo resuelve un PID que le preguntan recalculando esa huella con la sal de cada unidad, sin poder sacar nunca la lista.
Descarga la exportación diaria
GET /api/v1/export da el índice; cada fichero .jsonl.gz trae las unidades, las actas del libro, las anclas y un manifiesto firmado. CC0.
Verifícala antes de servirla
node cli.mjs export parcid-export-AAAAMMDD.jsonl.gz recalcula raíces, firmas y la cadena de días. Si algo no cuadra, no la sirvas.
Despliega el resolutor
Cuando el repositorio sea público: PHP 8.4 y MySQL 8, con la misma API de lectura. Publica tu propio /.well-known/parcid diciendo de qué registro eres espejo.
Síguelo cada día
Importa la exportación nueva, comprueba que su primera declaración se encadena con la última que tenías y vigila que el ancla diaria siga llegando.
Verificar sin nosotros
Ni esta web hace falta.
El verificador es un único fichero JavaScript sin dependencias que funciona igual en el navegador y en Node 20 o superior. Descárgalo junto a cli.mjs y ejecútalo donde quieras.
Sale con 0 si todo verifica y con 1 si algo no cuadra: sirve para tareas programadas.
node cli.mjs proof PID-1-7QC3-Z79D-G6RZ-8EPrueba de inclusión de cada acta de una unidad, firma y ancla del día.
node cli.mjs record acta.jsonUn acta guardada por su titular: huella y firma del registro.
node cli.mjs export parcid-export-AAAAMMDD.jsonl.gzUna exportación completa: contenido, manifiesto, raíces, cadena y firmas.
node cli.mjs ots fichero.ots --bitcoinUna prueba OpenTimestamps suelta, contrastada con un explorador de Bitcoin.
Permanencia
Compromisos para que dure. Compromisos · aún no publicados
Esto es lo que el operador se compromete a hacer. Cuando cada pieza esté publicada, aquí aparecerá su enlace o su identificador.
Exportación en Arweave
Cada exportación diaria se copiará en Arweave, un almacenamiento pagado una vez y pensado para no borrarse.
Código en Software Heritage
El repositorio público se archivará en Software Heritage, el archivo universal del código fuente.
Especificación en Zenodo
Cada versión de la especificación se depositará en Zenodo con un DOI, para citarla y encontrarla siempre.
Resguardo a precio de coste
Las evidencias que un titular quiera conservar tendrán un resguardo perpetuo a precio de coste.
Interruptor de continuidad de 90 días
Si el operador deja de publicar el ancla diaria durante 90 días seguidos, el compromiso de cesión se activa solo: cualquier espejo que tenga la cadena verificada puede continuar el registro, con la misma especificación y los mismos PID.