Difference between revisions of "FAQ"

From Internet Computer Wiki Staging
Jump to: navigation, search
 
(41 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  
=1. What is the Internet Computer?=
+
==What is the Internet Computer vision?==
  
==What are the value propositions of the Internet Computer?==
+
[[Internet Computer vision]]
  
The Internet Computer is a blockchain computer with concrete benefits that make it the most powerful smart contract platform:
+
==How fast is the Internet Computer?==
  
* scales infinitely
+
For a deeper dive, see [[Internet Computer Performance]].
* provides a good user experience for consumers of decentralized app ("dapps")
 
* 100x faster
 
* 1000x cheaper (and predictable costs)
 
* can host all of the code of apps
 
* can update itself on-chain via community votes
 
* [Coming soon] Host open internet services
 
  
Some blockchain platforms have one or two of these features, but none have all of these.
+
Below is a high-level overview:
  
 +
The most helpful way to way to answer this question is by choosing a vantage point.
  
===Scales infinitely ===
+
===From the point of view of a dapp user (e.g. "dapps the speed makes possible") ===
  
Crypto protocols like Bitcoin or Ethereum (by design) do not grow in the number of transactions they can handle by adding more servers (e.g. miners). Bitcoin, for example, will handle the same number of transactions if there are 100 machines in the network or 1 million. Some networks have high transactions per second and there are optimizations that crypto networks do to improve this (e.g. roll-ups), but the Internet Computer has a simple property: its capacity grows by adding more machines to the network. That is it. That is the simple, but very unique, property that makes the Internet Computer "infinitely scalable." It does not mean the Internet Computer can handle infinite transactions at any given moment, but it does mean that to meet the demand for storage or compute, the Internet Computer can accept more machines.  
+
From the point of view of a user of a dapp, the IC is "fast" enough that app consumers would have no idea that it runs with a blockchain under the hood (or Azure or IBM or AWS). It would be comparable to centralized compute providers. This means that while it would be extremely tricky to "build an Airbnb web app on (traditional) smart contracts" because of the slow user experience, developers can create "Airbnb web app on the Internet Computer".
  
===Good user experience ===
+
That is how apps like [https://v2.oc.app/ OpenChat], LinkedUp, Distrikt can provide a good user experience.
 
Dapps hosted on some layer 1 blockchains suffer from a few pain points:
 
* Slow: The dapp is slow to load becaus the underlying crypto network can take seconds or minutes to process
 
* Insecure: The dapp is not really a dapp but hosted on a centralized cloud provider (e.g. AWS) because the underlying network cannot host the entire dapp. This can lead to insecurity.
 
* Hard to access: Many networks require users to pay in tokens for using a dapp. Not only does this make dapps not free to use (slowing their growth), it may also force the users to install browser plugins (e.g. Metamask) or wallets to even use the dapp.
 
  
Dapps on the Internet Computer do not have these problems. They are:
+
===From the point of view of a dapp developer (e.g. "latency of calls") ===
* Fast: Dapps on the Internet Computer dapps comparably fast to what modern users expect
 
* Secure: Developers can host the entire dapp on the Internet Computer's tamperproof environment which makes the dapp more secure.
 
* Easy to access: Dapps on the Internet Computer can pay for their own usage so they can be accessed by anyone without wallets or plugins. Example: https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/
 
  
===100x faster ===
+
There will be two relevant factors:
  
The Internet Computer is very fast. There are two types of calls. "Transactions" is not the right technical term, but it serves in this case to paint a picture.
+
a. '''How fast a dapp can READ data from a backend on the IC''' - Apps can make query calls to canisters (which hold state) so it can read data in less than a second ('''targeting under 200 milliseconds and regularly hit under 250 milliseconds''').
  
* Query calls: these calls take 200 milliseconds. They are used for reading data such as "fetch my profile image on the dapp I just logged into".
+
b. '''How fast a dapp can WRITE data to a backend on the IC''' - Apps can make UPDATE calls. These go through consensus so they take more time. '''Target is 2 seconds''' currently (with constant work to decrease that further). Compared to BTC or ETH, this is orders of magnitude faster. Compared to centralized compute, this MAY seem slow at first, but actually, if you take into account the amount of replication across servers in most stacks, it is par for the course.
* Update calls: these calls take 2 seconds. They are used for updating data such as "send ICP tokens to Bob."
 
  
Developers can use both in their apps to provide a good user experience.  
+
More details here: https://wiki.internetcomputer.org/index.php?title=Query_and_update_call_latency
 +
 
 +
===From the POV of blockchain measurements (e.g "blocks per second & transactions per second") ===
 +
 
 +
The IC is "unbounded" which means that, unlike most other protocols, it can improve latency and throughput by adding more machines. To double the calls per second... we would just add more subnets. This is a key point in the phrase "the IC is unbounded." As of January 18, 2021, the Internet Computer is processing '''31.7 blocks per second''': https://dashboard.internetcomputer.org/
 +
 
 +
==How big is the Internet Computer?==
  
===1000x cheaper ===
+
===Size of the Internet Computer===
  
Building on the blockchain can be expensive. To use Ethereum as a concrete example:
+
The Internet Computer's size (read: topology)<ref>https://medium.com/dfinity/a-technical-overview-of-the-internet-computer-f57c62abc20f</ref> can be measured in a few ways:
  
- Smart contract call can cost $25
+
* Number of smart contracts
- Hosting 1 Gigabyte of data on-chain costs $1,000,000 per year
+
* Number of subnets
 +
* Number of nodes
 +
* Number of data centers
  
Internet Computer ∞
+
[[File:Hiearchy_of_network_building_blocks.jpeg|1000px]]
- Smart contract call: < $0.05
 
- Hosting 1 Gigabyte of data on-chain costs < $5 per year
 
  
===Hosts all dapp code on-chain ===
 
  
Because of the issues of costs and speed mentioned above, most other blockchain networks do not host the entire dapp on-chain, but maybe a small part of it and host the rest in centralized cloud providers (e.g. Google Cloud, IBM Cloud, Azure, Amazon Web Services, etc...)
+
===Smart Contracts===
  
===Can update itself via community votes===
+
As of January 7, 2022, there are '''16,728<ref>https://dashboard.internetcomputer.org/</ref> smart contracts''' created since May 10, 2021. The goal is for this to be '''billions''' in 10 years.
  
The Internet Computer can update its code by having community proposals that the community can vote on. This gives the power of the direction of the Internet Computer to the token holders.
+
===Subnets===
  
===Host open internet services===
+
As of January 7, 2022, there are '''30 subnets<ref>https://dashboard.internetcomputer.org/</ref>''' in the Internet Computer. The goal is for this to be '''hundreds of thousands''' in 10 years.
  
Enabling tokenized dapps and services built on the Internet Computer that can be controlled entirely by the community.<ref>https://medium.com/dfinity/how-dapp-developers-placing-their-faith-in-total-decentralization-will-inherit-the-world-79419a3e36c9</ref>
+
===Nodes===
  
 +
As of January 7, 2022, there are '''412 nodes<ref>https://dashboard.internetcomputer.org/</ref>''' in the Internet Computer. The goal is for this to be '''millions''' in 10 years.
  
==How fast is the Internet Computer?==
+
===Data Centers===
  
==How big is the Internet Computer?==
+
As of January 7, 2022, there are '''21 nodes<ref>https://www.dfinityexplorer.org/#/datacenters/</ref>''' in the Internet Computer. The goal is for this to be '''thousands''' in 10 years.
  
 
==What is the function of the ICP utility token?==
 
==What is the function of the ICP utility token?==
 +
 +
The ICP token is used in a variety ways.
 +
 +
===Computation and Storage===
 +
 +
The first use ICP is used to pay for computation in the form of cycles. 1 [https://en.wikipedia.org/wiki/Special_drawing_rights SDR] of ICP can be converted to a trillion cycles. SDR is a stable basket of currencies tracked by the IMF. Its price sits around $1.42 USD at the time of writing. Cycles are burned to pay for computation, storage, and serving of web pages. As more dapps are hosted on the Internet Computer blockchain, more ICP tokens are converted and burned.
 +
 +
===Governance of the Internet Computer===
 +
The second use of ICP is in the NNS. If you want to vote and earn voting rewards in the NNS, you have to stake your ICP tokens in a neuron. When you vote, you receive voting rewards in the form of newly minted ICP tokens.
 +
 +
===Rewards to node owners===
 +
Lastly, ICP tokens are also minted as rewards to node owners. On the one hand, the total supply of ICP is deflationary because the tokens are converted into cycles and burned. On the other hand, it is inflationary because rewards are minted for node owners and neurons.
  
 
==What kind of dapps are possible on the Internet Computer?==
 
==What kind of dapps are possible on the Internet Computer?==
Line 78: Line 82:
  
 
==Why can the Internet Computer do these things other blockchains cannot?==
 
==Why can the Internet Computer do these things other blockchains cannot?==
 +
 +
The technical reasons go beyond the scop of the FAQ, but a high-level answer is:
 +
 +
=== Unique to the Internet Computer ===
 +
 +
'''Chain key cryptography'''<ref>https://medium.com/dfinity/chain-key-technology-one-public-key-for-the-internet-computer-6a3644901e28</ref> is the engine that drives the Internet Computer and makes its operation possible. It allows for:
 +
 +
* Adding new nodes to form new subnets to scale the network infinitely
 +
* Replacing faulty or crashed nodes with new ones without ever stopping
 +
* Reviving subnets even if too many nodes within have failed
 +
* Upgrading the Internet Computer Protocol seamlessly, allowing the network to fix bugs and add new features
 +
 +
=== Modern technologies leveraged by the Internet Computer ===
 +
 +
The use of WebAssembly as the execution layer<ref>https://www.reddit.com/r/dfinity/comments/nrmvim/ama_we_are_akhi_alexandra_islam_and_dimitris_from/</ref> of the Internet Computer gives canister smart contracts an execution environment that allows for very powerful smart contracts
  
 
==What is the consensus algorithm of the Internet Computer?==
 
==What is the consensus algorithm of the Internet Computer?==
Line 84: Line 103:
  
 
==Where can I see a list of some dapps on the Internet Computer?==
 
==Where can I see a list of some dapps on the Internet Computer?==
 +
 +
===Example dapps===
 +
 +
* [https://identity.ic0.app Internet Identity]
 +
* [https://nns.ic0.app NNS dapp]
 +
* [https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/ DSCVR]
 +
* [https://c7fao-laaaa-aaaae-aaa4q-cai.ic0.app/ Distrikt]
 +
* [https://7e6iv-biaaa-aaaaf-aaada-cai.ic0.app/ OpenChat]
 +
 +
 +
 +
===Lists of dapps===
 +
 +
https://dfinity.org/showcase/
 +
https://dfinityapps.co/
 +
https://n7ib3-4qaaa-aaaai-qagnq-cai.raw.ic0.app/
 +
https://github.com/dfinity/awesome-dfinity
  
 
==How is the Internet Computer governed?==
 
==How is the Internet Computer governed?==
  
 
==How fast is the Internet computer gaining adoption?==
 
==How fast is the Internet computer gaining adoption?==
 +
 +
=Crypto & Blockchain Questions=
 +
 +
==How does the Internet Computer compare with Bitcoin?==
 +
 +
==How does the Internet Computer compare with Ethereum?==
 +
 +
==How decentralized is the Internet computer?==
 +
 +
==How do I build on the Internet Computer?==
 +
 +
==How much does it cost to run a dapp on the Internet Computer?==
 +
 +
==How is the Internet Computer governed?==
 +
 +
==What are the tokenomics of the Internet Computer?==
 +
 +
==How do I stake on the Internet Computer?==
 +
 +
==What do smart contracts on the Internet computer look like?==
 +
 +
==How does the Internet Computer scale?==
 +
 +
==Where can I see the code of the Internet Computer?==
 +
 +
=Node Provider questions=
 +
 +
==How does one become a node provider to the Internet Computer?==
 +
 +
==Another Title==
 +
...and some text.

Latest revision as of 12:05, 19 January 2022

What is the Internet Computer vision?

Internet Computer vision

How fast is the Internet Computer?

For a deeper dive, see Internet Computer Performance.

Below is a high-level overview:

The most helpful way to way to answer this question is by choosing a vantage point.

From the point of view of a dapp user (e.g. "dapps the speed makes possible")

From the point of view of a user of a dapp, the IC is "fast" enough that app consumers would have no idea that it runs with a blockchain under the hood (or Azure or IBM or AWS). It would be comparable to centralized compute providers. This means that while it would be extremely tricky to "build an Airbnb web app on (traditional) smart contracts" because of the slow user experience, developers can create "Airbnb web app on the Internet Computer".

That is how apps like OpenChat, LinkedUp, Distrikt can provide a good user experience.

From the point of view of a dapp developer (e.g. "latency of calls")

There will be two relevant factors:

a. How fast a dapp can READ data from a backend on the IC - Apps can make query calls to canisters (which hold state) so it can read data in less than a second (targeting under 200 milliseconds and regularly hit under 250 milliseconds).

b. How fast a dapp can WRITE data to a backend on the IC - Apps can make UPDATE calls. These go through consensus so they take more time. Target is 2 seconds currently (with constant work to decrease that further). Compared to BTC or ETH, this is orders of magnitude faster. Compared to centralized compute, this MAY seem slow at first, but actually, if you take into account the amount of replication across servers in most stacks, it is par for the course.

More details here: https://wiki.internetcomputer.org/index.php?title=Query_and_update_call_latency

From the POV of blockchain measurements (e.g "blocks per second & transactions per second")

The IC is "unbounded" which means that, unlike most other protocols, it can improve latency and throughput by adding more machines. To double the calls per second... we would just add more subnets. This is a key point in the phrase "the IC is unbounded." As of January 18, 2021, the Internet Computer is processing 31.7 blocks per second: https://dashboard.internetcomputer.org/

How big is the Internet Computer?

Size of the Internet Computer

The Internet Computer's size (read: topology)[1] can be measured in a few ways:

  • Number of smart contracts
  • Number of subnets
  • Number of nodes
  • Number of data centers
Error creating thumbnail: File missing


Smart Contracts

As of January 7, 2022, there are 16,728[2] smart contracts created since May 10, 2021. The goal is for this to be billions in 10 years.

Subnets

As of January 7, 2022, there are 30 subnets[3] in the Internet Computer. The goal is for this to be hundreds of thousands in 10 years.

Nodes

As of January 7, 2022, there are 412 nodes[4] in the Internet Computer. The goal is for this to be millions in 10 years.

Data Centers

As of January 7, 2022, there are 21 nodes[5] in the Internet Computer. The goal is for this to be thousands in 10 years.

What is the function of the ICP utility token?

The ICP token is used in a variety ways.

Computation and Storage

The first use ICP is used to pay for computation in the form of cycles. 1 SDR of ICP can be converted to a trillion cycles. SDR is a stable basket of currencies tracked by the IMF. Its price sits around $1.42 USD at the time of writing. Cycles are burned to pay for computation, storage, and serving of web pages. As more dapps are hosted on the Internet Computer blockchain, more ICP tokens are converted and burned.

Governance of the Internet Computer

The second use of ICP is in the NNS. If you want to vote and earn voting rewards in the NNS, you have to stake your ICP tokens in a neuron. When you vote, you receive voting rewards in the form of newly minted ICP tokens.

Rewards to node owners

Lastly, ICP tokens are also minted as rewards to node owners. On the one hand, the total supply of ICP is deflationary because the tokens are converted into cycles and burned. On the other hand, it is inflationary because rewards are minted for node owners and neurons.

What kind of dapps are possible on the Internet Computer?

What is the history of the Internet Computer?

Why can the Internet Computer do these things other blockchains cannot?

The technical reasons go beyond the scop of the FAQ, but a high-level answer is:

Unique to the Internet Computer

Chain key cryptography[6] is the engine that drives the Internet Computer and makes its operation possible. It allows for:

  • Adding new nodes to form new subnets to scale the network infinitely
  • Replacing faulty or crashed nodes with new ones without ever stopping
  • Reviving subnets even if too many nodes within have failed
  • Upgrading the Internet Computer Protocol seamlessly, allowing the network to fix bugs and add new features

Modern technologies leveraged by the Internet Computer

The use of WebAssembly as the execution layer[7] of the Internet Computer gives canister smart contracts an execution environment that allows for very powerful smart contracts

What is the consensus algorithm of the Internet Computer?

How does the ICP Ecosystem look like?

Where can I see a list of some dapps on the Internet Computer?

Example dapps


Lists of dapps

https://dfinity.org/showcase/ https://dfinityapps.co/ https://n7ib3-4qaaa-aaaai-qagnq-cai.raw.ic0.app/ https://github.com/dfinity/awesome-dfinity

How is the Internet Computer governed?

How fast is the Internet computer gaining adoption?

Crypto & Blockchain Questions

How does the Internet Computer compare with Bitcoin?

How does the Internet Computer compare with Ethereum?

How decentralized is the Internet computer?

How do I build on the Internet Computer?

How much does it cost to run a dapp on the Internet Computer?

How is the Internet Computer governed?

What are the tokenomics of the Internet Computer?

How do I stake on the Internet Computer?

What do smart contracts on the Internet computer look like?

How does the Internet Computer scale?

Where can I see the code of the Internet Computer?

Node Provider questions

How does one become a node provider to the Internet Computer?

Another Title

...and some text.