We know how large technology companies have too much power and influence in today’s digital world. If we look at web applications, they are mostly powered by centralized server models from companies like AWS. But one company which is challenging this notion.
By running an advanced blockchain computer protocol across a network of independent data centres, the Dfinity Foundation has created an open development platform that enables next-generation internet services, enterprise systems and distributed applications.
Sign up for your weekly dose of what's up in emerging technology.
Dfinity calls it an “internet computer,” an open network that serves as a large virtual mainframe computer in cyberspace. That would allow decentralized versions of many online technology services like Uber or Dropbox, according to the company. Because the internet computer is not hosted for running apps in a centralized location, it can help people who don’t want to depend on cloud servers. While Dfinity plans to introduce its own hardware and data centers, anyone else can also join the network to add to storage and processing needs for apps.
According to Dominic Williams, Dfinity Founder and Chief Scientist, the Network Nervous System (NNS) is the technical solution to the systemic problems big tech has created with its monopoly over the internet, a public utility that should be completely open — bringing back the concept of the programmable web.
Launched recently by Dfinity, the Sodium Network will unveil the Network Nervous System (NNS), an open algorithmic governance system that controls the Internet Computer. The ICP protocol is a blockchain computer protocol. One of the things that makes the protocol unique is that it has an open onboard governance system called the network nervous system, which is responsible for controlling, configuring and managing the network. Many say this could be a game-changing decentralised computing network. Sodium, the fourth of five milestones, represents the future, introducing the open algorithmic governance system that will manage the network.
Dfinity’s New Web Architecture
The internet computer network is constructed from a hierarchy of building blocks. At the bottom, you’ve got data centers. The company says that in 10 years there will be thousands of data centers and millions of these node machines in the internet computer network.
The data centres, just like other tech companies, will host standardised node hardware for the overall network. The node machines are combined to create something called subnets. The subnets will host canisters which are the interoperable compute units that are uploaded by users.
Instead of terminal-based apps, canisters store their own front-end, meaning apps can store their state, backend logic, and front-end directly in a canister. This represents a new and drastically simplified way of building apps for developers, and the beginning of a paradigm shift that we aim to usher in through the Internet Computer.
Data centres get into the network by applying to the network nervous system. So the network nervous system is responsible for inducting data centres. The network nervous system itself is an open governance system that permissions participation in the network. In a sense, it plays a role equivalent to ICANN on the internet, which for example doles out autonomous system numbers for those that want to run BGP routers.
Motoko: A New Programming Language For Internet Computer
The Internet Computer is now operating across many data centres worldwide, and according to the company, more data centres will be added. The network is open to third-party developers who are building innovative applications and enterprise systems using the network’s expanding range of developer tools.
The company had earlier introduced Dfinity Canister SDK (V0.3.0) as well as Motoko, a new programming language that was optimised for creating tamper-proof software and open internet services for the Internet Computer using WebAssembly (Wasm). These tools equipped developers to write canisters in Motoko and compile to WebAssembly. Further, they can run a local instance or “node” of the Internet Computer — known as a replica — on their laptop and deploy compiled programs as standalone canisters. Developers can also interact with the canisters using a command-line interface.
Motoko statically compiles to WebAssembly, a portable binary format that abstracts cleanly over modern computer hardware, and thus permits its execution broadly on the internet, and the Internet Computer.” Andreas Rossberg is on the team behind this, as one of the designers of WebAssembly.
By design, Motoko helps developers write safer and more efficient code, compiles quickly, and communicates with Wasm modules written in other languages. It also enables developers to write sequential code even though Internet Computer canisters — code compiled into a Wasm module and ready to deploy onto the Internet Computer network — communicate with each other asynchronously.
Using Motoko makes it easier to quickly develop applications on the Internet Computer, but it isn’t the only language developers can use. The Internet Computer uses a Wasm execution environment, meaning that any language that can be compiled to Wasm, such as Rust, can be run on the Internet Computer. Plus, it has Orthogonal persistence which eliminates the need to maintain and manage external databases or storage volumes.
Decentralised Applications Which Are Outside The Control Of Any One Company
Here, rather than relying directly on AWS, Google Cloud or Microsoft Azure, the applications depend on the distributed architecture that Dfinity is building. Dfinity demonstrated CanCan — an open version of TikTok that operates across distributed data centres, enabling it to quickly scale storage as needed — at the Tungsten launch event.
CanCan was written with less than 1,000 lines of code to highlight the simplicity of building on the Internet Computer built using WebAssembly. The fact that CanCan is running on the Internet Computer across multiple data centres marks the Internet Computer as a new type of blockchain computer with infinite capacity and performance that rivals the traditional cloud. Dfinity also rolled out an open version of LinkedIn, called LinkedUp.
Comparison With Tech Companies
It is easier said than done when building the internet and hosting millions of apps from scratch. The tech giants like AWS have invested hundreds of billions of dollars into servers and rearchitecting the web to make it more transparent and decentralised would need a similar level of investment, particularly if it needs to host all the data and run apps at the same time. While the software innovation which Dfinity has introduced is certainly disruptive, it’s not merely about software to build an internet cloud. It is unique and innovative that Dfinity compiles down to WebAssembly but with a decentralised computation overlay on top of the whole internet.
Dfinity raised $61 million from Andreesen Horowitz, one of the most influential technology venture capital firms in the world, and Polychain Capital in a February 2018 funding round. Another $102 million were raised in the second round in August 2018 thus bringing total funding to $195 million. Andreesen Horowitz said it was ready to back it up with more investment if needed and believes in the future of truly distributed computing which is serverless. The Internet Computer is seen as a next-generation distributed computing system — similar to its Mainframe, Client Server, and Public Cloud predecessors, but one which is based on cryptography and blockchain consensus.
Despite its high ambitions and the amount it has raised, the plans to create a world computer aren’t going to come to fruition overnight. If you look at Dfinity in the context of distributed computing and blockchain, the project is undoubtedly disruptive. Dfinity could very possibly build an effective and scalable infrastructure for running high throughput decentralized apps. But will it replace incumbent internet giants to host hyperscale business apps which need tremendous amounts of processing, storage and memory capacity? This seems unlikely (in the short term) given the amount of investment that has gone into building AWS, Azure or Google Cloud.