When someone considers the ambition and resources that the Dfinity project has one may be struck by the paucity of media coverage it has so far received. For instance, a search in the archives of Coindesk reveals only two articles mentioning the project.
One reason for this may be Dfinity’s perceived complexity, with the project variously characterized as the Internet computer, decentralized cloud or operating system for the Internet, and even “Ethereum’s crazy sister”. Another may be the fact that Dfinity did not conduct its ICO during the 2017 – early 2018 frenzy and does not have a publicly tradable token.
Whatever it may be, the goal of this series of articles will be to make the Dfinity project look less impenetrable for people in the blockchain community. This article will focus on what the project’s core objectives are, while the second and the third will deal with how the team is trying to achieve them and what the major challenges could be.
The state of Internet today and the rise of cloud computing
Perhaps, the most general characterizations of Dfinity’s mission has recently been defined by the project’s founder Dominic Williams as “extending the Internet.” Before trying to understand what he means let us consider what the Internet is today at a high level.
One can say that the Internet is a massive global network of computers or, more precisely a network of networks. Well-tested protocols (for instance, TCP/IP and FTP), the domain name system and a lot of physical infrastructure (routers, optical cables) are used to connect computers to each other and reliably and cheaply exchange data among them. Other protocols (e.g. HTTP) and various kinds of software (e.g. browsers and search engines) allow the existence of the user interface layer of the Internet, or the World Wide Web.
The key property of the Internet is that it is a decentralized and relatively open-access environment. Usually, there are far more than one ways of connecting one computer to another on it, and anyone can make their content available to everyone else on it, too.
The impact and reach of this system have been unprecedented and are still only beginning to be fully grasped but there is one important feature which it appears to be lacking. While the Internet connects billions of computers in complicated ways, it does not at present decentralize increasingly important aspects of our digital era: computation and data storage. Moreover, the rapid rise of cloud computing enabled by the Internet has arguably been making them more centralized than before.
And this centralization may well become even more pronounced in the future. In the 2018 survey conducted by LogicMonitor, the majority of the computing industry professionals and influencers surveyed agreed that by 2020, 83% of global enterprise workload will be on cloud infrastructures. 41% was the figure envisaged for public infrastructures like AWS. This is despite some corporate backlash against public cloud infrastructures best exemplified by Dropbox. Even ordinary users are increasingly reliant on software-as-a-service arrangements like Microsoft’s Office 365.
In addition to this, many users are currently often not interacting with many web-sites directly anymore. Instead, they either increasingly consume the content other users make available on major social networking platforms like Facebook, Twitter and Youtube or discover web pages to visit through them.
What is Dfinity’s reasoning for changing the status quo?
Dfinity’s founder Dominic Williams initially planned to create a blockchain platform with a better consensus mechanism. However, over time, his vision became much larger than that. The idea of “extending the Internet” came from the dissatisfaction with the increasingly centralized nature of computation and data storage on the Internet dominated by huge centralized data centers. To Williams, the dominance of social media platforms also hampers the innovation and creativity in the digital space, as creators of applications relying on those platforms can see their fortunes change on a whim. This situation appears to be at odds with the whole idea of a global distributed and permissionless network that the Internet aspires to be.
A separate major problem with the world’s interconnected digital infrastructure today, according to Williams is the increased complexity, insecurity and cost of managing software. This is especially the case given the interconnectedness and the increasing sophistication of hackers, both private and state-directed. The cloud infrastructures are partly embraced for easing the software management burden but they cannot guarantee software security, either.
Cutting through buzzwords: what does extending the Internet mean?
How is Dfinity attempting to address the current inefficiencies of the Internet and software management identified by Williams? The answer is by building a multi-faceted platform that combines at least three major elements. The fact that it is multifaceted helps explain why various terms have been applied to it in the past without fully capturing its nature.
First, like other blockchain projects, Dfinity is supposed to feature a distributed ledger that is not controlled by a single entity or fixed group of entities and which anyone can validate and use. The consensus as to the state of the ledger at all times is supposed to be maintained through a unique mechanism which will be discussed in the next article in the series.
At the same time, unlike other blockchains, this ledger is supposed to contain not just the history of monetary transactions like Bitcoin or the state of a bunch of simple scripts controlling digital assets (smart contracts) like Ethereum. It is envisaged, instead, to be able to carry the current state of potentially much of the world’s software and all the publicly shared data. This would make the network running it worthy of the Internet computer and decentralized cloud names.
Another sense in which Dfinity will differ from projects like Ethereum is that it will not store all the transactions, or, more technically, function calls for the software to be run on it. Rather, its core task will be to provably ensure that the current state of the Internet computer reflected by the ledger has been arrived at in a legit manner (without hacks). The way it is supposed to be achieved is the subject of the next article in the series.
DFinity also differs substantially from projects aiming at creating decentralized computing and or storage marketplaces like Golem, iExec, Filecoin, Storj, etc. The distinguishing feature of Dfinity here is that blockchain-level consensus procedure will be used to validate the results of computations and data changes.
Finally, given that Dfinity is aiming at enabling much of the world’s software to run on the Internet, its software will, unlike anything before it, have to act as a sort of operating system for the world at large.
All points considered, Dfinity is a complex and extremely bold project whose objective is to extend the Internet through making much of the world’s software run in a distributed manner. In the second article in the series, we will look into how the Dfinity team is trying to make this grandiose vision come true.