8. A commit is a signed root with a clock
A commit names the DID, the tree root, a TID revision that only increases, and a signature; because the tree is a Merkle search tree, a change touches only one path, so a commit's diff is a few blocks; no other server can forge it, but your own host holds the key.

8. A commit is a signed root with a clock

A commit names the DID, the tree root, a TID revision that only increases, and a signature; because the tree is a Merkle search tree, a change touches only one path, so a commit's diff is a few blocks; no other server can forge it, but your own host holds the key.

This is the unit of sync and the unit of trust.

Each version of a repository is a commit: a sealed page. It names the account, the root of the tree, a revision, and a signature.

The revision is a TID. It only goes up. It is a logical clock: anyone can tell which commit is newer.

The tree is a Merkle search tree. Change one record, and only the path from it to the root changes.

So the difference between two commits is a few blocks. That is what travels when your repository changes.

And the commit is signed with the key in your DID document. No other server can forge a version of you. Your own host can: it holds the key. So you choose it, and you can leave it.

For developers. A commit object also carries a format version (fixed at 3) and a prev pointer to the previous commit, which is usually null today; the video leaves both out for the ear.

Check yourself. What does the rev field let a stranger decide without trusting anyone?

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

Unsubscribe anytime