5 Reasons to Build on the Internet Computer

Written by cryptonomicon | Published 2022/01/29
Tech Story Tags: blockchain | serverless | computing | cloud-computing | cloud | blockchain-technology | technology | internet-computer-protocol

TLDRThe Internet Computer is a new computing platform that enables developers to reap the benefits blockchain technology offers without sacrificing performance. There are five reasons to build on the Internet Computer. First, it allows platform developers to plausibly promise that they will not revoke API access from applications that build on top of their platform. Second, it allows developers to use tokens to bootstrap network effects. Third, it enables developers to build applications that weren’t previously possible to build. Fourth, it greatly simplifies the tech stack. Finally, a significant amount of funding is available to developers who build applications on the Internet Computer, regardless of where they live.via the TL;DR App

The Internet Computer is a new computing platform that uniquely enables developers to reap the benefits blockchain technology offers without sacrificing performance.  This article is the first in a series of six articles outlining why developers should build applications on the Internet Computer.  This article will first briefly explain what the Internet Computer is, then it will summarize five distinct reasons why developers should build on the Internet Computer.  The remaining articles will each expand on one of the five reasons.

What is the Internet Computer?

The Internet Computer is a blockchain that weaves together the compute capacity of independent data centers around the world to create a decentralized “world computer” that is capable of hosting virtually any software imaginable.  The idea behind the Internet Computer is that software run on a blockchain has significant advantages over traditional software because it is highly secure and allows developers to make commitments in their code that they cannot later revoke.

Although blockchains are typically viewed as far too expensive and slow to run anything but the most basic software, the Internet Computer uses novel cryptography and makes certain tradeoffs that allow it to operate at both a speed and cost that is somewhat comparable to cloud providers.

The software runs on the Internet Computer in the form of “canisters,” which are bundles of software code and persistent pages of memory the code runs inside.  The code is in the form of WebAssembly bytecode, which can be compiled down from high-level programming languages such as Rust or Motoko (a new programing language created by the DFINITY Foundation).

Canisters can be thought of as an advanced form of “smart contracts”—applications that run on blockchains like Ethereum.

Canisters are similar to smart contracts because their execution is governed by a blockchain protocol.  This has two primary implications.  First, canisters and smart contracts are both tamperproof.  Traditional technology systems are insecure by default, so developers have to protect their systems using firewalls, VPNs, and other anti-intrusion systems.

Even then, the systems are not totally secure: they are vulnerable in too many ways to fix completely.  Canisters and smart contracts, however, do not need any of the defenses traditionally used because they are secure by default: their state can be modified only through messages included in the blockchain.

Second, unlike traditional software, canisters and smart contracts run autonomously.  In other words, the data and logic comprising an application run by themselves, without the need of a company to store and run them.  This uniquely enables developers to make strong commitments about their code: including that it will continue to exist even if the company that created it doesn’t.

The reason canisters can be thought of as an advanced form of smart contracts is because canisters have capabilities that go far beyond that of smart contracts.  For example, unlike smart contracts, after a canister has been deployed it can be edited by whoever controls it—giving developers a way to fix bugs in their code or add new features to their application.  Moreover, control of a canister can be “tokenized” and shared among any number of people.  This enables developers to create applications that are controlled by an arbitrarily large group of people.

Another example is that canisters have unique features that enable developers to scale their applications as needed.  Canisters, unlike smart contracts, have the ability to communicate with other canisters through asynchronous messages and to create new canisters.

Those features—which aren’t present in any other mainstream blockchain that exists today—allow both the Internet Computer and the applications built on top of it to scale without bound.  Indeed, Facebook (for example) could theoretically run entirely on the Internet Computer, using millions of canisters running in parallel.  No other blockchain can say the same.

Why Build on the Internet Computer?

The Internet Computer is capable of running virtually any application imaginable: from something as simple as a bare-bones website to something as complex as an entire enterprise system.  But just because you can run an application on a specific computing platform does not necessarily mean that you should.  There must be benefits to doing so.  There are five main reasons to build your application on the Internet Computer.

First, the Internet Computer allows platform developers to plausibly promise that they will not revoke API access from applications that build on top of their platform.  Twitter, Facebook, and LinkedIn all benefitted early on from third-party developers who built applications on top of their platforms.

Yet when those platforms reached maturity, they all changed the rules surrounding their APIs—throttling the very applications that helped them grow years before.  The precedent set by Twitter, Facebook, and LinkedIn means that application developers today think twice before building on top of the new generation of platforms because they know that they are actually building on sand if they do.

The Internet Computer solves this problem because it has a feature that allows (but does not require) developers to designate their canisters’ APIs as “permanent:” meaning that nobody can later revoke or even degrade access to them.

Second, the Internet Computer allows developers to use tokens to bootstrap network effects.  Internet platforms can be thought of as networks: the more users a platform has, the more valuable it is to each user.  That means, however, that new platforms with few users provide little utility.

It is extremely difficult (and expensive) today for developers of new platforms to attract enough users to bootstrap network effects.  The Internet Computer offers a solution to this problem by allowing developers to reward early users with tokens.  Tokens can be anything: from fractional control over the platform to a currency used on the platform, to a piece of art unrelated to the platform (NFTs).  Awarding early adopters with tokens incentivizes people to join a platform before it offers utility by giving them a financial reward for doing so.

Third, the Internet Computer enables developers to build applications that weren’t previously possible to build.  Applications built on blockchains are capable of doing things that traditional software can’t.  For example, blockchain applications can hold assets in the code itself—instead of just pointers to offline accounts.

Other blockchains, however, are encumbered by constraints that make it prohibitively expensive to store data on-chain or use the blockchain to perform anything but the most basic mathematical computation.  By allowing developers—for the first time—to build virtually anything on a blockchain, the Internet Computer uniquely enables developers to build applications that couldn’t have been built before.

Fourth, the Internet Computer greatly simplifies the tech stack for developers.  Because the Internet Computer is secure by default, developers who build on top of it need not use a firewall (or any other security solutions to which developers have become accustomed).

Moreover, the Internet Computer acts as the complete tech stack: obviating the need for web servers, content delivery networks, external databases to hold state, or any other complexities that developers have had to use traditionally.

Finally, a significant amount of funding is available to developers who build applications on the Internet Computer, regardless of where they live.  The DFINITY Foundation—the organization that developed the Internet Computer—has pledged $220 million of funding in the form of grants to developers who build on the Internet Computer.

Separately, the DFINITY Foundation has also provided support for the “Beacon Fund”: a fund managed by Polychain Capital with additional support provided by Andreessen Horowitz.  And it has earmarked $10 million for “Achievement Unblocked”: a competition specifically for developers who build games on the Internet Computer.

Outside of the funding available from the DFINITY Foundation, developers who build on the Internet Computer are able to obtain funding by creating and selling tokens that are associated with their application in some way.

Disclosure: The author of this article owns ICP, which is the native token for the Internet Computer.


Written by cryptonomicon | Blockchain maximalist diving deep into the Web3 rabbit hole.
Published by HackerNoon on 2022/01/29