Fifty Years of One Ledger
Every time something changes, write down what the whole project looks like right now, stamp it with a fingerprint, and point it at the entry before. This ledger has a name: Git.
People who build software call this ledger “version control.” It has been evolving for more than fifty years, and every step answers the same question: when a group of people change the same thing, how do they keep the changes clear, make them reversible, and say who changed what, when and why?
Over those fifty years, two lines ran side by side. One belonged to programmers: how to manage many versions of the same files. The other belonged to cryptographers: how to prove a record hasn't been tampered with. In 2005, the first line borrowed the second line's fingerprints, and Git was born. Three years later, the second line added the missing piece itself, how everyone agrees, and blockchain was born.
So Git and blockchain look alike, but neither copied the other. They are two descendants of the same ancestors.
This page is only about the record-keeping structure. It does not concern issuing or trading any virtual currency.
1972
Keeping versions
Starting in late 1972, Marc Rochkind at Bell Labs wrote SCCS, the first tool that saved every change to a file, so you could go back to any version you wanted.
In our workflow
Every commit is kept, so if something breaks, you can go back. That's why we ask AI to commit once before it starts work: leave a way back first, then let it make changes.
Compared with blockchain
Every ledger starts the same way. First, you have to write things down.
Source: Rochkind, “The Source Code Control System,” IEEE Transactions on Software Engineering, 1975Subscription
1979
The fingerprint tree
Ralph Merkle proposed a “fingerprint tree”: take a large pile of data, compute fingerprints layer by layer, and combine them into one top fingerprint. If any piece inside is altered, the top fingerprint no longer matches.
In our workflow
Git computes a fingerprint for every folder level of the whole project. After a merge, when we check that the version running live is word for word the version that was reviewed, we are comparing the top fingerprint of this tree.
Compared with blockchain
Common ancestor, part one. Blockchain also combines the transactions in each block into a single fingerprint with this tree.
Source: Merkle, US Patent 4,309,569, “Method of Providing Digital Signatures,” filed 1979, granted 1982Original
1982
The consensus problem
Leslie Lamport and his co-authors posed the “Byzantine Generals Problem”: how can a group of people who don't trust each other, some of whom may be lying, agree on the same thing?
In our workflow
Git never took on this problem. Which version counts isn't computed by Git; it's something we agree on: submit for review, review, automated checks, and a merge by the person who makes the call. In this workflow, agreement is something people keep up every day.
Compared with blockchain
This is exactly the core problem of blockchain. Using “whoever computes the most keeps the ledger,” blockchain answered it for the first time without a center.
Source: Lamport, Shostak & Pease, “The Byzantine Generals Problem,” ACM TOPLAS, 1982Free full text
1991
The timestamp chain
Stuart Haber and W. Scott Stornetta put the fingerprint of the previous document inside each document's fingerprint, linking them one after another into a chain. Anyone who tries to slip a document in later or change a date breaks everything that follows.
In our workflow
Every commit points to the commit before it. No entry can be quietly slipped into history, and none can be quietly taken out.
Compared with blockchain
Common ancestor, part two. The 2008 white paper has eight references in all; three of them are by these two.
Source: Haber & Stornetta, “How to Time-Stamp a Digital Document,” Journal of Cryptology, 1991Subscription
1986
–2000
One center
CVS (1986) and Subversion (started in 2000) let many people work on the same code, by keeping the single official copy on one central server. When the server went down, everyone stopped.
In our workflow
We have a “center” too: by agreement, the main branch on the hosting platform is the official copy, and the production server runs only what's on the main branch. Unlike back then, though, everyone holds a full copy. If the center breaks, the ledger isn't lost.
Compared with blockchain
The single center is exactly what blockchain sets out to remove.
Source: Grune, the original CVS release and its 1986 notesAuthor's page; Version Control with Subversion, “Subversion's History”Free full text
2005
A full copy for everyone
The developers who maintain the Linux kernel lost free use of a commercial tool over a licensing dispute. In about ten days, Linus Torvalds wrote Git, capable of managing the kernel. Everyone holds a complete copy of the history, every commit is chained by fingerprints, and work goes on without a center.
In our workflow
Each line of work opens its own branch and gets on with it, without stepping on anyone else. Before starting, each one first lines up its own copy with the main branch, and stops if the two don't match. These are all abilities this step gave us.
Compared with blockchain
This is the step most like blockchain: everyone holds a full ledger. But Git has no consensus. When two copies disagree, people still decide which one counts.
Source: Git's first commit, April 7, 2005Original; GitHub Blog, “Git turns 20: A Q&A with Linus Torvalds,” 2025Free full text
2008
The split
In the same year, the two descendants went opposite ways. In February, while GitHub was still in beta, it launched “pull requests”: a change laid out as a web page where people can comment and review before deciding whether to merge it. GitHub officially launched in April. On October 31, Satoshi Nakamoto posted “Bitcoin: A Peer-to-Peer Electronic Cash System” to a cryptography mailing list.
In our workflow
Pull request pages, review comments, check results and who clicked merge are all recorded on the hosting platform, not in Git. Git records what changed; the platform records who agreed. Only together do they make up our record.
Compared with blockchain
Blockchain wrote agreement into a protocol, enforced by computation. GitHub turned agreement into a web page for people to read, enforced by people.
Source: GitHub Blog, “Oh yeah, there's pull requests now,” February 23, 2008Free full text; GitHub Blog, “We Launched,” April 10, 2008Free full text; Nakamoto, “Bitcoin P2P e-cash paper,” Cryptography Mailing List, October 31, 2008Original
2017
Fingerprints age
Google and CWI Amsterdam produced, for the first time, two files with different contents but the same fingerprint, breaking the very fingerprint algorithm Git used at the time. Git then added detection and began preparing to move to a stronger algorithm.
In our workflow
“Changes can't be hidden” has a precondition too: the fingerprint algorithm has to be strong enough. Our repository still uses the old algorithm, with detection in place against the known attack.
Compared with blockchain
Blockchain is staked on fingerprint algorithms too. As the algorithm ages, so does the ledger's credibility.
Source: shattered.io, February 23, 2017Free full text; GitHub Blog, “Highlights from Git 2.29,” October 19, 2020Free full text
Three ledgers side by side
We keep three ledgers ourselves: blockchain (the one everyone has heard of), our partners' finance ledger (entry after entry with fingerprints, signed every day by two people separately), and Git. Side by side, what they share and where they differ are both clear.
| Blockchain | Our finance ledger | Git | |
|---|---|---|---|
| Every entry fingerprinted, pointing to the one before | Yes | Yes | Yes |
| Change one entry and nothing after it matches | Yes | Yes, checkable in one click | Yes |
| Everyone holds a full copy | Yes | No, it lives in one database | Yes |
| How corrections are made | Only by adding later entries | Reversing entry: record an opposite one | Revert: record a commit that undoes it |
| Who decides | The protocol, by computation | Two people sign separately | Convention, by human review |
| Can history be rewritten | Almost never | No | Yes, but not secretly |
In one line: blockchain replaced trusting people with computation. Git didn't. It leaves a fingerprint on every step of who was trusted and who said yes.
The hardest part of this step isn't technical
Git gave us fingerprints, not consensus. Consensus is something people have to keep up every day.
We've learned this the hard way. Once, a change was reported as “merged,” and when we checked, it never had been. Another time, a few commits that had been tried but never merged were left with nothing but their commit IDs to find them by after a branch was reset. The tools remember everything clearly, provided people remember to look.
Git makes every step traceable. Whether you can rely on it depends on whether people actually trace every step.
What we do is the next step for this ledger
Today, AI does the work on a branch, people make the judgment on the pull request page, merging into the main branch means going live, and the record of the process is kept in the repository. The more AI can do, the more important it is to be able to look up who agreed. We help companies set up this workflow in their own environment, and work with their teams until checking every step becomes a habit.
What
Every change, with who, when and why
Who decides
Submit, review, merge by the person who makes the call. No step skipped
How
AI works on a branch; people judge before the merge