Disentangling DFINITY and Ethereum
Back in January 2017, as we headed towards the Seed fundraiser that drew the first significant funding into the DFINITY Foundation, I described our positioning thus: “DFINITY aims to create a scalable ‘decentralized cloud’”. This cloud shall be somewhere software can run with the same security guarantees that smart contract platforms provide today, within a framework that makes the creation of a new breed of open internet services possible, among other things. Of course, there’s no change there, but back then we anticipated the network would be compatible with Ethereum smart contracts, and I went on to say “where smart contract software can run [that is] conceived as a sister network for Ethereum”, then highlighting differences derived from “network protocols and cryptographic constructions focused on extreme performance [and] scalability” and the “Blockchain Nervous System” governance mechanism that will provide a foil to the “Code is Law” paradigm.
From there, the refrain “Ethereum’s crazy sister” became popular. A new technological frontier is evolving in which a new breed of “stateful decentralized protocols” produce public services in cyberspace, and Ethereum and DFINITY’s Internet Computer will indeed be synergistic components. However, those 2017 words have now become confusing.
In the intervening time the DFINITY project has gained tremendous momentum, and is now being pursued by one of the most talented teams in tech leveraging dedicated research centers in Zurich, Palo Alto and San Francisco. The momentum we have achieved and team we are growing has empowered us to focus ever more ruthlessly on the vision I first articulated in 2015 of a decentralized cloud that competitively hosts both traditional software systems and open versions of major internet services, and this has meant we have had to forgo compatibility with Ethereum smart contracts for technical reasons that will become clear later.
DFINITY’s Internet Computer project essentially aims to extend the Internet, so that while today it primarily provides only connectivity between devices, in the future our open protocols will also enable it to behave like a decentralized operating system, or a serverless cloud, upon which we want the world to host its next generation of software, services and data. To be clear, this project involves far more than creating a decentralized cloud, and is reimagining the very nature of software. For modern society to function efficiently, the world needs to run on software, but in our view the current stack is broken and deeply flawed — as evidenced, for example, by the numerous hacks and security breaches, system outages, the expense involved with creating and modifying IT systems, and less obviously, the increasingly monopolistic nature of the Internet services. Drawing inspiration from smart contract technology, the Internet Computer will imbue software, and software developers, with 10 new superpowers.
Bitcoin to Ethereum to DFINITY
To understand how the souls of these projects differ, you have to dig a bit deeper. What really matters is their relative origins: Bitcoin, Ethereum and DFINITY have all been guided by the unique perspectives of their founders and protagonists.
Bitcoin arose because cypherpunks wanted an incorruptible store of value in cyberspace that was controlled by the sovereign choice of token holders without the need for intermediaries such as banks, which was intended as a stepping stone toward a freer, fairer and more efficient borderless digital society. Bitcoin’s stateful decentralized network hosts a secure ledger of cryptocurrency tokens at unique addresses, to which simple access control scripts are attached that govern how the tokens might be transferred to new addresses, for example through submission of a signature created by the holder of a key, or through some number of custodians creating a multi-signature. The appearance of this magical financial ledger in cyberspace uncorked the genie of decentralization.
Vitalik Buterin was an enthusiastic early participant in the Bitcoin space and as co-founder of Bitcoin Magazine became deeply knowledgeable about the underlying science involved. He worked with people involved in early efforts to build new more flexible ledgers that ran over the top of the Bitcoin network, such as Mastercoin, and this helped crystalize his thinking about how to move things forward. His first great and revolutionary insight was seeing that instead of simple scripts being attached to coins, which vanished once they were moved, coins should instead be attached to units of code, which he termed “smart contracts” (the term was borrowed from Nick Szabo, who actually used it for something subtly different) creating a cryptocurrency ledger with far more powerful programmability. In Ethereum, smart contracts of Turing-complete software code hold and process ether tokens, reversing the relationship between code and coins. These smart contracts made it possible to create new cryptocurrencies with a few lines of code, and also supported much more complex constructions.
Indeed, using smart contracts entire fiduciary systems can be constructed in cyberspace, so Ethereum paved the way for tokenized decentralized finance. Early examples included the DAO, a decentralized open venture capital fund, and later on, the explosive ICO boom which raised billions of dollars for startups. The smart contract network that Vitalik and other early supporters of the project created, such as Gavin Wood, who designed the virtual machine, and Joe Lubin, who provided much of the early financing and behind-the-scenes leadership for the project, was in essence “cryptocurrency on steroids”. Nonetheless, to me, for reasons I explain below, the system hinted at the possibility of a new kind of decentralized cloud functionality. I imagined a world where the Internet itself would securely host not just simple smart contracts, but general purpose software systems and internet services and all their data, in a novel manner that could compete with traditional private infrastructures and closed clouds run by giants such as Amazon, Google and Microsoft.
Here the lines of differentiation begin to appear. Ethereum is ultimately an evolution of cryptocurrency technology where coins can be processed using smart contracts. The network’s design, and its future iterations, lean in to its cypherpunk thinking and its Bitcoin roots. This includes a desire to provide resistance to even extreme government censorship.
While spending some time at Ethereum’s Berlin headquarters in 2015, and talking about network designs, Vlad Zamfir, a well known Ethereum researcher, expressed to me that Ethereum should continue working if only a single individual in the world continued to “mine” (supply computing power) to support the network. Work on future designs for Ethereum, including current explorations of how special hardware devices (implementing VDFs) might be used in network consensus, reflect a desire to ensure those backing the network remain anonymous to maximize censorship resistance, and enable even a network of amateur miners to continue to maintain it. However, such design goals create serious challenges for those wishing to extend the Internet with unbounded capacity for hosting software and data.
The DFINITY Angle
My personal perspective was formed by experiences gained traveling a long journey as a software engineer, innovator and serial entrepreneur, often in difficult and frustrating circumstances. I wrote my first code when I was 10 years old, to create a simple space invaders game, then returned full time to software in my early twenties. I was immediately drawn to the evolving Internet, and in particular distributed systems. My first truly complex system was developed during the Dot Com era to support provision of mass market online storage functionality using a novel differential compression technique I created to overcome the bandwidth limitations of the day. It was then that I first used cryptography and was introduced to some cypherpunk thinking — I used Wei Dai’s crypto++ library to implement secure network streams (using Diffie-Hellman private key exchange) and came across his bMoney proposal, a philosophical forerunner of Bitcoin. Consequently, twenty years ago I was already creating novel algorithms and applying cryptography within distributed systems designed to support mass market usage.
More recently, I created an MMO computer game that grew to several million users. To support this, back in the UK I created my own horizontally scalable virtual game server technology, and constructed what I believe was the first complex production infrastructure backed by the Cassandra database (it was still in beta, and corrupted itself at around 800,000 users, but that’s another story). Cassandra is a decentralized database system, rather than a decentralized protocol, but applies decentralization for the purposes of both performance and scaling, and now supports major services such as Netflix, reddit and GitHub. Over the top of Cassandra, which provides eventually consistent storage, I implemented novel algorithms for distributed locking and other needs. This was my technical bread and butter that informed my perspective, but there were other things too. I had been developing software on an wide range of platforms, to meet a range of different kinds of need, writing everything from operating system code to Web pages — and for many years have mused on the fundamental challenges involved with developing software systems today. Quite separately, I’m also frustrated with the way the internet ecosystem has become too monopolistic.
When I first read the Bitcoin white paper in March 2013, the technical beauty of using an open decentralized protocol to create a public service that could maintain state without central servers naturally hit me right between the eyes. But it was also natural that I would soon begin seeking ways to create protocols that might produce faster decentralized services with more capacity. At first this work was focused on making faster ledgers that supported unusual functionality, either within the games ecosystem, or to support the removal of advertising from social media experiences through provision of recurring payment functionality. But Ethereum made it clear to me that “blockchain computers” were where the future lies. After a year working on novel consensus protocols using techniques borrowed from traditional distributed computing, in early 2015 I switched to a completely new and novel technical approach, and determined that an open decentralized network might become the world’s future cloud.
Although DFINITY is a crypto protocol — arguably the most advanced in existence, as we shall soon see — it leans more towards traditional Internet thinking in its quest for performance and scale than traditional systems. For example, in contrast to traditional cryptocurrency mining, the Internet Computer will be produced by independent data centers combining computing power via the open DFINITY protocol, in a similar way that independent ISPs (Internet Service Providers) and other organizations connect via TCP/IP and other open protocols to create the Internet’s connectivity. Within the serverless virtual cloud created in cyberspace, the network’s algorithmic governance system allocates special identities to data centers, such that it can ensure the decentralization of data and software execution across data centers (or more specifically their owners), jurisdictions and geographies, using bounded levels replication, but the tradeoff is that the design sacrifices the cypherpunk objective of keeping those supporting the network anonymous.
But aside from nuances about the form of the network, the complexities of new technologies that power the Internet Computer, and the incredible speed, capacity and efficiency gains it will provide, perhaps the biggest differences will be in how the Internet Computer reimagines software. Stay tuned to see what we anticipate will be the next major surprises our industry will spring on the world!
NB I’m at Consensus 2019 in New York, speaking this coming Monday, 13th of May, and in the evening DFINITY is running its own event where we’ll make the first major new demonstrations of the system in a while