6. A pointer is a signed arrow from a key to a root
Every write is signed by a writing key pair, and each writing key has a signed pointer to its current root; updates carry previous, current and a rising sequence number; servers reject updates that do not follow; clients remember the highest; one home node orders each key's writes.

6. A pointer is a signed arrow from a key to a root

Every write is signed by a writing key pair, and each writing key has a signed pointer to its current root; updates carry previous, current and a rising sequence number; servers reject updates that do not follow; clients remember the highest; one home node orders each key's writes.

It is the only mutable thing in the system, so it carries all the ordering.

Every write you make is signed by a writing key pair. Hashes never change. Your files do. So each writing key has a pointer, a signed arrow: public key to current root hash.

An update is signed by the key. It names the previous root, the new root, and a sequence number that only goes up.

The server checks the signature and the sequence. An update that does not follow from the current root is rejected.

Clients remember the highest sequence they have seen. A server cannot quietly serve an older root.

One node is the home of each pointer. That node is where your writes line up, one after another.

Check yourself. What stops a server from serving you last week's root?

Do you like what you are reading? Subscribe to receive updates.

Unsubscribe anytime

Comments