Verifieer privรฉ SynX-betalingen
Met alleen-bedrag-bewijssleutels.
Deze handleiding documenteert dezelfde privรฉ-transactie-proof-sleutelstroom die wordt gebruikt door timeline.php voor betalingen voor tijdlijntoegang. Het is ontworpen voor ontwikkelaars die privรฉ-SynX-betalingen moeten accepteren, het exacte bedrag moeten verifiรซren en adresgegevens buiten hun applicatie moeten houden.
- Wat u ontvangt van de betaler: een 64-teken
tx_hashen een proefsleutel. De proefsleutel kan onbewerkt 64-hex zijn of voorafgegaan worden alsPT-plus 64 zeskant. - Wat de API bewijst: of die bewijssleutel geldig is voor die transactie en het exacte SynX-bedrag.
- Wat de API niet onthult: afzenderadres, ontvangeradres, portemonneesaldo of een openbaar betalingspad voor privรฉtransacties.
- Primair eindpunt:
POST /explorer/api/verify_proof.phpmet JSON-body{"tx_hash":"...","proof_key":"..."}.
Aanbevolen integratiepad: bouw een server-side verificateur die accepteert tx_hash En proof_key, oproepen /explorer/api/verify_proof.php, cheques valid === trueen vergelijkt vervolgens de geretourneerde waarden amount tot het door u gewenste bestelbedrag. Dit is het pad dat Timeline gebruikt voor privรฉbetalingen.
Bewijssleutels zoals tijdlijn implementeren
Timeline accepteert automatisch zichtbare marktplaatsbetalingen. Wanneer een transactie privรฉ of verborgen is, wordt overgeschakeld naar proof-key-verificatie. De proefsleutel bevestigt het betalingsbedrag terwijl de adresvelden gesloten blijven.
PHP-verificatie in tijdlijnstijl
function normalize_synx_proof_key(string $proofKey): string {
$proofKey = preg_replace('/\s+/', '', trim($proofKey));
return $proofKey ?? '';
}
function verify_private_synx_payment(string $txHash, string $proofKey, float $requiredAmount): array {
$txHash = strtolower(trim($txHash));
$proofKey = normalize_synx_proof_key($proofKey);
if (!preg_match('/^[a-f0-9]{64}$/', $txHash)) {
return ['ok' => false, 'reason' => 'tx_hash must be exactly 64 hex characters'];
}
if (!preg_match('/^(PT-)?[a-fA-F0-9]{64}$/', $proofKey)) {
return ['ok' => false, 'reason' => 'proof_key must be 64 hex characters, with optional PT- prefix'];
}
$response = file_get_contents('https://synxcrypto.com/explorer/api/verify_proof.php', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\nAccept: application/json\r\n",
'content' => json_encode(['tx_hash' => $txHash, 'proof_key' => $proofKey]),
'timeout' => 15,
'ignore_errors' => true,
]
]));
$data = json_decode($response ?: '', true);
if (!is_array($data) || empty($data['valid'])) {
return ['ok' => false, 'reason' => $data['hint'] ?? $data['error'] ?? 'proof could not be verified'];
}
$paid = is_numeric($data['amount'] ?? null) ? (float)$data['amount'] : 0.0;
if (abs($paid - $requiredAmount) > 0.0001) {
return ['ok' => false, 'reason' => "amount mismatch: paid {$paid}, required {$requiredAmount}"];
}
return ['ok' => true, 'amount' => $paid, 'currency' => $data['currency'] ?? 'SYNX'];
}
Antwoordvelden waarvan u afhankelijk bent
| Veld | Eindpunt | Gebruik |
|---|---|---|
valid | verify_proof.php | Primaire Booleaanse waarde. Geef niets, tenzij dit zo is true. |
amount | verify_proof.php | Exact SynX-bedrag voor het bewijs. Vergelijk met uw gewenste bedrag. |
currency | verify_proof.php | Verwachte waarde is SYNX. |
error + hint | verify_proof.php | Toon een eenvoudig bericht voor een nieuwe poging of correctie aan de gebruiker. |
amount_decoded | /privacy/tx/{hash}/rune-verify | Hetzelfde concept als amount, maar geretourneerd door het rijkere metadata-eindpunt. |
Compatibiliteit met verificatie in de wachtrij: Het eenvoudige eindpunt reageert meestal synchroon. Als er ooit een integratie komt {"status":"pending","request_id":"...","retry_after":3}, opiniepeiling /explorer/api/index.php?endpoint=verify_proof&request_id=... na retry_after seconden en parseer de uiteindelijke JSON op dezelfde manier. De tijdlijn bevat dit compatibiliteitspad.
Implementatienota: Voor browsertoepassingen roept u de verificateur aan vanuit uw backend, tenzij uw oorsprong al is toegestaan โโdoor het CORS-beleid van de verkenner. Met verificatie aan de serverzijde kunt u ook proefsleutels uit klantlogboeken redigeren en op รฉรฉn plek bedragen vergelijken met uw besteldatabase.
๐ Waarom we de afzender of ontvanger nooit openbaar maken
Dit is het kernprincipe. Open source-transparantie en gebruikersprivacy zijn natuurlijke vijanden, tenzij je de grens op de juiste manier afbakent. SynergyX lost dit op door de protocol transparant (iedereen kan de code controleren) terwijl deze behouden blijft identiteit permanent ondoorzichtig (er bestaat geen mechanisme om afzender of ontvanger te onthullen). De proefsleutel is een puzzelsleutel: hij ontgrendelt het bedrag, en alleen het bedrag. De identiteiten achter de transactie losten op in de Synergy Sea op het moment dat het blok werd verzegeld.
Het SynX-knooppunt genereert de bewijssleutel met behulp van quantum Kyber-768-roosterversleuteling. De sleutel is wiskundig gebonden aan het transactiebedrag. Het kan niet worden vervalst, het kan niet worden onderworpen aan reverse-engineering, en verloopt na 30 minuten. De afzender deelt de proefsleutel met de ontvanger buiten de keten: Signal, PGP, Tor, een servet. De ontvanger verifieert via deze API. Dat is het hele vertrouwensmodel. Geen voogdij. Geen tussenpersoon. Geen metadataspoor.
Alleen bedrag door permanent ontwerp. De proefsleutel decodeert het exacte betalingsbedrag. Er is geen mechanisme โ geen eindpunt, geen sleutel, geen parameter, geen vlag โ dat de adressen van de afzender of de ontvanger onthult. Dit is geen configuratiekeuze. Het is een architectonische onmogelijkheid. De adressen worden niet opgeslagen in een vorm die met een sleutel kan worden ontgrendeld. Ze zonken in de Zee.
โจ Wat de server weet (Jack)
Laten we eerlijk zijn over vertrouwensgrenzen. Je raakt een API. De server is een machine en machines kunnen in beslag worden genomen. Dit is precies wat een aanvaller krijgt als hij de box roott:
Het eerlijke voorbehoud: Tijdens daemon-synchronisatie ziet de scanner kort onbewerkte adressen voordat deze worden gehasht en de originelen worden weggegooid. Dit is hetzelfde vertrouwensmodel als het externe knooppunt van Monero: de daemon verzendt leesbare tekst naar de scanner. Wat wij garanderen: opgeslagen gegevens en API-reacties lekken nooit onbewerkte adressen of bedragen. Er is geen API-eindpunt dat adressen retourneert โ niet met een view-sleutel, niet met een proof-sleutel, nooit. De hashing is onmiddellijk. Het raam is microseconden. Een knipoog, geen lek.
De timing wordt verzacht. Elke afzonderlijke API-reactie โ GET, POST, succes, mislukking, 404, alles โ is opgevuld tot een 500 ms constant plafond. De server meet de werkelijke verwerkingstijd en slaapt vervolgens precies 500ms - elapsed. Elke reactie duurt precies 500 ms. Niet willekeurig. Constante. Cohen's d tussen geldige en ongeldige paden: 0.015 (getest door GhostReaper โ statistisch onzichtbaar). Het timing-orakel-speelboek van Chainalysis? Dood bij aankomst.
๐ De Synergy Sea โ Twee dieptelagen
Beschouw de keten als een oceaan. Publieke transacties drijven aan de oppervlakte. Privรฉ zinkt. Hoe dieper je gaat, hoe meer je bewijssleutels nodig hebt om iets te zien. En zelfs op maximale diepte kan alleen de hoeveelheid oppervlakken - adresseert nooit.
| Diepte | Wie ziet | Wat lekt | Bewaker |
|---|---|---|---|
| OPPERVLAK | Iedereen | Hash, bestaan, vage tijd, vergoedingsniveau, confs | Cryptografische verplichtingen |
| DIEP | Bewijs sleutelhouder | Boven + exacte hoeveelheid (gedecodeerd uit kwantumroosterafdichting) + tijdvenster | Kyber-768 kwantumroosterversleuteling, AES-256-GCM |
Er bestaat geen diepere laag. Er is geen openbaarmaking van de sleutel, geen adrescontrole, geen mechanisme om te onthullen wie heeft verzonden of ontvangen. De proefsleutel โ gegenereerd door het SynX-knooppunt met behulp van quantum Kyber-768-codering โ decodeert het exacte bedrag. Dat is het diepste dat iemand kan gaan. Afzender- en ontvangeradressen zijn permanent verdronken in de zee.
Anticorrelatiepantser: Tijdstempels zijn ยฑ120s wazig. Kosten onderverdeeld in 5 niveaus (micro/laag/standaard/hoog/premium โ nooit het ruwe sat-bedrag). Blokhoogten zijn nul. Reactietijden opgevuld tot een constant plafond van 500 ms. "TX niet gevonden" en "TX is privรฉ" retourneren de identieke vorm. Bewijssleutels verlopen over 30 minuten โ beperking van de herhalingsvensters tot bijna nul. Je kunt niet eens opsommen welke hashes echt zijn. Elke oppervlaktequery retourneert dezelfde hoeveelheid informatie, ongeacht of de TX bestaat, niet bestaat of is afgeschermd. Veel succes, Chainanalyse.
โออออโ Leveranciersbestendige verificatie โ 3 minuten, nul vertrouwen
Je bent een verkoper. Een koper heeft u zojuist betaald in privรฉ SynX. U moet de betaling verifiรซren zonder hun adres of saldo te zien of een derde partij te vertrouwen. Hier is hoe. Geen KYC. Geen voogdij. Bewijs betalingen blind.
Hoe proefsleutels werken: Wanneer een koper privรฉ-SynX verzendt, wordt de SynX-knooppunt genereert automatisch een kwantumverzegelde bewijssleutel met behulp van Kyber-768-roosterversleuteling. Deze proefsleutel is een puzzelsleutel; het is het enige dat het transactiebedrag kan decoderen. De sleutel is wiskundig onvervalst: zonder de interne kwantumroosterparameters van het knooppunt kan geen enkele aanvaller โ klassiek of kwantum โ er een fabriceren. De Node stuurt de proefsleutel terug naar de portemonnee van de afzender. De afzender deelt het met u buiten de keten. Je plugt hem in de API. Bedrag geverifieerd. Er zijn geen adressen onthuld. Ooit.
Koper stuurt u tx_hash + proof_key (off-chain)
Na de privรฉverzending genereert de SynX Node automatisch de proefsleutel. De portemonnee van de koper ontvangt het en stuurt het naar jou, samen met de transactie-hash. Signaal, PGP, Tor-chat, geschreven op een servet โ wat dan ook. Kanaal zonder metadata. De API ziet deze overdracht nooit.
# What the buyer sends you (encrypted channel only)
tx_hash: "a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd"
proof_key: "PT-f7e8d9c0b1a23456789012345678901234567890123456789012345678901234"
Tijdsbestek van 30 minuten: Bewijssleutels verlopen over 30 minuten vanaf generatie. De koper dient de proefsleutel onmiddellijk na verzending te delen. U dient dit onmiddellijk na ontvangst te verifiรซren. Dit krappe venster elimineert replay-aanvallen op de lange termijn; de sleutel is van tijdelijke aard. Als het verloopt, kan de afzender een nieuw exemplaar aanvragen bij het SynX-knooppunt.
PT-voorvoegsel: Alle proefsleutels beginnen met PT- โ voorkomt plakfouten (u plakt nooit per ongeluk een TX-hash in een proefveld of andersom). De API accepteert beide PT-f7e8... en rauw f7e8... โ de server verwijdert het voorvoegsel automatisch. Beide formaten werken.
Ingangslimieten โ streng afgedwongen: tx_hash moet zijn precies 64 hexadecimale tekens [a-fA-F0-9]{64}. proof_token maximaal 67 tekens (PT-voorvoegsel + 64 hex). Alles buiten deze grenzen โ direct 400 Bad Request. De API weigert te grote invoer voordat er enige verwerking plaatsvindt. Stuur geen hash van 200 tekens in de hoop dat deze wordt bijgesneden. Dat zal niet gebeuren. Het wordt laten vallen.
Raak รฉรฉn eindpunt โ de wiskunde doet het woord
# cURL โ verify the proof key (recommended endpoint)
curl -X POST https://explorer.synxcrypto.com/explorer/api/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4e5f6...64hex","proof_key":"f7e8d9c0...64hex"}'
# Through Tor (you should be doing this)
torsocks curl -X POST http://synxexplorer.onion/explorer/api/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4...","proof_key":"f7e8d9c0..."}'
# GET also works โ quick terminal checks
curl "https://explorer.synxcrypto.com/explorer/api/verify_proof.php?tx_hash=a1b2c3d4...&proof_key=f7e8d9c0..."
Lees het orakel
{
"valid": true, // โ that's your money, ghost
"tx_hash": "a1b2c3d4...", // โ echoed back for confirmation
"amount": "183.00", // โ exact amount decoded from quantum lattice seal
"currency": "SYNX",
"confirmed_at": 1735689600, // โ UNIX epoch when TX was inscribed on-chain
"message": "Payment proof verified โ this proof key is valid for the specified transaction"
}
"valid": true โ betaling bevestigd. Je kent de exacte hoeveelheid (gedecodeerd uit de kwantumroosterafdichting) en de currency. Je kent de afzender, ontvanger of blokkering niet. Niemand doet dat. Niet wij. Niet de server. Geen enkele dagvaarding. Er bestaat geen API-eindpunt om adressen te onthullen โ niet met een weergavesleutel, niet met een proefsleutel, nooit. De sleutel ontgrendelde het bedrag en niets anders. Het zonk in de Zee.
Veldnamen zijn belangrijk: Het eenvoudige eindpunt keert terug "amount" (niet "amount_decoded"). Het Runic Envelope-eindpunt keert terug "amount_decoded". Controleer welk eindpunt u bereikt en lees het juiste veld. Beide eindpunten keren terug "valid": true/false.
Dat is het. Drie stappen. Eรฉn POST. Nul accounts, nul API-sleutels, nul KYC. De bewijssleutel is de auth. Quantum Kyber-768-codering is de rechter. Verzend de goederen.
Vuur-en-vergeet: De SynX Node genereert automatisch de proefsleutel en stuurt deze onmiddellijk naar de verkenner nadat de transactie is verzonden. Dit is een achtergrondproces: als de push mislukt (netwerkstoring, server uitgevallen), slaagt de verzending nog steeds. De bewijssleutel wordt gegenereerd door de interne kwantumroosterparameters van het knooppunt. De registratie gebeurt naar beste vermogen. De verzendstroom blokkeert nooit de beschikbaarheid van API.
๐ฃ Volledige verificatieritueel
| ๐ฃAFZENDER | SynX NODE + ZEE | ๐ฃ ONTVANGER |
|
โ Privรฉ verzenden (portemonnee) Kyber-768 ingekapseld SPHINCS+ ondertekend | ||
|
โก SynX-knooppunt genereert kwantumverzegelde proof-sleutel Kyber-768-roostercodering onvervalsbaar โ vervalt 30 minuten | ||
|
โข Portemonnee ontvangt proefsleutel PT- voorafgegaan (sleutel รฉรฉn keer teruggegeven โ bewaar deze) | โโโโโโโโโโโโโโโโโโโโโ | |
|
โฃ Deel een beveiligde sleutel buiten de keten Signaal / PGP / Tor-bericht โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ | (nul metadatapad) | โโโบ |
|
โค Controleer de afdichting POST /verify_proof.php โโโโโโโโโโโโโโโโโโโโโ | ||
|
โ {"geldig":true,"amount":183,00"} โโโโโโโโโโโโโโโโโโโโโบ | ||
| โ BETAALD. VERZENDEN HET. |
Stap โฃ is de kritische schakel. De proefsleutel moet zender โ ontvanger door een kanaal sturen dat de API nooit ziet. Signaleer verdwijnende berichten. PGP-gecodeerde e-mail. Tor verborgen dienst. Een QR-code weergegeven op een tafel. Een briefje geplakt onder een bankje in het park. Het maakt de API niet uit hoe het geheim daar terechtkomt; hij verifieert de wiskunde alleen als de ontvanger erom vraagt.
De klok tikt. Bewijssleutels verlopen over 30 minuten. Deel onmiddellijk. Verifieer onmiddellijk. Door hun ontwerp zijn proefsleutels kortstondige puzzelsleutels en geen inloggegevens met een lange levensduur. Dit krappe venster betekent dat zelfs als een sleutel wordt onderschept, het venster van de aanvaller om deze te gebruiken microscopisch klein is. Na 30 minuten is de sleutel cryptografisch stof.
POST /verify_proof โ Verifieer een proefsleutel (aanbevolen)
NA KRIJGEN OPENBAAR โ De eenvoudigste manier om een โโbetaling te verifiรซren. Versturen tx_hash + proof_key in het lichaam (of als GET-params). Retourneert het exacte bedrag. Geen autorisatie Geen API-sleutel. Geen rekening. Begin hier.
// POST Request (JSON body) โ recommended
{
"tx_hash": "a1b2c3d4e5f6...64hex",
"proof_key": "f7e8d9c0b1a2...64hex"
}
// "proof_token" also accepted as an alias for "proof_key"
// PT- prefix accepted: "PT-f7e8d9c0..." โ server strips it automatically
// Also accepts form-encoded POST data or GET query parameters
// โ Response โ seal broken, exact amount decoded
{
"valid": true,
"tx_hash": "a1b2c3d4...",
"amount": "183.00",
"currency": "SYNX",
"confirmed_at": 1735689600,
"message": "Payment proof verified โ this proof key is valid for the specified transaction"
}
// โ Response โ wrong proof key
{
"valid": false,
"tx_hash": "a1b2c3d4...",
"error": "Proof key does not match this transaction",
"hint": "The proof_key provided does not match this transaction. Ensure you received the correct proof key from the payment sender."
}
// โ Response โ missing or malformed inputs
{
"valid": false,
"error": "Missing required parameters: tx_hash and proof_key",
"hint": "Send tx_hash (64 hex chars) and proof_key (64 hex chars) as GET params, POST form data, or JSON body.",
"example": {
"GET": "/explorer/api/verify_proof.php?tx_hash=abc123...&proof_key=def456...",
"POST": "{\"tx_hash\": \"abc123...\", \"proof_key\": \"def456...\"}"
}
}
Dit is het eindpunt om mee te beginnen. Het is de eenvoudigste en meest betrouwbare manier om een โโbetaling te verifiรซren. Eรฉn POST met twee velden โ exact bedrag. Het runenenvelop-eindpunt hieronder (/rune-verify) retourneert rijkere metagegevens (tijdstempelbereiken, aftelling van de vervaldatum) maar vereist de TX-hash in het URL-pad. Gebruik verify_proof.php tenzij je specifiek de extra velden nodig hebt.
Volledige foutreferentie โ verificatie_proof.php
| HTTP | error veld | Wat ging er mis? | Repareren |
|---|---|---|---|
| 400 | Missing required parameters: tx_hash and proof_key | Leeg lichaam of ontbrekende velden | Stuur beide tx_hash En proof_key in JSON, formuliergegevens of queryparameters |
| 400 | Invalid tx_hash format | Geen 64 hexadecimale tekens | Moet precies 64 hexadecimale tekens bevatten [a-fA-F0-9]{64} |
| 400 | Invalid proof_key format | Geen 64 hexadecimale tekens (na het strippen van PT-) | 64 hex, met of zonder PT- voorvoegsel |
| 400 | tx_hash exceeds maximum length (64 chars) | Invoer te lang: hard cap afgedwongen | Stuur geen te grote invoer in de hoop dat deze wordt bijgesneden. Dat zullen ze niet doen. |
| 400 | proof_key exceeds maximum length (67 chars) | Invoer te lang: hard cap afgedwongen | Maximaal 67 tekens: PT- + 64 zeskant |
| 429 | Rate limit exceeded โ maximum 30 verification requests per minute | Zee verstikte | Ga achteruit. Cacheresultaten aan de clientzijde: een geverifieerd zegel verandert niet. |
| 503 | Verification service temporarily unavailable | Daemon wordt gesynchroniseerd of opnieuw opgestart | Probeer het over enkele ogenblikken opnieuw. Het SynX-knooppunt is mogelijk bezig met een inhaalslag. |
| 200 | Proof key does not match this transaction | Verkeerde sleutel voor deze TX | Controleer nogmaals of u de juiste heeft proof_key van de afzender |
Foutreacties omvatten altijd hint. De hint veld geeft ontwikkelaarsvriendelijke richtlijnen over wat u kunt oplossen. Parseren valid eerst (altijd aanwezig), daarna controleren error + hint op falen. Over succes, lees amount En currency.
POST /privacy/tx/{hash}/rune-verify โ Runenenvelop (rijke metadata)
NA OPENBAAR โ Zelfde bewijssleutelverificatie met rijkere metadata: tijdstempelvenster (ยฑ120s vaag), aftelling van de vervaldatum, decoderingsmethode. Gebruik dit als u meer nodig heeft dan alleen de hoeveelheid.
Alias: /explorer/api/privacy/tx/{hash}/proof
// Request โ proof_token in body, tx_hash in URL path
{ "proof_token": "f7e8d9c0b1a2...64hex" }
// Response โ seal broken, rich metadata
{
"valid": true,
"confirmed": true,
"timestamp_range": { "earliest": 1735689480, "latest": 1735689720 },
"amount_decoded": "183.00",
"rune_lattice": "encrypted",
"decrypted_by": "runic_proof_token",
"expires_in_minutes": 24,
"proof_algorithm": "Kyber-768 quantum lattice seal โ addresses never disclosed"
}
// Response โ invalid
{ "valid": false, "reason": "Proof token does not match any registered runic proof" }
// Response โ expired
{ "valid": false, "reason": "Runic proof has expired" }
Belangrijk verschil met verificatie_proof.php: Dit eindpunt keert terug amount_decoded (niet amount), reason bij falen (niet error + hint), en omvat timestamp_range, expires_in_minutes, rune_lattice. De TX-hash komt in het URL-pad terecht, niet in de JSON-body. Kies het eindpunt dat bij uw behoeften past; beide verifiรซren dezelfde bewijssleutel.
Wat de verificateur leert versus wat onder water blijft
| Gegevenspunt | Onthuld? | Waarom |
|---|---|---|
| Betaling is gebeurd | ✅ | valid: true |
| TX in de keten | ✅ | confirmed: true |
| Tijdvenster | ✅ | ยฑ120s vaag โ niet exact |
| Exact bedrag | ✅ | Gedecodeerd uit kwantumroosterafdichting via proefsleutel - geen bereik, het echte getal |
| Afzender adres | ❌ | Verdronken in de zee |
| Ontvanger adres | ❌ | Verdronken in de zee |
| Blok hoogte | ❌ | null voor alle privรฉ-TX's |
Kwantumroosterdecodering: De proefsleutel wordt gegenereerd door het SynX-knooppunt met behulp van Kyber-768-roosterversleuteling โ dezelfde post-kwantumstandaard (FIPS 203) waarop de hele keten is gebouwd. De sleutel is wiskundig gebonden aan het exacte bedrag van de transactie. Verkeerde sleutel? De decodering mislukt volledig: geen gedeeltelijke informatie, geen zijkanaallekken. De roostercodering is opgevuld tot een vaste lengte: een transactie van 0,01 SynX en een transactie van 77.000.000 SynX produceren verzegelde roosters van identieke grootte. De omvang van de hoeveelheid is onzichtbaar zonder de sleutel.
Bewijzen vervallen na 30 minuten. Na het verlopen keert de server terug "reason": "Runic proof has expired". Deze krappe periode geeft ontvangers voldoende tijd om te verifiรซren, terwijl het risico op herhaling op de lange termijn wordt geรซlimineerd. Als het venster sluit, kan de portemonnee van de afzender een nieuwe proefsleutel aanvragen bij het SynX-knooppunt (tot de limiet per TX).
GET /privacy/tx/{hash}/verify โ Bestaan โโOracle
KRIJGEN OPENBAAR โ Bestaat deze TX? Retourneert een cryptografisch bestaanstoezegging. Onthult niets anders.
{
"exists": true,
"hash": "a1b2c3d4...",
"confirmed": true,
"confirmations": 142,
"block_height": null, // sealed โ private TXs don't surface block info
"is_private": true,
"verified_at": 1735689600,
"existence_proof": "9d4997cb84efc492...",
"proof_algorithm": "HMAC-SHA256(tx_hash || block_height || date, server_key)"
}
GET /privacy/tx/{hash} โ Zoeken naar schaduwtransacties
KRIJGEN OPENBAAR - Zoek een TX op. Privรฉ-exemplaren geven de schaduw terug โ hash zichtbaar, al het andere null.
// Response โ TX found (private shadow)
{
"status": "found",
"hash": "a1b2c3d4...",
"message": "Transaction located",
"transaction": {
"hash": "a1b2c3d4...",
"block_height": null, // hidden
"timestamp": 1735689600, // fuzzy ยฑ120s
"from": null, // drowned
"to": null, // drowned
"amount": null, // drowned
"fee_tier": "redacted", // private TXs: fee tier sealed
"is_private": true,
"privacy_tier": "shadow",
"status": "confirmed",
"confirmations": 142,
"existence_commitment": "7833cd43..."
}
}
// Response โ TX not found or shielded (identical shape prevents enumeration)
{
"status": "not_found_or_private",
"hash": "a1b2c3d4...",
"message": "Transaction not found or may be shielded",
"transaction": null
}
Anti-telling afdeling: Een hash opvragen die niet bestaat? Jij krijgt {"status":"not_found_or_private","transaction":null,"message":"Transaction not found or may be shielded"} โ identieke antwoordvorm naar een privรฉ-TX (dezelfde sleutels, dezelfde structuur). Chainalysis, Elliptic, CipherTrace: ze weten niet eens welke hashes echt zijn. Dat is geen bug. Dat is de architectuur.
GET /privacy/recent โ Surface Ripples
Recente TX's. Privรฉvelden verschijnen als schaduwen (nulvelden). Publieke data tonen transparante data. Goed voor dashboards. Vraagparam limit (1-50, standaard 20).
GET /privacy/stats - Zeedieptemetingen
Statistieken over privacy-acceptatie: totaal aantal TX's, privรฉ-TX's, adoptiepercentage, functievlaggen. Geen autorisatie vereist. Bewaak de diepte van de zee vanaf uw eigen infrastructuur.
POST /privacy/batch-proof - Verifieer meerdere proefdrukken in batch
NA OPENBAAR โ Verifieer tot 50 proefsleutels in รฉรฉn enkel verzoek. Dezelfde daemonverificatie als de single-proof eindpunten, maar in batches voor efficiรซntie. Ideaal voor marktplaatsen die meerdere bestellingen verwerken of portemonnees die meerdere inkomende betalingen tegelijk verifiรซren.
// Request โ array of proof pairs (max 50)
{
"proofs": [
{ "tx_hash": "a1b2c3d4...64hex", "proof_token": "f7e8d9c0...64hex" },
{ "tx_hash": "b2c3d4e5...64hex", "proof_token": "PT-e8d9c0b1...67chars" }
]
}
// Response โ per-proof results with summary
{
"batch_size": 2,
"results": [
{
"index": 0,
"valid": true,
"tx_hash": "a1b2c3d4...",
"confirmed": true,
"amount_decoded": "183.00",
"rune_lattice": "encrypted"
},
{
"index": 1,
"valid": false,
"tx_hash": "b2c3d4e5...",
"reason": "Proof token mismatch"
}
],
"valid_count": 1,
"invalid_count": 1
}
Batchlimieten en foutreferentie
| Beperking | Beperken | Fout bij overtreding |
|---|---|---|
| Max proefdrukken per batch | 50 | 400 โ "Maximum 50 proofs per batch, got N" |
| Max. verzoektekst | 256 KB | 400 โ "Request body too large for batch endpoint" |
| Lege array | Min. 1 | 400 โ "Proofs array is empty" |
| Ongeldige tx_hash in item | 64 zeskant | Overgeslagen โ {"valid":false,"reason":"Invalid tx_hash"} qua resultaten |
| Ongeldige proof_token in item | Maximaal 67 tekens | Overgeslagen โ {"valid":false,"reason":"Invalid proof_token (max 67 chars, 64 hex)"} |
Batch-gebruik amount_decoded (zoals de Runenenvelop), niet amount. Elk resultaat heeft een index veld dat overeenkomt met de positie van de invoerarray. Mislukte items laten de batch niet crashen, maar keren terug valid: false met een reason terwijl andere bewijzen doorgaan met verifiรซren. Het batcheindpunt deelt de privacy van API (basislijn van 100 vereisten/min + incrementele verboden).
DDoS-poort: Als uw gehashte IP-adres in de buurt van de zeegaslimiet ligt (60%+ van het budget van 100 req/min), weigert het batch-eindpunt alle daemon-RPC-aanroepen om versterking te voorkomen. Eรฉn batchverzoek van 50 bewijzen zou anders de daemon 50 keer raken. Je krijgt {"error": "Proof verification service temporarily unavailable"}. Ga terug en probeer het opnieuw.
๐ง Tor / .onion โ Leid alles door de mist
De API wel staatloze REST via HTTPS. Geen koekjes. Geen sessies. Geen JS-vingerafdruk. Geen WebSocket-upgrades. Puur verzoek โ antwoord via TLS. Het werkt standaard via Tor omdat we het op die manier hebben gebouwd. Niet als bijzaak. Als je iets privรฉ aan het bouwen bent en dat ben je niet Als u via .onion routert, lekt u uw IP-adres naar elke DNS-resolver tussen u en de server. Niet doen.
.ui-status: De toegewijde synxexplorer.onion verborgen dienst is binnenkort beschikbaar. Onderstaande URL's gebruiken een tijdelijke aanduiding. Totdat de .onion live is, routeer je clearnet-verzoeken via Tor via torsocks of SOCKS5-proxy. Uw IP blijft hoe dan ook verborgen. We zullen dit document bijwerken zodra de verborgen service live gaat.
krul via Tor
# Install torsocks (Debian/Ubuntu)
sudo apt install torsocks
# Verify a payment โ sovereign style
torsocks curl -X POST http://synxexplorer.onion/explorer/api/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4...","proof_key":"f7e8d9c0..."}'
Python via Tor (SOCKS5)
import requests
# pip install requests[socks] PySocks
session = requests.Session()
session.proxies = {
'http': 'socks5h://127.0.0.1:9050',
'https': 'socks5h://127.0.0.1:9050',
}
# socks5h = DNS resolution through Tor too (no DNS leak)
API = "http://synxexplorer.onion/explorer/api"
result = session.post(f"{API}/verify_proof.php",
json={"tx_hash": "a1b2c3d4...", "proof_key": "f7e8d9c0..."},
timeout=30).json()
if result.get("valid"):
print(f"แฃ Sealed โ amount: {result['amount']} {result['currency']}")
Node.js via Tor
const { SocksProxyAgent } = require('socks-proxy-agent');
const fetch = require('node-fetch');
const agent = new SocksProxyAgent('socks5h://127.0.0.1:9050');
const API = 'http://synxexplorer.onion/explorer/api';
const r = await fetch(`${API}/verify_proof.php`, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({tx_hash: 'a1b2c3d4...', proof_key: 'f7e8d9c0...'}),
agent,
});
const data = await r.json();
if (data.valid) console.log('๐ฃ Sovereign verified', data.amount, data.currency);
Waarom socks5h niet socks5? De h betekent dat DNS-resolutie ook via Tor plaatsvindt. Zonder dit ziet uw lokale DNS-resolver "synxexplorer.onion" - een metadatalek. Altijd socks5h. Altijd.
๐ก Deel proefsleutels via Signal - Geen metadata
De proefsleutel moet van zender naar ontvanger reizen zonder de API aan te raken. Hier is de OPSEC-hiรซrarchie voor die overdracht:
| Kanaal | Metagegevens gelekt | Uitspraak |
|---|---|---|
| Signaal (verdwijnende, verzegelde afzender) | Telefoonnummer bekend bij Signal, berichtinhoud E2EE | GOED voor de meeste bedreigingen |
| PGP via Tor-e-mail (ProtonMail/Tutanota) | Metagegevens van e-mail (provider ziet van/tot/tijd), hoofdtekst E2EE | GOED |
| Tor verborgen service direct bericht | Niets. Beide partijen achter .onion. | BEST |
| Telegram (zelfs "geheime chats") | Telefoonnummer, cloudmetagegevens, Telegram heeft uw IP | MEH |
| Onenigheid / Slack / E-mail (platte tekst) | Alles. Voor altijd geregistreerd. Dagvaarding mogelijk. | NO |
Tijd is belangrijk: Proefsleutels verlopen na 30 minuten. Gebruik verdwijnende berichten ingesteld op 5 minuten of minder. De koper moet de proefsleutel onmiddellijk verzenden nadat de portemonnee de privรฉverzending heeft bevestigd. De verkoper dient onmiddellijk na ontvangst een verificatie uit te voeren. Kortstondige kanalen voor kortstondige sleutels.
Signaalintegratiehaak (Python-bot)
# signal-cli or signal-bot framework โ send proof key after payment
import subprocess, json
def send_proof_via_signal(recipient_phone, tx_hash, proof_key):
"""Send proof key through Signal. Disappearing message. Verify within 30 min."""
msg = json.dumps({
"tx_hash": tx_hash,
"proof_key": proof_key,
"verify_at": f"POST /verify_proof.php with tx_hash + proof_key",
"expires": "30 minutes from generation โ verify NOW",
})
subprocess.run([
"signal-cli", "-u", "+1YOUR_NUMBER",
"send", "-m", msg, recipient_phone,
"--expire", "300", # 5-min disappearing message
])
# After private SYNX send:
send_proof_via_signal("+1BUYER_PHONE", "a1b2c3d4...", "PT-f7e8d9c0...")
Het kanaal is niet het probleem van de API. Dat is het mooie. De API verifieert alleen proefsleutels en weet nooit hoe ze zijn gereisd. U kunt de sleutel op een bon afdrukken en deze aan de balie overhandigen. De wiskunde werkt nog steeds. De verificatie is staatloos. De sleutel verloopt na 30 minuten, ongeacht het kanaal.
โ Marktplaatsbetalingsritueel
Je bouwt een soevereine marktplaats. Geen streep. Geen PayPal. Geen KYC-middleware. Alleen de Synergy Sea en kwantumverzegelde proof-sleutels. Zo verifieert u betalingen met exacte bedragen met alleen een proefsleutel - er zijn nooit adressen onthuld.
Bewijssleutels decoderen exacte bedragen - niets anders. De SynX Node genereert een kwantumverzegelde proof-sleutel met behulp van Kyber-768-roosterversleuteling die decodeert naar de exact betalingsbedrag โ geen adressen, geen blokhoogtes, geen informatie over afzender/ontvanger. Een 300 SynX-bestelling? De sleutel decodeert naar "300.00". Een betaling van 100 SynX? "100,00". Geen onduidelijkheid over het bedrag. Totale dubbelzinnigheid over identiteit. De sleutel verloopt na 30 minuten.
# Flask marketplace backend: amount-only verification via proof key
import requests
API = "https://explorer.synxcrypto.com/explorer/api"
@app.route('/verify-payment', methods=['POST'])
def verify():
tx_hash = request.json['tx_hash']
proof_key = request.json['proof_key'] # raw 64-hex or PT- prefixed (API accepts both)
order = Order.query.filter_by(tx_hash=tx_hash).first()
if not order:
return {'status': 'unknown_order'}, 404
# Step 1: confirm TX exists on-chain
existence = requests.get(f"{API}/privacy/tx/{tx_hash}/verify", timeout=20).json()
if not existence.get('exists') or not existence.get('confirmed'):
return {'status': 'not_confirmed'}, 402
# Step 2: decode exact amount using proof key (30-min window)
# Uses verify_proof.php โ returns "amount" (not "amount_decoded")
result = requests.post(f"{API}/verify_proof.php",
json={"tx_hash": tx_hash, "proof_key": proof_key}, timeout=20).json()
if result.get('valid'):
paid = float(result['amount']) # โ "amount" not "amount_decoded"
if paid >= order.total:
order.status = 'paid'
db.session.commit()
return {'status': 'sovereign_paid', 'exact_amount': paid}
return {'status': 'underpaid', 'sent': paid, 'required': order.total}, 402
# Error responses include "error" + "hint" โ check both
error = result.get('error', '')
if 'expired' in error.lower():
return {'status': 'proof_expired', 'message': 'Proof key expired โ ask buyer for a fresh key'}, 410
return {'status': 'invalid_proof', 'hint': result.get('hint', '')}, 402
Alleen op basis van ontwerp. De bewijssleutel decodeert de kwantumroosterafdichting in de exacte hoeveelheid โ en dat is het alle dat doet het. Er is geen eindpunt, geen weergavesleutel, geen mechanisme in deze API om afzender- of ontvangeradressen te onthullen. De marktplaats ziet dat "300,00 SynX is betaald" - nooit WHO betaald of van waar. Dat is het privacycontract. Het is permanent.
โโ๐ก Code Grimoire - Elke taal, elk patroon
Python โ Verifieer een bewijssleutel
import requests
API = "https://explorer.synxcrypto.com/explorer/api"
SOCKS = {'http': 'socks5h://127.0.0.1:9050', 'https': 'socks5h://127.0.0.1:9050'}
def verify(tx_hash, proof_key, tor=False):
"""Verify a SYNX proof key โ decodes exact amount, reveals nothing else.
The SYNX Node generates proof keys using quantum Kyber-768 lattice encryption.
Keys expire in 30 minutes. Verify immediately upon receipt.
Uses verify_proof.php โ the recommended endpoint.
"""
s = requests.Session()
if tor: s.proxies = SOCKS
return s.post(f"{API}/verify_proof.php",
json={"tx_hash": tx_hash, "proof_key": proof_key},
timeout=20).json()
def check_exists(tx_hash, tor=False):
"""Check if a TX exists on-chain. Reveals nothing about amounts or addresses."""
s = requests.Session()
if tor: s.proxies = SOCKS
return s.get(f"{API}/privacy/tx/{tx_hash}/verify", timeout=20).json()
# Usage โ the whole rite (amount-only verification)
# Buyer sends you: tx_hash + proof_key (off-chain, via Signal/PGP/Tor)
result = verify("a1b2c3d4...", "f7e8d9c0...", tor=True) # raw or PT- prefixed
if result.get("valid"):
print(f"๐ฃ Payment confirmed โ exact amount: {result['amount']} {result['currency']}")
# No addresses revealed โ ever. Only the amount surfaces.
elif result.get('error'):
print(f"โ {result['error']}")
if result.get('hint'): print(f" Hint: {result['hint']}")
# The SYNX Node generates the proof key. You just verify it.
# Proof key = quantum puzzle key. Amount = the only answer.
# Sender? Drowned. Receiver? Drowned. That's the deal.
Node.js โ Betalingsverificatie (Express Middleware)
const fetch = require('node-fetch');
const API = 'https://explorer.synxcrypto.com/explorer/api';
async function verifyPayment(txHash, proofKey) {
// Proof key generated by SYNX Node โ quantum Kyber-768 sealed
// Expires in 30 minutes โ verify immediately
const r = await fetch(`${API}/verify_proof.php`, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ tx_hash: txHash, proof_key: proofKey }),
});
return r.json();
}
// Express middleware โ drop into any route
async function requirePayment(req, res, next) {
const { tx_hash, proof_key } = req.body;
const result = await verifyPayment(tx_hash, proof_key);
if (!result.valid) {
// Error responses include "error" + "hint" fields
return res.status(result.error?.includes('expired') ? 410 : 402).json({
error: result.error,
hint: result.hint,
});
}
req.paymentAmount = result.amount; // โ "amount" (not "amount_decoded")
req.paymentCurrency = result.currency;
next();
}
cURL - Compleet spiekbriefje
BASE="https://explorer.synxcrypto.com/explorer/api"
# Sea depth readings
curl $BASE/privacy/stats
# Recent shadow transactions
curl "$BASE/privacy/recent?limit=10"
# Shadow lookup (private TX)
curl $BASE/privacy/tx/a1b2c3d4e5f6...
# Existence oracle
curl $BASE/privacy/tx/a1b2c3d4e5f6.../verify
# Verify a proof key โ RECOMMENDED (simple endpoint)
# Returns: {"valid":true, "amount":"183.00", "currency":"SYNX", ...}
curl -X POST $BASE/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4...","proof_key":"f7e8d9c0..."}'
# GET also works (quick terminal check):
curl "$BASE/verify_proof.php?tx_hash=a1b2c3d4...&proof_key=f7e8d9c0..."
# PT- prefix also works in proof_key:
# "proof_key":"PT-f7e8d9c0..." or "proof_token":"f7e8d9c0..."
# Runic Envelope (richer metadata: timestamp range, expiry)
curl -X POST $BASE/privacy/tx/a1b2c3d4.../rune-verify \
-H "Content-Type: application/json" \
-d '{"proof_token":"f7e8d9c0..."}'
# All of the above, through Tor:
torsocks curl http://synxexplorer.onion/explorer/api/verify_proof.php \
-d '{"tx_hash":"a1b2...","proof_key":"f7e8..."}'
โ SynergyX versus Monero โ de eerlijke vergelijking
Monero was een pionier. Ringhandtekeningen, RingCT, stealth-adressen โ allemaal briljant. Maar ze zijn gebouwd voor een pre-kwantumwereld waarin Ed25519 onbreekbaar was en de exacte tijdstempels op een ontdekkingsreiziger 'prima' waren. Dat tijdperk loopt ten einde. Hier staan โโde twee kettingen als je ze naast elkaar legt:
| Vermogen | Monero (XMR) | SynergyX (SynX) |
|---|---|---|
| Betalingsbewijzen | check_tx_proof (lekken adressen) | POST /verify_proof.php (alleen bedrag) |
| Adres openbaarmaking in bewijzen | โ adressen zichtbaar in proefdruk | ✅ GEEN adressen - nooit |
| Bedragen verborgen (verkenner) | โ RingCT | ✅ null in alle winkels + kwantumbestendige sleutels |
| Bedrag in bewijs | โ exact bedrag + adressen zichtbaar | ✅ Exacte hoeveelheid gedecodeerd, nul adressen |
| Bewijs vervaldatum | โ bewijzen leven voor altijd | ✅ Tijdsbestek van 30 minuten โ kortstondig van opzet |
| Bewijs genereren | Client-side (aanvallers kunnen reverse-engineeren) | SynX-knooppunt (kwantum Kyber-768 - onvervalsbaar) |
| Tijdstempelprivacy | โ exact tot op de seconde | ✅ ยฑ120s wazig |
| Vergoeding privacy | โ exacte sat/byte zichtbaar | ✅ Emmers met 5 niveaus |
| Blokhoogte verborgen | โ zichtbaar in verkenner | ✅ null voor privรฉ-TX's |
| Anti-timing orakel | โ geen API-jitter | ✅ 500 ms constant plafond |
| Niet van elkaar te onderscheiden 404's | โ andere vorm | ✅ not_found == privรฉ |
| Post-kwantum handtekeningen | โ Ed25519 (kort dood) | ✅ SPHINCS+-SHAKE256-128f |
| Post-kwantumsleuteluitwisseling | โ x25519 (kort dood) | ✅ Kyber-768 (FIPS 203) |
| Versleuteling van portemonneeschijf | ChaCha20 | ✅ Argon2id (2GB, 4 passen) |
| Tor-native API | โ RPC | โ Staatloze RUST |
| Kwantummigratie nodig? | ❌ JA - totaal herschreven | ✅ Op deze manier geboren. Genesis blok. |
Als je in 2026 nog steeds Monero gebruikt, ben je al dood: je hebt het gewoon niet gemerkt.
Jouw ringhandtekeningen? Chainalysis clustert ze als vee. Exacte tijdstempels? De NSA geeft een tijdstempel aan uw koffie. Ed25519? Shor komt eraan: je sleutels zijn stof. Bewijs genereren aan de clientzijde? Decompileer de portemonnee en vervals de hele dag proefdrukken. Dat is archeologie, geen veiligheid.
SynergyX-proefsleutels worden gegenereerd door de SynX-knooppunt met behulp van quantum Kyber-768-roosterversleuteling. De generatiemethode is verzegeld in de kern van het knooppunt: geen enkele client, geen decompiler, geen aanvaller heeft toegang tot de interne kwantumroosterparameters. Zelfs een geavanceerde tegenstander die de portemonnee volledig decompileert, krijgt niets: de portemonnee ontvangt de bewijssleutel van het knooppunt. Het genereert het niet. Het geheim verlaat de Node nooit.
Schaduwtransacties: afzender, ontvanger, bedrag, blok: null. Niet versluierd. Gewist.
Kwantumbestendige sleutels: Kyber-768-puzzelsleutels met traliewerk: bewijs het exacte aantal zonder te lekken wie heeft verzonden, wie heeft ontvangen, wanneer (ยฑ 120s fuzz) of waar. De sleutel decodeert exacte bedragen: 183,00, niet "medium". Geen adressen in het bewijs. Geen adressen in de API. Nergens adressen. Verloopt over 30 minuten.
Geen adres openbaarmaking: Er is geen weergavesleuteleindpunt. Geen auditeindpunt. Geen mechanisme om afzender of ontvanger te onthullen via deze API. Het bedrag is het enige dat naar boven komt. Identiteit blijft verdrinken โ permanent.
Post-kwantum: Kyber-768, SPHINCS+, SHAKE256 - Shor kan je genesisblok kussen. Geen routekaart. Geen "later zal quantum sigs toevoegen." We zijn immuun geboren.
Wil je privacy? Stop met bedelen om restjes. Met Synergy krijg je kwantumstealth en snelheid in de zee van schaduwen. Neem het mes.
De kwantumolifant: De Ed25519-sleutels van Monero zijn Shor-kwetsbaar. Hun โmigratieplanโ houdt in dat elke portemonnee de sleutels opnieuw afleidt onder een nieuw schema โ terwijl de keten live is, terwijl fondsen in gevaar zijn, terwijl de tijdlijn onbekend is. SynergyX heeft geen migratieplan omdat er niets is om van te migreren. Kyber-768 + SPHINCS+ vanaf blok nul. Als de Shor wakker wordt, geeft deze ketting geen krimp. Oude ketens brokkelen af. Dat is het verschil tussen 'we repareren het later' en 'we repareren het eerst'.
Foutcodes
Twee eindpunten, twee foutvormen. verify_proof.php retourneert "error" + "hint" velden. De Runenenvelop (/rune-verify) retourneert "reason". Beide altijd inclusief "valid": false. Parseren valid Controleer eerst het foutveld dat overeenkomt met uw eindpunt.
verificatie_proof.php โ HTTP-statuscodes
| Code | Betekenis | Reactie omvat |
|---|---|---|
| 200 | Succes โ proefsleutel geverifieerd, exact bedrag gedecodeerd | valid, tx_hash, amount, currency, confirmed_at, message |
| 200 | Ongeldig bewijs: verkeerde sleutel voor deze TX (geen HTTP-fout) | valid: false, tx_hash, error, hint |
| 400 | Slecht verzoek: ontbrekende velden, onjuist opgemaakte hash, ongeldig formaat, te grote invoer | valid: false, error, hint, soms example |
| 429 | Zee gesmoord โ 30 vereist/min per IP-adres. Ga terug en cache de resultaten. | valid: false, error, hint |
| 503 | SynX-knooppunt niet beschikbaar: daemon wordt gesynchroniseerd of opnieuw opgestart. Probeer het over enkele ogenblikken opnieuw. | valid: false, error, hint |
Runenenvelop (/rune-verify) โ HTTP-statuscodes
| Code | Betekenis |
|---|---|
| 200 | Succes โ proof-sleutel geverifieerd, hoeveelheid gedecodeerd met rijke metadata |
| 200 | Ongeldig bewijs โ "reason": "Proof token does not match any registered runic proof" |
| 200 | Verlopen - "reason": "Runic proof has expired" |
| 404 | TX niet gevonden or TX is privรฉ (je weet nooit welke - door het ontwerp) |
| 429 | Zeebeperking: oplopende verbodsniveaus (100 โ gas, 500 โ 5 minuten verbod, 1500 โ 1 uur verbod) |
| 500 | Interne storing โ controleer serverlogboeken |
429 Zeegaspedaal - Reactielichaam
Alle 429 antwoorden (beide eindpunten) omvatten: Retry-After HTTP-header (RFC 7231) en een gestructureerde JSON-body met laaginformatie:
// 429 Response โ sea throttle or ban active
// Retry-After: 60 (HTTP header โ seconds until retry)
{
"error": "Sea throttled โ incremental ban tiers protect the Sea",
"throttle_tier": "standard", // "standard" | "tier1" | "tier2" | "active_ban"
"retry_after": 60, // seconds until you can retry
"message": "100 req/min exceeded โ exponential backoff (60s). Cool down and come back.",
"tiers": {
"standard": "100 req/min โ exponential backoff",
"tier1": "500 req/min โ 5-minute ban",
"tier2": "1500 req/min โ 1-hour ban"
}
}
// Example: active ban (hit 500+ req/min earlier)
// Retry-After: 253
{
"throttle_tier": "active_ban",
"retry_after": 253,
"message": "Active ban โ 253s remaining. Keep pushing and the Sea pushes back harder."
}
Parseren retry_after of de Retry-After koptekst โ beide geven dezelfde waarde in seconden. De throttle_tier veld vertelt u welk escalatieniveau u heeft bereikt. Als je het ziet "active_ban", je bent al geรซscaleerd โ de message vertelt je hoe lang je verdrinkt. verify_proof.php heeft zijn eigen eenvoudigere snelheidsbegrenzer van 30 req/min die een duidelijke foutmelding retourneert zonder niveau-informatie.
Invoerformaten (beide eindpunten): TX-hash = precies 64 hexadecimale tekens [a-fA-F0-9]{64}. Proefsleutel = max. 67 tekens (met PT- voorvoegsel) of precies 64 hex (onbewerkt). De API accepteert beide formaten: serverstrips PT- automatisch. verify_proof.php accepteert de veldnaam proof_key or proof_token (alias). Alles buiten deze grenzen krijgt een harde 400. Er wordt niet bijgesneden. Geen genade.
Snelheidslimieten verschillen per eindpunt. verify_proof.php dwingt af 30 vereist/min per IP-adres. De Runic Envelope maakt gebruik van de privacy API's zeegas: 100 vereist/min basislijn met incrementele escalatie van het verbod (500 โ 5 min, 1500 โ 1 uur). Cacheproof resultaten aan de clientzijde gedurende een periode van 30 minuten: een geverifieerd zegel verandert niet wanneer het actief is. Eenmaal valid: true, het bedrag is het bedrag.
๐ณ Zero Metadata-garanties: wat ontwikkelaars moeten weten
Als u deze API integreert, is hier het harde bewijs daarvan geen metadatalekken. Elke claim hieronder is door GhostReaper gecontroleerd (meer dan 100 aanvalsvectoren, 0 niet-gepatchte bevindingen).
Beveiligingseigenschappen โ Controlelijst voor ontwikkelaars
| Eigendom | Garantie | Hoe |
|---|---|---|
| Bewijssleutels onvervalsbaar | ✅ | Gegenereerd door SynX Node met behulp van quantum Kyber-768-roosterversleuteling. Interne parameters verlaten het knooppuntproces nooit. Kan niet worden vervalst, zelfs niet door de portemonnee te decompileren. |
| Bewijssleutels zijn kortstondig | ✅ | Elke proefsleutel vervalt over 30 minuten. Na het verstrijken van de geldigheidsduur wordt de verzegeling definitief verbroken. Geen "forever tokens" - minimaliseert het risico op herhaling en onderschepping. |
| Bedrag nooit op de draad | ✅ | Server slaat kwantumverzegelde roostercodering op. Ruw bedrag dat nooit in leesbare tekst is verzonden, ontvangen of opgeslagen. Alleen de proefsleutel kan het decoderen. |
| Roostergrootte = constant | ✅ | Alle roosterafdichtingen zijn opgevuld tot een vaste lengte. Een 0,01 SynX TX en een 777.000.000 SynX TX produceren afdichtingen van identiek formaat. De omvang van de hoeveelheid is onzichtbaar. |
| Timingorakel dood | ✅ | 500 ms constant plafond voor elke reactie. Cohen's d = 0,015 tussen geldige/ongeldige paden (GhostReaper bevestigd). Statistisch onzichtbaar. |
| Bewijssleutel nooit onbewerkt opgeslagen | ✅ | Serverwinkels SHA256(proof_key) alleen. Als DB lekt โ hashes + afgedichte roosterruis. Computationeel nutteloos zonder de sleutel. |
| Afzender/ontvanger heeft nooit verzonden | ✅ | Er bestaat geen eindpunt dat adressen accepteert of retourneert. Geen weergavesleutels. Geen identiteitsgegevens. Architectuur met alleen bedragen. |
| Geen antwoorddifferentiatie | ✅ | "TX niet gevonden" en "TX is privรฉ" retourneren identieke antwoordvormen. Geen informatielek. |
| Zeegas geldt onder gelijktijdigheid | ✅ | Op bestanden gebaseerde zeegasbegrenzer met LOCK_EX serialisatie. 200 gelijktijdige verzoeken โ 0 zijn doorgekomen (GhostReaper). TOCTOU-venster is gesloten. Oplopende banniveaus (500 โ 5 min, 1500 โ 1 uur) escaleren zelfs tijdens actieve bans โ de teller stopt nooit. Boven de 60% van het budget worden daemon-RPC-aanroepen geweigerd om DDoS-versterking te voorkomen. IP's opgeslagen als SHA-256-hashes. |
Wat u MOET doen als integrator
1. Log nooit proefsleutels in. De bewijssleutel is de puzzelsleutel voor het bedrag. Als uw applicatie dit registreert, heeft u het privacymodel geschonden. Behandel het als een privรฉsleutel.
2. PT-voorvoegsel geaccepteerd, maar valideer uw invoer. De API accepteert beide PT-f7e8... en rauw f7e8... formaten โ de server verwijdert het automatisch. Maar tx_hash moet precies 64 hexadecimale tekens bevatten en proof_token maximaal 67 tekens. Extra grote ingangen krijgen een harde 400.
3. Verifieer binnen 30 minuten. Bewijssleutels verlopen. Zorg ervoor dat uw verificatiestroom onmiddellijk is, en niet dat er batchverwerking op de volgende dag plaatsvindt.
4. Deel proefsleutels alleen via kanalen zonder metadata. Signaal (verdwijnt), PGP via Tor, .onion DM's. Nooit onenigheid. Nooit slap. E-mail nooit zonder PGP.
5. Cache-geverifieerde bewijzen aan de clientzijde. Eenmaal "valid": true, sla het resultaat op. Verifieer niet opnieuw: u lekt timingpatronen en de sleutel kan tussen controles verlopen.
6. Implementeer nginx-verharding in de productie. De API wordt geleverd met nginx_privacy_hardening.conf โ Time-outs van 5 s, 20 conn/IP, 100 req/min zeegasbeperking, blokkering van paddoorgang. Actieve langzame loris-verdediging.
๐ฃ Codeer het. Test het. Bezit het donker.
Slechts รฉรฉn hoofdnet vandaag. Geen voorverkoop. Geen VC-dump. Geen toewijzing van influencers. Geen stichtingskas waar 6 mensen 40% van het aanbod controleren. Geen persberichten over 'strategisch partnerschap'. Gewoon een ketting, een gemeenschap en wiskunde die niet buigt.
Je hebt nu alles. Zes eindpunten. Echte code. Tor-routering. Signaal haken. Een dreigingsmodel dat eerlijk is over wat lekt en wat niet. Quantum Kyber-768-proof sleutels gegenereerd door de SynX Node - onvervalste puzzelsleutels die exacte hoeveelheden decoderen en niets anders. Geen adresopenbaarmaking โ niet met een weergavesleutel, niet met een proefsleutel, nooit. Tijdstempelfuzzing die timinganalyse statistisch betekenisloos maakt. En daaronder bevindt zich een roostercryptografie die elke bekende kwantumaanval overleeft โ niet omdat we zijn gemigreerd, maar omdat we daar zijn begonnen.
De Synergy Sea is de post-kwantumoceaan waar schaduwen nooit aan de oppervlakte komen. Geen enkel datacenter kan koning zijn als SynergyX ze onttroont en de gebruiker op de troon zet. Elke privรฉtransactie zinkt weg in de Kyber-768-inkapseling, verzegeld door SPHINCS+-hypertrees, geรฏndexeerd door kwantumroosterverplichtingen. Bedragen fluisteren door proefsleutels โ onzin voor waarnemers, exacte decimalen voor sleutelhouders. De ontdekkingsreiziger ziet rimpelingen. De API retourneert nul waar het er toe doet. De bewijssleutel is de enige rode draad naar het bedrag โ en het bedrag is dat ook alle dat oppervlak. Afzender en ontvanger? Verdronken. Permanent. Geen eindpunt, geen sleutel, geen dagvaarding brengt ze terug.
Geen KYC. Geen voogdij. Geen ketenanalyse. Geen adres openbaarmaking. Geen centraal faalpunt. Geen migratieroutekaart omdat er niets is om van te migreren. First mover in het kwantumeindspel.
Dit is geen documentatie. Dit is een wapen. Gebruik het.
๐ข๐
Codeer het. Test het. Bezit de donkere getijden.
SynergyX Privacy API v2.0 โ Kwantumbestendige sleutels โ De Synergy Sea
De post-kwantumoceaan waar schaduwen nooit aan de oppervlakte komen.