Crypto's Ladder of Abstraction

Like all good blog posts, this one starts with a tweet. In this case, I can point to Nicola for spurring this one. Niraj and I previously collaborated on a post called “Merging Chains”. You can think of this in the same spirit as that post.

Portability has been a great side-effect of abstractions for computation, higher-level languages and will have the same effect for the decentralized world as well. In the centralized world, we have Dropbox, Google Drive, and Evernote. These all let us take our information wherever we want it. Whereas before, the existing model was a thumb drive or involved clunky data transfers. The internet helped pave the way for user side abstraction. When we wanted to upgrade devices, we didn’t have to worry about our data. On the dev side, we’ve seen the evolution of serverless. Preceding that were IaaS plays, namely AWS, and preceding that you had to rent out hardware and co-locate a hardware. 

Right now, a lot of effort is spent building on a base layer Turing(ish)-complete stack-based machine like Ethereum. While Ethereum remains a market leader right now, things might change. A 0day exploit might appear, someone very influential might die within their organization, or a switch to PoS might actually prove to have a bad security model. Those don’t necessarily reflect what I believe but rather are stated to show some “existential” type risks that might compromise a base layer protocol.

In theory, a mature dapp built on top of Ethereum, shouldn’t derive much of its value from the security model of Ethereum. In theory, a dapp should be able to move its contract state to another base layer protocol. Another way to look at it is again through the lens of history and greater abstraction previously mentioned. A user doesn’t really care whether Dropbox uses it’s own servers or is hosted on AWS. Of course, they care about getting their information lost or stolen, but that’s up to the developers to worry about.

As mentioned previously, developers today don’t have to deal with renting servers. Developers on Ethereum don’t have to write EVM bytecode either. We’ve already seen people build on different platforms. Kin moving to Stellar rather than building on Ethereum, at least initially. I do have a gut feeling that the switching costs may be less than people think, especially since new base layer protocols are taking the tack of enabling the EVM already, like RSKSmart. Also, the Ethereum state trie is already publicly available, and that lets people do airdrops and such, like EtherMint.

And of course, Ethereum abstracted away the messy world of bootstrapping your own blockchain, secured by miners.However, as we build upon this world of abstractions it’s easy to forget that these build on real components, while you can write in a high-level language, your code is still executed by self-interested miners, and that leads to interesting side effects and security concerns.

Ryan Shea and co spent time thinking about migrating state for onename, so this isn’t a thought that is completely out of the blue. Of course we’re seeing protocols such as Cosmos, Polkadot, and aelf now being presented as partial scaling solutions. Hopefully, they'll allow protocols now built only on Ethereum to work on other base world computers with ease.

In the formally-verified future, dapps and protocols will compile down to multiple VMs. Users and developers might not have to worry about a break down in the consensus mechanism of any one base layer protocol. A “meta”-token that wraps both the native ERC20 and whatever the token specification is for another base layer protocol will exist. Maybe these token prices will be pegged to each other, Or value will be accrued in proportion to the amount of state that they actually keep. In this way, the different base layer protocols may just be different shards on which protocols interact. Already, some tokens are looking at building on both Ethereum and NEO

If this vision of dapps on multiple chains does play out, competition between base layer protocols based solely on the dapps that they host may not be a long-term competitive advantage. Again, that hypothesis is premised on the belief that switching costs of state are low, and it does look like that is happening. If a protocol advertises the fact that they have a competitive advantage just because they’re building on a certain VM, that isn’t going to be a long-term advantage.

I don’t really offer up much in the way of analysis but just a bit of observation that we’re in the early days of crypto. There are so many rungs on the ladder of abstraction yet to be formalized and built. It's not immediately clear how scaling, where the points of friction and therefore economic value will be long term. You might say that the tokens that have the largest network effect will win out, i.e. Ethereum. Yet, the network effect argument is self-referential. It is intrinsically so, the more people use it, the better Ethereum gets. But the more people that leave an ecosystem, the more unstable it gets. With flows between addresses on chain and economic value exchanged cross-chain all available in real time on decentralized exchanges and on blockchains. We could see, in real-time, the shift in network effects from Ethereum to a hypothetical competitor. We won't have to wait for Facebook to release it's latest earning's report to show that it churn some X% of users. Please talk to me if you think I'm right or wrong :)


A mostly speculative post on the far-ish future of biology.

This essay’s a spiritual success to my previous post on the subject. If you’re an investor feel free to invest with that essay’s thesis in mind :) . I’d like to take a few steps forward into the future and try to reason backwards to where we are now. I began the other essay with a comparison to the mainframe era, and I’d still like to draw on the computing metaphor.

Most people identify Intel + the microprocessor as a key innovation in the whole computing revolution. The same could be said about the Apple II, which finally incorporated the microprocessor into a consumer-ready, integrated product. I won’t argue for against either for marking a new age. Either way, those technologies were unequivocally tied together, they bookended the period where the microprocessor led the way to general purpose computing for everyone.

The integrated circuit was the culmination of billions of dollars in R&D, and today the heir to that technology is the iPhone 8, which holds some $150 trillion dollars just in transistors from 1957. These devices let you do essentially anything and were the corner stones of global communications and global money. A person could live their life with just a phone.

I wonder what set of innovations might allow for the equivalent exponential jump in biology, the microprocessor for biology. What’s the equivalent of a general purpose computing device in biology, and why would we even want one? 

First, let’s look at the definition of the microprocessor according to Wikipedia.

"The microprocessor is a multipurpose, clock driven, register based, digital-integrated circuit which accepts binary data as input, processes it according to instructions stored in its memory, and provides results as output.”

If we swap out binary data for DNA, that sounds a lot like what a nucleus does. The speed and accuracy with which we can create new strands of DNA is limited right now. Biology is, of course, general purpose. The same DNA that codes humans can be used to code algae. However, most DNA is assembled for a specific purpose. The software, the ACTGs of DNA are still way too expensive to sequence. Additionally, de novo gene synthesis and assembly, or making long DNA strands from scratch, is doubly plus expensive. While we herald a $1000 human gene sequence, and soon a $100 human gene sequence, it really needs to be close to zero. While a single base pair costs $0.02 to synthesize, this also should be close to zero. 

Why do I think $0.02 is way too high? Well, think about it this way. If every line of code cost $0.02, we would not have operating systems or any of the wonderful things we depend on today. To get to truly ubiquitous DNA manipulation the cost has to be ~$0.00000, like manipulating electrons in a personal computer.

In short, a biological microprocessor, a bioprocessor for short would be able to manipulate DNA and spit out the results, or biological and chemical components of whatever we wanted at near zero costs. An integrated biocomputer would take the inputs, the single cells, the small molecules, blood drawn from individuals, other enzymes, and return new cell the right genes inserted. Attached to main bioprocessor would be other chips such as microscopes, perturbation devices, electroporation devices, incubators, bioprinters, fluid + solid handling devices (think needles and other things), as well as being connected to traditional chips.

Fundamentally, having a digital bioprocessor or some personal computer equivalent could lower the cost of creation by several orders of magnitude. The table top sets we have today for home biology are the equivalent of the HAM radio sets. So it will be some time before we have anything really cool. However, biology holds this same property of being an information science. However, like the pre-personal computer + internet era, we had to go to separate sources to gather all of our biological material. We travel to the grocery store, we go to the mall to buy creams that are synthesized by snails, we go get surgery + pay $ to look different, we go to the pet store to get pets, even the clothes on our back are made from organic materials. If we can download creams, seeds for foods to be grown, and drug treatments, we could enable biological creativity like we have in bits.

One use case that bioprocessors could dramatically influence is human drug/medical treatment. Martin Shrekli and the latest EpiPen snafus could be avoided by at home production of molecules and treatments. If the cost of treatments are zero, then how are drugs/treatment costs to be amortized? To create a blockbuster drug today costs billions, so what happens when individuals are able to “download” medicine for free? Of course, this is a moral dilemma. Orphan drug disease gene therapy treatments cost consumers $500,000 for one treatment. That seems a bit outrageous. 

Business Models for Biology

Bioprocessors should hopefully have two first-order effects on biology--decreasing the cost of production and distribution. We just have to look to software, as we’ve seen with the internet, a radical shift in the costs of distribution has, and will continue to reshape industries. 10-1000x cost reductions leads to startups. Disrupting industries. With the internet, everything either became free, had a SaaS/APIs model attached, or birthed a marketplace. Each download or use will cost some amount, like hitting an API endpoint.
  • Music -> piracy (zero cost distribution) + lower production cost = free initially, but now SaaS model, litigious for sure.
  • Movies -> high production costs, lower discovery/distribution cost =  SaaS model (Netflix)
  • Banking -> high production/integration cost = Now have an API for this. We have Stripe.
  • Housing -> high production cost, high discovery cost = Marketplace Model (Airbnb)
The same will happen with biology. The effect on food will be different than that of pharma and that’s related to the market dynamics of production, distribution, and reputation. All these elements add to transaction cost, and as we know, transaction costs govern where fat businesses are made. Sit on top of a fat pipe of transaction costs and win money for a long time. A worry people have is drug piracy. If the cost of downloading a drug effectively drops to zero, then what happens to the dollars that need to go into research.

There are a few effects of a bioprocessor and associated peripheral devices could have on drug development. The cost of research should be way lower, allowing more drugs to come on the market, however determining efficacy will still be hard, so brands or marketplaces should establish themselves.

However, free in biology isn’t necessarily bad. People don’t always need to be motivated by monetary ends (directly) to contribute, the Debian ecosystem has had ~$20 billion of work put into free software. And this isn’t just random stuff. It runs on almost any internet connected server. We depend on it for critical infrastructure. We could potentially have freely designed seeds that are pest resistant that farmers could use instead of ones controlled by the huge pharma companies.

We might have a SaaS like business model for individuals to purchase treatments (Illumina, Gene Therapy Market??? -> have the right idea). However, we’ll have to deal with data security. Medical records are worth 20x your credit card information on black market. There is no way that I would want my health information to be hacked. A more fun SaaS business might be custom designed hair product and colorizer. First, input a strand of your hair, enter the desired hairstyle and texture, and out comes a specially designed set of creams that actually changes biological hair growth from the follicles, If we actually change the follicles, then we can change the color and texture of our hair at will for longer, cheaper, and safer than we do now.

If we go to space, we’ll certainly need and want different biological tools. Space radiation can kill, just as scurvy killed people. Space radiation can also be curtailed by 4 SNPs that potentially could be free. A digital biocomputer would be a necessary tool. We’re not going to have a lot of space on those space ships and we’re going to need to bring a lot of things. The best way of compressing things is through just information.

All these of these are possible arrangements for how the bioprocessor changes production and distribution of organic materials. But we’re sadly still a way’s away.

Today: Complexity

Computer scientists severely underestimate the complexity of even single cells. These things are really, really complex to model and build, especially if you want to get to atomic scale precision. Atomic scale precision is often what you’ll need, after all polymerase is atomically precise. It manipulates several atoms into place, and we can thank evolution for that. We only have several mutations per our few billion base pairs. To do that level of simulation we need to assume Moore’s Law continues 50 years into the future (so we’ll basically need Quantum Computers to continue that trend) to simulate one cell. For a whole brain simulation, we’ll need 100 years for that. Another example of complexity is protein structure.

We’ll either need to reduce the modeling accuracy of our systems (as we’ve done with deep learning) or use biological techniques in addition to computational models. We can use bioprocessors as a model of studying, directing the evolution of cells, of creating anything we want. On our way to a glorious biologically infused future we have many roadblocks to creating components for a bioprocessor and or personal biocomputer.

A future post will speculate in detail on 1) what a bioprocessor actually looks like 2) who’s working on this stuff now and 3) what else is holding us back.