Oldschool Internet & The Blockchain

Oldschool Internet and Open Standards are under assault from big corporations. Blockchain can help.

Aren’t you tired of typing your passwords over and over again? About wondering which email did you use to sign up for this particular site? Was it Facebook login? Oh no – you got another notification that another site got hacked. Jon Stokes, The author of “The Billion User Table” predicts that these problems could soon be over, with identity moving on the public blockchain.

the public blockchain amounts to a single, massive users table for the entire Internet, and the next wave of distributed applications will be built on top of it.

He presents a future where the equivalent of “Google Login” will be baked into the fabric of the Internet in a safe, distributed (not owned by any corporation) and secure fashion.

When you’d visit a service you want to sign up for, you click a button, the browser already knows who you are, and BAM, you’re there.

There’s no on-boarding or sign-up friction

If you are not creating software, this may not seem that important, but you’d be surprised how effective removing a single step is for helping users join. When I was working on monetization tools for WordPress.com customers, simplifying one step in checkout resulted in hundreds of thousands of dollars of revenue for the creators on our platform.

Jon summarizes it succinctly, and I love this phrasing:

Adding rows to your platform’s users table is how you win at software.

He also presents this outcome as inevitable, since the companies using the protocol would benefit from the network effects of this protocol being already present in our digital lives:

My guess is that the temptation to take advantage of blockchain-sized network effects will be so great, that companies will default to putting data on-chain rather than keeping it siloed.

The idea of an interoperable, distributed user table sounds very appealing to me as a programmer/hacker. That is also why it sounds very scary to me as a user. Let’s explore how can we make it safer, and why we need to.

We’ve already been there

The first thing that came into my mind is that we’re already there. We have email, an open standard that is effectively a distributed “user table” – when you sign up for a new service, they will most likely ask you about your email address.

  • The addressing system ( user@domain ) is distributed between domains.
  • It’s an open standard, not owned by any one corporation
  • It has built-in messaging, so at least one level of interoperability
  • One-click sign-ins are possible with email. Slack and WordPress.com will sign you in to your account with one click by sending you a “magic link” to your email. I have implemented this functionality myself and wish more services used it
  • It can be even turned into a “Social Network”, with built-in DMs and distribution – something that newsletters take advantage of
  • Tangentially: The biggest gripe that people have about email – long reply-all threads – have a few characteristics of the blockchain itself

In the 2000s, we have regressed from Email and other (like XMPP and RSS) open protocols. I remember being able to respond to Facebook Messenger messages over email. Now, the consumer internet seems to have fractured into private data silos, requiring a separate app for each simple thing I’m attempting to do. Ben Thompson points it out in “The Web’s Missing Interoperability“:

That, though, points to Web 2.0’s failure: interoperability is nowhere to be found

Sometimes this interoperability is removed on purpose, in an effort to bootstrap a gatekeeper that could reap all the network benefits:

The Facebook Cannibalisation manouver

Facebook also used to support XMPP – an open messaging protocol. I think it was the key to bootstrapping their Messenger platform in what I call The Facebook Cannibalisation Maneuver:

  1. Support wide access to your platform by supporting open APIs
  2. Attract technically sophisticated early adopters because they have nothing to lose – the platform already supports their apps
  3. These technical users help convince more people to join the platform
  4. Reach a critical mass to start seeing network effects on the platform internally
  5. Turn off the open APIs that were previously supported. Technical users are disappointed, but it’s not an issue anymore.

That’s why I’m skeptical about this assertion from the Billion User Table:

My guess is that the temptation to take advantage of blockchain-sized network effects will be so great, that companies will default to putting data on-chain rather than keeping it siloed.

I’m sure big players would welcome this protocol with open arms, suck any data out of it, and turn off support later, citing privacy issues.

Privacy&security concerns

The author does not go into privacy concerns too much, and I think these are all solvable problems that will be worked out in time. But I’m going to list them regardless because we don’t want to escalate problems to the level where the federal government has to step in, like in Europe with GDPR.

  1. We need to prevent users from being tracked across sites without their explicit consent. You probably don’t want every service you use to know you have a Tinder account, for example
  2. There needs to be built-in pseudonymity (as explained by Balajis) and a mechanism to switch “contexts.” People need burner identities and a mechanism to transfer data or “karma” to those,
  3. We need mechanisms for permission levels.
  4. We need a better mechanism for retrieving access than a private key. People will lose access, or fraudsters will steal them,
  5. At some point, governments will need to be involved, and this will create a whole new set of issues,
  6. We need to solve the spam

The Apple problem

The biggest obstacle to adopting a distributed, interoperable data store will be Apple. They deserve recognition for their effort in keeping your data private, but it’s downstream from their business model – lock you inside their ecosystem and prevent others from challenging their position.

You could argue that there are alternatives, but the dominant position of the iPhone means that you have to obey their rules if you want your app/service to be successful. And you know Google will eventually copy each one of these rules into the Android ecosystem:

  • If you want to distribute your app to iPhone users, Apple has to review it and agree. There is no other way
  • If you are offering a “federated login” option, like Facebook Login or Google Login, you have to offer the “Login with Apple” as well
  • If you are selling access to any digital goods on iOS, you have to use the Apple In-App-Purchase system, giving 30% of your income to Apple
  • Apps cannot “talk to each other” directly, only through a very small set of APIs. Apps don’t have any access to the filesystem, because of what is called “app sandboxing”.
  • Offering a different version of the experience provided by Apple is often forbidden

Apple’s strategy seems to move all interoperability into the Apple ecosystem and frameworks, making apps themselves interchangeable and commoditized. “The Billion User Table” is unlikely to work on iPhone because Apple effectively monopolized all the exciting benefits.

The app and services developers have to fight back by closing their own gardens and motivating users to stay within their properties. That’s why I think it’s unlikely to see big players participating in this interoperability.

We desperately need it to work

We still have a few open standards left: RSS is still powering podcasting, although Apple and Spotify are making moves to supplant it. The Web is still working, although it wouldn’t be permitted on the iPhone if it was created today. We have to protect and extend them. Working on open standards, and adopting them by “small players” is the only way to protect the Internet against the network effects of big players, and The Apple Problem.

I think we can extend existing “footholds” of interoperability, and work from there:

  • RSS: Sync the state of what podcasts I have listened to, or am listening so I can easily switch between the apps,
  • Email: Earn.com was a nice idea to give you money for replying to messages so people have to be motivated to spam you. Although I’d prefer a karma sytem.
  • XMPP: the open messaging protocol is close to dead, unfortunately and I have no ideas how to save it
  • HTML, JavaScript and CSS are being obfuscated by source minification and precompiling of source code – something that blockchain probably won’t solve and it’s a different story.

I agree with the author of The Billion User Table that we need interoperability, and I’d be happy if we started by bringing back the protocols of the 1990s. Blockchain solves the issue of “who hosts the user data, ” which is a brilliant insight in the original article.

But I’d start with throwaway identities and small stakes. We need to prove the concept before attracting regulator attention and big players’ cannibalization. Starting with extending and protecting existing open standards will let us understand the tradeoffs between privacy and interoperability. And we desperately need the latter – as the current privacy debate favors Big Tech. Per Ben Thompson:

I worry even more about small businesses uniquely enabled by the Internet; forcing every company to act like a silo undoes the power of platforms to unlock collective competition (a la Shopify versus Amazon), whether that be in terms of advertising, payments, or understanding their users. Regulators that truly wish to limit tech power and unlock the economic potential of the Internet would do well to prioritize competition and interoperability via social graph sharing, alongside a more nuanced view of privacy that reflects reality, not misleading ads

Where I disagree with Jon Stokes is that it will upend the present Internet. It is the missing piece of the original Internet, which was correct on so many ideas. I miss it a lot.

Organic Governmental Disruption

I rarely meet a person happy about their government. Complaining about legislation seems like a universal bonding experience comparable to football. What if we could improve this situation?

Voluntary Governments makes a case for utilizing blockchain and DAOs to run governments. The main benefit would be a fast pace of iteration, the ability to test different policies quickly, and the dream of curbing the identity politics cesspool. This essay is a review of that post in which I make a case for allowing the government to be disrupted instead of actively working to replace it.

In the original piece, the author argues that if only we were able to A/B test fast enough, we would be able to run our cities and countries with the efficiency of startups.

Why can’t nation states be disrupted or rapidly improved? Because the mechanisms in place don’t allow sufficient A/B testing

The author points out, that the current American 2-party system allows for change, but not improvement. It’s running in circles, and you are only allowed a “narrative flip” every 4 years.

Test option A. Don’t like it? Test option B. Don’t like it? Back to A, and hope it got better since the last time we tried it.

So what’s the alternative then?

Imagine the first digital political party. Supporters contribute money on the Ethereum blockchain, and as long as their donation is more than ten dollars, they receive a voting token. If you join any other parties, you lose your token. Voting controls all decisions of the political party, and the money supports those decisions. Majority vote controls presidential candidate and VP. Majority vote hires campaign manager and sets salary. Majority vote decides campaign trail. Majority vote chooses best logo design. Think that’s the worst way to set up a political party? Okay, you should build one too. Write your own rules into your party’s code. Let’s see who gets elected.

What I love about this proposal is that’s not designed to be disruptive. It’s using the existing system (introducing a new party) with its own rules. That party can, of course, codify those rules into the new default system, if they have enough support, but that’s not required for the plan to work.

The proposed solution is essentially bootstrapping Direct Democracy onto a Representative Democracy system.

But I think the future of governance is different than just more of the past. Once things are digital, we are dealing with exponentials.

The 6 Ds of exponentials

Peter Diamandis, in the book “Bold” has outlined the six forces underlying exponential growth of organizations, technologies, and products:

  • Processes get digitized,
  • Initial small growth is deceptive, so the entire thing is dismissed,
  • Monetary barriers get demonetized, allowing zero marginal cost economy,
  • Physical processes get dematerialized
  • The market forces start being disruptive to the status quo,
  • Once everything is digitized, demonetized and dematerialized, then all the barriers are removed, and things are truly democratized

DAOs and cryptocurrencies are digitizing, dematerializing, and demonetizing both governance, and finance. If we are to believe Peter and follow the exponential framework, disruption and democratization is the only logical outcome.

Demonetizing finance sounds like a contradiction, but keep in mind that transferring money, banking, and transactions have their own cost. Removing even that small friction can lead to a zero-marginal-cost revolution in finance.

Are we trying to disrupt the government?

The word Disruption has recently become a running joke in tech circles and for good reason. True disruption happens when the market spontaneously shifts into a reality where the old rules don’t apply anymore.

But this is not a planned process, despite what pitch decks claim. The disruption does not come from “I don’t like these rules so let’s throw them out and put something else”. Disruption is an organic, bottom-up process. Everything just changes, because few trends work in tandem and create a self-reinforcing societal shift.

Wilting of the nation states

Just like the author of “Voluntary Governments”, I am convinced that governments will be disrupted, but the end result won’t be something we can easily predict. I’ll try though – this is only one of possible directions:

  1. Blockchain, DAOs, and cryptocurrencies will be used in pieces of the current paper procedures. Let’s say a country starts keeping real estate deeds on the blockchain.
  2. Parts of administration will slowly start using smart contracts, reducing the ambiguity of “wet code” (aka people interpreting the law, like judges, officials, inspectors, etc),
  3. Due to increased transparency and visibility into administration, whole new business models will be enabled at the fringes of governments’ responsibilities,
  4. Those businesses will take more and more of “governments job”, reducing our reliance on the actual government
  5. What’s left for the government to do? I don’t know. We’ll see the first experiments in the Startup Cities

I don’t really want to disrupt the Government

Author admits, that the slow innovation of government can be a feature:

Some might argue that the amount of time it takes to evolve the government is a feature, not a bug. I would even agree with that, to a certain extent. The Lindy Effect is on the government’s side here, and ensuring that changes take months or years means that we only make changes that are safe

There are multiple reasons to be conservative with your government:

  1. Governance has a disproportionate power to create unwanted results (think war), so introducing untested technologies, approaches, and structures is very risky.
  2. Economy and governance are second-order chaotic systems: They react to predictions about possible reactions, in a self-reinforcing loop. Live experiments on such a system can have unintended consequences. Testing it beforehand is virtually impossible since possible side effects turn up many years down the road.
  3. Government is also the ultimate safety valve for everything else. We can grumble about bank bailouts, but to a certain extent, we all pick up the tab so that a policy failure does not spin out of control. If we start experimenting with our backup plan, what if it goes wrong?

I cannot let you do that: A case for expiry date

Evolution is an unmatched iterator. It created literally a whole world (maybe a universe, we don’t know) of highly-adapted species, perfectly matched to their ecological niches. It also created its own safety valve: Apoptosis. Cells are programmed with a “death protocol” to stop runaway mutations.

I would argue that any autonomous governance system should have a built-in “sunset”, ideally in form of expiry date. Isaac Asimov, Stanley Kubrick, and countless other Sci-Fi authors ran mental experiments and reported that even the smartest well-intentioned sets of rules can (and will) go wrong, given sufficient time.

There is nothing I fear more than Runaway Autonomous Bureuocracy, so I’m careful about DAOs.

Medieval Iceland had an expiry system for the law: Lawspeakers. Every 3 years, where the general assembly gathered, Lawspeaker has recited the entire law from memory. If he forgot about an obscure rule – it clearly wasn’t important enough to pass by default. Relying on memory may not be the best way to introduce stability, but I really love this version of legal auto-destruction.

We now have a technology to bake the expiry date into smart contracts. This would introduce long-term uncertainty about future rules, but it would prevent runaway perversion. The expiry date may not be enough though. The second cause of mortality in the USA is cancer – a failure of the Apoptosis check & balance system. We may need a human oversight after all, precisely because it cannot be coded.

The best outcome may be a weaker government

I don’t believe the biggest value of blockchain-powered governance is running a trustless system. I think the core value is making interactions between policy and outcome explicit. If you remove the meat code from between policy and implementation, then you have more clarity about interventions and their outcomes. You can remove the interfering variables from the equations and run real experiments.

Then maybe governance CAN be just first-order chaos. I don’t think we need blockchain to deal with the top-level organization of the government. I think it’s much more valuable in the messy middle, protecting good intentions from turning perverse.

I think we can trust people to try to do a good thing. If only we knew what exactly that is.