1/ In Harry Potter and the Half-Blood Prince (book, 2005, movie 2009) Severus Snape makes an unbreakable vow to Narcissa Malfoy, with the spell cast by Belliatrix Lestrange.
2/ This was likely one of the first fictional depictions of a smart contract without a trusted third party involved (correct me if I'm wrong and you know of an older depiction)
3/ LeStrange cast the spell, and so served as a programmer of sorts, but the spell was not a unique power of hers, and her role was not to underwrite trust or bear witness.
4/ In fact, the spell was available to any trained wizard to use. The older Weasley twins trying to get Ron Weasley to make an unbreakable vow when they were kids.
5/ The unbreakable vow is self-enforcing, relying on the laws on magic, not a particular witch or wizard's trustworthiness, escrow, or enforcement services.
6/ There are irreversible magical curses and boons in older fantasy literature, but things vaguely like smart contracts with no trusted third parties are recent.
7/ The Monkey's Paw (1905) is almost a smart contract artifact. I'd be interested if you can think of older constructs that have some of the features of trustless transactions.
8/ Curiously, Nick Szabo wrote the classic Trusted Third Parties are Security Holes in 2001, only a few years before the Half-Blood Prince. Clearly an idea that was in the air.
9/ A smart contract is a combination of a handshake and a punchclock: a punchshake machine. Changes take a quick handshake-like action and are recorded in auditable form.
10/ The blockchain economy is going to be a punchshake economy just as the industrial economy was a punchclock one. Instead of factories, we'll have fat protocols.
11/ The industrial economy was based on two ways of measuring and rewarding work: the clock and the commission.
12/ Labor movement victories like the 5-day week, limited hours, and overtime are all ideas that relied on measuring time more precisely in auditable ways.
13/ In pre-industrial economies, clocks were rare (the village clock tower was a central time bank) and work was measured by the day. Measuring hours was a major leap.
14/ Where time spent doing work (or being available to do work) is a reasonable measure of effort, clocks support a good commitment protocol.
15/ Ubiquitous clocks allow buyers and sellers of labor to agree that a certain amount of money will change hands for a certain number of hours clocked.
16/ Wristwatches allow workers to "audit" factory clocks and punchclocks, and ensure employers aren't cheating them of wages by manipulating clocks.
17/ Where time is not a good measure of effort, or too easy to game, but output can be measured, you can switch to piece-work or commission-based structures.
18/ Sales jobs have sales quotas. Production jobs have output quotas. If you can measure the output, and it correlates to effort, you can measure and reward work.
19/ Knowledge work though, falls through the cracks. It is hard to measure knowledge work through either time instruments or output instruments.
20/ A joke about car repair illustrates the problem. Guy takes his car in for a weird noise. Mechanic takes a quick look, tightens one screw, and noise stops. Bill: $50.
21/ "You just tightened one screw!" says the irate customer. Mechanic replies, "Cost of tightening screw, 50 cents. Knowing which screw to tighten, $49.50."
22/ The joke illustrates both the positive and negative aspects of knowledge work, and why neither market nor organizational technologies from the industrial age quite work.
23/ Negative aspect: there's a principal-agent problem. You have no way of knowing if $49.50 is a fair price or an outrageous distortion of a theoretical market price.
24/ There are 1000s of such fine-grained details in knowledge work that markets cannot price. There isn't enough legibility and liquidity around "screw tightening" microtasks.
25/ How would you even price-shop? Would you loosen the screw and take it around to a bunch of other mechanics? Would the first mechanic agree to have his claim tested that way?
26/ Positive aspect: knowledge is leverage. An honest but ignorant mechanic might spend hours, at $50/hour, getting nowhere. Results, not time, are the better measure.
27/ Measuring "output" is equally hard. Too much of knowledge work is illegible intermediate products and services, with "output" valuation events being rare.
28/ In piece-work, the unit of work is small, individually capable of being valued. In piecework shirt-making, every shirt is effectively a nano-scale IPO.
29/ In knowledge work, the chain of value addition between valuation events can be very long. Research lab work can take decades to get to any sort of market liquidity event.
30/ So it is hard to value or compensate it during rare payoff events, even within a single organization, let alone things like basic research --> commercialization flows.
31/ Real-life example. Once as a postdoc I needed a way to figure out if 2 polygons were touching, overlapping or disjoint. I came up with a bad way requiring a lot of ugly code.
32/ I described the problem to a smarter friend and he pointed out a way to use linear programming to solve the problem much more elegantly in just a few lines.
33/ Both of us were being funded by government grants in a research university. The consulting transaction worth maybe $50 was "covered" in the slop between our paychecks.
34/ In industrial work it is inefficient to even attempt to value such things. So we aggregate them by type in "organizations" (like universities) where things sort of balance out.
35/ We vaguely assume that free, unmetered exchange of ideas/work in organizations like tax-funded universities eventually pays for itself in economic growth decades later.
36/ This is a dangerous assumption. When it works, great. When it doesn't, it creates entire sectors of bullshit work and vast inefficiencies in invisible markets.
37/ Financialization of work -- measuring it in ways that can be real-time valued using markets -- sounds awful and dystopian, but is a check-and-balance on bullshit.
38/ But how do you capture such knowledge economy watercooler transactions? Count lines of code? Create super-detailed meta-work processes to track it all?
39/ Should universities create such things as "5 minute watercooler consult support request token?" It sounds like an awful idea and instinctively bad. But is it?
40/ Historically, watercoolers have catalyzed handshake economies: people build up trusted networks of people with complementary skills and trade favors around them.
41/ The only contract is a handshake: the assumption that over time we'll all do our sincere best to return favors and, as friends, not screw each other over intentionally.
42/ Handshake economies though, don't scale, and are hard to seed. It takes about a decade in a career to build up a useful favor-trading network of trusted friends.
43/ We instinctively suspect that an idea like "watercooler consult token" would in practice be Kafkaesque bureaucratic authoritarian high-modernism.
43/ But mechanisms like reddit karma, frequent flyer accounting schemes, and looser constructs like "likes" and "faves," suggest an alternative realization.
44/ They suggest that you can measure and quantize favor economies without "legibilizing" them in ways that make their functioning bureaucratic and authoritarian.
45/ Pre-blockchain credit/karma economies like on Hacker News, Stack Oveflow, Reddit, and Quora managed to model "favor balances" in knowledge economies at a toy level.
46/ But these mechanisms hit complexity and value ceilings. We only put in low-value downtime labor that we are willing to give away for goodwill chump-change.
47/ Clay Shirky's notion of cognitive surplus has so far been mostly cognitive exhaust: the lower-value "waste" brain time that we'd otherwise be spending on TV.
48/ At their best, Wikipedia, Stack Overflow or Quora are 10x higher quality than equivalent "paid" information. Cognitive exhaust is real value, but not yet serious surplus.
49/ There are limits. You have to rely on a confluence of factors: your need being somebody else's status-seeking passion, and timing (coincidence of wants) working out.
50/ When you need more serious levels of effort and commitment, and include time deadlines and specifics of instances of problems, cognitive exhaust isn't enough.
51/ Even the most brilliant answer to a general math question is no use when what you want is a piece of code that implements that answer for a specific data set by next week.
52/ There are two limiting factors here. The first is transaction costs of contracting. You can't be writing bespoke contracts for all these fluid, non-standardized value exchanges.
53/ Neither can you be entering into heavy-duty, overarching employment-style contracts, with enough slack to cover indefinite streams of illegible value exchange.
54/ The second limit is more significant: the need for a trusted third party. When value and complexities are significant, and two-way trust isn't strong enough, you need a third party.
55/ You may trust the admins on Reddit to maintain decent accounting schemes for low-value status points earned from cognitive exhaust, but not for real focused effort.
56/ On the other hand, the handshake economy doesn't scale even if there is high two-way trust all around because non-rigorous estimates of value can drift and cause conflict.
57/ If you have a lunch buddy and take turns paying for lunch, it's easy to keep track and ensure lunches owed never exceeds say 1-2 sandwiches, but that's the complexity limit.
58/ "Hard" currencies solve the problem by allowing periodic settling of accounts. So the unsettled part of the handshake economy is never allowed to go grow too big to fail.
59/ Hard currencies are to generic value accounting as village clocks are to time accounting, and historically actually evolved with time-keeping technology.
60/ To scale industrial work beyond village-sized economies took the proliferation of wristwatches, smaller mechanical clocks and punchclocks.
61/ To meet the needs of large-scale businesses like railroads, which spanned many local village-clock times, time zones had to be invented.
62/ Thousands of uncoordinated local-dictator "village clock" times were replaced by centrally coordinated time-zones, but audited by individually owned watches/clocks.
63/ This was centralization of time-coordination, but decentralization of time-keeping. The idea that people can actually agree/disagree on what time it is requires watches.
64/ Central time-coordination (first railroads, then governments) has to agree with local and individual time-keeping. This is such a familiar fish-in-water idea we forget it.
65/ One example of how this works is railroad delays. Whether it's a dictatorship or democracy, people can tell if trains are running on time or late down to the minute.
66/ Time manipulation became prohibitively expensive with wristwatches. To cheat factory workers or train riders, you'd have to tamper with far too many clocks.
67/ Distributed time-keeping was in fact the first, narrow kind of smart contract. You could eliminate trusted third parties to the extent their only role was to audit time.
68/ In fact, arguably, traditional fiat currencies such as the dollar became viable precisely because distributed time-keeping allowed them to be used as "time protocol tokens."
69/ Wristwatches were the first blockchain. Fiat currencies were the first tokens, accessing the first fat protocol: based on "mining" human labor in factories rather than gold.
70/ Sure you still have to trust watchmakers, but they are like programmers. They are not party to every time-based contract, and don't supply underwriting, escrow or witness services.
71/ If you agree to pay a babysitter $15/hr, you can "confirm" start/end times with any random stranger, and it doesn't have to be the same stranger at start/end.
72/ To time-cheat a babysitter, you'd have to create a really expensive conspiracy with your neighbors (like 51% attacks on blockchains). There are no time-judges to bribe.
73/ It's still not completely trustless. You need a pool of random strangers all wearing reasonably accurate watches, and the ability to find one anytime.
74/ It's harder to collude with the pool of local watch-owners than to bribe individual judges, but not as hard as hacking a sunrise/sunset in pre-industrial day laboring.
75/ Now how do you do this with other elements of contracts besides time? Enter punchshakes. Protocols for agreeing on anything, anywhere, not just time in factories.
76/ The phrase "code is law" doesn't quite capture it. Mere coded contracts have been around forever.
77/ Long before we were mindlessly clicking 10-page EULAs for "free" web services, we were mindlessly signing paper contracts that ran on human-bureaucracy computers.
78/ Contracts have always had code-like qualities. Lawyers are programmers of computers embodied by the judiciary, running "rule of law" operating systems.
79/ Law has always been code-like, and code has always been law-like. And both have always relied on centralized "village clock" kinds of third-party trust.
80/ Ordinary code does not actually tackle third-party trust issues. You buy a computer, you rent code from Apple or Microsoft, and and hope hackers don't interfere.
81/ Ordinary law also does not actually tackle third-party trust issues. Rule-of-law depends on institutionally certified human third parties playing roles like judge or referee.
82/ In traditional law and traditional code, third parties are trusted not because they are saints but because we structure incentives to make them disinterested and impersonal.
83/ Low-paid judges can be bought in big cases. Sports referees can be bribed by bookies if gambling is big. Certificate-issuing authorities can be corrupted/hacked.
84/ In the time example, if the village clock is the only clock, the rich factory owner could bribe the clock-tower attendant to mess with it.
85/ Code-is-law philosophy is actually code-is-law-without-fixed-judges. There are still "lawyers" who program smart contracts, but you can eliminate judges in some cases.
86/ More precisely, you can replace judge-like roles with a mix of things verified by mathematics, and functions supplied by randomly sampled members of a "crowd"
87/ Just as random strangers with watches can audit time for 2 parties, random nodes in a blockchain can monitor changes to smart contracts, and verify digital signatures.
88/ In traditional contracts, witnesses can sign contracts without understanding them. But specific witnesses may still be required later to confirm that the signature is theirs.
89/ That idea generalized is the ability of anybody to confirm anybody's digital signatures. Add automated execution of contract terms, and you've eliminated a LOT.
90/ About the only roles left for trusted third parties in a smart contract is interpreting and arbitrating terms and changes that are not automatically executed by machines.
91/ This development is comparable to the proliferation of wristwatches allowing anybody to audit time claims and detect manipulation of village/factory clocks.
92/ Steve Jobs once called the personal computer a "bicycle for the brain." Blockchains can be understood as networks of "wristwatch courthouses without judges"
93/ This has its own problems of course, smart contracts can have bugs and exploitable holes, just like the law, and we've already seen interesting exploits.
94/ And just like the law, as particular smart contracts age (forming a sort of body of case law), they will have bugs squeezed out and become more reliable.
95/ The difference is, you don't need an assumed institutional context to use the system, let alone one monopolized by powerful political entities with guns or bribe-able judges.
96/ The best part? As the store of available, tested, smart contracts grows, it will become easier and easier to modify robust existing contracts for your own needs.
97/ For more structured classes of uses, rather than writing or copying individual smart contracts you will be able to simply use negotiation and contracting protocols.
98/ What are being called protocol economies powered by "tokens" can be thought of as a way to put a lot of the logic required for a smart contracting domain in the background.
99/ All the variable elements in a particular context can then be reduced to the simplest possible kind of punchshake machine: a token.
100/ So yes, a "watercooler token" for getting expert math advice from a colleague is a realistic idea. You just have to replace the entire research university with a protocol, nbd,
NERD BONUS: Here's an in-the-wild twitter tweetstorm I did a month ago on the history of how ethernet evolved as a "double-spending" type protocol from older token-based bus/ring networks and how they weirdly relate to blockchains/protocol economies.
|