Blog
Burn | Secure Protocol V1
A look at the human-reviewable wire protocol for Burn anonymous event delivery.
A look at the human-reviewable wire protocol for Burn anonymous event delivery.
burn.secure.v1 is the human-reviewable wire protocol for Burn anonymous event delivery.
Every frame is JSON with explicit field names:
versionmessageIdsenderAccountIdrecipientAccountIdsenderDeviceTokentimestampexpiryTimestampnoncemessageTypeencryptedPayloadsignaturerecipientDeviceTokenpayloadProtectionregistrationPublicEncryptionKeyregistrationPublicSigningKeyackMessageIderrorCodeerrorMessagerestorationApprovalREGISTERHEARTBEATCOMMANDSTATUSACKERRORThe inner payload is JSON with:
payloadVersionpayloadTypeeventTypebodyackMessageIderrorCodeerrorMessagepublicEncryptionKeypublicSigningKeyWIPELOCKALERTCHECK_INSTATUS_SYNCCOMMAND and STATUS payloads are encrypted with recipient RSA public keys
using RSA_OAEP_SHA256.
REGISTER, HEARTBEAT, and ACK use
payloadProtection = NONE.
The Ed25519 signature covers the canonical string built from:
versionmessageIdsenderAccountIdrecipientAccountIdsenderDeviceTokenrecipientDeviceTokentimestampexpiryTimestampnoncemessageTypeencryptedPayloadpayloadProtectionregistrationPublicEncryptionKeyregistrationPublicSigningKeyackMessageIderrorCodeerrorMessageThis is signed so an attacker cannot tamper with:
Signing the ciphertext instead of the decrypted plaintext keeps the relay and clients aligned on exactly the same bytes over the wire.
version.COMMAND and STATUS frames that do not declare
RSA_OAEP_SHA256.
REGISTER frames without explicit public keys.
version is mandatory and must be checked before processing.
payloadVersion, so payload evolution does not
force an outer envelope rewrite.