Blockchains Never Forget
Just three years ago, in 2014, I wrote a little short story set in a future where most work is organized around blockchains. That story was set sometime past the 2120s, but it appears we'll get there a century earlier than I thought. The idea of organizing work through smart contracts on blockchains has been moving ahead at a breathtaking pace.
Over the last few weeks, I had my first hands-on immersive experience of this particular piece of the unevenly distributed future. I'll share more about the specifics of this experience, and lessons learned, but mainly I want to enter my first serious attempt at blockchain punditry into the public record: the blockchain is irreversible social computing.
The message of the medium is this: blockchains never forget. By providing an extra-institutional base layer of irreversibly settling collective memories that cannot be erased, blockchains create a foundation for fundamentally different institutional and technological landscapes. Ones based, as I will argue, on a notion of artificial forgiveness.
Work on the Blockchain
To ground what is going to be a very philosophical, perhaps even theological, discussion, let me share some details about the Great Ribbonfarm Blockchain Experiment of 2017.
On the surface, there's not much difference between organizing work on the blockchain as opposed to traditional ways. Take for example, the specific example of Kanban, a workflow model commonly used in both software and manufacturing settings. Here is the colony.io* interface for one of the boards in the ribbonfarm colony. This is the blockchain way of doing kanban.
And here is one of the boards in my private Trello account, one of the popular incumbent tools for organizing Kanban workflows.
As you can see, there is not much of a visible difference. If you've used kanban, either on a whiteboard with post-its, or with a digital tool, there isn't much that is radically different about kanban on the blockchain. It's all the same process management work: defining meaningful boards and sensible workflow columns like to do, doing, done, assigning tasks to people, and tracking work by moving tasks from column to column as they evolve.
The only thing you do differently is that you assign a budget to each task in tokens (in the case of colony, these tokens live on a private blockchain, but in principle they could live anywhere, including public blockchains like ethereum*). These tokens get paid to the task assignee once the task is completed. You can use this token economy to create and run a task market. You can go beyond and do things that measure the value of these tokens in the open economy, relative to other assets.
In my case, as a first experiment, I used the colony platform to organize reviews for the upcoming ribbonfarm longform blogging course. We received 77 applications. I grouped these into bundles of 3 each, set the offer price for reviewing a bundle to 1 token, and invited a bunch of past ribbonfarm contributors and long-time readers to help with the reviewing. The idea was to have each application reviewed by at least 2 people, with Sarah Perry and I, who will be teaching the course, making final selections from among applications that received two Yes votes (with some discretion to veto or make exceptions).
As with any market, the price had to move to get the job done. I had to raise the offer price twice, from 1 token to 1.5, and then to 2. And I had to offer incentives for finishing more than one bundle. Initially, I offered a 10-token bonus for doing 5 bundles, and then increased it to 12.
Our little ribbonfarm market wasn't quite as crazy as the public crypto markets over the same period, but by the time the market cleared, we had spent just over 140 tokens to get all 77 applications properly reviewed. Since each application was reviewed twice, the cost came to approximately 1 token per review on average. Here's a snapshot of the activity (some bits redacted). As you can see, Tim Roy reviewed two bundles, but got paid 3T overall.
Okay, fun stuff, and I certainly enjoyed playing banker, exercising authoritah, and moving prices around to clear the market. But even this doesn't seem particularly special, does it? It's a complex, but not mysterious, kind of marketplace feature. One you could obviously engineer into any task management product. The feature is conceptually simple. It's just book-keeping after all.
Except for one aspect that makes all the difference. The tokens also represent smart contracts that live on the blockchain. When a task is marked complete and the tokens transferred, it is done done.
Not just enterprise-grade. This is Pharaoh-grade so let it be written, so let it be done done.
There is no going back. There is no rewriting history. At best you can agree to disagree and fork off a parallel universe where the historical record of consensus is different (this is basically what happened in the aftermath of the DAO hack last year, which created the two parallel universes of Ethereum (ETH) and Ethereum Classic (ETC)).
The Wheel and the Odometer
The difference between a blockchain-based technology and a similar non-blockchain technology is something like the difference between the odometer in your car and all the other meters. They're all dials or digital displays. All work on similar principles of sensing, measurement, calibration, and display.
But unlike all the other instruments on the dashboard, the odometer cannot ordinarily be reset or dialed back. There are engineering and legal protections to ensure that. Because the value of a car is a strong function of the number of miles it has been driven, this is a case where a relatively tamper-proof record of history has economic value.
Now imagine that idea applied to everything. What if it were easy and cheap to ensure that every piece of technology had a generalized memory of its own operational history? What if speedometer maintained an unalterable history of how fast the car had been driven? What if the fuel or battery meter preserved complete histories of filling/emptying cycles or charging/discharging? And all done in silicon with mathematics. No expensive and slow carving-on-stone required. No wax seals, no blood-fingerprints.
What if civilization itself had an eidetic memory of history? What if all the photos and videos we are taking today were instantly, irrevocably saved to a blockchain, creating a credible virtual past we could visit via a virtual-reality time-machine?
Not all histories are equally important or interesting, but the point is, history and memories that are laid down irreversibly, and are available to be fed back into present actions, alter the fundamental character of a technology.
How you think about engineering starts to change.
The odometer is the archetypal artifact for an entire kind of engineering. It is to blockchain-style engineering as the wheel is to regular engineering. A wheel can roll backwards or forwards. An odometer can only tick upwards, inexorably driving the depreciation of your car and the accumulation of a history.
Which means, among other things, that when mistakes are made, you can't simply hit an undo button, or revert changes. In our experiment, mistakes were made. People reviewed the wrong bundle of applications by accident, for instance, so some applications got 3 reviews instead of 2, while others got only 1.
To fix such errors, I had to assign rework tasks, a common enough situation. But since by design, there is no direct way to reverse transactions, on the couple of occasions when I paid out tokens before verifying the work, people got paid a token or two for work they didn't actually do.
This is of course the well-known chargeback problem. With a normal credit card, chargeback transactions are conceptually simple logical reversals of computations. Additions are as easy as subtractions. On the blockchain, there's no direct way to reverse anything. You need what I call artificial forgiveness. We'll get to that.
Fortunately, I ran a pretty tight shop, and though my process won't win any six-sigma certifications, it was pretty darn clean, with a very low procedural error rate.
Okay, enough with these impractical, precious snowflake details. Let's get to the practical philosophy and theology around the key detail in the account above: the irreversibility of certain actions.
Reversibility as Feature and Bug
It is important to emphasize that we are talking about social irreversibility here, a phenomenon that takes a good deal of engineering to achieve.
At a physics level, computing of course follows the second law of thermodynamics like everything else. It turns out that permanently deleting a bit -- setting a bit to 0 whether it is at 1 or 0 -- is an entropy-increasing action, and is the irreversible (and irreversibly physical, ie embodied in atoms) aspect of digital computing. The aspect where bits meet atoms and digital dualism breaks down.
There is a sort of pseudo-reversible paradigm of reversible computing out there but we can ignore that for our purposes here. That sort of reversibility/irreversibility isn't particularly useful for social engineering, except to the extent that it enables mechanisms like bitcoin mining.
The physical irreversibility of digital computing has historically been irrelevant for practical purposes. The entropy increase from even the most complex computation running across the world's data centers -- including all the bitcoin mining -- is minor compared to (for example) the entropy costs of running the planet's transportation on fossil fuel engines. And more importantly, it makes no practical difference to the meaning of the computation. Writing and reading bits off a magnetic disk might involve more net entropy increase than off an SSD, and you could perhaps refactor code to involve fewer bit deletions and more efficient kinds of memory, but it makes no real difference to the meaning of the computation.
In regular computing of the sort that is at the basis of basically all the software you use, undoing actions is always conceptually possible even if the ability is artificially restricted. You need certain institutionally delimited powers to approve chargebacks on a credit card for example.
In fact that has been the defining distinction between bits and atoms. In the world of atoms, a glass that falls and shatters cannot magically put itself together again. All the king's horses, and all the king's men cannot put Humpty-Dumpty together again. At best they can make an omelet.
That's the second law in action. In the digital world, the broken glass can get rewound to its pristine state. Flow back into the unbroken glass, spilt milk can, if on-screen Yoda is.
In the world of bits, so long as you keep perfect records and your storage media don't get corrupted, in principle everything can be engineered to be logically reversible, even if it is not thermodynamically reversible. Sure, there's bit rot at larger scales, but there's ways to design redundancy around that kind of thing.
In virtual worlds, you can always add undo buttons. And that's a problem.
Undo versus Wabi-Sabi Buttons
The reversibility of computing is not just the main difference between atoms and bits, it is also arguably the primary selling point of the digital world, ahead of such selling points such as computational speed advantage over pen-and-paper. It is a selling point that has historically constituted the biggest competitive advantage of the digital world over the physical world. The biggest difference between a word processor and a typewriter is that the former has effectively unlimited undo/redo capability. The biggest difference between Grand Theft Auto and physical roads is that you can uncrash a car in the former. The biggest difference between an online poll and paper ballots (or electronic voting machines that print out a paper record at the time the vote is cast) is that you can uncast a vote in the former.
We've gotten so used to reversibility as a self-evidently useful feature -- who doesn't like unlimited do-overs after all -- it is easy to miss the most important thing about the blockchain: it treats the logical reversibility of ordinary computing as a bug to be fixed. The blockchain is an invention rooted in the insight that engineering irreversibility into computing is of practical value. That the odometer is as important as the wheel.
The way this is done is to couple irreversibility of the physical sort (computing takes energy because deleting bits increases entropy) to irreversibility of a mathematical sort: hard-to-invert cryptographic functions. Neither physical, nor mathematical irreversibility by itself is enough to create deep irreversibility in computing of the kind we're talking about. Mathematical almost-irreversibility would be useless if computing were free in energy terms. Physical irreversibility would be useless without a way to sneak it into algorithms via mathematics.
But when both are possible, you can implement irreversibility mechanisms such as proof-of-work. You can build irreversible social computing systems: systems that have the very possibility of an undo button engineered out of them, using mathematics and physics.
What the blockchain enables isn't the shallow social irreversibility of the sort any competent programmer could code into a piece of software without resorting to Merkle trees, cryptographic hashes and proof-of-work algorithms. Shallow social irreversibility is an illusion that an administrator with the right permissions can break simply undoing transactions and rewinding events. Or to put it more precisely, this kind of shallow irreversibility is always relative to the permissions architecture that defines an organization.
In shallow irreversibility, the idea of administrator precedes the idea of reversible in the ontology (if you'll excuse a geek joke: you decide what can be done or undone, I'll decide who can sudo or not sudo). Shallow social irreversibility is relative social irreversibility. The irreversibility goes only as deep as the powers-that-be allow it to, and it never penetrates past the foundations of the organization itself, to find roots in the open environment. Irreversibility that threatens power structures can be contained within institutional design a priori, by giving the right people the ability to rewrite history.
Recording an event on the blockchain on the other hand (through crypotgraphic-physical irreversibility mechanisms) is actually irreversible for practical purposes. It does not matter whether you have Senior God level privileges within some institution that lives on the blockchain. It does not even matter if you're on a private blockchain entirely owned by a single entity. As you've probably learned by now, unlike traditional passwords, which are recoverable or at least resettable by administrators of computer systems, the "wallet passwords" you use to manage blockchain activity, if lost, are gone for ever. No administrator can help you unlock the lost assets (you could still try a brute force unlocking, but the point is, no human can override the mathematics by fiat).
You're working with the digital equivalent of spillable milk that cannot be unspilled. Only cried over.
Or more precisely, this deeper notion of reversibility precedes notions of authority and permissions that go into the design of institutions. It is absolute social irreversibility. It is not a set of constraints imposed on certain mutable roles concerning what can and cannot be done. It is a property, the property, of a memory.
Irreversibility is the sine qua non of the blockchain as a system. Engineering on the blockchain is wabi-sabi engineering. A mode of design where you take irreversibility into account, where history acquires technological salience. Where breaks can only be healed, not reversed.
In the Japanese aesthetic mode of wabi-sabi, a broken object is lovingly repaired (often with precious materials like gold), restoring it, not to a state of pristine it-never-happenedness (such as what an insurance company in the US will pay for after a car accident), but a healed state that has restored functionality but also a trace of preserved memory. The crack in the cup becomes a thin vein of gold, a permanent record of the break.
One can imagine a generalized wabi-sabi button as a replacement for the undo button in any engineered artifact based on blockchain technology. A button that, when pushed, causes healing, forgiving events that would make the Buddha smile.
What can you do with this powerful property?
Social Irreversibility
All of the common metaphors for understanding the blockchain -- as a digital currency with double-spending protections, as a general digital ledger, as a decentralized public database that resists monopolies of truth, as a protocol economy -- understate or obscure the essential feature of the blockchain: absolute, pre-institutional, social irreversibility.
Let me offer a working definition:
This is a no-harm-no-foul transaction, where the element of forgiveness is minor. But what if the amount were non-trivial, or one or both parties made commitments that they'd have to renegotiate on the basis of having or not having that token? What if that token lived on the public blockchain, valued in ether, and the price of ether jumped between an error and a fix?
To heal the situation, one of us would have to forgive the other for a mistake that affected both of us. Unlike a unilateral chargeback, or a rewind achieved via administrative fiat, this pair of actions requires a forgiveness computation to occur between two humans. One has to ask for forgiveness, the other has to grant it.
But we would never be able to forget.
The pair of transactions would partially cancel out, in nominal token terms, but both would be recorded and remembered on the blockchain. What is significant about this? To understand that, we have to back up and consider the history of social memory. Or the history of history itself.
The History of History
Human collective memory is chock-full of what one might call ritualized forgetting. Among other things, we say things like:
Over the last few weeks, I had my first hands-on immersive experience of this particular piece of the unevenly distributed future. I'll share more about the specifics of this experience, and lessons learned, but mainly I want to enter my first serious attempt at blockchain punditry into the public record: the blockchain is irreversible social computing.
The message of the medium is this: blockchains never forget. By providing an extra-institutional base layer of irreversibly settling collective memories that cannot be erased, blockchains create a foundation for fundamentally different institutional and technological landscapes. Ones based, as I will argue, on a notion of artificial forgiveness.
Work on the Blockchain
To ground what is going to be a very philosophical, perhaps even theological, discussion, let me share some details about the Great Ribbonfarm Blockchain Experiment of 2017.
On the surface, there's not much difference between organizing work on the blockchain as opposed to traditional ways. Take for example, the specific example of Kanban, a workflow model commonly used in both software and manufacturing settings. Here is the colony.io* interface for one of the boards in the ribbonfarm colony. This is the blockchain way of doing kanban.
And here is one of the boards in my private Trello account, one of the popular incumbent tools for organizing Kanban workflows.
As you can see, there is not much of a visible difference. If you've used kanban, either on a whiteboard with post-its, or with a digital tool, there isn't much that is radically different about kanban on the blockchain. It's all the same process management work: defining meaningful boards and sensible workflow columns like to do, doing, done, assigning tasks to people, and tracking work by moving tasks from column to column as they evolve.
The only thing you do differently is that you assign a budget to each task in tokens (in the case of colony, these tokens live on a private blockchain, but in principle they could live anywhere, including public blockchains like ethereum*). These tokens get paid to the task assignee once the task is completed. You can use this token economy to create and run a task market. You can go beyond and do things that measure the value of these tokens in the open economy, relative to other assets.
In my case, as a first experiment, I used the colony platform to organize reviews for the upcoming ribbonfarm longform blogging course. We received 77 applications. I grouped these into bundles of 3 each, set the offer price for reviewing a bundle to 1 token, and invited a bunch of past ribbonfarm contributors and long-time readers to help with the reviewing. The idea was to have each application reviewed by at least 2 people, with Sarah Perry and I, who will be teaching the course, making final selections from among applications that received two Yes votes (with some discretion to veto or make exceptions).
As with any market, the price had to move to get the job done. I had to raise the offer price twice, from 1 token to 1.5, and then to 2. And I had to offer incentives for finishing more than one bundle. Initially, I offered a 10-token bonus for doing 5 bundles, and then increased it to 12.
Our little ribbonfarm market wasn't quite as crazy as the public crypto markets over the same period, but by the time the market cleared, we had spent just over 140 tokens to get all 77 applications properly reviewed. Since each application was reviewed twice, the cost came to approximately 1 token per review on average. Here's a snapshot of the activity (some bits redacted). As you can see, Tim Roy reviewed two bundles, but got paid 3T overall.
Okay, fun stuff, and I certainly enjoyed playing banker, exercising authoritah, and moving prices around to clear the market. But even this doesn't seem particularly special, does it? It's a complex, but not mysterious, kind of marketplace feature. One you could obviously engineer into any task management product. The feature is conceptually simple. It's just book-keeping after all.
Except for one aspect that makes all the difference. The tokens also represent smart contracts that live on the blockchain. When a task is marked complete and the tokens transferred, it is done done.
Not just enterprise-grade. This is Pharaoh-grade so let it be written, so let it be done done.
There is no going back. There is no rewriting history. At best you can agree to disagree and fork off a parallel universe where the historical record of consensus is different (this is basically what happened in the aftermath of the DAO hack last year, which created the two parallel universes of Ethereum (ETH) and Ethereum Classic (ETC)).
The Wheel and the Odometer
The difference between a blockchain-based technology and a similar non-blockchain technology is something like the difference between the odometer in your car and all the other meters. They're all dials or digital displays. All work on similar principles of sensing, measurement, calibration, and display.
But unlike all the other instruments on the dashboard, the odometer cannot ordinarily be reset or dialed back. There are engineering and legal protections to ensure that. Because the value of a car is a strong function of the number of miles it has been driven, this is a case where a relatively tamper-proof record of history has economic value.
Now imagine that idea applied to everything. What if it were easy and cheap to ensure that every piece of technology had a generalized memory of its own operational history? What if speedometer maintained an unalterable history of how fast the car had been driven? What if the fuel or battery meter preserved complete histories of filling/emptying cycles or charging/discharging? And all done in silicon with mathematics. No expensive and slow carving-on-stone required. No wax seals, no blood-fingerprints.
What if civilization itself had an eidetic memory of history? What if all the photos and videos we are taking today were instantly, irrevocably saved to a blockchain, creating a credible virtual past we could visit via a virtual-reality time-machine?
Not all histories are equally important or interesting, but the point is, history and memories that are laid down irreversibly, and are available to be fed back into present actions, alter the fundamental character of a technology.
How you think about engineering starts to change.
The odometer is the archetypal artifact for an entire kind of engineering. It is to blockchain-style engineering as the wheel is to regular engineering. A wheel can roll backwards or forwards. An odometer can only tick upwards, inexorably driving the depreciation of your car and the accumulation of a history.
Which means, among other things, that when mistakes are made, you can't simply hit an undo button, or revert changes. In our experiment, mistakes were made. People reviewed the wrong bundle of applications by accident, for instance, so some applications got 3 reviews instead of 2, while others got only 1.
To fix such errors, I had to assign rework tasks, a common enough situation. But since by design, there is no direct way to reverse transactions, on the couple of occasions when I paid out tokens before verifying the work, people got paid a token or two for work they didn't actually do.
This is of course the well-known chargeback problem. With a normal credit card, chargeback transactions are conceptually simple logical reversals of computations. Additions are as easy as subtractions. On the blockchain, there's no direct way to reverse anything. You need what I call artificial forgiveness. We'll get to that.
Fortunately, I ran a pretty tight shop, and though my process won't win any six-sigma certifications, it was pretty darn clean, with a very low procedural error rate.
Okay, enough with these impractical, precious snowflake details. Let's get to the practical philosophy and theology around the key detail in the account above: the irreversibility of certain actions.
Reversibility as Feature and Bug
It is important to emphasize that we are talking about social irreversibility here, a phenomenon that takes a good deal of engineering to achieve.
At a physics level, computing of course follows the second law of thermodynamics like everything else. It turns out that permanently deleting a bit -- setting a bit to 0 whether it is at 1 or 0 -- is an entropy-increasing action, and is the irreversible (and irreversibly physical, ie embodied in atoms) aspect of digital computing. The aspect where bits meet atoms and digital dualism breaks down.
There is a sort of pseudo-reversible paradigm of reversible computing out there but we can ignore that for our purposes here. That sort of reversibility/irreversibility isn't particularly useful for social engineering, except to the extent that it enables mechanisms like bitcoin mining.
The physical irreversibility of digital computing has historically been irrelevant for practical purposes. The entropy increase from even the most complex computation running across the world's data centers -- including all the bitcoin mining -- is minor compared to (for example) the entropy costs of running the planet's transportation on fossil fuel engines. And more importantly, it makes no practical difference to the meaning of the computation. Writing and reading bits off a magnetic disk might involve more net entropy increase than off an SSD, and you could perhaps refactor code to involve fewer bit deletions and more efficient kinds of memory, but it makes no real difference to the meaning of the computation.
In regular computing of the sort that is at the basis of basically all the software you use, undoing actions is always conceptually possible even if the ability is artificially restricted. You need certain institutionally delimited powers to approve chargebacks on a credit card for example.
In fact that has been the defining distinction between bits and atoms. In the world of atoms, a glass that falls and shatters cannot magically put itself together again. All the king's horses, and all the king's men cannot put Humpty-Dumpty together again. At best they can make an omelet.
That's the second law in action. In the digital world, the broken glass can get rewound to its pristine state. Flow back into the unbroken glass, spilt milk can, if on-screen Yoda is.
In the world of bits, so long as you keep perfect records and your storage media don't get corrupted, in principle everything can be engineered to be logically reversible, even if it is not thermodynamically reversible. Sure, there's bit rot at larger scales, but there's ways to design redundancy around that kind of thing.
In virtual worlds, you can always add undo buttons. And that's a problem.
Undo versus Wabi-Sabi Buttons
The reversibility of computing is not just the main difference between atoms and bits, it is also arguably the primary selling point of the digital world, ahead of such selling points such as computational speed advantage over pen-and-paper. It is a selling point that has historically constituted the biggest competitive advantage of the digital world over the physical world. The biggest difference between a word processor and a typewriter is that the former has effectively unlimited undo/redo capability. The biggest difference between Grand Theft Auto and physical roads is that you can uncrash a car in the former. The biggest difference between an online poll and paper ballots (or electronic voting machines that print out a paper record at the time the vote is cast) is that you can uncast a vote in the former.
We've gotten so used to reversibility as a self-evidently useful feature -- who doesn't like unlimited do-overs after all -- it is easy to miss the most important thing about the blockchain: it treats the logical reversibility of ordinary computing as a bug to be fixed. The blockchain is an invention rooted in the insight that engineering irreversibility into computing is of practical value. That the odometer is as important as the wheel.
The way this is done is to couple irreversibility of the physical sort (computing takes energy because deleting bits increases entropy) to irreversibility of a mathematical sort: hard-to-invert cryptographic functions. Neither physical, nor mathematical irreversibility by itself is enough to create deep irreversibility in computing of the kind we're talking about. Mathematical almost-irreversibility would be useless if computing were free in energy terms. Physical irreversibility would be useless without a way to sneak it into algorithms via mathematics.
But when both are possible, you can implement irreversibility mechanisms such as proof-of-work. You can build irreversible social computing systems: systems that have the very possibility of an undo button engineered out of them, using mathematics and physics.
What the blockchain enables isn't the shallow social irreversibility of the sort any competent programmer could code into a piece of software without resorting to Merkle trees, cryptographic hashes and proof-of-work algorithms. Shallow social irreversibility is an illusion that an administrator with the right permissions can break simply undoing transactions and rewinding events. Or to put it more precisely, this kind of shallow irreversibility is always relative to the permissions architecture that defines an organization.
In shallow irreversibility, the idea of administrator precedes the idea of reversible in the ontology (if you'll excuse a geek joke: you decide what can be done or undone, I'll decide who can sudo or not sudo). Shallow social irreversibility is relative social irreversibility. The irreversibility goes only as deep as the powers-that-be allow it to, and it never penetrates past the foundations of the organization itself, to find roots in the open environment. Irreversibility that threatens power structures can be contained within institutional design a priori, by giving the right people the ability to rewrite history.
Recording an event on the blockchain on the other hand (through crypotgraphic-physical irreversibility mechanisms) is actually irreversible for practical purposes. It does not matter whether you have Senior God level privileges within some institution that lives on the blockchain. It does not even matter if you're on a private blockchain entirely owned by a single entity. As you've probably learned by now, unlike traditional passwords, which are recoverable or at least resettable by administrators of computer systems, the "wallet passwords" you use to manage blockchain activity, if lost, are gone for ever. No administrator can help you unlock the lost assets (you could still try a brute force unlocking, but the point is, no human can override the mathematics by fiat).
You're working with the digital equivalent of spillable milk that cannot be unspilled. Only cried over.
Or more precisely, this deeper notion of reversibility precedes notions of authority and permissions that go into the design of institutions. It is absolute social irreversibility. It is not a set of constraints imposed on certain mutable roles concerning what can and cannot be done. It is a property, the property, of a memory.
Irreversibility is the sine qua non of the blockchain as a system. Engineering on the blockchain is wabi-sabi engineering. A mode of design where you take irreversibility into account, where history acquires technological salience. Where breaks can only be healed, not reversed.
In the Japanese aesthetic mode of wabi-sabi, a broken object is lovingly repaired (often with precious materials like gold), restoring it, not to a state of pristine it-never-happenedness (such as what an insurance company in the US will pay for after a car accident), but a healed state that has restored functionality but also a trace of preserved memory. The crack in the cup becomes a thin vein of gold, a permanent record of the break.
One can imagine a generalized wabi-sabi button as a replacement for the undo button in any engineered artifact based on blockchain technology. A button that, when pushed, causes healing, forgiving events that would make the Buddha smile.
What can you do with this powerful property?
Social Irreversibility
All of the common metaphors for understanding the blockchain -- as a digital currency with double-spending protections, as a general digital ledger, as a decentralized public database that resists monopolies of truth, as a protocol economy -- understate or obscure the essential feature of the blockchain: absolute, pre-institutional, social irreversibility.
Let me offer a working definition:
An event is socially irreversible if agents who observe it cannot unobserve it and return to the information state they were in before the event.
A socially irreversible event, once it is in the historical record, is potentially there for all eternity. Special steps must be taken to prevent the memory from affecting future realities; steps analogous to the golden repair veins on wabi-sabi cups. There is a word we use to characterize such steps. That word is forgiveness. In computational terms, forgiveness is a decision to construct a justification for actions that is at odds with the justification supplied by history, leading to increased freedom of action. To forgive is to not be a prisoner of of history, without having to destroy it through erasure or rewriting. A temporal non-zero-sum game. To forget, on the other hand, is to destroy the past to free the present, a much weaker mode based on a temporal zero-sum game. The act of forgiveness recalls to mind the famous Viktor Frankl quote: "Between stimulus and response there is a space. In that space is our power to choose our response. In our response lies our growth and our freedom." There is perhaps no more powerful force in human affairs than the power to ignore the instinctive imperatives of history and choose forgiveness. To be able to engineer digital artifacts that can work with this force is to have power comparable to that of religious figures. Forgiveness, as we will see, is the central phenomenon we must deal with in engineering irreversible social computing systems, just as the deletion of bits is the central phenomenon in computational irreversibility. The connection between the idea of forgiving a debt by "erasing" it, and erasing bits, is not coincidental. When faced with social irreversibility on the blockchain, at best you can create and record additional events that reverse some of the effects of a previous event. But you cannot undo, or unremember past events. On colony.io, if I paid you 1 token by mistake, you could create an empty task with a budget of 1 token called here's your damn token back, and assign it to me, and I could accept it.
This is a no-harm-no-foul transaction, where the element of forgiveness is minor. But what if the amount were non-trivial, or one or both parties made commitments that they'd have to renegotiate on the basis of having or not having that token? What if that token lived on the public blockchain, valued in ether, and the price of ether jumped between an error and a fix?
To heal the situation, one of us would have to forgive the other for a mistake that affected both of us. Unlike a unilateral chargeback, or a rewind achieved via administrative fiat, this pair of actions requires a forgiveness computation to occur between two humans. One has to ask for forgiveness, the other has to grant it.
But we would never be able to forget.
The pair of transactions would partially cancel out, in nominal token terms, but both would be recorded and remembered on the blockchain. What is significant about this? To understand that, we have to back up and consider the history of social memory. Or the history of history itself.
The History of History
Human collective memory is chock-full of what one might call ritualized forgetting. Among other things, we say things like:
That never happened.
Forget I said that.
Can we start again?
I'm just going to pretend you didn't just say that.
Even our rituals around remembering invoke or incorporate irreversibility. You break it, you bought it, we say. The examples reveal a blindingly obvious, but easily missed fact about social computing with human brains: it is irreversible by default, forgotten by accident, convention, or exception. A great deal of social technology was historically invented precisely to counteract or govern the effects of this default irreversibility. The human story is on the permanent record by default, simply by virtue of evolving primarily in human brains in the form of living memories and oral traditions. Brains, like blockchains, but unlike traditional institutions, aren't designed to forget or rewrite history arbitrarily. Biological memories derive their irreversibility from a different physical mechanism than blockchains, but the effect is similar. The idea that you cannot forget is so completely fundamental to everything else that it becomes a strong forcing function driving all design. The human brain, like the blockchain, is a spiritual descendent of the odometer, rather than the wheel. If the computer was a bicycle for a mind, the blockchain is an odometer for the hivemind. Our memories are designed by evolution to be imperfect, limited, noisy, delusional, wishful, and even outright false, but they aren't designed to be un-remembered. Many of the cognitive biases that afflict our thinking (particularly ones like confirmation bias and solution aversion) exist to mitigate the more painful effects of remembering-by-default. The structural boundaries between conscious, subconscious, and unconscious follow the contours they do in part to govern the effects of unalterable memories. Sure, what is recorded is the version of history with the most adaptive utility rather than the version with the closest correspondence to material reality (which, for the record, I believe exists, unlike some). But the point is, though we distort memories in the process of forming them, and go through cognitive contortions to bring present actions in alignment with them, our brains don't rewrite or forget wholesale. And certainly offer no consciously accessible mechanism for intentional forgetting that we can just use at will. If evolution discovered adaptive advantage to the rule don't forget it; repress it under layers of denial over simple forgetting, there is probably reason to suspect it's a good feature. Short of severe brain damage, or uncontrolled entropic decay, if you experienced it, it's there in your brain, seared in by felt emotion, the equivalent of proof-of-work (it is easier to actually forget, or rather, fail-to-remember, things you never cared strongly about in the first place). The blockchain is the same way. The only thing you can do about a memory that is close to unremembering it, once it is in your brain, is to forgive somebody about something. To forgive is to rob a piece of history of its power to shape the future. It is as close as we can get to a neural undo button. Our brains are in a constant state of wabi-sabi evolution, acquiring scars, and repairs. Artificial Forgiveness The emergent architecture of the human condition, as Hannah Arendt has argued, is based on three basic, primitive actions of making promises, breaking them, and forgiving such breaks. These are kinda like the NOT, AND, and OR primitive operations of the human social operating system. One of the three is not like the other two: unlike making and breaking promises, which can be modeled in ordinary, logically reversible computing, forgiving only makes sense with respect to irreversible social computing. You can only forgive what you cannot forget. If you can truly forget things, the concept of forgiveness is moot. Forgiveness is a consequential behavior only when there are things you cannot un-remember. Computationally, you can think of forgiveness as the adoption of beliefs that resolve the conflict between a historical imperative to act one way, and justifications required to act in a different way. It is more expensive because you now have to hold two sets of beliefs relative to the same action: memories (likely painful) that you will not act on, and an alternative set of beliefs that you will act on. Contrast the following pair of history-updates:- You betrayed me.
- You could have not betrayed me.
- I forgive you.
- I will deal with you in the future as though you did behave honorably.
- You betrayed me.
- I will forget the fact and rewrite history.
- You were true to me.
- Therefore I will trust you.
Ah, Prime Minister... It is characteristic of all committee discussions and decisions that every member has a vivid recollection of them and that every member's recollection of them differs violently from every other member's recollection. Consequently we accept the convention that the official decisions are those and only those which have officially recorded in the minutes by the officials, from which it emerges with an elegant inevitability that any decision which has been officially reached will have been officially recorded in the minutes by the officials and any decision which is not recorded in the minutes has not been officially reached even if one or more members believe they can recollect it, so in this particular case if the decision had been officially reached it would have been officially recorded in the minutes by the officials. And it isn't so it wasn't.This understanding of the function of meeting minutes in an organization is much more than just formal structure serving as myth and ceremony: it is historical memory being designed and deployed as in instrument of power, to sustain a particular course of promises made and broken, broken and forgiven. In particular, if it didn't happen according to the official record, it requires no forgiveness. By choosing what to remember, you choose what needs forgiveness. And given sufficient scale, the ability of institutions to truly forget and rewrite history can overwhelm the smaller-scale inability of humans to unremember. That smaller-scale feature of humanity operates at the level of living individuals and small tribes that make-do with oral histories. In other words, the inability of humans to forget extends to Gemeinschaft, but not to Gesellschaft. Usages like forget I said that represent forgiveness operating in Gemeinschaft, or community. The linguistic convention does not correspond to the literal action alluded to, since you cannot actually forget I said something through force of volition alone. You'd need some brain damage, induced by alcohol perhaps. In Gesellschaft, you could just have the local Humphrey Appleby record history as it is most useful to remember, after the fact, after utilities and implications have become clear. This is the default. When institutions need to actually remember, they use one of two major mechanisms to imperfectly imitate forgiveness. The institution of confession in Cathlolicism is of the archetype for the first mechanism: turking. If you think about it, that isn't actually impersonal institutions doing any forgiving. Instead, the human capacity to forgive is leveraged. Particular (in theory) worthy human beings -- priests -- are mythologized as gatekeepers of heaven. Their ability to forgive is institutionally extended to cover transgressions that are not specifically against them, and may not in fact be forgivable in other contexts. The priestly power to forgive is a power to forgive on behalf of humanity at large. You could say that priests are the mechanical turks of artificial forgiving. Homunculi within machine-like, rule-bound, outside-of-time atemporal institutions that do the one thing no set of rules and procedures can: forgive another human being. And remember what that means: to accept a memory but forbear from action on the basis of that memory. Institutions that are not built around priestly figures generally rely on the second mechanism: using the ability to officially forget and remember to produce a more accurate record of history, rather than an Appleby-like fabrication. Structured, procedural more-true rewrites modulating the impact of unstructured, natural remembering. The most familiar example of course is to be found in courtroom proceedings:
The jury is instructed to ignore that remark.
Strike that last remark.
Let the records show...
The court ordered those records sealed/unsealed
This isn't forgiveness, but nor is it arbitrary historical fabrication. It is consensual rewrite of history through an adversarial process that is hopefully more trustworthy than the fabrications of an internally cooperating bureaucracy. The advantage of the priestly method of turking forgiveness is that it can handle even the most ambiguous and messy record of events. Good priests can hear an account of your worst crimes, feel the pain your victims felt through empathy, and grant you absolution. Priests are theoretically ideal virtuous beings, worthy of being appointed the gatekeepers of heaven, precisely because they are supposed to be immune to the moral hazard of not actually being the ones transgressed against. So they can be trusted to dish out forgiveness on behalf of others. In theory. The advantage of the secular, judicial approach is that it relies on policing the act of record-keeping rather than directly dealing in promises and forgiveness. Judge and jury are algorithms trained to run on the official record of precedents and admissible evidence. They are supposed to be above the passions of conflict and produce procedurally fair outcomes and records. In theory. With both approaches, in practice, we have two disadvantages. A small one, and a big one. Blood Money The small disadvantage is that both turking and official forgetting involve reposing a great deal of trust in fallible individual humans. Neither priests, nor judges and juries, are generally deserving of the power to fake forgiveness on behalf of others. The big disadvantage is that neither actually solve the problem of artificial, institutional forgiveness. They merely sweep it under the rug of Gemeinschaft through acts of symbolic book-keeping. The limitations of Gesellschaft turn into the hidden wounds and shadow debts of Gemeinschaft. Consider:- A marauding colonial conquerer enslaves parts of an entire continent, and a guy in a box grants him absolution on the basis of a commitment to say a few prayers. But the survivors of the genocide neither forget nor forgive.
- Rules of admissible evidence within the world of judicial due process let a murderer go free, but the community cannot forget or forgive, and simmers for decades, until all concerned are dead.
- A thoughtless juvenile commits a crime, and the records are officially sealed. But Manipulative CIA Guy blackmails Former Juvenile Delinquent into doing a bit of spying based on blackmail using "sealed" records.
17 Comments
This same tension plays out in databases. It was learned painfully over decades that the only sane way to faithfully replicate complex state from one place to another, and achieve robust durability, is to build everything around an immutable log of changes. The user interface basically provides the illusion of mutability. Undo / rollback is an act of reparation, not an erasure.
The mnemonic is transactions : locks :: forgiveness : permission.
> history is simply everything that has been forgiven so far.
oh crap - mind blown. Almost a shame this buried so deep in the text.
This was great. It reminded me of Ted Chiang's "The truth of fact, the truth of feeling" https://subterraneanpress.com/magazine/fall_2013/the_truth_of_fact_the_truth_of_feeling_by_ted_chiang
When the father realizes that he can go back and watch the history of his relationship with his daughter he finds out the memory he had constructed was fake. Seeking forgiveness remains the only way out. You should read it if you haven't already.
http://makerdao.com/actions/
Perhaps blockchains might help phase out nation-states because national governments lag behind ordinary people in understanding and normalizing it to their routines and might be disrupted by it more severely. Also, blickchain-style records might eliminate some of the delusionary justifications for some regimes' behavior. Just my 2c.
Some are trying to make blockchains editable by giving a super-user undo powers. I'd argue that's no longer a blockchain, but the other side has "porn" and "the right to be forgotten" in their arsenal.
https://www.accenture.com/t00010101T000000__w__/es-es/_acnmedia/PDF-33/Accenture-Editing-Uneditable-Blockchain.pdf
https://press.swarm.city/meet-trelleth-73affcb82d02
Have you seen trelleth?
I think your memory works differently to mine. I really do come across code written more than 6 months ago that I simply don't remember writing. Hence the need for comments. As proof.
"As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, [...]"
"There's no forgiveness in the blockchain." David Harrison
I think the first time I wrote that was 2011. https://twitter.com/tradewithdave/status/778294162735165440
blockchain timestamp or it didn't happen 😂
So why are you invested in Etherium?
https://en.wikipedia.org/wiki/Ethereum#The_DAO_hard_fork
Solid post, some of your best writing yet (and I've read a lot of it).
Nitpick: you're talking about kintsugi (https://en.wikipedia.org/wiki/Kintsugi) which is repairing with gold, rather than wabi-sabi which is the aesthetic of imperfection. Though the former is an instance of the latter.
That comment is golden :D
You have sone really good gems here.
"history is simply everything that has been forgiven so far"
Getting past the unforseen surprise, getting past the broken, that which cannot be fixed, the human endeavor of forgiveness is what we ultimately write ourselves.
Holy fuck your blog is blowng my mind. Every day, more and more, because of my experiences in life, I keep coming back to thinking about forgiveness and kindness. Many of the blogs I have recently read on this site have mentioned kindness. This is the first I can recall which digs into forgiveness.
Forgiveness and kindness are actions humans can do, and they yield the most potential for positive transformations of individuals and society at large. Even if an act of forgiveness isn't initially understood or fully accepted by the forgiven, or by any observer, and they go on to do wrong again, the affect is cumulative. With time, eventually the true meaning of that forgiveness is felt, and once it is truly taken in it can lead to a positive transformation of the self, it can lead the forgiven to honor that act and be a better them.
Kindness is so closely tied to forgiveness...
When you meet a stranger, you have no idea what terrible wrongs they have done, what transgressions they have made. But everyone needs to be forgiven for them, and the best way to forgive a stranger is to treat them with genuine kindness when at all possible.
No one individual can be all kind and all forgiving all of the time to everyone, but with enough people in a society being kind and forgiving towards those people anyway, they can still benefit and become better people.
I have been absolutely loving the reading here on ribbonfarm lately, particularly today. Thank you!!!