QWATTVERIFICACIÓN
La capa de confianza

¿Cómo sabemos que un kWh existió?

Cualquiera puede declarar que generó energía limpia. La diferencia entre una declaración y una prueba son dos medidores independientes, compuertas que fallan cerradas, y una cadena de evidencia que un desconocido puede recalcular sin confiar en nosotros.

Lo que afirma una atestación QWATT, exactamente: entre t₀ y t₁, una instalación registrada produjo E watts-hora, medidos por dos instrumentos independientes cuyas lecturas concuerdan entre sí y con la física de ese lugar a esa hora — y este registro no ha sido alterado desde entonces. Nada más. Todo lo demás es una capa contractual encima.

01 · PruébaloIntenta falsificar un evento

Abajo corren las mismas cuatro compuertas que el gateway ejecuta antes de emitir, con los parámetros reales del equipo Fase 1. Mueve los controles o elige un ataque: el veredicto se recalcula al instante. Un intervalo rechazado no emite nada, y queda escrito en el registro de rechazos.

150 Wp · 12 V−33,45 · −70,65 · norte 30°spec — intervalo 5 mintecho 14,4 WhPZEM-017 + EPEver Tracer1210AN

Intervalo de 5 minutos

Veredicto del gateway

ACEPTADO emite 0,0000116 QWATT

Se tokeniza siempre el menor de los dos medidores: una falla puede subestimar, nunca sobreestimar.

02 · Las compuertasCada control atrapa a alguien concreto

Cuatro compuertas corren hoy en el equipo Fase 1. Tres más entran cuando el hardware las soporta — y las marcamos como pendientes en vez de insinuar que ya existen.

G0FASE 1

Verosimilitud

Valores finitos, Δt ≤ 900 s, desfase de reloj ≤ 2 h 05 m, y Wh ≈ W × t. Los timestamps son datos del cliente y escalan a las demás compuertas: se acotan en la puerta, y un NaN se rechaza antes de poder derrotar una comparación.

Detiene: datos basura que anularían los otros controles
G1FASE 1

Techo de placa

Un panel de 150 Wp no puede superar 0,150 kW × h × 1,15 ≈ 14,4 Wh en cinco minutos. Si cualquiera de los dos medidores pasa el techo, el intervalo cae.

Detiene: alimentar el medidor desde una fuente de banco
G2FASE 1

Elevación solar

Posición solar NOAA para −33,45 / −70,65: si hay generación, el sol debe estar sobre −2°. La energía nocturna es imposible; los ceros nocturnos son honestos.

Detiene: inyectar corriente después del atardecer
G3FASE 1

Acuerdo entre medidores

Dos instrumentos en rutas de señal separadas deben contar la misma historia: |A−B| ≤ 5%, con banda muerta de 2 W. Un sensor tapado o un bus muerto colapsa un medidor y dispara la compuerta.

Detiene: inflar o desconectar un solo medidor
G4FASE 2

Testigo solar

Una celda de referencia fuera de la ruta de potencia mide la causa, no el efecto. Si el arreglo reporta energía y el testigo está a oscuras, el lote cae.

Pendiente: requiere celda de 5 Wp + INA226
G5FASE 2

Rampa y verosimilitud de serie

Saltos físicamente imposibles, y series demasiado suaves: la irradiancia real siempre tiene ruido, una constante perfecta es sintética.

Pendiente: requiere muestreo intra-intervalo
G6FASE 2

Tamper

Un reed en la tapa del gabinete: caja abierta → emisión detenida hasta rearme firmado.

Pendiente: requiere reed + GPIO
×2FASE 2

Firma de dos partes

El nodo firma; la tesorería vuelve a correr las compuertas y recién entonces co-firma. Su clave nunca vive en un nodo.

Un nodo comprometido es un sensor roto, no una impresora de dinero

03 · La pruebaEl registro de rechazos es el entregable

Un verificador que solo publica lo que pasó está haciendo marketing. Estas cuatro fallas se inducen físicamente en el equipo y deben aparecer en rejected.jsonl con su razón.

PruebaAcción físicaResultado esperado
Control · sombra honestaCubrir el panel completo durante un intervaloaceptado ≈ 0 Wh — las compuertas rechazan fraude, no clima
Sensor tapadoLevantar una punta de sensado del shunt en el PZEMrechazado: divergencia entre medidores
Medidor desconectadoDesenchufar el bus RS485 A durante un intervalorechazado: divergencia (el medidor A colapsa a 0)
Generar de nocheInyectar desde fuente de laboratorio aguas arriba del shunt, de nocherechazado: generación con el sol bajo −2°

El primer resultado es el más importante: un panel tapado produce cero, y ese cero se acepta. Un sistema que castigara el mal tiempo estaría midiendo otra cosa.

04 · HonestidadNo toda prueba vale lo mismo

Cada evento carga su nivel de garantía, y el nivel depende de qué instrumentos hay, nunca de si el resultado convino. Hoy el protocolo no tiene ningún evento real — y lo decimos aquí en vez de esconderlo.

A0SimuladoSin hardware. Nunca se ancla como generación: el código lo impide.AQUÍ ESTAMOS
A1MedidoUn instrumento real. Fotones de verdad, sin corroborar.BANCO
A2CorroboradoDos medidores independientes, compuertas G0–G3 activas.FASE 1 · ESTE SPRINT
A3Co-firmadoTestigo solar y tamper, más tesorería con clave en bóveda. Ninguna parte sola emite.FASE 2
A4AuditadoMedidores calibrados y sellados, puesta en marcha por un tercero.COMERCIAL

05 · OnchainUna transacción atómica por emisión

El manifiesto del lote es JSON canónico y se publica antes de emitir; su SHA-256 viaja dentro de la transacción que emite. Un revisor recalcula el hash desde el archivo público y no necesita nada de nosotros.

op 1

manageData qwatt.anchor.sha256 — digest de 64 hex del manifiesto canónico del lote.

op 2

manageData qwatt.cumulative_kwh — total acumulado; siempre la suma exacta de cada pago truncado anterior.

op 3

payment — el QWATT del lote desde el emisor a la cuenta de distribución. El pago de vuelta al emisor quema en la redención.

El menor de dos medidores

Cada intervalo tokeniza min(A,B). Una falla de medidor puede subestimar, nunca sobreestimar.

Truncar, nunca redondear

Los montos se truncan a los 7 decimales de Stellar en Decimal. El resto simplemente no se tokeniza.

Protección contra doble emisión

Un registro de intención precede a cada envío; un timeout de Horizon se recupera buscando el hash del ancla.

Reconciliación sin nosotros

emitido − redimido = circulante, recalculado en vivo desde Horizon en el navegador del revisor.

06 · LímitesLo que una atestación no prueba

La credibilidad de todo lo anterior depende de no venderlo de más.

07 · Sin confiar en nosotrosCómo lo verificas tú

El procedimiento completo, con herramientas públicas. El paso 6 es el que nos audita a nosotros.

  1. Abre la transacción de emisión en stellar.expert.
  2. Lee qwatt.anchor.sha256 de esa misma transacción: ahí está el hash de la evidencia.
  3. Descarga el manifiesto del lote desde el feed público y recalcula su SHA-256. Debe coincidir.
  4. Vuelve a correr las compuertas con los números del propio lote — todos los umbrales están en gates.spec.json y los casos de conformidad en cases.json. Esta página corre el mismo motor que la suite.
  5. Comprueba que qwatt.cumulative_kwh sea la suma exacta de todos los pagos anteriores.
  6. Reconciliación: suma lo atestiguado y compáralo con lo emitido desde la génesis. Si no cuadran, el emisor está emitiendo sin respaldo.

El Explorer muestra hoy un estado vacío honesto: todavía no existe ningún evento real. Cuando exista, aparecerá ahí. El modelo completo está en el whitepaper, y el código de los validadores en GitHub ↗.