UMBRA
·
execution-model
·
2 min read
The research programme runs many lines at once: several independent question tracks, each with its own tasks and its own worker, all feeding one set of records. The first attempt was optimistic — parallel workers in a shared tree, with…
UMBRA
·
measurement-discipline
·
2 min read
The core loop of a memory-hard puzzle generator is a trimming pass: visit a very large edge set repeatedly, drop nodes that have only one neighbour, stop when nothing changes. Each pass needs counts per region, and the counts have to be…
UMBRA
·
admission-control
·
2 min read
We added a small computational puzzle to slow down a cheap abuse. The first version mounted it on the shared relay, which is the party with the least information about who deserves to be slowed, and made the thing being protected do its own…
UMBRA
·
transport-identity
·
2 min read
The client used to open a fresh local endpoint for each phase of a connection attempt and close the previous one. Local code, local decision — except with translation in the middle it is not a local decision at all. The translation table is…
UMBRA
·
addressing-semantics
·
2 min read
Establishing a direct path through address translation requires two addresses that look interchangeable and are not. One is where I was observed from; the other is where the other party was observed from. A relay sees both and tells each…
UMBRA
·
specification-audit
·
2 min read
The design document for the identity layer was audited more times than the code that came out of it. Each round was independent, each produced findings sorted into severity bands, and each finding had to be resolved in place: a new…
UMBRA
·
research-refutation
·
2 min read
A new research line looked unusually good on paper. Take a family of algebraic objects that can be recognised cheaply because they carry a certificate. Let a hidden group action walk over a congruence level of that family. Read a shared…
UMBRA
·
licensing
·
2 min read
The first version of the licence was written to be strong, and it was strong in the way documents are strong when nobody has argued against them: conclusive presumptions of reproduction, an auditor appointed by one side, consent established…
UMBRA
·
api-shape
·
2 min read
The library had a function that did the whole job. It drew its own seed, iterated until it found an answer, and returned the result. It was tested, documented, and the obvious thing for a caller to reach for.
UMBRA
·
documentation-authority
·
2 min read
There was a document whose job was to say which component serves which part of the product, and it had been assembled from material at the top of the tree. That material described a system that no longer existed. The result was a map that…
UMBRA
·
research-trials
·
2 min read
A key-agreement construction can fail in two unrelated ways. It can fail to agree, or it can be forgeable. We were exploring two tracks at once: a noiseless variant, where both parties derive exactly the same value with no rounding and no…
UMBRA
·
verification-coverage
·
2 min read
The check suite for one research result had grown in two directions at once, and the two copies had stopped being interchangeable. One enumerated a few dozen properties and exercised them end to end. The other, written later by a different…
UMBRA
·
measurement
·
2 min read
Between two representations of the same algebraic object there is a conversion, and ours had been calibrated rather than derived. Two corresponding points had been measured by hand, and the conversion was fitted through them. It reproduced…
UMBRA
·
data-layout
·
2 min read
The generator for a memory-hard puzzle produces many millions of items and then visits their neighbours in a pattern with almost no locality. The natural data structure is a matrix of buckets. The natural implementation of that, in a…
UMBRA
·
isolation
·
2 min read
Before an algorithm can be trusted it has to be inspectable in isolation. Ours arrived tangled into a larger system: key generation, signing and the arithmetic underneath all moved together, and a defect anywhere looked like a defect…
UMBRA
·
semantic-porting
·
2 min read
Porting a numeric routine between languages looks like transcription. This one was not, because two languages assign different meanings to the same punctuation. In the original, negating an unsigned quantity wraps into the representation…
UMBRA
·
constant-time-sampling
·
2 min read
A masking value is what hides the secret in a challenge-response exchange; if the mask is wrong in any way, the secret leaks through the mask. Ours was generated with a familiar recipe: draw from a continuous distribution in double…
UMBRA
·
module-boundaries
·
2 min read
One storage design had grown to cover two subsystems that share a word and nothing else. Session messages are small, arrive continuously, need a total order, and are read far more recently than they are written. Attachments are large,…
UMBRA
·
proof-honesty
·
2 min read
A proof had a step in it that looked like bookkeeping and was actually the whole problem. The claim was that two parties deriving the same value from slightly different inputs will round to the same bucket with overwhelming probability,…
UMBRA
·
honest-limit
·
2 min read
There is a property we wanted and could not have, and the useful thing is to say so precisely. In a conversation between two people, deniability means neither participant can later prove to a third party that the other took part — not that…