Internet Computer vision

From Internet Computer Wiki
Revision as of 18:41, 24 August 2022 by Diego.prats (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Internet Computer blockchain is a real "world computer" that removes the traditional limitations of smart contracts using advanced new cryptography and distributed protocols.

Web speed

Smart Contracts are fast and performant to allow developers to build anything. The design goal is that developers can build consumer-facing experiences that are as fast as they would expect from centralized servers. Dapp developers do not need to choose between "smart contracts" and "fast." In short, dapp users experience is so fast that users should not notice if their web experience is running on a blockchain or centralized provider.

From a blockchain POV, Internet Computer Performance performance tests shows the IC latency at 200 milliseconds for query calls (reads) and 2 seconds for update calls (writes). As of December 1, 2021, The Internet Computer can handle 250,000 queries per second and 11,500 update calls per second.

Environment and cost

Low direct costs

Unlike most blockchains, the efficiency and costs of the Internet Computer approaches the traditional IT stack so its is economically feasible to host dapps with lots of data and content.

For comparison:

Blockchain Storage Costs
Ethereum $350,000,000 USD per GB per year
Internet Computer $5 USD per GB per year

Low indirect costs

Smart contracts as "secure-by-default" that comes with data replication removes a lot of software complexity that developers do not need to build. The design intent of the IC is to make development and deployment simple to reduce the time necessary to build and maintain software compared to traditional systems.

Network scales without limit

Most blockchains have transactions limits baked into the protocol (e.g. adding more servers to Bitcoin does not increase its transaction volume) and need cumbersome workarounds to address scaling. The Internet Computer can process unbounded volumes of smart contract data and computation natively because it can grow in capacity by adding more nodes. That is how the network went from 19 blocks per second in July 2021 to 30 blocks per second by December 2021.

See Internet Computer Dashboard: https://dashboard.internetcomputer.org/

Network scaling is transparent to systems

Network scaling is transparent to smart contract code which means that dapp developers do not need to worry about details about the network in order for their dapps to operate or scale. For example:

Although subnets are the fundamental building blocks of the overall Internet Computer network, they’re transparent to users and software. Users and canister software only need to know the identity of a canister to call the functions that it offers.

Source: https://medium.com/dfinity/a-technical-overview-of-the-internet-computer-f57c62abc20f

Web serving

Dapp code hosted and executed on-chain

Smart contracts on the Internet Computer serve web content directly to users. This is a distinguishing feature, on other blockchains a small part of the dapp logic runs in a smart contract, but the actual consumer-facing web or interface is hosted on a centralized cloud provider (e.g. AWS) instead of being served directly from the blockchain.

The Internet Computer serving dapps whose code is hosted and executed entirely on-chain unlocks the Web3 potential of smart contracts.

Reverse Gas Model (AKA "canister pays")

In dapps built on Ethereum (as an example), users require a wallet or tokens to use it. This slows down adoption of dapps because using a dapp is not as simple as clicking on a website link; it requires users to buy tokens, install browser plugins, etc. Internet Computer dapps have he "Reverse Gas model" where users can interact with a dapp without having to pay in tokens since the canister can store a certain amount of cycles and pay for the user.

As an example, the Motoko Playground dapp is hosted and executed entirely on-chain and it does not require visitors to pay for the computation: https://m7sm4-2iaaa-aaaab-qabra-cai.raw.ic0.app/

Internet Identity

Internet Identity is a blockchain authentication system that enables you to sign in securely and pseudonymously to dapps on the Internet Computer. This makes logging into dapps easy and safe for consumers.

Network Nervous System

The Network Nervous System (NNS) is the control center where the Internet Computer’s nodes and subnets are organized, tracked, and managed. The NNS is an automated in-protocol governance system that makes the network self-directed. Unlike Bitcoin or Ethereum, this means the Internet Computer blockchain can update itself via community-led proposals so the community controls the network.

Advantages of the NNS:

  • Seamless community-driven evolution and governance without disruptive hard forks
  • Gives control of the network to token holders as well as node providers (in Bitcoin or Ethereum, only nodes affect the upgrades of the network)
  • Accelerates the number of improvements or updates to the network. In 2021, the Internet Computer had dozens of updates, giving the IC very fast development iterations while also being decentralized.

Novel “canister” smart contract framework

Smart contracts have proven to be powerful new types of software programs because of their tamperproof nature. They can host financial contracts and systems with billions of dollars in value. However, as the scope of smart contracts increase, performance really matters. Building an "airbnb clone" entirely with Ethereum smart contracts would be impractical due to performance bottlenecks on individual smart contracts, but it is easy with the Internet Computer's canisters (dapps/smart contracts). A rough but helpful analogy may be "you can build complex calculations and logic with an excel spreadsheet, but you would not build Twitter by cobbling up many spreadsheets."

Attributes that make Internet Computer smart contracts powerful ways of building dapps:

  • Orthogonal persistence (data lives in persistent memory pages) making managing data much easier
  • Actor model gives dapps a time-tested model for concurrency that scales (deterministic parallelism, internally and externally)
  • Dapps get access to system APIs uncommon in Ethereum smart contracts (but common tools in centralized solutions) such as public randomness
  • Integration with other blockchains e.g. canisters will be able to have Bitcoin addresses in the future

Service Nervous System (SNS) economic framework for dapps

The Internet Computer’s SNS feature will allow developers to create decentralized, token-based governance systems for their dapps.

This unlocks a few possibilities:

  • An advanced DAO can take control of a dapp
  • Dapps run under the control of a community (full decentralization)
  • Dapps run as extensions of the blockchain (microeconomy with macroeconomy)
  • Dapps can raise funds into the SNS; funds controlled by community