notes: research/papers/hardman-bytewise-and-externalized-saids
This data as json
| path | title | type | status | classification | words | body |
|---|---|---|---|---|---|---|
| research/papers/hardman-bytewise-and-externalized-saids | Bytewise and Externalized SAIDs | summary | v0.1 — 2026-10-15: drafted by Claude from the HTML page (version 1.6); unread by Mark; marked partner on Mark's word 2026-10-21, paraphrase only | partner | 485 | # Bytewise and Externalized SAIDs **Abstract.** A 2024 paper by Daniel Hardman defining two algorithms that extend CESR (Composable Event Streaming Representation) self-addressing identifiers (SAIDs) from canonically serializable data to arbitrary files treated as byte streams: one embeds the SAID in the file at a delimited insertion point, the other places it in a constrained file name. It gives syntax, a threat model and a pointer to a reference implementation, and is for implementers who want documents and media in authenticated data graphs. ## Summary Section 1 recalls how CESR defines self-addressing data (SAD): space for the SAID is reserved with a placeholder, the structure is canonicalized and hashed, and the encoded digest replaces the placeholder. A SAID makes data tamper-evident and lets SAIDs embedded in other data build authenticated graphs. Section 2 explains the gap: many formats (documents, media, proprietary files) are "opaquely structured", reached through libraries that hide fields, with canonicalization rules that are undefined or proprietary. Content-addressed systems such as IPFS are noted as container-oriented and doing more than this problem needs. Section 3 gives the solution. The bytewise algorithm treats a file as bytes before, SAID, bytes after; it finds an insertion point, the five-byte delimiter "SAID:" followed by a template (a CESR digest code and number signs) or a SAID, hashes the whole stream with the placeholder in template form, and writes the SAID in. The paper gives ABNF and a regular expression, and recommends placing insertion points in format metadata (HTML meta tags, XMP, Exif) or, failing that, in a comment. For compressed, encrypted or offset-sensitive files such as .docx and PDF, the externalized algorithm puts the SAID in the file name and embeds an exsertion instruction, a regular expression constraining the name, so a wrong rename is detectable. Bytewise echoes let a SAID appear in several places, and the two algorithms can combine. A threat model states that any byte change produces a new identity and that the methods give no confidentiality. A Python reference implementation, saidify, is published with the author's keri-tools. ## Key terms self-addressing data (SAD), self-addressing identifier (SAID), saidification, opaquely structured data, insertion point, bytewise SAID (bSAID), externalized SAID (xSAID), exsertion instruction, echo ## Claims and their evidence - CESR's standard saidification assumes structures that can be canonically serialized and rewritten after hashing. [informative] - Treating a file as a byte array removes canonicalization problems because any byte difference is significant. [informative] - Readers can find a bytewise SAID with one generic byte scan for all file types; only writers need format tooling. [informative] - Writing the SAID into a constrained file name makes an improper rename tamper-evident. [informative] - A reference implementation is available at dhh1128.github.io/keri-tools. [unverified] ## Related CESR specification; KERI specification; ACDC specification; Cross-File Associations (CFAs) ## Provenance Drafted by Claude on 2026-10-15 from the HTML page at dhh1128.github.io/papers/bes.html, read in full (sections 1 to 4). Not yet read by Mark. |
Links from other tables
- 1 row from summary in resources