Intramedial è in beta ristretta. Alla registrazione o all’accesso devi fornire la password da beta tester che hai ricevuto oppure richiederne una a preview@intramedial.com. Grazie.
Caricamento…
ledger-bundles.snapshotModulo 49
Modulo della piattaforma
Signed evidence bundles
Sigilla la catena di audit del tuo workspace in un bundle firmato che un auditor può verificare offline, rispetto a una chiave pubblicata per essere letta da chiunque.
ledger-bundles.snapshot firma un intervallo del log di audit con una chiave per giurisdizione e restituisce il bundle. La chiave pubblica corrispondente sta in un endpoint JWK noto, e lo stesso codice la verifica sulla route pubblica e offline, quindi un controllo non dipende mai dal chiedere a Intramedial.
Gli agenti agiscono quando il piano dice sì, e il registro dice perché.
Fai passare da Intramedial azioni di agenti, hash di contenuti, controlli API, lookup DNS, webhook, chiamate LLM e commit git. Ricevi una ricevuta firmata che chiunque verifica, senza fidarsi di noi.
StatoL’ancoraggio Bitcoin è verificato rispetto all’header del blocco
La route pubblica /ots/verify riesegue l’albero di operazioni della prova dal digest ancorato e confronta la radice Merkle derivata con l’header del blocco indicato. Un albero di operazioni manomesso che nomina un blocco reale è rifiutato. Prova che il digest esisteva entro quel blocco, non cosa rappresenta il digest. La radice Merkle del blocco viene da una sola API Bitcoin pubblica; la proof-of-work dell’header e una profondità minima di conferma non sono verificate, e notVerified lo dice.
Registro
Il registro
Cosa viene registrato
bundleId
L’id del bundle stesso.
jurisdiction
La regione la cui chiave di firma ha sigillato questo bundle.
rangeStart
L’inizio dell’intervallo sigillato, o non impostato quando lo snapshot è partito dalla genesi.
Quale chiave pubblicata ha firmato il bundle, confrontata con il set JWK noto.
ed25519Signature
La firma sulla forma canonica del bundle.
otsProof
null finché il cron di ancoraggio giornaliero non conferma un blocco Bitcoin per la super-radice di questo bundle.
Meccanismo
Passo dopo passo
Come funziona
Si richiede uno snapshot
POST /api/v1/ledger-bundles/snapshot con scope, rangeStart e rangeEnd opzionali; omettere l’intervallo cattura l’intera storia di audit fino ad oggi, non una incrementale.
La catena è sigillata e firmata
Le righe del log di audit nell’intervallo sono sottoposte a hash in una radice Merkle e firmate con la chiave Ed25519 della giurisdizione della richiesta; senza una chiave predisposta per quella regione, la richiesta risponde 503 invece di firmare con la chiave sbagliata.
La chiave pubblica è già disponibile
GET /.well-known/ledger-bundles-keys.json serve il set JWK senza autenticazione, così la firma di un bundle si verifica senza contattare di nuovo Intramedial.
Una super-radice si ancora a Bitcoin dopo
Un cron giornaliero raggruppa le radici dei bundle in sospeso in una super-radice, la invia una volta a OpenTimestamps e in seguito registra il blocco Bitcoin quando la prova conferma.
Provalo
Demo live
Eseguilo da questa pagina
POST/api/v1/ledger-bundles/snapshot
{}
Le chiamate di questo modulo modificano uno stato reale o raggiungono servizi esterni, quindi la demo condivisa non le esegue. Accedi per eseguirlo nel tuo workspace. Docs di ledger-bundles.snapshot
Risposte
Le chiamate di questo modulo modificano uno stato reale o raggiungono servizi esterni, quindi la demo condivisa non le esegue. Accedi per eseguirlo nel tuo workspace.
Codice
Esempio live
Una richiesta reale
Una richiesta nella forma accettata dall’API e una risposta di esempio nella forma restituita dal modulo.
Un auditor scarica un bundle e la chiave pubblicata, e verifica da sé la firma e il numero di record, senza richiamare Intramedial.
Sigillare la storia di audit di un trimestre
Un workspace fa lo snapshot del suo log di audit a fine trimestre, indicando esplicitamente l’intervallo invece di lasciare che uno snapshot predefinito ricatturi tutto dalla genesi.
Firma ora, prova Bitcoin dopo
La firma è verificabile nel momento in cui il bundle è emesso; l’ancoraggio Bitcoin che conferma il suo timestamp arriva dopo, quando la prova del cron giornaliero viene confermata.
Sapere cosa copre il controllo online
Un revisore di sicurezza legge il campo verified: "merkle_path_to_block_header" della risposta di /ots/verify e sa che l’albero di operazioni è stato rieseguito dal digest e confrontato con la radice Merkle dell’header del blocco. Un semplice timestamp di calendario richiede l’invio di digestSha256.
Quando usare altro
Fare lo snapshot del ledger di coordinamento che legge ledger.blame. I bundle sigillano la tabella audit_log separata della regione, un tracciato del tutto diverso.
Uno snapshot incrementale dall’ultima volta. Omettere un intervallo cattura ogni volta l’intera storia fino ad oggi.
L’uso nel piano gratuito. La creazione per snapshot richiede un piano a pagamento; il piano gratuito punta invece alla catena Tops.
Prove
Garanzie
Cosa fa e cosa non fa
Un modulo è una promessa forte su una cosa circoscritta. Contaci esattamente per ciò che è.
Fa
La firma di un bundle si verifica rispetto al set JWK pubblicato usando solo il bundle e quella chiave, senza altre chiamate a Intramedial.
Lo stesso codice di verifica gira nella route pubblica /verify e nel pacchetto del verificatore offline, quindi i due non possono divergere in silenzio.
Una richiesta di snapshot senza chiave predisposta per la sua giurisdizione è rifiutata con 503, mai firmata con una chiave di un’altra regione.
Non fa
Che il timestamp di un bundle pending sia già ancorato a Bitcoin; otsProof resta null e la risposta non inventa mai una conferma.
Che il digest ancorato appartenga a un particolare artefatto Intramedial; /ots/verify prova che il digest esisteva entro il blocco attestato, nulla su cosa rappresenti.
Che il blocco Bitcoin stesso sia genuino: /ots/verify prende la radice Merkle del blocco da una sola API pubblica (Blockstream) senza verificare proof-of-work o profondità di conferma.
Che un agente che chiama l’azione MCP possa impostare rangeStart, rangeEnd o . Il suo schema espone solo ; quei campi raggiungono il worker REST solo dal client della dashboard.
Dettagli
Note di sviluppo
Prima di costruire
Due sistemi Merkle, non uno
L’albero binario con separazione di dominio di questo modulo sulle righe del log di audit è un’implementazione separata dal batching del ledger di coordinamento in ledger.blame; i due non vanno mai descritti come lo stesso meccanismo.
Il piano limita la creazione, non la verifica
I workspace gratuiti non possono creare uno snapshot; da Starter in su se ne può acquistare uno per snapshot, Pro aggiunge un abbonamento di ancoraggio giornaliero automatico ed Enterprise lo include. Verificare un bundle che si possiede è gratuito su ogni piano.
Nessun id di azione coordination.*
Le azioni MCP di questo modulo stanno in un proprio file di contratto fuori da contracts/src/actions/coordination.ts, quindi nessuna è elencata qui come azione coordination.*.
Limiti e misurazione
Senza rangeStart, uno snapshot cattura l’intera storia di audit dalla genesi, che può essere grande in un workspace vecchio.
Uno snapshot richiede una chiave di firma predisposta per la giurisdizione della richiesta; senza, risponde 503 invece di prendere in prestito la chiave di un’altra regione.
Creare uno snapshot richiede un piano a pagamento; il piano gratuito non può chiamare questa route.
Accesso
API e MCP
REST e MCP
Autenticati con una chiave API del workspace come token Bearer. L’URL di base è https://api.intramedial.com.
Endpoint REST
POST/api/v1/ledger-bundles/snapshotSigilla e firma un intervallo della catena di audit.
GET/api/v1/ledger-bundles/anchorsElenca le prove di ancoraggio Bitcoin registrate per i bundle di questo workspace.
GET/api/v1/ledger-bundles/verify-chainVerifica l’integrità dei collegamenti hash della catena di audit, gratuita e non misurata.
Azioni MCP
Questo modulo non ha azioni MCP. Chiamalo via REST da qualsiasi agente o programma.
Pianifica dove devono vivere i record di coordinamento di questo workspace, vedi esattamente cosa si sposterebbe, poi portalo in un’altra regione quando decidi tu.