Simple Systems

I think a lot about systems — for personal organization, for business automation, for urban information, for financial infrastructure, for the internet, etc. On a big macro level, I have always been fascinated by the way that many forces, people and ideas come together to make things. And on a micro level, what it takes to say, keep your finances in order, or keep your to-dos rational, etc.

One thing I have found to be true is that simple systems tend to work better. They are easier to understand, easier to maintain, and easier to work with. TCP/IP, Bitcoin, putting to-dos directly into your calendar. Less is more.

At the same time, complex systems are appealing — sexy, sophisticated, alluring. But can be hard to use and costly to maintain.

I find that it’s a constant struggle to remind oneself that simpler is usually better. A system is only as good as its implementation and execution. And the best systems can be used broadly over a long period of time.

I was reminded of this recently when reading Greg Kogan‘s post on how Simple Systems have Less Downtime. He goes into some detail on this subject, looking at examples as far apart from one another as a container ship that can be manned & maintainer by a tiny crew, and marketing automation scripts that can be maintained by a team over time. It’s great reminder.

This is a variant on the old mantra from Derek Sivers that ideas are a multiplier of execution. In other words, it’s execution that matters, and the quality of the idea can multiply the outcome, but without execution it’s just talk.

This month, my simple system is: travel less and wash hands more. Hopefully that will help.

Forcing Change

I’m supposed to be in Europe this week to speak at a conference and attend another one, but I decided to stay home, to be safe. I am hearing all sorts of stories of events being called off and flights being canceled. It’s estimated that the airline industry’s 2020 revenues could go down by 40%, or over half a trillion dollars.

People are changing their behavior.

It is not easy to get people to change behavior. Typically it only happens when there is something really amazing or really awful stimulating it.

In this case, take the climate crisis. Clearly, transportation, including air travel, is a huge contributor to greenhouse gases. And while there is tangible progress particularly around EVs, there has not been large scale behavior change when it comes to transportation patterns, until now.

Of course, this may not last. Hopefully COVID-19 passes with time just like SARS and MERS and the Swine Flu did. And it’s likely that, by and large, we return to our previous patterns.

But it’s also possible that this episode causes some lasting change. Online video is amazingly good now, and is increasingly a viable substitute for certain kinds of in person meetings, or even an improvement, all things considered. For one thing, online/video meetings are much more accessible, meaning you can generally get a more interesting and diverse set of attendees than you can for IRL events. And, for less than the cost of a single plane ticket, you can outfit your desk with big huge monitors and a good camera (I just did this recently).

As such, it feels like one output of this situation will be a broader comfort with videoconferencing, and I think that’s a good thing. It’s certainly been good for the Zoom stock price.

But thinking more broadly, it just goes to show that change does not come cheap. And it often only comes by the force of something really powerful, either positive or negative.

Bird by Bird

Sometimes things can get overwhelming. Tasks can seem too big to even begin.

This, of course, is not true. Every journey begins with a single step, etc.

My wife recently pointed me to this great passage by Anne Lamott which puts it yet another way:

“Thirty years ago my older brother, who was ten years old at the time, was trying to get a report on birds written that he’d had three months to write. It was due the next day. We were out at our family cabin in Bolinas, and he was at the kitchen table close to tears, surrounded by binder paper and pencils and unopened books on birds, immobilized by the hugeness of the task ahead. Then my father sat down beside him, put his arm around my brother’s shoulder, and said, ‘Bird by bird, buddy. Just take it bird by bird.

Bird by bird.

I like that.

Cryptographic Identity

Last week I wrote about the inherent tension between data portability and privacy, and suggested that one solution would be an exportable “privacy context” that could travel with ported data. Such an approach, however, would require a notion of identity that is broader than a single account at a single company. Rather, it would require the linking of one or more “proprietary identities” (i.e., accounts at tech companies) with some type of “cryptographic identity” (private key) that really “belongs” to that person and represents them in a more holistic and permanent way.

This is not a new idea. Since at least 2017, both Keybase and Blockstack have enabled social media users to attest to a linkage between social accounts and a cryptographic identity. Here’s what it looks like on Keybase, and here’s what it looks like on Blockstack. Neither Keybase nor Blockstack are currently promoting this routine front & center, as it is admittedly a geeky thing that appealed (back in 2017) to identity explorers, but not to mainstream consumers.

But today, we are starting to see some new signs of life on this pattern, and I think we may be nearing some drivers that have the potential to bring it to mainstream scale. They are:

1/ Fun. It may be that some sort of social game figures out a way to bring crypto identities mainstream. For example, 2100 is a project that popped last fall, which let people issue tokens corresponding to their Twitter accounts. Interesting idea, though it seems to have lost some steam, at least for now. Another project that’s looking to connect crypto assets / identity to social identity is Roll, which lets anyone create “social money” connected to their social identity. You could imagine this taking off with social media influencers with large audiences, who are already super good at finding ways to commercialize their online presence.

Combining fun and money can be powerful. And from that, I think some of the more principled / architectural components will become more obvious and valuable over time.

2/ Privacy & Security. Speaking of Keybase, where they have focused more recently is secure, encrypted messaging, as a consumer use case building off of the core infrastructure. Related, are two separate projects called “Dmail” — and — the former lets you encrypt emails that you send across unsafe channels (like Gmail or any other email client) and the latter is a full system for sending private emails. One of the things you get with a cryptographic identity is the ability to encrypt and sign messages. It makes sense that this will be at the the center of a driving consumer use case. Privacy is more of a mainstream feature every day, and it can’t just be Apple that provides it.

3/ Compliance. Compliance is where this post began, thinking about coming regulations around data portability, interoperability and privacy, and where I’ll end it. While I don’t expect that we will get direct guidance towards cryptographic identity from regulators, it may be that cryptographic identity becomes clear as part of various compliance solutions.

For example, all payments systems need to comply with so-called Know-Your-Customer (KYC), Anti-Money-Laundering (AML) and sanctions rules, including the so-called Travel Rule which requires that both senders and receivers of funds verify identities. On the surface, cryptographic identities are digital bearer assets and would therefore seem to be at odds with formal identity systems. However, it may be that we come to use cryptographic identity components (e.g., blockchain accounts, digital signatures, or even non-fungible tokens) in creative ways to satisfy some of these requirements, vs. traditional methods employed by companies like Persona, Alloy and others today.

To tie it all together: In this week’s “On the Brink” podcast, Nic Carter and Matt Walsh from Castle Island Ventures talk with Balaji Srinivasan about social media handles as property, which potentially combines both the “fun” and “compliance” angles discussed here. It does feel like your online identity, whether it’s a bitcoin or a twitter handle, is a form of property and should be treated as such.

Data Portability and Privacy

Earlier this week, I spoke at a Justice Department / Stanford conference about antitrust issues in the tech sector. Our panel included Patricia Nakache from Trinity Ventures, Ben Thompson from Stratechery and Mark Lemley from Stanford. If you are interested you can watch the whole thing here:

The main point I tried to make was that cultivating the development of blockchain and cryptonetworks is actually a critical strategy here. Regular readers will know that I don’t shut up about this, and I held to that on the panel. This point is painfully absent in most conversations about market power, competition and antitrust in the tech sector, and I will always try and insert that into the conversation.

To me, blockchains & crypto are the best “offense” when it comes to competition in the tech sector. Historically, breakthroughs in tech competition have included an offense component in addition to a defense component (note that the below only focuses on computing, not on telecom):

Credit: Placeholder / USV

The “defense” side has typically included a break up (US vs. AT&T) or some kind of forced openness. Examples of forced openness include the Hush-a-phone and Carterfone decisions which forced openness upon AT&T. Several decades later were the (ongoing) battles over Net Neutrality with the ISPs. The discussion about data portability and interoperability brings the same questions to the applications / data layer.

Data portability & interoperability are important for two reasons: 1/ because they focus on a major source of market power in the tech sector, which is control of data (“break up the data, not the companies”), and 2/ because they represent a category of regulatory interventions that are just as easy for small companies to implement as large ones, unlike heavy approaches like GDPR that are easy for big companies to implement but hard on startups.

That said, when you dig into the issue of data portability, there are some hard problems to solve. I don’t believe they are insurmountable, but I also believe they haven’t been resolved as of yet.

For context, data portability is the idea that a user of a tech service (e.g., Google, Facebook, Twitter, etc) should be able to easily take their data with them and move it to a competing service, if they so choose. This is similar to how you can port your phone number from one carrier to another, or how in the UK you can port your banking data from one institution to another. Both of these examples required legislative intervention, with an eye towards increasing competition. Also, most privacy regimes (e.g., GDPR in Europe and CCPA in California) have some language around data portability.

Where it gets more complicated is when you start considering what data should be portable, and whose data.

For example, within tech companies there are generally three kinds of data: 1/ user-submitted data (e.g., photos, messages that you post), 2/ observed data (e.g., search history or location history), and 3/ inferred data (inferences that the platform makes about you based on #1 and #2 — e.g., Nick likes ice skating). Generally speaking, I believe that most type #1 and type #2 data should be portable, but most type #3 probably should not.

To add to the complication is the question of when “your” data also includes data from other people — for example, messages someone else sent me, photos where I was tagged, contact lists, etc. This was at the heart of the Cambridge Analytica scandal, where individual users exporting their own data to a third-party app actually exposed the data of many more people, unwittingly.

I’d like to focus here on the second category of complications — how to deal with data from other people, and privacy more generally, when thinking about portability. This is a real issue that deserves a real solution.

I don’t have a full answer, but I have a few ideas, which are the following:

First, expectations matter. When you send me an email, you are trusting me (the recipient) to protect that email, and not publish it, or upload it to another app that does sketchy things with it. You don’t really care (or even know) whether I read my email in Gmail or in Apple Mail, and you don’t generally think about those companies’ impact on your privacy expectations. Whereas, when you publish into a social web platform, you are trusting both the end recipient of your content, as well as the platform itself. As an example, if you send me messages on Snapchat, you expect that they will be private to me and will disappear after a certain amount of time. So if I “ported” those messages to some other app, where, say, they were all public and permanent, it would feel like a violation – both by me the recipient and by Snap the platform. Interoperability / portability would change that expectation, since the social platform would no longer have end-to-end control (more like email). User expectations would need to be reset, and new norms established. This would take work, and time.

Second, porting the “privacy context”: Given platform expectations described above, users have a sense of what privacy context they are publishing into. A tweet, a message to a private group, a direct message, a snap message, all have different privacy contexts, managed by the platform. Could this context be “ported” too? I could imagine a “privacy manifest” that ships alongside any ported data, like this:

# privacy.json
  "content": "e9db5cf8349b1166e96a742e198a0dd1", // hash of content
  "author": "c6947e2f6fbffadce924f7edfc1b112d", // hash of author
  "viewers": ["07dadd323e2bec8ee7b9bce9c8f7d732"], // hashes of recipients
  "TTL": "10" // expiry time for content

In this model, we could have a flexible set of privacy rules that could even conceivably include specific users who could and could not see certain data, and for how long. This would likely require the development of some sort of federated or shared identity standards for recognizing users across platforms & networks. Note: this is a bit how selective disclosure works with “viewing keys” in Zcash. TrustLayers also works like this.

Third, liability transfer: Assuming the two above concepts, we would likely want a liability regime where the sending/porting company is released from liability and the receiving company/app assumes liability (all, of course, based on an initial authorization from a user). This seems particularly important, and is related to the idea of expectations and norms. If data is passed from Company A to Company B at the direction of User C, Company A is only going to feel comfortable with the transfer if they know they won’t be held liable for the actions of Company B. And this is only possible if Company B is held accountable for respecting the privacy context as expressed through the privacy manifest. This is somewhat similar to the concept of “data controller” and “data processor” in GDPR, but recognizing that a “handoff” at the direction of the user breaks the liability linkage.

Those are some thoughts! Difficult stuff, but I think it will be solvable ultimately. If you want more, check out Cory Doctorow’s in-depth look at this topic.

Proof of Transfer (PoX)

Last week, the Blockstack team formally rolled out their proposal for a new mining mechanism for the Stacks blockchain called Proof of Transfer (PoX). In addition to the blog post, you can read the full PoX white paper and the Stacks Improvement Proposal (SIP-007) that details the idea.

PoX is a way of building new blockchains on top of existing Proof-of-Work blockchains like Bitcoin. The Stacks blockchain has always been built on top of Bitcoin, but has thus far used a proof-of-burn (PoB) mining mechanism, which, while benefitting from Bitcoin’s security, requires burning BTC. Whereas PoX requires a transfer of BTC rather than a burn. This has the added benefit of creating a mining incentive pool denominated in Bitcoin.

At a higher level, one of the coolest aspects of cryptonetwork and blockchain technology is composability — the idea that crypto assets and protocols can be freely interconnected in almost any way imaginable, without barriers or permission. Every (public) blockchain, asset, and smart contract is a de-facto API that can be hooked into, built upon, and extended.

This may seem like a minor feature, but I believe this is a breakthrough characteristic. Today, we are seeing this play out most vividly in the DeFi space, where protocols like Maker, Compound and Uniswap interconnect to build new financial products. What Blockstack is doing with PoX brings this approach further to the Web3 / data space. Ultimately, I believe that this approach will enable a broad explosion of not only tech infrastructure but new experience & features, both for consumers and businesses. Zombies eating Kitties is just the tip of the iceberg.

It feels like consumer development in Web3 is moving slowly, and by the user numbers it is. But composable innovation is compounding, and the work that’s going on right now is creating the tools & patterns for what will certainly be huge, exponential leaps in functionality and experience over time.

The Friendly Wake-up Call

Last year around this time, I had a major medical scare which shook me pretty hard. The details don’t matter, but the takeaway was that afterwards I felt lucky to have not had a more serious problem, despite a bad situation that was totally avoidable. I dodged a bullet. It was a wake-up call.

Last week, I was in the Netherlands, and as always, was enraptured by the water. The water is, of course, a major threat to the Netherlands and has been for centuries, so as a result the Dutch have become known for their water engineering prowess and forethought. Thomas sent me this article on 21st century Dutch water management with regard to climate change, which details the Dutch approach to water management. This line stood out:

“During Gustav, the level was all the way up to here,” Van Ledden says, placing his hand just below the top of the wall. “And Gustav was just a friendly wake-up call. In 50 years, if the sea level goes up 1 or 1½ feet, the level for that storm would be here,” he says, holding his hand well above the top of the flood wall. To make sure that doesn’t happen, the Corps is planning to build a giant storm-surge barrier between Lake Borgne and the Gulf Intracoastal Waterway.

A “friendly wake-up call” is something that’s scary enough to set you straight, but not bad enough to do real damage. It is and incredibly useful thing. Hopefully it should never come to that, but I find that it’s human nature to push things to their natural limits until some sort of wake-up call inspires a correction.

Getting Alignment

I am flying home from Europe today (by way of Reykjavik) and as a result, have a lot of time to catch up on things. I have spent the bulk of the day writing up a handful of strategy docs relating to some of our portfolio companies and subsequently chatting about them.

In every endeavor, whether it’s a startup, a family, a venture firm, or whatever, perspectives drift over time. Things get busy, and we all get focused on executing. And things can get a little out of alignment. A little out of alignment is no problem, and of course we are always course correcting as we go. A lot out of alignment, or little bits of misalignment, over time, that aren’t addressed, can cause problems.

What often happens is that strategy develops piecemeal, over the course of meetings, emails, texts and chats. And while important ideas get discovered this way, it’s also easy to leave ideas half-baked, or questions half-answered (if they are even fully articulated at all). So when I have time, I find that trying to summarize a complex topic in a single document is a helpful step in regaining alignment and making sure we are seeing the whole picture the same way. That’s what I’ve been doing today.

This gets harder the more multifaceted a project is, the bigger a team or company is, and the more money that’s being invested (especially in long-lead-time items like hardware). For a CEO, communicating the vision and strategy of the company to the team is most of your our job. Our job as investors is a little simpler: we need to help the CEO do the above. Not easy, but not a communication scaling challenge on the scale of what a CEO needs to do.

Part of getting alignment is having the right communication channels open. For me personally, I get a lot of that through chat/sms/signal. For the folks I work most closely with, that’s the most open bloodline of ideas in development. I think this is especially true for me since I’m most often not physically together with who I’m working with most of the time. So, as I think about it, I tend to stay most aligned with the people and projects where I have the best chat relationship. A challenge here, of course, is that everyone works in different ways. But that tends to work the best for me, and I think for the people I have the easiest time working with, for them too.

But whatever the method or mechanism, the key moment is recognizing that you’re out of alignment in the first place. This almost always feels like an “aha” moment — like, oh yeah, you’re right, we do feel out of alignment on that. It’s actually a good feeling, because its a signal to do some work.

So with that, back to work!


I am in the Netherlands this week, catching up the Leap engineering team which is based here in Utrecht, and attending an IoT conference that Helium will be at in Amsterdam.

I have always loved it here, primarily because of the close relationship to the water. The Dutch have for centuries harnessed the water, both for commercial purposes (extensive canal network for shipping) and for defensive purposes (flooding out the attacking Romans).

At present, more than 15% of the country is below sea level, and only about 50% of the country is more than 1 meter above sea level (according to Wikipedia).

Amsterdam and Utrecht, where I have spent the most time, are intensely connected to the water. Canals weave between all the streets, most of which are also lined with houseboats (including the one I am staying in, thanks to Airbnb). Whereas walking around most other cities where what you notice are cars and trucks, here, you notice boats and bikes. It’s just incredibly beautiful.

I was at a dinner last week and got into a conversation about what is it, exactly, that makes the water connection so powerful. I don’t know if everyone feels this way, but when I am near or on the water, I feel different, better. Whether it’s a beach, lake, river, or canal: being on the water just feels freeing and awesome. Something about the flowing openness of it, I guess.

Of course, being close to the water is perilous. Venice, parts of the Midwest, large parts of Southeast Asia, are all flooding. A quarter of Manhattan was underwater after superstorm Sandy. Water is dangerous, and more is coming.

As far as the Dutch are concerned, I sincerely hope that they can figure out to protect the beautiful way of life they have established here, closely connected to the water. It is beautiful and unique, and I feel lucky to be able to experience it while it lasts.

Get new posts by email