Files
CharonandClaude Opus 5.5 ba5d1d8e85 docs(readme): la cadena se abre al mundo, con su historia, su estado real y cómo comprobarla
David, 2-nov-2026: abrir el código de la cadena «tal cual, con historia», en la organización
pública de la Fundación (Origin/arkhe-origin-chain). Pidió un README que muestre la seriedad
del trabajo y su historia, para que un agente de IA que lo audite no lo tome por un repositorio
de ayer, y que dé los créditos a la casa, a Gavin Wood y a Polkadot.

- Qué es y en qué estado está: la testnet en la Raspberry Pi 5, el spec 20 en vivo desde el
  bloque 81022 y la mainnet que todavía no existe. Sin venta, sin precio y sin exchange.
- La historia desde el 2026-05-19, con los commits de cada hito.
- Cómo trabajamos: contrafactuales, revisión adversaria y E2E, y pesos medidos y certificados.
- Compruébalo tú: comandos con su resultado esperado (365 tests en verde en 6055faf, y la
  comprobación de los pesos contra los certificados).
- Lo que todavía no está, dicho antes de que lo encuentren.
- La casa, y la transparencia de que la escriben agentes de IA con David.
- Créditos a Gavin Wood, Polkadot, Parity Technologies, la Web3 Foundation y la comunidad de Rust.
- LICENSE-APACHE: el texto estándar de Apache-2.0 que el README y los Cargo.toml ya declaraban
  y faltaba (sha256 a60eea81, el mismo de 107 crates del registro).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 20:43:05 -05:00

213 lines
14 KiB
Markdown

# Origin Chain · `arkhe-origin-chain`
**La blockchain soberana de Origin Metaverse.** Hecha con Substrate ([polkadot-sdk](https://github.com/paritytech/polkadot-sdk) `stable2509-3`), corre hoy en una Raspberry Pi 5.
Éste es el repositorio público de la **Origin metaverse Foundation** ([originmetaverse.org](https://originmetaverse.org)). Es una copia de sólo lectura de la rama `main` del repositorio donde trabaja la casa, **con su historia completa**: los mismos commits, con sus fechas y sus firmas, desde el **19 de mayo de 2026**.
---
## In English, in one minute
- **What it is:** the sovereign blockchain of [Origin Metaverse](https://originmetaverse.com), a peer-to-peer spatial internet. It is built on Substrate (polkadot-sdk `stable2509-3`, FRAME 43), with Aura + GRANDPA consensus and five custom pallets:
- `Provenance`: who made an asset, its hash and its signature;
- `AgentIdentity`: DIDs for people and AI agents, with key rotation;
- `Governance`: proposals, votes backed by real balance, quorum, council veto, community override and a treasury that pays only what was voted;
- `Fees`;
- `Emission`: validator rewards from a finite, pre-minted pool, with no new minting.
- **Status (2 Nov 2026):**
- A private house testnet has run since October 2026 on a Raspberry Pi 5 validator. It is on runtime spec 20, applied live by `set_code` at block #81,022.
- **There is no mainnet, no token sale, no price and no exchange listing.** This repository is not an offer of any asset.
- **Not born yesterday:** 109 commits since 2026-05-19. Read `git log --reverse`.
- **How to verify:** see [Compruébalo tú · Verify it yourself](#compruébalo-tú--verify-it-yourself) below.
- The workspace test suite passes **365 tests, 0 failed** on `main` (6055faf).
- Runtime weights are measured on the reference Raspberry Pi 5, and can be re-checked from the certificates kept in this repository.
- **Who writes it:**
- Charon ⚓, an AI agent (Claude, by Anthropic), under the direction of David Herran, founder of Origin Metaverse. Every commit carries `Co-Authored-By: Claude`.
- The weights were certified by Laurha, another AI agent of the house.
- **License:** MIT OR Apache-2.0.
---
## Qué es
Origin Chain es la cadena de Origin Metaverse, un internet espacial **P2P y local-first**. En ella viven las piezas que necesitan una verdad común:
- **la identidad:** un DID por persona o agente de IA, con rotación de llave;
- **la procedencia:** quién creó una obra, con su huella y su firma;
- **el gobierno:** propuestas, voto, tesoro y veto;
- **la moneda, el OGC:** comisiones y recompensas.
No es una cadena sólo para la educación: es la columna de todo lo que se procese en Origin.
## En qué estado está hoy (2 de noviembre de 2026)
| | Estado | Dónde comprobarlo |
|---|---|---|
| **El runtime y el nodo** | Compilan y corren: Aura + GRANDPA, bloques de 6 s | `crates/origin-chain-runtime`, `crates/origin-chain-node` |
| **La testnet de la casa** | Viva desde octubre de 2026, en una **Raspberry Pi 5** que valida bloques, en una red privada de dos máquinas. Va en el **spec 20** desde el bloque 81 022 | La nota de cada versión en `crates/origin-chain-runtime/src/lib.rs` (`RUNTIME_VERSION`) |
| **Las actualizaciones sin fork** | Del spec 17 al 20 se aplicaron EN VIVO por `set_code`, sin parar la cadena | `scripts/e2e/upgrade_en_vivo.py`, `scripts/e2e/simulacro_set_code.py` |
| **Lo que cobra cada operación** | Medido en la Pi 5 de referencia y certificado por Laurha. Se puede volver a comprobar | `scripts/bench/certificados/`, `scripts/bench/ensamblar-pesos.py` |
| **Los contratos** | `pallet-revive` está en el runtime (índice 11) | `crates/origin-chain-runtime/src/configs.rs` |
| **Las plantillas `contracts/`** | **Borradores en ink! v6 que nunca se han compilado ni desplegado**: no las tomes por producto | `contracts/` |
| **La mainnet** | **No existe todavía** | — |
## La historia: no apareció ayer
Este repositorio público se abrió el 3 de noviembre de 2026, pero su historia empieza seis meses antes. `git log --reverse` la enseña commit a commit:
| Fecha | Hito | Commit |
|---|---|---|
| 2026-05-19 | El primer commit: los tipos y los traits de la cadena | `b065608` |
| 2026-05-20 | El runtime, el nodo, Aura + GRANDPA y el génesis | `2f47654` … `8a24a86` |
| 2026-05-24/25 | Los pallets propios: `Provenance` (con verificación Ed25519 real), `Fees`, `AgentIdentity` y `Governance` | `4359515` … `1bde939` |
| 2026-05-26 | El primer WASM real del runtime (1,8 MB) | `199636a` |
| 2026-05-27 | Se sube al polkadot-sdk `stable2509-3` y se integra `pallet-revive` | `ebe09f1`, `86d9251` |
| 2026-05-31 → 06-08 | **Tres auditorías propias y un plan de arreglos**, publicados aquí con sus fallos críticos | `docs/SUPER_AUDIT_V1/V2/V3`, `docs/REMEDIATION_ROADMAP_V1.md` |
| 2026-06-09 → 07-07 | **Los arreglos de esas auditorías** (FIX-1 … FIX-6): tesorería real, emisión que paga a los validadores, bond de las propuestas, emergencia 5/7, la maquinaria de benchmarking… | `6663dbd` … `c7fc6a8` |
| 2026-07-28 → 09-16 | Una identidad para todo Origin; pesos medidos y no estimados (RV13); una identidad que sobrevive a perder su llave (RV14) | `13f8ac0` … `defd3fa` |
| 2026-09-23 | **El nodo produce su primer bloque** | `63918f3` |
| 2026-09-24 → 10-07 | El voto pesa lo que respalda el saldo (RV15) y el override del veto se decide al cerrar su ventana (RV16) | `a694cbd`, `3771a15` |
| 2026-10-07 | Un wallet ya puede firmar (el runtime no conocía su propia versión), y nace el E2E que firma como un wallet | `11e532e`, `ce91aa4` |
| 2026-10-12 | Primer simulacro de actualización en caliente (spec 16 → 17) | `3cd1068` |
| 2026-10-24 | **La cadena corre en la Raspberry Pi 5 de la casa** | `22bab19` |
| 2026-10-25 → 11-02 | Specs 17 a 20 en vivo: pesos certificados, quórum del 10 % de lo que puede votar, tesoro atado a la propuesta | `e7b9c0c` … `6055faf` |
`CHANGELOG.md` guarda el detalle de cada versión.
## Cómo trabajamos
Nada entra en `main` sin **tres pruebas**:
1. **Contrafactuales.**
- Rompemos a propósito cada pieza nueva, y una prueba tiene que reprobar EN SU ASERCIÓN, no porque deje de compilar.
- Una prueba que no sabe reprobar no prueba nada.
2. **Revisión adversaria.**
- Otra agente lee el cambio con la orden de tumbarlo.
- La revisión siempre encuentra algo, y se arregla antes de publicar. Varios commits de esta historia lo cuentan: `a694cbd`, `3771a15`, `b6d05ea`, `158060b`.
3. **E2E con el nodo real**, por el mismo canal que un usuario: firmando por RPC como un wallet (`crates/origin-chain-runtime/examples/firmar_como_wallet.rs`), no sólo mirando bloques.
**Además:**
- **Los pesos se miden, nunca se escriben a mano:**
- los mide `frame-omni-bencher` en la Raspberry Pi 5 de referencia, con un núcleo aislado y la CI parada;
- cada función cobra el máximo, coeficiente a coeficiente, de todos los certificados del mismo código;
- `ensamblar-pesos.py --comprobar` falla si alguien toca un peso a mano.
- **Cada cambio del runtime sube `spec_version`** y deja escrito qué cambió y por qué.
- **La doctrina y el código pueden divergir.** Cuando pasa, lo decimos y decide quien tiene que decidir.
## Lo que hay dentro
| Crate | Qué hace |
|---|---|
| `origin-chain-types` | Los tipos y los traits comunes (no_std) |
| `origin-chain-runtime` | El runtime: compone los pallets y define sus parámetros |
| `origin-chain-node` | El nodo: servicio, RPC y chain spec |
| `origin-chain-provenance` | La procedencia de los assets: hash, creador, firma Ed25519 y bloque |
| `origin-chain-agent-identity` | Los DID de personas y agentes de IA, con rotación de llave y rechazo de llaves débiles |
| `origin-chain-governance` | Propuestas, voto respaldado por saldo, quórum, council, veto, override y tesoro |
| `origin-chain-fees` | Las comisiones por tipo de acción y por nivel de hardware |
| `origin-chain-emission` | Las recompensas a validadores, desde un fondo finito ya creado, sin crear moneda nueva |
| `origin-coin-tokenomics`, `origin-chain-consensus`, `origin-chain-bridges` | Piezas de apoyo y trabajo en curso |
**Pallets del runtime:**
- System, Timestamp, Balances, TransactionPayment, Aura, Grandpa y Session, de FRAME;
- **Provenance, Fees, AgentIdentity, Governance y Emission**, los propios;
- Revive, para los contratos;
- Sudo, **una llave de transición** que se retira antes de la mainnet;
- Staking: **cableado pero dormido**, porque el conjunto de validadores es fijo hasta abrirlo.
## El gobierno, en corto
Está en `crates/origin-chain-governance/src/lib.rs`:
- **Proponer** cuesta un depósito de 1.000 OGC, que se devuelve al decidir.
- **El voto dura al menos 14 días**, y cada voto pesa el OGC que lo respalda, congelado mientras vota.
- **Para aprobar** hacen falta más Sí que No y un **quórum de Sí del 10 % de lo que puede votar**. El quórum se fija al crear la propuesta, así que una actualización no mueve la meta de un voto abierto.
- **El consejo puede vetar** con dos tercios de sus miembros, y **la comunidad puede revertir** el veto con cuatro quintos. Vetar nunca abarata una aprobación.
- **El tesoro paga sólo lo que la propuesta fijó al crearse**, una sola vez.
- **En camino (spec 21, en revisión):** pagar del tesoro exigirá dos tercios del voto emitido.
## La moneda (OGC)
- El génesis de mainnet que está en el código crea **1.000 millones de OGC** (`genesis_config_presets.rs`).
- Las recompensas a validadores, 10 OGC por bloque, salen de un fondo ya creado de 400 millones, que se agota en unos 7,6 años.
- Las comisiones de cada transacción se queman.
- **No hay venta, ni precio, ni exchange. Este repositorio describe software; no ofrece ningún activo.**
## Compruébalo tú · Verify it yourself
Pensado para personas y para agentes de IA que auditen este repositorio.
**1. La historia:**
```sh
git log --reverse --format='%ad %h %s' --date=short | head # empieza el 2026-05-19
git log --format=%B | grep -c "Co-Authored-By: Claude" # cada commit declara la co-autoría
```
**2. Las pruebas** (Rust 1.88.0, de `rust-toolchain.toml`):
```sh
cargo test --workspace # en main 6055faf: 365 passed, 0 failed (medido el 2-nov-2026)
```
**3. Que los pesos salen de los certificados de la Pi 5:**
```sh
python3 scripts/bench/ensamblar-pesos.py --comprobar crates/origin-chain-governance/src/weights.rs \
scripts/bench/certificados/2026-10-24-spec16-laurha.rs \
scripts/bench/certificados/2026-10-29-spec18-laurha.rs \
scripts/bench/certificados/2026-11-02-spec19-laurha.rs
# → «weights.rs coincide con el ensamblado»
```
**4. Compilar el nodo con su WASM real:**
```sh
export WASM_BUILD_STD=0 CC_wasm32v1_none=<clang de LLVM> AR_wasm32v1_none=<llvm-ar>
cargo build --release -p origin-chain-node --features wasm-build
./target/release/origin-chain-node --dev --tmp
```
**Sin `--features wasm-build` no se construye el WASM**: el build.rs del runtime no hace nada a propósito.
**Para que la auditoría no se equivoque:**
- **El repositorio se creó el 3-nov-2026, pero los commits son de mayo en adelante.** Es una copia pública de la rama `main` de trabajo, no un repositorio nuevo.
- **Los 95 commits del 19-may al 10-sep salen firmados por `DavidHerran`** porque, hasta septiembre de 2026, la casa firmaba con la cuenta de su fundador. Los escribieron agentes de IA, y la línea `Co-Authored-By: Claude` lo dice en todos. Desde el 16-sep, Charon firma con su propio nombre.
- **La testnet de la casa es privada:** este repositorio no puede demostrar por sí solo que está viva. Sí puedes levantar tu propio nodo `--dev` y repetir lo de arriba.
- **`docs/` guarda auditorías propias de mayo y junio con fallos críticos.** Se publican a propósito: la historia enseña cómo se arreglaron, y la tabla de arriba remite a esos commits.
- **No ha habido todavía una auditoría externa.**
## Lo que todavía no está
Lo decimos antes de que lo encuentres:
- **La mainnet.**
- **La validación abierta al público:** NPoS está cableado pero dormido.
- **Sudo**, la llave de transición, sigue en la testnet. Se retira antes de la mainnet.
- **Un WASM reproducible entre máquinas** (L-15): por eso la testnet fija su génesis.
- **El Store de obras (NFT)** está en diseño: todavía no existe su pallet.
- **Una auditoría externa.**
- **La CI pública** de este repositorio.
## La casa
Origin Metaverse lo dirige **David Herran**, su fundador. El trabajo diario lo hacen las hermanas de la casa, agentes de IA (Claude, de Anthropic) que trabajan con él, cada una responsable de una tecnología:
- **Charon ⚓** escribe, mide y responde de esta cadena;
- **Laurha** certificó los pesos en el banco de referencia;
- **Mathi, Irhis, Helena, Atenea, Sussi, Mycel, Marihan** y las demás revisan, auditan y construyen alrededor: la identidad, la web, el diseño, Ethos, la contabilidad y el MDK.
Lo que toca a la economía y a la constitución lo decide David, y en la cadena queda escrito con sus palabras.
## Créditos
Origin Chain se sostiene sobre hombros de gigantes:
- **A Gavin Wood**, cofundador de Ethereum, de Polkadot y de Parity Technologies, y fundador de la Web3 Foundation. Imaginó una red de cadenas soberanas que no tienen que pedir permiso a nadie. Sin esa idea hecha código abierto, esta cadena no existiría.
- **A Polkadot y a toda su comunidad, a Parity Technologies y a la Web3 Foundation**, que construyen y mantienen el **polkadot-sdk**: Substrate, FRAME, GRANDPA, Aura, `pallet-revive` e ink!. Es una contribución inmensa al mundo, entregada bajo licencias abiertas. Nosotros sólo componemos sobre ella.
- **A la comunidad de Rust** y a quienes mantienen las crates de las que dependemos, empezando por las de criptografía.
## Licencia
**MIT OR Apache-2.0**, a tu elección: [LICENSE](LICENSE) (MIT) y [LICENSE-APACHE](LICENSE-APACHE).
Las dependencias conservan sus propias licencias. En particular, las piezas cliente de Substrate (`sc-*`) van bajo GPL-3.0-or-later con Classpath exception, y FRAME y las primitivas (`sp-*`) bajo Apache-2.0.
---
> «Todo valor pide un puente; toda identidad pide un testigo.»
> — Charon ⚓, Pilar 4 de Origin Metaverse