Dfinity bills itself as an “Internet Computer”, promising to deliver blockchain-based cloud computing that will form the basis of the next generation decentralized internet.
The vision of the Dfinity team is the creation of apps, similar to what we have already, but differing in that they will run directly on the network. This will allow the next generation internet to bypass the control of major tech companies like Alphabet, Amazon, Microsoft, and Apple who now control nearly all online traffic since they own the servers that power the internet.
Can it succeed where others have failed? That’s what we’ll be investigating during the course of this review.
Dfinity has been working on creating the first blockchain-based solution running at web speed with the ability to increase capacity infinitely. Called the “Internet Computer” it will be able to host infinite apps and smart contracts, while storing any amount of data.
Dfinity is not new. It was initially conceived of in 2015 by Dominic Williams, and has been growing ever since. Dominic remains the president and chief scientist of the Dfinity Foundation, as well as being the most vocal mouthpiece for the adoption of Dfinity’s Internet Computer technology.
While Dfinity was founded in Palo Alto, California and still maintains a research center there, the Dfinity Foundation that now runs the project is based in Zug, Switzerland. There is a second research center located there, and a third located in San Francisco, California. The project currently has over 120 employees all working towards the creation of the next generation internet solution.
Dfinity: Rewinding the Internet
All the way back in 1996 the U.S. Communication Decency Act was attempting to bring overreaching regulation to online content. Groups like the Electronic Frontier Foundation sprung up to maintain internet rights for users. With a vision of a free and open internet controlled by its users, it attempted to halt the intrusion of government and big business in the internet.
Now less than three decades later we can see that the vision of those early pioneers was naïve at best. Government wasn’t able to regulate the internet completely, but instead we’ve seen a new group of overlords take control of what should have been a free and open platform. Today the internet is ruled over by the likes of Alphabet and Amazon, Facebook and Twitter, Alibaba and Tencent. Just a handful of companies that control trillions of dollars in wealth, and billions of minds online.
However it doesn’t have to continue in this direction. There are still visionaries who want a free and unencumbered internet. Visionaries like the developers of Dfinity.
“We’re taking the internet back to a time when it provided this open environment for creativity and economic growth, a free market where services could connect on equal terms,” says Dominic Williams, Dfinity’s founder and chief scientist. “We want to give the internet its mojo back.”
The developers at Dfinity are working on creating an Internet Computer. This will be a blockchain network that’s spread across the globe, with independent data centers that allow apps to run right on the network. This will take control back, putting it in the hands of the users rather than in the hands of a few mega-corporations. Dfinity has already created a new programming language, released a set of SDKs for developers, and most recently in early 2021 the alpha version of the Internet Computer mainframe went live.
Dfinity doesn’t want to rewind the internet for nostalgic reasons. It understands that our communications have been warped by the dominance of the tech giants and the ad companies that support them. The message is no longer about truth and freedom on the internet, instead it’s all about misinformation, control, and greed. And most importantly for the individual it is about the loss of privacy.
“The Internet Computer is conceived as an alternative to the $3.8 trillion legacy IT stack, and empowers the next generation of developers to build a new breed of tamper-proof enterprise software systems and open internet services. We are democratizing software development.” — Dominic Williams, Dfinity Founder, President & Chief Science Officer
There are some few places on the internet that remain beyond the reach of these tech titans, and Dfinity wants to extend that to create an entire ecosystem that is able to thrive outside the grasp of the self-styled technology overlords.
Let’s not overlook the problem of innovation being caused by these firms either. The fact that they hold an effective monopoly on most areas of the internet means innovation has been stifled. It should come as no surprise that all of these companies evolved when the internet remained free and open, and that since their growth and dominance few really innovative apps have been developed on the internet.
Beyond the Modern Internet
The idea for Dfinity was inspired by the vision of a blockchain computer first promoted by Ethereum. In looking at Ethereum and other major blockchains the founding team at Dfinity created a proposal for a decentralized blockchain network capable of running the next generation of open internet services and software.
They ignored for the time being any discussion of mining or staking, or of distributing a new financial instrument. Rather than trying to create a better Bitcoin or a better Ethereum they focused on building the best version of their own vision.
The current internet runs on IP or internet protocol, however Dfinity is introducing a new standard they call ICP, or Internet Computer Protocol. The new ICP system will allow developers to move not only data across the internet, but actual software platforms as well. Software and applications do need a computer to run on, but why not make that computer the entire internet?
That’s the vision of Dfinity. Rather than running apps on a dedicated server owned by Alphabet or Microsoft the Dfinity vision would create software that can freely move to any server on the network. With Dfinity these servers exist in independently owned data centers scattered around the world. In essence it will mean that apps now run everywhere.
In practice it means apps can be created and released that are neither owned, nor controlled by anyone. The independent data centers that run the Dfinity network will be compensated in tokens for running the code on their servers, however they won’t have access to any of the data, making it impossible for them to collect and sell data to third parties like advertisers. This will return the ownership of private data to the private individuals.
Of course there are potential downsides as well. A completely free and open internet will make it nearly impossible to hold the app developers accountable. If there’s illegal or abusive content being hosted how would you get it removed if no one has the access to do so besides the developer – who could easily remain anonymous.
Of course we have a similar problem with the modern day apps. Facebook or Alphabet can take down anything they like on a whim. The social media app Parler, which emphasizes free speech, was recently turned off in essence as big tech companies refused to host the app any longer.
The hope is that a decentralized internet will also lead to decentralized governance where the developers are able to decide how everything will be regulated. In fact, this is the method being used in the cryptocurrency world, and while it does work to some extent, it can also lead to infighting between different factions of a project. It remains to be seen if decentralized governance, or “mob rule” as some have called it, will be better than centralized governance by an arbitrary CEO.
The Dfinity tokens are sometimes referred to as “dfinities” and previously used the ticker DFN, however more recently that has been changed to ICP and it currently trades as an IOU as the actual tokens have not been emitted as of January 2021.
The token has several use cases, and one of its primary utilities is as the medium of payment for data centers and servers. In order to use the ICP protocol for the installation of running of an app it is necessary to pay a gas fee in tokens.
This fee is then passed on to the data center servers that are running the app. The amount of gas for any transaction is determined by the instructions that are being executed and the amount of data processed and stored. This method is exactly the same as current pricing for cloud computing.
The tokens will also be used to provide governance for the protocol, which is meant to take an autonomous form. This is the same as the concept of mining, but rather than simply paying to secure the network payments are being made for processing power.
The Dfinity Ecosystem
The Dfinity Whitepaper explains in detail the consensus mechanism in the ICP. Below are more general explanations of each component in the Dfinity ecosystem.
Network Nervous System (NNS)
The Network Nervous System, or NNS, is the autonomous software that governs the Internet Computer. It manages the entire system, from the network structure to the economics of the network. It is hosted by the network and is an integral part of the protocols used to create the Internet Computer blockchain.
By weaving together the node machines it allows the Dfinity network to become both autonomus and adaptive. The NNS has a public key capable of validating all ICP transactions, and will act as the “master” blockchain.
In terms of governance the NNS is there to put any proposals to a vote. Voting is made for such activities as adding new nodes, or expanding the network, among other things. Votes are cast by the IPC token holders who have decided to lock up their tokens to enable voting rights.
In addition, the NNS will be responsible for creating subnets by combining the nodes from independent data centers. These subnets are then used to host the canisters. The NNS will continually monitor the capacity of the network and will add nodes and subnets as required. This behavior allows the Internet Computer to scale infinitely.
What is a Subnet in Dfinity?
A subnet is a unique blockchain configuration within the Internet Computer that is capable of integrating with other blockchains to increase the capacity of the entire network. Subnets are created when the NNS combines nodes, and the subnets are used to hold canisters, which are an evolved type of smart contract.
Each subnet is an individual blockchain, and the canisters in each subnet are able to transparently call on any other canister, even those in other subnets. In practice the network doesn’t even distinguish between subnets when a canister call is made, it is simply a function call within the seamless universe of secure code.
Subnets are transparent to the canister users and the canister code. Users and canister developers interact with the Internet Computer, and in the background the ICP protocol distributes computation and data across the subnet nodes. This system is thought to be more secure than traditional blockchains because having the decentralization of data and computation controlled by the protocol is more precise than leaving it to chance.
Pooling as is found within traditional PoW and PoS blockchains is not possible. This avoids having validator nodes with huge amounts of stake that create the majority of blocks. Subnets are able to interact with each other through the use of the unique “Chain Keys” that are part of the unique cryptography developed by Dfinity.
What is a Neuron?
Neurons are used to time-lock ICP tokens in order to generate voting power for voting on network proposals. Neurons can also be made to follow each other to automate tasks. For example, a neuron can be created to follow the voting of another neuron and in this way they represent a form of liquid democracy.
It is also possible to dissolve a neuron to release the ICP tokens locked within and then convert them into cycles to power computation.
What are Cycles?
Cycles are the computational resources on the Internet Computer. In general all of the canisters will consume cycles to support persistent memory data, for bandwidth needs, and for CPU cycles. The canisters themselves maintain an accounting of resources used by their applications and this is expressed in units of cycles.
The cycles reflect the actual costs to operate applications and for the physical resources used such as the servers themselves, energy requirements, storage hardware, bandwidth and others. In the most basic terms a cycle is the cost for executing one WebAssembly instruction. While programs do need to pay the full cost for execution, by giving a cost per cycle programs are able to be created as more cost-effective.
When a developer is able to set limits on the number of cycles consumed by a canister it helps in the prevention of malicious code being executed and draining network resources. And since the operational costs are fairly stable when expressed in units of cycles it makes it possible for developers to know exactly how much it costs to process any given application, and how to make it less expensive to process an application.
If you need a comparison, cycles are similar to AWS credits or Ethereum gas. The difference is that cycles cover a much greater array of resources. And the design of the canisters and cycles can help to avoid the potential pitfall of rapidly rising usage costs.
What is Motoko?
Dfinity saw that to keep costs in check they would need a way to increase the performance and efficiency of the code run on the Internet Computer. In order to accomplish this they hired Andreas Rossberg, the creator of the WebAssembly language, who then created the Motoko language for use on the Internet Computer.
When combined with the architecture of the Internet Computer the Motoko language has the potential to save vast amounts of resources in the development of software for use in the Dfinity platform. The most expensive component of software development is the talent and skills required.
Currently the development of applications is extremely complex and thus expensive. As an example, TikTok is roughly 15 million lines of code, and yet it still suffers performance issues. As a comparison, Dfinity created a TikTok look-alike called CanCan which had roughly 1,000 lines of code.
The CanCan app will have benefits for both developers and users, and the same can be said for any other application developed in the Internet Computer.
The Canister SDK
One of the major milestones in the development of the Internet Computer was the release of the Dfinity SDK, allowing any developer to quickly and easily build new applications and services for the Internet Computer. Each of the developed services consists of a single canister with static content, metadata, and the Wasm from the compiled Motoko software.
The architecture used to build canisters is optimized for creating decentralized applications, and is extremely versatile to boot. One of the interesting features is that any canister can make a call to the functions of any other canister, so long as the two have shared permissions.
In order to create an open service in a canister the developer simply marks any of the shared functions as permanent and then signs over the control of the canister to public governance. The public governance canisters then become responsible for that canister and will handle such issues as configuration and upgrades.
Creating such permanent APIs has the effect of eliminating platform risk. When designed like this there is no worry that a third-party can come along and shut down a platform, application, or service arbitrarily.
The Dfinity Team
He began his technology career back in 1995 when he graduated from King’s College in London with a degree in Computer Science and 1st Class Honours. Over the years he has developed a number of innovative software products and has been a serial entrepreneur, creating a number of successful companies.
Ben is the “L” from the “BLS” cryptography applied by “Threshold Relay” to generate randomness and achieve incredible security, speed and scale in public networks. Once a Stanford PhD under Dan Boneh, Ben joined the Dfinity team after 10 years in senior engineering roles at Google.
Timo was once a Professor of Mathematics and Cryptography at Aachen University in Germany but got into Bitcoin. In 2013 he created AsicBoost to reduce the gate count on Bitcoin mining chips and increase the efficiency of Bitcoin mining by 20-30% that has since become a standard in large-scale mining operations.
In addition there are more than 100 dedicated and brilliant scientists, business leaders, and programmers at the three research centers (Palo Alta and San Francisco in California and Zug, Switzerland), all of whom are dedicated to making the Internet Computer a reality.
The ICP Token
The ICP utility token (formerly known as “DFN”) is the primary way in which governance is transferred to the Dfinity community. It can be dissolved and converted into cycles too, with the cycles used to power services and applications in the Internet Computer. And it is also used to incentivize users to create nodes which then become part of subnets.
The Dfinity foundation has had several rounds of fundraising, the first of which occurred in early 2017 and raised almost $4 million in BTC and ETH. The foundation was fortunate to see those funds appreciate significantly since.
A year later they raised $61 million from Polychain Capital and Andreessen Horowitz in a private fund raising, and several months later in mid-2018 there was another private sale raising $102 million from a number of VC investors. That private sale went off at $0.0362 per token.
These early investors are likely very happy with their early investment since the ICP IOU tokens are now worth $19.27 as of January 12, 2021, giving them a return on investment of around 54,000%.
In addition to all the private fund raising there was also an airdrop to users who registered for the Dfinity newsletter. That turned out to be a very good deal since the airdrop participants received 147 ICP tokens in September 2020 and now in January 2021 those tokens are worth over $2800.
In the short time that the internet has been in existence it has changed dramatically, and not always for the better. It has come from the early days when it promised us unbounded innovation and open use, through a period in which heavy-handed regulation was rejected, until today when the landscape is dominated by the tech giants of business that stifle innovation with their monopolistic behavior.
To combat that behavior and roll back the internet to a more innovative period Dfinity has come along with the promise of the Internet Computer.
Since its founding the Dfinity project has made significant strides. It has recently launched its mainnet in alpha and will soon the Network Nervous System will reach the trigger point that causes it to release ICP tokens.
The project has also been able to display test applications that run on just 1,000 lines of code versus their mainstream versions that are bloated with millions of lines of code. This was possible thanks to the creation of a new programming language called Motoko and the release of a terminal-based SDK for developers.
Currently the network is in its Mercury phase, and is poised to reach Genesis, which is the true beginning of the Internet Computer as envisioned by the team at Dfinity. If they are correct, this Genesis will reboot the internet and restore the innovation that is needed to allow the internet to evolve.
Featured Image via Shutterstock