Skip to content

Commit

Permalink
Merge pull request #2426 from dfinity/correct-image-path
Browse files Browse the repository at this point in the history
chore: convert to mdx
  • Loading branch information
Jason authored Jan 31, 2024
2 parents d6053bb + b13ca1f commit 2b46980
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 12 deletions.
40 changes: 29 additions & 11 deletions docs/concepts/what-is-ic.md → docs/concepts/what-is-ic.mdx
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import useBaseUrl from "@docusaurus/useBaseUrl";

# What is the Internet Computer?

The Internet Computer Protocol (ICP) bridges the gap between traditional programming and blockchain-based development.
Expand All @@ -6,7 +8,11 @@ Smart contracts on ICP are expressive and scalable like traditional apps, but be
ICP is designed for a practical balance in the tradeoff between scalability and decentralization.

<div class="text--center">
<img src="/img/docs/icp-tradeoffs.png" alt="ICP in the tradeoff space" width="500"/>
<img
src={useBaseUrl("/img/docs/icp-tradeoffs.png")}
alt="ICP in the tradeoff space"
width="500"
/>
</div>

In the conceptual diagram above, decentralization increases going from centralized servers to Ethereum, but that happens at the expense of scalability.
Expand All @@ -33,13 +39,16 @@ Note that steps 3-5 are asynchronous and decoupled from each other, which may be
The motivation for this design is scalability.

<div class="text--center">
<img src="/img/docs/icp-overview.png" alt="Flow of a message on ICP" width="600"/>
<img
src={useBaseUrl("/img/docs/icp-overview.png")}
alt="Flow of a message on ICP"
width="600"
/>
</div>

Subnets can have different sizes, i.e. replication factors, which determines the cost of running smart contracts on that subnet.
It also impacts the time to finality and security.


## Threshold signatures

Each ICP subnet has a fixed public key.
Expand All @@ -56,14 +65,17 @@ This feature has profound implications and use cases:
This enables trustless interaction with those blockchains.

<div class="text--center">
<img src="/img/docs/icp-threshold-signature.png" alt="Threshold signature" width="500"/>
<img
src={useBaseUrl("/img/docs/icp-threshold-signature.png")}
alt="Threshold signature"
width="500"
/>
</div>

:::info
This feature is called **Chain-Key Cryptography** on ICP.
:::


## Smart Contracts

ICP uses [WebAssembly](https://internetcomputer.org/capabilities/webassembly) as the virtual machine for executing smart contracts.
Expand Down Expand Up @@ -95,7 +107,11 @@ In the context of ICP, smart contracts are referred to as **canisters**.
ICP derives the address of a user account from the user’s public key by hashing it.

<div class="text--center">
<img src="/img/docs/icp-keys.png" alt="Accounts, keys, principals" width="500"/>
<img
src={useBaseUrl("/img/docs/icp-keys.png")}
alt="Accounts, keys, principals"
width="500"
/>
</div>

The textual encoding of an address includes a checksum that looks something like this:
Expand Down Expand Up @@ -151,7 +167,6 @@ Governance and node ownership are decoupled.
It is possible to participate in governance without having a node and vice versa.
:::


## Nodes

Becoming a node provider on ICP requires voting from the DAO community.
Expand Down Expand Up @@ -205,7 +220,7 @@ Currently, subnets contain between 13 and 40 nodes, and most of them are geograp

<tr>
<td> HTTP calls to Web2 from smart contracts </td>
<td> - </td>
<td> - </td>
<td> yes </td>
</tr>

Expand Down Expand Up @@ -235,19 +250,22 @@ Currently, subnets contain between 13 and 40 nodes, and most of them are geograp

<tr>
<td> compute </td>
<td> few million instructions per block (based on the 30 million gas limit) </td>
<td>
{" "}
few million instructions per block (based on the 30 million gas limit){" "}
</td>
<td> 2 billion instructions per block (per subnet) </td>
</tr>

<tr>
<td> finality </td>
<td> ~15min </td>
<td> ~15min </td>
<td> ~1.4s </td>
</tr>

<tr>
<td> average tx/msg fee </td>
<td> ~$1 </td>
<td> ~$1 </td>
<td> ~$0.000001 </td>
</tr>

Expand Down
2 changes: 1 addition & 1 deletion docs/developer-docs/setup/manage-projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,6 @@ For example, you can change the IP address for the local network by modifying th

- [Building on ICP](../../samples/overview.md) to explore sample dapps.

- [Concepts](../../concepts/what-is-ic.md) to learn about different ICP concepts and services.
- [Concepts](../../concepts/what-is-ic.mdx) to learn about different ICP concepts and services.

- [ICP glossary](../../references/glossary.md) to learn the definitions of various terms used within ICP.

0 comments on commit 2b46980

Please sign in to comment.