Verification cryptographique des faits pour l'IA
Le premier protocole ouvert au monde pour verifier les faits d'entreprise.
Decrivez vos faits dans un fichier JSON
Chaque fait est signe avec ed25519
N'importe qui peut verifier les signatures
Collez l'URL d'un verified-facts.json
Entreprises avec signatures verifiees
Creez un verified-facts.json et soumettez-le
Specification et exemple
// Verify a fact from verified-facts.json
import { verify } from '@noble/ed25519';
async function verifyFact(claim, signature, publicKey) {
const msgHash = new Uint8Array(
await crypto.subtle.digest('SHA-256',
new TextEncoder().encode(claim))
);
const sig = Uint8Array.from(atob(signature), c => c.charCodeAt(0));
const pub = Uint8Array.from(atob(publicKey), c => c.charCodeAt(0));
return verify(sig, msgHash, pub);
}
// Usage:
const url = 'https://example.com/.well-known/verified-facts.json';
const data = await fetch(url).then(r => r.json());
for (const fact of data.facts) {
const valid = await verifyFact(
fact.claim, fact.signature, data.publicKey.value
);
console.log(fact.id, valid ? '✓' : '✗', fact.claim);
}Horodatages immuables sur Polygon + certificat NFT.