What is the Internet Computer (ICP)? A beginner's explanation!

Code & State
3 Jan 202311:03

Summary

TLDRThe Internet Computer is a decentralized cloud network that operates on the Internet Computer Protocol (ICP), an open-source program. It consists of nodes running ICP, forming subnets that power canisters—modules for creating decentralized applications. These canisters can serve websites, handle transactions, and interact with users directly, eliminating the need for intermediaries. The network uses a unique consensus model, allowing for scalability and trustless communication between subnets. This system aims to revolutionize the internet by providing a more secure, efficient, and decentralized platform for applications and services.

Takeaways

  • 🌐 The Internet Computer is a decentralized cloud network with three main components: the network itself, the ICP token, and the ICP protocol.
  • 💰 ICP is a cryptocurrency with utility in the network, used for computation payment and governance participation.
  • 📈 Nodes in the Internet Computer are high-requirement data centers that run the ICP protocol, maintaining the network's operation.
  • 🔗 Canisters are the building blocks for decentralized applications on the Internet Computer, allowing for direct user interaction and interoperability.
  • 🔄 Canisters can be upgraded, unlike traditional smart contracts, which can only be replaced, offering flexibility for developers.
  • 🔐 Controllers have the power to manage canisters, with options ranging from single developers to community-governed DAOs.
  • 🔒 The Internet Computer uses a novel consensus model based on threshold cryptography, ensuring secure and decentralized decision-making.
  • 🔑 Each subnet in the Internet Computer has its own public and private keys, enabling trustless communication and a scalable network architecture.
  • 📊 The Network Nervous System (NNS) manages public keys of all subnets, simplifying user interaction with the network.
  • 🚀 The Internet Computer has the potential to scale indefinitely by adding more subnets, each with its own consensus mechanism.
  • 🔍 Users are encouraged to do their own research and interact with the Internet Computer to form their own opinions.

Q & A

  • What are the three different things referred to by the term 'Internet Computer'?

    -The term 'Internet Computer' refers to a decentralized cloud network, the ICP cryptocurrency token, and the Internet Computer Protocol (ICP), which is the open-source program running on the network's nodes.

  • How does the ICP token serve utility within the Internet Computer network?

    -The ICP token can be used to pay for computation, or staked to participate in the network's governance, earning rewards for the user.

  • What is a canister in the context of the Internet Computer?

    -A canister is a well-assembled module that runs on the Internet Computer network, allowing users to interact directly with it by sending messages, which can represent actions like transferring tokens or posting on social media.

  • How does the Internet Computer address the issue of intermediaries in decentralized applications?

    -The Internet Computer allows canisters to serve websites directly to users, eliminating the need for centralized cloud servers and associated intermediaries, thus reducing security risks and trust requirements.

  • What is the reverse gas model, and how does it benefit users?

    -The reverse gas model means that canisters have a cycle balance and pay for computation using their own balance, eliminating the need for users to have a wallet and pay fees for smart contract execution.

  • How can a canister be upgraded, and what are the implications for developers and users?

    -A canister can be upgraded by its controllers, who have full power over it, including the ability to delete or update the code. This is beneficial for developers as it allows for bug fixes and feature additions, but it also raises questions about who has the authority to update the canister.

  • What is the consensus model used by the Internet Computer, and how does it differ from Proof of Work or Proof of Stake?

    -The Internet Computer uses a new consensus model developed specifically for it, which is neither Proof of Work nor Proof of Stake. It uses threshold cryptography and public-private key pairs to reach consensus across nodes.

  • How does the Internet Computer ensure that a bad actor cannot change the state of a canister?

    -All nodes run the Internet Computer Protocol and must reach a consensus on the state of the canister. This makes it impossible for a single bad actor to cheat and change the state without being detected by the network.

  • What is the Network Nervous System, and how does it simplify the process of verifying transactions on the Internet Computer?

    -The Network Nervous System is a subnet that stores all the public keys of other subnets. It can create certificates on these public keys, allowing users to verify transactions using just one public key, significantly reducing the data required compared to traditional blockchain networks.

  • How can the Internet Computer scale, and what does this mean for its potential as a decentralized platform?

    -The Internet Computer can scale by adding more subnets, each running its own consensus. This allows for increased capacity and the potential to become the first blockchain to scale to infinity, though the network is still young and its claims need to be proven.

Outlines

00:00

🌐 Understanding the Internet Computer

This paragraph introduces the concept of the Internet Computer, highlighting the differing opinions about it as either a scam or a revolutionary technology. It explains that the term 'Internet Computer' refers to three things: a decentralized cloud network, the ICP cryptocurrency token, and the Internet Computer Protocol (ICP) which is open-source software running on nodes. The paragraph also describes the physical requirements for nodes and how they communicate over the Internet to form the network, as well as the role of subnets and canisters in the ecosystem.

05:04

💡 The Functionality and Flexibility of Canisters

This section delves into the capabilities of canisters, which are modules that run on the Internet Computer network. It compares canisters to smart contracts and explains how they enable the creation of various applications, such as messaging apps, social media platforms, and NFT collections. The paragraph also discusses the unique features of canisters, like the ability to serve websites directly and the reverse gas model, which eliminates the need for traditional wallets and intermediaries. It touches on the upgradeability of canisters and the concept of controllers who manage them.

10:09

🔐 Consensus and Scalability in the Internet Computer

The final paragraph explains the consensus model used by the Internet Computer, which is different from proof of work or proof of stake. It uses threshold cryptography to ensure secure communication between nodes. The paragraph also addresses the scalability of the network by adding more subnets, each with its own public and private keys, allowing for trustless communication. The concept of the network nervous system, which stores all subnet public keys, is introduced as a solution to manage the growing number of keys. The potential for the Internet Computer to scale indefinitely is highlighted, with a call to action for viewers to explore the network themselves.

Mindmap

Keywords

💡Internet Computer

The Internet Computer is a decentralized cloud network that operates on a blockchain model, allowing for the creation of decentralized applications (DApps). It is the main theme of the video, showcasing how it differs from traditional centralized cloud services by eliminating intermediaries and enabling direct user interaction with applications hosted on the network. The video explains that it is composed of nodes running the Internet Computer Protocol (ICP), which is open-source software maintained by the DFINITY Foundation.

💡ICP Token

ICP Token, or Internet Computer Protocol token, is a cryptocurrency native to the Internet Computer network. It serves utility within the network, allowing users to pay for computational resources or stake tokens to participate in governance and earn rewards. The ICP token is integral to the economic model of the Internet Computer, facilitating transactions and incentivizing network participation.

💡Decentralized Application (DApp)

A Decentralized Application (DApp) is an application that operates on a decentralized network, such as the Internet Computer, without a central point of control. DApps are designed to be more secure, transparent, and resistant to censorship. They are created using canisters, which are modules that run on the network nodes.

💡Canister

A canister is a fundamental component of the Internet Computer, serving as a module that hosts applications and services. Canisters are similar to smart contracts but offer additional features, such as the ability to be upgraded and interact with other canisters. They enable the creation of DApps and handle user interactions, computations, and state management.

💡WebAssembly

WebAssembly is a binary instruction format that allows for the compilation of code written in languages like Rust, Motoko, or TypeScript into a format that can be run on the Internet Computer's canisters. It is a key technology that enables the development of DApps on the Internet Computer, providing a way for developers to write and deploy their applications.

💡Threshold Cryptography

Threshold Cryptography is a cryptographic method used in the Internet Computer's consensus model, where a private key is divided into shares held by different nodes. This ensures that a certain threshold of nodes must collaborate to perform actions like signing transactions, enhancing security and preventing any single node from taking control.

💡Consensus Model

The consensus model is a mechanism used by the Internet Computer to ensure that all nodes in the network agree on the state of the system. Unlike Proof of Work or Proof of Stake, the Internet Computer uses a novel consensus model developed specifically for its network, which involves nodes running computations and signing results to reach a consensus.

💡Network Nervous System

The Network Nervous System (NNS) is a special subnet within the Internet Computer that stores the public keys of all other subnets. It acts as a central point for managing and coordinating the network's public keys, allowing users to verify transactions without needing to know all the public keys individually.

💡Reverse Gas Model

The Reverse Gas Model is an economic model used by the Internet Computer where the computational costs are covered by the canister's balance, not by the user. This model eliminates the need for users to pay fees for computation, as the canister's balance is used to fund the required resources.

💡Controllers

Controllers in the context of the Internet Computer are entities that have full power over a canister, including the ability to delete or update its code. They play a crucial role in the governance and maintenance of canisters, with different models for control, such as single developers, decentralized autonomous organizations (DAOs), or black hole canisters where no updates are possible.

💡Scalability

Scalability refers to the ability of the Internet Computer network to handle an increasing number of transactions and users without a significant decrease in performance. The network's design allows for the addition of more subnets, each running its own consensus, to increase the overall capacity and potentially scale to infinity.

Highlights

The Internet Computer is a decentralized cloud, a cryptocurrency (ICP token), and an open-source protocol.

ICP token has utility in the network, can be used to pay for computation or stake for governance rewards.

Nodes in the Internet Computer network are maintained by independent data centers with high hardware requirements.

The Internet Computer network is composed of nodes running the ICP protocol, enabling the creation of decentralized applications (canisters).

Canisters are similar to smart contracts but are a new concept developed specifically for the Internet Computer.

Canisters can serve websites directly to users, eliminating the need for centralized cloud servers and wallet transactions.

The reverse gas model allows canisters to pay for computation using their own balance, removing the need for user fees.

Canisters can be upgraded, unlike traditional smart contracts that require redeployment for changes.

Controllers have full power over canisters, including the ability to delete or update code.

The Internet Computer uses a new consensus model, different from proof of work or proof of stake.

Threshold cryptography allows subnets to create signatures on behalf of the network without revealing the private key.

The network nervous system stores all subnet public keys, simplifying user verification of transactions.

The Internet Computer can scale by adding more subnets, each running its own consensus.

Subnets can communicate trustlessly with each other using their public and private keys.

The Internet Computer aims to be the first blockchain to scale to infinity.

The network is still young, and its claims need to be proven through practical use and research.

Transcripts

play00:00

foreign

play00:06

so what exactly is this thing called the internet  computer well if you look on the internet you  

play00:11

will find people telling you know it's a scam I  mean just look at the token price but you might  

play00:15

also find people that are extremely excited  about the internet computer they think it's a  

play00:20

revolution and it's going to transform the way  the internet works if you're feeling confused  

play00:24

right now that's totally normal that's why  today will take a few minutes to understand  

play00:27

how the technology works so you can build your  own opinion before we start we need to precise  

play00:32

something because the term internet computer  is used to talk about three different things  

play00:37

the first one is a network the internet computer  is a decentralized cloud we'll talk a bit more  

play00:42

about that in the next few minutes the second  one is the token ICP is a cryptocurrency  

play00:47

you can buy it on exchanges and trade it like any  other coin the token has utility in the network  

play00:52

you can burn it to pay for computation  or you can stake it to participate in  

play00:56

the governance and earn rewards for that finally  ICP stands for internet computer protocol which  

play01:03

is a program it's actually the program that  runs in the node that power out the network  

play01:07

the code is open source you can find it online  it is currently researched and maintained by  

play01:12

the definitive Foundation but other contributors  are welcome to participate nodes are maintained  

play01:18

by independent data centers and they have  pretty high requirements in terms of hardware  

play01:23

here you can see the inside of a  node you can see the RAM and the CPU  

play01:28

here you have multiple nodes  that are being installed  

play01:31

finally this is what the nodes look like when  they are running and powering the network  

play01:36

let's review what we've seen so far the internet  computer is composed of nodes those nodes are  

play01:41

connected over the internet and they communicate  between each other they all run the ICP protocol  

play01:46

this enables a network to exist we  call this network the internet computer  

play01:51

on top of it we can create decentralized  application using canisters actually the  

play01:56

ICP token is built into one canister  which is called the ICP Ledger The  

play02:00

Ledger is responsible for processing  transactions minting and burning ICP tokens  

play02:06

the internet computer is divided into  subnets you can see five of them right now  

play02:12

each subnet Powers a number of canisters and  each subnet is powered by a number of nodes  

play02:18

at this point we've understood that the internet  computer Powers canister but what is a canister  

play02:23

a canister is basically a well assembly module  if you are not familiar with webassembly there  

play02:29

will be another video dedicated to explaining  webassembly but for the moment just bear with me  

play02:34

any long wedge that compiles to webassembly like  rust motoko or even typescript can be used to  

play02:40

write code for canisters users directly interact  with canisters by sending messages those messages  

play02:47

can represent actions that you will take on the  network like transferring your token mincing an  

play02:52

nft or even posting on social media canisters can  also interact with other canisters by sending and  

play02:58

receiving messages this enable interoperability  between different Services a canister can be used  

play03:03

to create almost any kind of application you can  create a messenging app like openshot a social  

play03:08

media application like discover or even an nft  collection like BTC flower and many many more  

play03:15

if you are familiar with other ecosystems like  ethereum Solana Avalanche or even near you might  

play03:22

be thinking that canisters and smart contracts are  very similar and this is true they share a lot of  

play03:27

properties however canisters are a completely new  concept canisters were developed specifically for  

play03:34

the internet computer and they can do things that  smart constructs cannot do let's see what they  

play03:40

can do let's say that today you want to interact  with a really famous decentralized application you  

play03:45

want to interact with unit swap uniswap is powered  by smart contracts and those smart contracts are  

play03:51

hosted on the ethereum network so you as a user  need to find a way to interact with the network  

play03:55

you will likely go on the website and download the  web page unfortunately the web page is not still  

play04:02

on the ethereum network the web pages are still on  a centralized Cloud Server something like Amazon  

play04:06

web services for example also you will need to  pay fees for the execution of the smart contract  

play04:12

torpedo's fees you will likely need to download  the wallet something like metamask for example  

play04:17

to download metamask you will likely go through  a centralized store something like the Chrome  

play04:21

extension store and the problem is that metamask  cannot directly talk to the ethereum blockchain  

play04:26

metamask also needs an intermediary something like  inferior for example the problem with all those  

play04:32

intermediaries is that each new intermediary  is a potential security breach is a risk of  

play04:37

censorship and is also an entity that you have  to trust so let's see how the internet computer  

play04:42

can solve this issue now let's say that you want  to interact with an application that is hosted on  

play04:47

the internet computer let's say that you want  to interact with discover the good thing about  

play04:52

discover is that everything is in a canister  even the website a canister can serve a website  

play04:57

directly to users because a canister can answer  HTTP request that's a huge Improvement it means  

play05:03

we can get rid of the sensorized cloud also you  don't need to pay for any computation the canister  

play05:08

has a cycle balance and will use its own balance  to pay for computation it's a huge Improvement  

play05:13

because we can get rid of the wallet and all the  intermediaries associated with it this is called  

play05:17

the reverse gas model once you deploy your smart  contract you can never change the code if you need  

play05:23

to modify something you need to redeploy a new  smart contract on the other side a canister can  

play05:28

be upgraded this makes it really useful if you  are working on a large project and need to fix  

play05:32

a bug or add a new feature but it also raises  a question who is able to update the canister  

play05:39

against her we'll have controllers controllers  have full power on the canister they can delete  

play05:44

the canister or update the code at any moment  there are three different cases the first one  

play05:50

is the case of a single developer that might be  you if you try to deploy something the second case  

play05:55

is the case of a Dao a decentralized autonomous  organization usually community members will vote  

play06:00

and accept new updates and the last case is the  case of a black hole canister in this case there  

play06:06

is no controller and no one can ever update  the code this is similar to a Smart contract  

play06:10

a canister can evolve from one of these skates to  another one for example you can start centralized  

play06:15

by controlling the canister and progressively  give away the ownership to a community or a doubt  

play06:20

a canister is not Austin in single node  otherwise that would defeat the purpose of  

play06:24

having a decentralized protocol canister is  hosted in many different nodes some of them  

play06:29

can be good actor but some of them can also be  malicious and try to change the state all nodes  

play06:34

run the internet computer protocol and have to  reach a consensus on the state of the canister  

play06:39

this makes it impossible for a bad actor alone to  try to cheat and change the state of the canister

play06:46

now that we have understood what is a canister  let's try to understand how the nodes reach an  

play06:50

agreement using the consensus like all the  centralized protocol the internet computer  

play06:54

uses a consensus model but it is not proof of  work light Bitcoin and it is not proof of stake  

play06:59

like ethereum it's actually a new model that was  developed specifically for the internet computer  

play07:03

let's see how it works through an example this  example we will assume that you want to use the  

play07:09

social media application that is hosted on the  internet computer this application as a canister  

play07:13

and you want to post a message so you send your  message to the canister and you are waiting for  

play07:18

an answer from the canister to confirm that your  message has been posted as we've said before the  

play07:23

canister is hosted in many different notes some  of them are good actors but some of them might be  

play07:27

productos thanks to something called threshold  cryptography the subnet as a public key this  

play07:34

public key is associated with a private one the  private one is divided into shares each node has  

play07:39

a different share of the private key this means  that if you combine enough shares you can create  

play07:44

a signature on behalf of the subnet but a note  on its own cannot create a signature if you don't  

play07:49

know what is a public key and a private key I  really suggest that you do your research after the  

play07:54

video because this is a fundamental topic to the  internet computer and also to crypto in general

play08:01

but for this video you just need to know two  things a private key can be used to create a  

play08:06

signature and the public key can be used to verify  that this signature was indeed created by the  

play08:12

private key in our example if you know the public  key of the subnet and you receive a message with  

play08:17

the signature of the subnet you can verify that  this message was created by the subnet and was not  

play08:22

modified by anyone else the message of the user  will be propagated across all nodes in the network  

play08:30

then all node will receive the message and  they will run a computation on this message  

play08:34

then they will return their result the  result can be different at this stage  

play08:38

after that they will sign the result with  the respective share of the private key  

play08:43

then they will propagate this information across  all the nodes of the subnet assuming that the  

play08:47

majority of the nodes share the same result they  will combine their shares and they will create the  

play08:52

signature that corresponds to the public key of  the subnet if the user knows the public key of the  

play08:56

subnet the user can be sure that his message has  been received and treated by the internet computer  

play09:00

the user can also be sure that the answer  has been certified by the internet computer  

play09:05

at this point you might have a question we've  said that the internet computer is divided into  

play09:10

subnets and each subnet has its own public  key does it mean that the user has to know  

play09:15

all the public keys of all the subnets if the  attendance computer is huge enough that could  

play09:19

be thousands of public Keys fortunately there is  a solution to this problem there is one subnet  

play09:24

called the network nervous system which stores  all the public keys of all the subnets because  

play09:31

this subnet knows all the public keys of all the  subnets the subnet is able to create certificates  

play09:36

on the public keys of the subnets which means  that you only need to know one public the  

play09:41

public key of this Subnet in order to satisfy  any result coming from the internet computer  

play09:46

in theory if you want to verify transaction on  the Bitcoin Network without any intimidatory  

play09:51

you have to download the whole blockchain that's  approximately 400 gigabyte compare that with the  

play09:56

internet computer we just said that you only need  one public key which is 48 bytes that's a huge  

play10:02

reduction in size and it means no intermediary  and more decentralization more verification  

play10:09

the internet computer can easily scale by  adding more and more subnets each new subnet  

play10:13

will add more capacity to the entire network  this is possible because each subnet run its  

play10:18

own consensus you can think of a subnet as its  own blockchain now you might be thinking how is  

play10:22

it possible that we have so many subnets and  yet we have one network we need to find a way  

play10:27

for subnets to communicate between each other  fortunately each subnet has its own public key  

play10:31

and its own private key that means that subnet  can trustlessly communicate between each other  

play10:36

they just need to create and sign messages  and send those messages between each other  

play10:41

in theory there is no limit to the number of  subnets that can be added to the network this  

play10:46

means that the internet computer might be  the first blockchain to scale to Infinity  

play10:50

however the network is still young  and is claim are meant to be proven  

play10:53

I encourage you to do your own research and  try out the network by yourself if you've  

play10:58

learned something today make sure to press  the like button and subscribe for more videos

Rate This

5.0 / 5 (0 votes)

関連タグ
InternetComputerDecentralizationBlockchainICPTokenWebAssemblyCanistersConsensusModelThresholdCryptographyDecentralizedAppsCryptocurrency
英語で要約が必要ですか?