This is an excellent piece, one that powerfully situates Ethereum in a broader context. But for me, it raises a question. And, to be clear, I’m asking as someone excited about Ethereum, with a plan or two for software to build atop it.
When discussing “The philosophy of data,” you say this:
Each enterprise builds their computer system in their own image, and these images disagree about what is vital and what is incidental, and truth does not flow between them easily.
And a bit later, this:
The epistemological problem is quite severe. Databases, as commonly deployed in our organizations, store fact…But when data leaves one database and flows into another, it crosses an organizational boundary. For Organization A, the contents of Database A are operationally reality, true until proven otherwise.
And continue on with this excellent example:
If you think this is a silly example, the Mars Climate Orbiter was lost by NASA in 1999 because one team was using inches, and the other, centimeters. These things go wrong all the time.
And, I’m all there with you. Absolutely, one hundred per cent. This NASA example highlights how numbers are not self-describing; they need additional information — units, in this case — in order to glean their meaning.
But this is where, for me, things start to go off the rails. As far as I understand — and as this article seems to reinforce — Ethereum does not actually help with NASA’s problem. At least, not directly. The Mars Climate Orbiter was lost not because different teams had different data, but because they had different interpretations of the data.
Of course, one could say that, were this particular bit of data exchanged through Ethereum, then it would have necessarily included units with it…but such enforcement would have to take place through a specification about the meaning of the data. Such specifications are easily expressed in those other mediums — e.g., JSON, SOAP, etc. — that you mentioned. In other words, specification is not a unique property of Ethereum (or blockchains in general). It is not their special sauce.
I think the best way to make this distinction clear is to call on Noam Chomsky’s most famous sentence:
Chomsky used this sentence in his 1955 thesis to demonstrate the absolute separation between syntax and semantics. It’s structurally correct (syntax), but utterly meaningless (semantics). It’s an even stronger class of mistake than the one NASA made, but syntax alone cannot prevent it.
To the best of my understanding, Ethereum took the basic ideas of Bitcoin, which was both a syntactic (the blockchain) and a semantic (the currency) system, and stripped down to provide a syntactic system that could support arbitrary semantics. And that’s a really, really great thing. It makes available the certainty of blockchains to so many other areas of life.
But it also makes for a problem when you discuss what amount to semantic failures. The Mars Climate Orbiter was a problem of inadequate semantic agreement between those two teams. The teams agreed to exchange data; let’s assume that meant using Arabic numerals and writing it down on paper. Those are the syntactic aspects. But what the numbers meant, how they should be interpreted — those are the semantic aspects. Switching syntax from numbers and paper to bits and Ethereum wouldn’t have helped; they still would have lacked agreement on units.
Backend data synchronization between two collaborating companies — another example you gave — often has syntactic challenges, but those tend to be mostly tractable (albeit time-consuming, error-prone, and expensive). It’s at least as, if not a more nasty problem when there’s disagreement on the meaning or representational forms of data: e.g., one television network thinks of their programming as “shows,” but another thinks of theirs as “telanovelas.”
In cases like these, it’s tempting to assume sameness and look for some common abstracting or normalizing term to describe the two. Are these things the same, or different? What are their defining properties? Are the differences between the properties of a given telanovela and a given show more or less than the differences between that show and another show? These questions, like turtles, go all the way down. And the epistemological problems inherent in defining schemas for all the things have been pretty well understood for a while.
Maybe I’ve missed something fundamental about Ethereum, and there’s semantic solutions hiding in there. But I suspect it’s subject to the same limitations as everything else. If so, then its magic only works when people hammer out a semantic standard, then agree that that data represents something real and useful. (Smart contracts are one pattern for such standards, I think).
If I’m right, and Ethereum really is just the syntactic layer, then I think it’s harmful to Ethereum (and blockchain tech generally) to set unreasonable expectations for it. Just being a syntactic layer is still fantastic. That’s really, really important magic — so why muddy the waters by saddling it with problems it doesn’t intrinsically solve?