Computer Science
The durable ideas underneath the rest of the wiki – the ones that keep resurfacing in different clothes. Not a survey: each page exists because the concept turned out to matter somewhere concrete, and the theory is easier to write down once than to re-derive every time it comes up.
Cryptographic theory lives here; the operational business of handling keys and secrets on a real machine is in Security. Agreement among machines that do not trust one another is distributed-systems theory as much as anything on this page, but it is filed under DeFi, beside the ledgers that run it: Consensus for the protocols, and Sybil resistance for proof of work and its relatives.
Structure and representation#
Directed acyclic graphs get a section of their own: acyclicity is a single constraint that buys topological ordering, memoisation, and incremental rebuilds, which is why build systems, schedulers, version control, and distributed ledgers all converge on the same shape.
Entity addressing names a tension that runs through databases, domain modelling, language design, and web architecture: are entities rows inside a container, or first-class objects with their own identity? The mismatch between layers that answered differently is what object-relational mapping (ORM) impedance and REST-over-RPC adapters are made of.
Citation order is the sequence in which the facets of a compound subject are written when they have to share one string – software/microsoft or microsoft/software – and a tree forces one on every path it holds. The section covers why the choice is forced, what it costs, the rules proposed for making it, why the two orders are not symmetric, and the mechanisms that give a reader the other facet.
IPFS is what content addressing looks like when it is the whole design: name data by the hash of its contents rather than by where it sits, and a Merkle DAG follows necessarily. It sits here rather than under DeFi because the durable idea is the addressing scheme, not the storage market built on it – though most of the pages that link here are on the DeFi side, and Arweave is its natural sibling. The section covers the addressing scheme itself (CIDs, UnixFS, routing) and then the retention layer that had to be bolted on top of it, because a hash names bytes without obliging anyone to keep them: pinning and the services that sell it.
Erasure coding is computed redundancy: data is cut into k pieces, m more are calculated from them, and any k of the total rebuild the original. It follows IPFS because it answers the question content addressing leaves open, how to keep bytes retrievable when the machines holding them fail. Ethereum’s PeerDAS uses the same codes so that a node can sample a block’s data without downloading all of it.
Stylometry attributes a text to an author by counting the words nobody chooses on purpose. Mosteller and Wallace settled the disputed Federalist Papers on function-word rates in 1963, and the same measurements are what a language model’s pastiche fails to reproduce sixty years later.
Homoiconicity is the property of a language whose programs are written in its own data structures – code and data sharing one form, so the language can rewrite itself with ordinary tools.
Cryptography#
Zero-knowledge proofs let a prover convince a verifier that a statement is true while revealing nothing else. This is the theory behind Groth16 and, more broadly, behind the ZK-rollups that most Ethereum scaling now runs through.
Canonicalization#
Two pages on one class of bug. A canonicalization attack exploits two components disagreeing about what an input means – one normalises, the other doesn’t, or they normalise differently, and an attacker crafts something that reads as safe to the checker and dangerous to the executor. Canonicalization attacks on signed XML is the worked case, and the reason so many SAML (Security Assertion Markup Language) implementations have been broken the same way: the signature covers what the canonicaliser saw, and the application acts on what the parser produced.