<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.internetcomputer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ais</id>
	<title>Internet Computer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.internetcomputer.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ais"/>
	<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/wiki/Special:Contributions/Ais"/>
	<updated>2026-05-05T21:19:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=7196</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=7196"/>
		<updated>2024-02-09T08:52:46Z</updated>

		<summary type="html">&lt;p&gt;Ais: Update Energy consumption per transaction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a Blockchain Singularity has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIEPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost (1GB p/a)&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.003||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||3.411||  ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||2.395||  ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1|| 41.27 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  || 9.956 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  || 0.602 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 || 0.517 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIEPs&#039;&#039;&#039; measures millions of executed instructions per second which is an approximation of useful work performed. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]]. Note that the figure for ETH is an upper bound of what is possible, while the figure for ICP is the actual count of executed instructions. &lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039;Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours). Figures true as of December 2023. Source: [https://assets.carboncrowd.io/reports/ICF2023.pdf Carbon Crowd Sustainability Report 2023].&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Ethereum executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction. Figures true as of March 2023 and discussed [[Not all transactions are equal|here]].&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4 GiB), stable storage of 96 GiB (with plans for increase) in mainstream languages, such as Rust, JavaScript, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;| 96 GiB || 121 / 406 ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5851</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5851"/>
		<updated>2023-07-03T14:39:05Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x the amount of computational work of Ethereum per transaction. It&#039;s important to note that the multiplier is calculated only considering update calls as these are the interactions that carry out ETH equivalent work. &lt;br /&gt;
&lt;br /&gt;
To compare the two networks in terms of efficiency, one also needs to consider the replication factor. In ICP the typical replication factor is 13 versus approximately 550&#039;000 for Ethereum (a number that is steadily increasing and rose by approximately 100&#039;000 over the last 6 months).&lt;br /&gt;
Concluding, ICP is at least 3.4 million times more efficient than Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs ICP EdDSA verification == &lt;br /&gt;
To get a view on the validity of the above calculations in a real-world setting, comparisons can be made by running a given function. A realistic function that is used often in the blockchain setting is signature verification. &lt;br /&gt;
&lt;br /&gt;
Previous work from the Ethereum Foundation estimates the validation of an EdDSA signature to cost ~500k in Gas [[https://ethresear.ch/t/verify-ed25519-signatures-cheaply-on-eth-using-zk-snarks/13139 source]]. One way to get a comparison on the IC is to create a canister, import the [https://docs.rs/ed25519/latest/ed25519/ Rust ed25519 library] and test verification by creating a signature on a hash of an arbitrary message and using that for verification. Counting cycles burned before and after this call, discounting the base cost (i.e., cycles charged for ingress and for running an update call) results in a cycle cost of 4,211,120. &lt;br /&gt;
&lt;br /&gt;
Putting a dollar cost on this comparison, with a conservative assumption that 1 Gas costs 40GWEI and 1 ETH being ~USD1800 means the cost of an EdDSA verification on Ethereum currently costs USD36. Considering the cycle cost (4,211,120) on the IC with an XDR rate of USD1.3476 yields a cost of USD0.00000567490 to run an EdDSA verification on the IC. Overall, this suggests that the IC is 6,343,718 times less costly for a standard computation.  &lt;br /&gt;
&lt;br /&gt;
[[L1 comparison]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5827</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5827"/>
		<updated>2023-06-28T16:31:29Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x the amount of computational work of Ethereum per transaction. It&#039;s important to note that the multiplier is calculated only considering update calls for computation. &lt;br /&gt;
&lt;br /&gt;
To compare the two networks in terms of efficiency, one also needs to consider the replication factor. In ICP the typical replication factor is 13 versus approximately 550&#039;000 for Ethereum (a number that is steadily increasing and rose by approximately 100&#039;000 over the last 6 months).&lt;br /&gt;
Concluding, ICP is at least 3.4 million times more efficient than Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs ICP EdDSA verification == &lt;br /&gt;
To get a view on the validity of the above calculations in a real-world setting, comparisons can be made by running a given function. A realistic function that is used often in the blockchain setting is signature verification. &lt;br /&gt;
&lt;br /&gt;
Previous work from the Ethereum Foundation estimates the validation of an EdDSA signature to cost ~500k in Gas [[https://ethresear.ch/t/verify-ed25519-signatures-cheaply-on-eth-using-zk-snarks/13139 source]]. One way to get a comparison on the IC is to create a canister, import the [https://docs.rs/ed25519/latest/ed25519/ Rust ed25519 library] and test verification by creating a signature on a hash of an arbitrary message and using that for verification. Counting cycles burned before and after this call, discounting the base cost (i.e., cycles charged for ingress and for running an update call) results in a cycle cost of 4,211,120. &lt;br /&gt;
&lt;br /&gt;
Putting a dollar cost on this comparison, with a conservative assumption that 1 Gas costs 40GWEI and 1 ETH being ~USD1800 means the cost of an EdDSA verification on Ethereum currently costs USD36. Considering the cycle cost (4,211,120) on the IC with an XDR rate of USD1.3476 yields a cost of USD0.00000567490 to run an EdDSA verification on the IC. Overall, this suggests that the IC is 6,343,718 times less costly for a standard computation.  &lt;br /&gt;
&lt;br /&gt;
[[L1 comparison]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5826</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5826"/>
		<updated>2023-06-28T16:10:59Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x the amount of computational work of Ethereum per transaction.&lt;br /&gt;
&lt;br /&gt;
To compare the two networks in terms of efficiency, one also needs to consider the replication factor. In ICP the typical replication factor is 13 versus approximately 550&#039;000 for Ethereum (a number that is steadily increasing and rose by approximately 100&#039;000 over the last 6 months).&lt;br /&gt;
Concluding, ICP is at least 3.4 million times more efficient than Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs ICP EdDSA verification == &lt;br /&gt;
To get a view on the validity of the above calculations in a real-world setting, comparisons can be made by running a given function. A realistic function that is used often in the blockchain setting is signature verification. &lt;br /&gt;
&lt;br /&gt;
Previous work from the Ethereum Foundation estimates the validation of an EdDSA signature to cost ~500k in Gas [[https://ethresear.ch/t/verify-ed25519-signatures-cheaply-on-eth-using-zk-snarks/13139 source]]. One way to get a comparison on the IC is to create a canister, import the [https://docs.rs/ed25519/latest/ed25519/ Rust ed25519 library] and test verification by creating a signature on a hash of an arbitrary message and using that for verification. Counting cycles burned before and after this call, discounting the base cost (i.e., cycles charged for ingress and for running an update call) results in a cycle cost of 4,211,120. &lt;br /&gt;
&lt;br /&gt;
Putting a dollar cost on this comparison, with a conservative assumption that 1 Gas costs 40GWEI and 1 ETH being ~USD1800 means the cost of an EdDSA verification on Ethereum currently costs USD36. Considering the cycle cost (4,211,120) on the IC with an XDR rate of USD1.3476 yields a cost of USD0.00000567490 to run an EdDSA verification on the IC. Overall, this suggests that the IC is 6,343,718 times less costly for a standard computation.  &lt;br /&gt;
&lt;br /&gt;
[[L1 comparison]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5388</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5388"/>
		<updated>2023-05-15T15:13:17Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x the amount of computational work of Ethereum per transaction.&lt;br /&gt;
&lt;br /&gt;
To compare the two networks in terms of efficiency, one also needs to consider the replication factor. In ICP the typical replication factor is 13 versus approximately 550&#039;000 for Ethereum (a number that is steadily increasing and rose by approximately 100&#039;000 over the last 6 months).&lt;br /&gt;
Concluding, ICP is at least 3.4 million times more efficient than Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs ICP EdDSA verification == &lt;br /&gt;
To get a view on the validity of the above calculations in a real-world setting, comparisons can be made by running a given function. A realistic function that is used often in the blockchain setting is signature verification. &lt;br /&gt;
&lt;br /&gt;
Previous work from the Ethereum Foundation estimates the validation of an EdDSA signature to cost ~500k in Gas [[https://ethresear.ch/t/verify-ed25519-signatures-cheaply-on-eth-using-zk-snarks/13139 source]]. One way to get a comparison on the IC is to create a canister, import the [https://docs.rs/ed25519/latest/ed25519/ Rust ed25519 library] and test verification by creating a signature on a hash of an arbitrary message and using that for verification. Counting cycles burned before and after this call, discounting the base cost (i.e., cycles charged for ingress and for running an update call) results in a cycle cost of 4,211,120. &lt;br /&gt;
&lt;br /&gt;
Putting a dollar cost on this comparison, with a conservative assumption that 1 Gas costs 40GWEI and 1 ETH being ~USD1800 means the cost of an EdDSA validation on Ethereum currently costs USD36. Considering the cycle cost (4,211,120) on the IC with an XDR rate of USD1.3476 yields a cost of USD0.00000567490 to run an EdDSA verification on the IC. Overall, this suggests that the IC is 6,343,718 times less costly for computation. &lt;br /&gt;
&lt;br /&gt;
[[L1 comparison]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5382</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5382"/>
		<updated>2023-05-12T15:08:02Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x the amount of computational work of Ethereum per transaction.&lt;br /&gt;
&lt;br /&gt;
To compare the two networks in terms of efficiency, one also needs to consider the replication factor. In ICP the typical replication factor is 13 versus approximately 550&#039;000 for Ethereum (a number that is steadily increasing and rose by approximately 100&#039;000 over the last 6 months).&lt;br /&gt;
Concluding, ICP is at least 3.4 million times more efficient than Ethereum.&lt;br /&gt;
&lt;br /&gt;
== EdDSA verification experiment == &lt;br /&gt;
To get a view on the validity of the above calculations in a real-world setting, comparisons can be made by running a given function. A realistic function that is used often in the blockchain setting is signature verification. &lt;br /&gt;
&lt;br /&gt;
Previous work from the Ethereum Foundation estimates the validation of an EdDSA signature to cost ~500k in Gas [[https://ethresear.ch/t/verify-ed25519-signatures-cheaply-on-eth-using-zk-snarks/13139 source]]. One way to get a comparison on the IC is to create a canister, import the [https://docs.rs/ed25519/latest/ed25519/ Rust ed25519 library] and test verification by creating a signature on a hash of an arbitrary message and using that for verification. Counting cycles burned before and after this call, discounting the base cost (i.e., cycles charged for ingress and for running an update call) results in a cycle cost of 4,211,120. &lt;br /&gt;
&lt;br /&gt;
Putting a dollar cost on this comparison, with a conservative assumption that 1 Gas costs 40GWEI and 1 ETH being ~USD1800 means the cost of an EdDSA validation on Ethereum currently costs USD36. Considering the cycle cost (4,211,120) on the IC with an XDR rate of USD1.3476 yields a cost of USD0.00000567490 to run an EdDSA verification on the IC. Overall, this suggests that the IC is 6,343,718 times less costly for computation. &lt;br /&gt;
&lt;br /&gt;
[[L1 comparison]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5381</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=5381"/>
		<updated>2023-05-12T14:53:48Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x the amount of computational work of Ethereum per transaction.&lt;br /&gt;
&lt;br /&gt;
To compare the two networks in terms of efficiency, one also needs to consider the replication factor. In ICP the typical replication factor is 13 versus approximately 550&#039;000 for Ethereum (a number that is steadily increasing and rose by approximately 100&#039;000 over the last 6 months).&lt;br /&gt;
Concluding, ICP is at least 3.4 million times more efficient than Ethereum.&lt;br /&gt;
&lt;br /&gt;
== EdDSA verification experiment == &lt;br /&gt;
To get a view on the validity of the above calculations in a real-world setting, comparisons can be made by running a given function. A realistic function that is used often in the blockchain setting is signature verification. &lt;br /&gt;
&lt;br /&gt;
[[L1 comparison]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=5308</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=5308"/>
		<updated>2023-05-07T14:20:44Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022.&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; June 2nd 2022&#039;&#039;&#039; [https://medium.com/@orlhut/internet-computer-footprint-5d612eefa1b Carbon Crowd proposed] to compute the carbon footprint of the Internet Computer. Requiring each other&#039;s skills, Carbon Crowd and DFINITY joined efforts to capture energy consumption readings from nodes running the IC, and to compute the carbon footprint under a methodology developed by Carbon Crowd and audited by Fingreen AI. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; October 5th 2022&#039;&#039;&#039; This resulted in a report, jointly published [https://carboncrowd.io/ Carbon Crowd] and the DFINITY Foundation and was on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; April 2023 &#039;&#039;&#039; Real-time analytics were exposed in the IC Dashboard API. Carbon Crowd launched a sustainability dashboard visualising the carbon footprint of the Internet Computer. Jointly, DFINITY and Carbon Crowd launched the Proof of Green initiative to bring transparency to the reporting of energy consumption and carbon emissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;May 2023&#039;&#039;&#039; Real-time analytics were shown on the [https://dashboard.internetcomputer.org/ IC Dashboard front page] as well as on individual node pages, for which readings exist, see [https://dashboard.internetcomputer.org/node/2cdp4-vnes7-h3luw-mmiz5-p37op-a5hti-lb2om-3ttdc-lqlu7-cinvr-4ae here] for an example.&lt;br /&gt;
&lt;br /&gt;
== Carbon footprint methodology == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective. Correct as of May 2022.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=5307</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=5307"/>
		<updated>2023-05-07T14:20:18Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022.&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; June 2nd 2022&#039;&#039;&#039; [https://medium.com/@orlhut/internet-computer-footprint-5d612eefa1b Carbon Crowd proposed] to compute the carbon footprint of the Internet Computer. Requiring each other&#039;s skills, Carbon Crowd and DFINITY joined efforts to capture energy consumption readings from nodes running the IC, and to compute the carbon footprint under a methodology developed by Carbon Crowd and audited by Fingreen AI. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; October 5th 2022&#039;&#039;&#039; This resulted in a report, jointly published [https://carboncrowd.io/ Carbon Crowd] and the DFINITY Foundation and was on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; April 2023 &#039;&#039;&#039; Real-time analytics were exposed in the IC Dashboard API. Carbon Crowd launched a sustainability dashboard visualising the carbon footprint of the Internet Computer. Jointly, DFINITY and Carbon Crowd launched the Proof of Green initiative to being transparency to the reporting of energy consumption and carbon emissions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;May 2023&#039;&#039;&#039; Real-time analytics were shown on the [https://dashboard.internetcomputer.org/ IC Dashboard front page] as well as on individual node pages, for which readings exist, see [https://dashboard.internetcomputer.org/node/2cdp4-vnes7-h3luw-mmiz5-p37op-a5hti-lb2om-3ttdc-lqlu7-cinvr-4ae here] for an example.&lt;br /&gt;
&lt;br /&gt;
== Carbon footprint methodology == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective. Correct as of May 2022.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4953</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4953"/>
		<updated>2023-04-19T16:13:32Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022.&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; June 2nd 2022&#039;&#039;&#039; [https://medium.com/@orlhut/internet-computer-footprint-5d612eefa1b Carbon Crowd proposed] to compute the carbon footprint of the Internet Computer. Requiring each other&#039;s skills, Carbon Crowd and DFINITY joined efforts to capture energy consumption readings from nodes running the IC, and to compute the carbon footprint under a methodology developed by Carbon Crowd and audited by Fingreen AI. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; October 5th 2022&#039;&#039;&#039; This resulted in a report, jointly published [https://carboncrowd.io/ Carbon Crowd] and the DFINITY Foundation and was on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; April 2023 &#039;&#039;&#039; Real-time analytics were exposed in the IC Dashboard API. Carbon Crowd launched a sustainability dashboard visualising the carbon footprint of the Internet Computer. Jointly, DFINITY and Carbon Crowd launched the Proof of Green initiative to being transparency to the reporting of energy consumption and carbon emissions.&lt;br /&gt;
&lt;br /&gt;
== Carbon footprint methodology == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective. Correct as of May 2022.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4952</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4952"/>
		<updated>2023-04-19T16:07:09Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022.&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
In parallel, Carbon Crowd formed to compute the carbon footprint of the Internet Computer. Requiring each other&#039;s skills, Carbon Crowd and DFINITY joined efforts to capture energy consumption readings from nodes running the IC, and to compute the carbon footprint under a methodology developed by Carbon Crowd and audited by Fingreen AI. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; October 5th 2022&#039;&#039;&#039; This resulted in a report, jointly published [https://carboncrowd.io/ Carbon Crowd] and the DFINITY Foundation and was on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; April 2023 &#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
== Carbon footprint == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Google search || 1&#039;080&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://store.chipkin.com/articles/did-you-know-it-takes-00003-kwh-per-google-search-and-more&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4945</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4945"/>
		<updated>2023-04-18T14:58:54Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022.&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
In parallel, Carbon Crowd formed to compute the carbon footprint of the Internet Computer. Requiring each other&#039;s skills, Carbon Crowd and DFINITY joined efforts to capture energy consumption readings from nodes running the IC, and to compute the carbon footprint under a methodology developed by Carbon Crowd and audited by Fingreen AI. &lt;br /&gt;
&lt;br /&gt;
This resulted in a report, jointly published [https://carboncrowd.io/ Carbon Crowd] and the DFINITY Foundation and was on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].&lt;br /&gt;
&lt;br /&gt;
== Carbon footprint == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Google search || 1&#039;080&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://store.chipkin.com/articles/did-you-know-it-takes-00003-kwh-per-google-search-and-more&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4944</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4944"/>
		<updated>2023-04-18T14:56:13Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022.&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
This resulted in a report, jointly published [https://carboncrowd.io/ Carbon Crowd] and the DFINITY Foundation and was on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].  &lt;br /&gt;
&lt;br /&gt;
== Carbon footprint == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Google search || 1&#039;080&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://store.chipkin.com/articles/did-you-know-it-takes-00003-kwh-per-google-search-and-more&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4943</id>
		<title>Energy Consumption and Sustainability</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Energy_Consumption_and_Sustainability&amp;diff=4943"/>
		<updated>2023-04-18T14:49:18Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer and its community are committed to sustatinability. Sustainability is one of the core design goals of the IC, together with the goals of scalability, usability, storage, and security built into the IC by default.&lt;br /&gt;
&lt;br /&gt;
== Sustainability timeline == &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Day 2022&#039;&#039;&#039; On April 22nd 2022 there was a [https://dashboard.internetcomputer.org/proposal/55487 motion proposal] requesting to measure the sustainability of the IC. The motion proposal passed and was assigned to DFINITY to work on producing measurements.&lt;br /&gt;
&lt;br /&gt;
This resulted in a report, published on the [https://carboncrowd.io/ Carbon Crowd site] with a summary on [https://medium.com/dfinity/internet-computer-footprint-assessing-ic-energy-consumption-and-sustainability-4a4dcf10707a Medium].  &lt;br /&gt;
&lt;br /&gt;
== Carbon footprint == &lt;br /&gt;
To measure the carbon footprint of the IC, the energy consumption of some nodes is first measured, then extrapolated the average to all nodes, then weight the node average consumption by the emissions factor of the node&#039;s region. This methodology is put forward by [https://carboncrowd.io/ Carbon Crowd], and audited by Fingreen AI. The Internet Computer has 275 tonnes of CO2 emissions per year. &lt;br /&gt;
&lt;br /&gt;
== Energy consumption ==&lt;br /&gt;
&lt;br /&gt;
The energy consumption of the Internet computer is approximated by measuring nodes on various subnets, averaging them, and extrapolating to all nodes.&lt;br /&gt;
&lt;br /&gt;
The average energy consumption of an Internet Computer node is 0.232KWh.&lt;br /&gt;
&lt;br /&gt;
Assuming a power usage effectiveness (PUE)  [https://en.wikipedia.org/wiki/Power_usage_effectiveness 1], [https://energyinnovation.org/2020/03/17/how-much-energy-do-data-centers-really-use/ 2],  of 2.33 that leads to a total power consumption of 1631.0&amp;amp;thinsp;W including cooling and other data center operations costs.&lt;br /&gt;
&lt;br /&gt;
Given a total of 518 nodes and 11 boundary nodes in mainnet, resulting in a worst case of 862799W to operate all IC nodes for mainnet (including also system subnets).&lt;br /&gt;
This is a worst case analysis for power consumption of nodes as it is expected for them to throttle when not fully utilized and thereby reducing power consumption.&lt;br /&gt;
Given the [[Internet_Computer_performance|maximum rate of update]]s and queries that are currently supported in the IC, one update call would consume 38.95&amp;amp;thinsp;J (Joules) and one query call 0.59&amp;amp;thinsp;J. These figures are for a hypothetically fully utilized IC.&lt;br /&gt;
With the current approximate rate of 3300 transactions/s, the IC uses 261.45J per transaction.&lt;br /&gt;
&lt;br /&gt;
In the future, the energy consumption will be much lower as the overhead of the system subnets will be comparatively smaller, boundary nodes will contain caching, and the replica software much more optimised.&lt;br /&gt;
&lt;br /&gt;
= Putting this in context =&lt;br /&gt;
Even with conservative estimations, the energy consumption of the Internet Computer is substantially lower than competing blockchain projects, but also existing (highly optimized) web2 tech. See the table below to put IC performance in perspective.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Energy consumption comparison&lt;br /&gt;
|-&lt;br /&gt;
! Source !! Cost (measured in Joules (J))&lt;br /&gt;
|-&lt;br /&gt;
| One Internet Computer transaction || 261&amp;amp;thinsp;J&lt;br /&gt;
|-&lt;br /&gt;
| One Google search || 1&#039;080&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://store.chipkin.com/articles/did-you-know-it-takes-00003-kwh-per-google-search-and-more&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Solana transaction || 1&#039;837&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://solana.com/news/solana-energy-usage-report-november-2021#ref1&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum 2 transaction || 126&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://blog.ethereum.org/2021/05/18/country-power-no-more/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Cardano transaction || 1&#039;972&#039;440&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://www.trgdatacenters.com/most-environment-friendly-cryptocurrencies/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Ethereum transaction || 692&#039;820&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/ethereum-energy-consumption/&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| One Bitcoin transaction || 6&#039;995&#039;592&#039;000&amp;amp;thinsp;J&amp;lt;ref&amp;gt;https://digiconomist.net/bitcoin-energy-consumption&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4691</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4691"/>
		<updated>2023-03-28T09:18:34Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIEPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.008||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||2.7|| ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||4.76|| ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIEPs&#039;&#039;&#039; measures millions of executed instructions per second which is an approximation of useful work performed. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]]. Note that the figure for ETH is an upper bound of what is possible, while the figure for ICP is the actual count of executed instructions. &lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction. Figures true as of March 2023 and discussed [[Not all transactions are equal|here]].&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4677</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4677"/>
		<updated>2023-03-17T14:14:21Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIEPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.008||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||2.7|| ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||4.76|| ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIEPs&#039;&#039;&#039; measures millions of executed instructions per second which is an approximation of useful work performed. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]]. Note that the figure ETH is an upper bound of what is possible, while the figure for ICP is the actual count of executed instructions. &lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction. Figures true as of March 2023 and discussed [[Not all transactions are equal|here]].&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4676</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4676"/>
		<updated>2023-03-17T12:34:22Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.008||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||2.7|| ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||4.76|| ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of useful work executed. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]]. Note that the figure ETH is an upper bound of what is possible, while the figure for ICP is the actual count of executed instructions. &lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction. Figures true as of March 2023 and discussed [[Not all transactions are equal|here]].&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4675</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4675"/>
		<updated>2023-03-17T11:08:55Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.008||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||2.7|| ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||4.76|| ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction. Figures true as of March 2023 and discussed [[Not all transactions are equal|here]].&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4674</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4674"/>
		<updated>2023-03-17T11:03:06Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.008||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||2.7|| ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||4.76|| ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction. Figures true as of MArch 2023 and discussed [[Not all transactions are equal|here]].&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4673</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4673"/>
		<updated>2023-03-17T11:00:31Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||20000||5382 (update calls)||1.4secs||0.936||$0.0000022||0.008||0.0012||823||$5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||15.5||3.5secs||3.5||$0.00025||2.7|| ||1530|| &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||49.52||2.3secs||2.3||$0.0066 (C-Chain only)||4.76|| ||1195||$206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||2.37|| ||20||$0.1||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 || 75.480|| 6562 ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4672</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4672"/>
		<updated>2023-03-17T10:56:22Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  || 0.0012012 ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  || ||  1530  || &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76 ||  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 ||  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4671</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4671"/>
		<updated>2023-03-17T10:54:40Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  || ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  || ||  1530  || &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76 ||  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 ||  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per transaction&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Average energy consumption per million instructions&#039;&#039;&#039; measures the network energy consumption to process 1 million instructions (measured in watt hours). Note this considered that Etheruem executes 0.083333 million instructions per transaction while ICP executes 6.66 million instructions per transaction&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4670</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4670"/>
		<updated>2023-03-17T10:44:23Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  || ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  || ||  1530  || &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76 ||  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 ||  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4669</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4669"/>
		<updated>2023-03-17T10:43:40Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  || ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  || ||  1530  ||  || &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76 ||  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59 ||  ||  1050 ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 ||  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4668</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4668"/>
		<updated>2023-03-17T10:42:49Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) !! Average energy consumption per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  || ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  || ||  1530  ||  || &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59  ||  1050 ||  ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29 ||  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036 ||  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4667</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4667"/>
		<updated>2023-03-17T10:40:41Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption per transaction (wh/tx) and per million instructions (wh/mi) !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  ||  1530  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59  ||  1050  ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4666</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4666"/>
		<updated>2023-03-17T10:38:21Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption wh/tx  !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || 20000 ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  ||  1530  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59  ||  1050  ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]].&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4665</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4665"/>
		<updated>2023-03-17T10:37:12Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption wh/tx  !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  ||  1530  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59  ||  1050  ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || 1.25 ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]]&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4664</id>
		<title>L1 comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=L1_comparison&amp;diff=4664"/>
		<updated>2023-03-17T10:33:13Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The promise of a [[World Computer]] and the emergence of a [[Blockchain Singularity]] has far reaching consequences in technology, sociology, economics, politics, communication, entertainment, and most aspects of our digital lives. As the industry is one of rapid innovation and progress, and as projects constantly and dynamically change, it&#039;s important to take stock, every now and then, to note how the industry is doing, and to check if the Internet Computer is on track to achieve the goals of decentralization, scalability, usability, and functionality. &lt;br /&gt;
&lt;br /&gt;
The industry is now moving out of its infancy, which is seen by the increasing number of smart contract developers, rather than core protocol developers, and users wanting to fully engage with a platform, rather than simply sending transactions back and forth. The shift away from simple payment systems, towards Web3 is well on its way, and it&#039;s within this scope that this page attempts to map the blockchain landscape.&lt;br /&gt;
&lt;br /&gt;
Top performing blockchain projects are compared across a number of metrics that are expected to yield a &#039;good&#039; Web3 experience under the categories of core protocol, developer experience, and user experience.&lt;br /&gt;
&lt;br /&gt;
Unless otherwise stated, all data is correct as of December 9th 2022. Metrics are explained and references are given below.&lt;br /&gt;
&lt;br /&gt;
== Base comparisons == &lt;br /&gt;
This section compares standard metrics that are used to measure performance of the core protocol of popular blockchain projects. Note that these metrics should not always be taken at face value. While references are listed below to note where the figures can be found, it&#039;s not always clear how these figures are computed. Additionally, parts of different projects may have the same name, but often are constructed differently (most notably, transactions), and so should not be compared blindly like-for-like. The [https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/ a16z blog] has a nice article describing how the industry should think about metrics.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
 ! Metrics / L1  !! Average MIPs !!  Average TPS  !!  Average finality  !!  Average block time (seconds)  !!  Average tx Cost  !!  Average energy consumption wh/tx  !!  Size of network (nodes)  !!  On-Chain storage cost&lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  || ||  5382 (update calls)  ||  1.4secs  ||  0.936  ||  $0.0000022  ||  0.008  ||  823  ||  $5 (3.95T cycles x 1XDR)&lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  || ||  15.5  ||  3.5secs  ||  3.5  ||  $0.00025  ||  2.7  ||  1530  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  || ||  49.52  ||  2.3secs  ||  2.3  ||  $0.0066 (C-Chain only) ||  4.76  ||  1195  ||  $206,875 (15,62 5AVAX)&lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  || ||  2.37  ||   ||  20  ||  $0.1  ||  51.59  ||  1050  ||  $17,035 - $113,507 (53,236 – 354708ADA) &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  || ||  11.1  ||  15mins  ||  12.08  ||  $2.39  ||  6.29  ||  6562  ||  $15,494,409 (12,643.75 ETH) &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  || ||  8.25  ||  3.3secs  ||  1.11  ||  $0.0031  ||  0.036  ||  798  ||  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana || ||  286 (non-voting calls) ||  5-12secs ||  0.542 ||  $0.000026 ||  0.166 ||  1872 ||  $48,625 (3,477.69 SOL)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Average MIPs&#039;&#039;&#039; measures millions of instructions per second which is an approximation of raw processing power. Further explanation can be found here: [[Not all transactions are equal|&amp;quot;Not all transactions are equal&amp;quot;]]&lt;br /&gt;
* &#039;&#039;&#039;Average TPS&#039;&#039;&#039; measures the transactions processed per second - note that the interval over which these are measured does vary across chains. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022.&lt;br /&gt;
* &#039;&#039;&#039;Average finality&#039;&#039;&#039; refers to the amount of time that passes between the proposal of a new valid block containing transactions until the block has been finalized and its content is guaranteed to not be reversed or modified (for some blockchains, e.g., Bitcoin, this guarantee can only be probabilistic).&lt;br /&gt;
*&#039;&#039;&#039; Average block time&#039;&#039;&#039; refers to the amount of time between blocks (per subnet on the IC)&lt;br /&gt;
* &#039;&#039;&#039;Average tx Cost&#039;&#039;&#039; measures the cost of a transaction. Note that the definition of &#039;transaction&#039; varies widely across chains, where some are described below. The dollar amounts are computed by converting the native token cost cycles/gas/fee needed per transaction, to USD given the exchange rate on December 9th 2022. (Cardano and Ethereum figures found in [https://messari.io/asset/cardano/chart/txn-fee-avg Messari dashboard].) &lt;br /&gt;
* &#039;&#039;&#039;Average energy Consumption&#039;&#039;&#039; measures the network energy consumption to process a transaction (measured in watt hours)&lt;br /&gt;
* &#039;&#039;&#039;Size of network (nodes)&#039;&#039;&#039; notes the number of nodes currently making up the network&lt;br /&gt;
* &#039;&#039;&#039;On-chain storage cost&#039;&#039;&#039; gives the dollar cost and the native token cost of storing 1GB of data per year on chain.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing developer experience ==&lt;br /&gt;
Whether they were writing games, operating systems or text editing applications, in the 70s, 80s and early 90s, developers always had to face limitations imposed by hardware. Applications were constrained to accessing a few kilobytes of memory through small stacks and heaps, using limited (and constantly changing) instruction sets, and using significant amounts of power to run instructions. The history repeats itself in the blockchain landscape these days. Application developers are limited to stack sizes of a few kilobytes to several megabytes at best. Persistent storage is expensive and limited. Programmers are bound to using cumbersome APIs that make hidden assumptions in terms of numbers of executed instructions. And, moreover, most chains operate inefficiently, burning too much power per executed transaction. This not only limits the types of applications that can be deployed on chain, but also increases development and testing time (and cost).&lt;br /&gt;
&lt;br /&gt;
As opposed to all existing blockchains, the IC brings modern programming to on-chain developers, allowing them to use time for creativity rather than fixing memory packing issues or spreading computation in small iterations that do not hit instruction limits. The IC programming model offers orthogonal persistence, large stack and heap spaces (4GB), stable storage of 48GB (with plans for increase) in mainstream languages, such as Rust, or even Python.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Metrics / L1  !!  Stable tx cost  !!  HTTPs outcalls  !!  Smart contract language support  !!  Max stack size  !!  Max persisted memory (per smart-contract)  !!  Active developers (full-time / monthly)  !!  Active repositories &lt;br /&gt;
 |-&lt;br /&gt;
 | ICP  ||  ✅  ||  ✅  ||  Motoko (native), Rust, TypeScript, Python  ||data-sort-value=&amp;quot;4294967296&amp;quot;|  4 GiB  ||data-sort-value=&amp;quot;55834574848&amp;quot;|  52 GiB  ||  121 / 406  ||  3973  &lt;br /&gt;
 |-&lt;br /&gt;
 | Algorand  ||  ❌  ||  ❌  ||  Teal (native), Python  ||data-sort-value=&amp;quot;4194304&amp;quot;|  4 MB  ||data-sort-value=&amp;quot;1048576&amp;quot;|  1 MB  ||  52 / 192  ||  438  &lt;br /&gt;
 |-&lt;br /&gt;
 | Avalanche  ||  ❌  ||  ❌  ||  Solidity  ||    ||    ||  95 / 332 ||  1901 &lt;br /&gt;
 |-&lt;br /&gt;
 | Cardano  ||  ❌  ||  ❌  ||  Plutus (native), Haskell  ||    ||    ||  163 / 465  ||  1252 &lt;br /&gt;
 |-&lt;br /&gt;
 | Ethereum  ||  ❌  ||  ❌  || Solidity (native), Vyper, Yul, FE  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||data-sort-value=&amp;quot;3705346855594118253554271520278013051304639509300498049262642688253220148477952&amp;quot;|  2^261 B (however, 15,494,409$ per GiB)   ||  1873 / 5734  ||  29117  &lt;br /&gt;
 |-&lt;br /&gt;
 | Near  ||  ❌  ||  ❌  ||  Rust, Javascript  ||data-sort-value=&amp;quot;262144&amp;quot;|  256 KiB  ||data-sort-value=&amp;quot;32768&amp;quot;|  32 KiB  ||  205 / 781  ||  5352  &lt;br /&gt;
 |-&lt;br /&gt;
 | Solana ||  ❌ ||  ❌ ||  Rust C, C++ ||  ||  ||  383 / 2082 ||  6137&lt;br /&gt;
 |-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Stable tx cost&#039;&#039;&#039; provides the ability to have predictable costs for computation &lt;br /&gt;
* &#039;&#039;&#039; HTTPs outcalls&#039;&#039;&#039; is the ability to communicate directly with Web2 services (outside of the network)&lt;br /&gt;
* &#039;&#039;&#039;Max stack size&#039;&#039;&#039; is the maximum size the stack can grow for smart contracts and serves as a measure for the complexity of code that is supported by each platform&lt;br /&gt;
* &#039;&#039;&#039;Max persisted memory&#039;&#039;&#039; is the maximum size of persisted memory supported by each platform. Persisted memory is preserved across individual function calls&lt;br /&gt;
* &#039;&#039;&#039;Active developers&#039;&#039;&#039; counts the number of developers who made commits on more than 10 days in a month (full-time) or original code authors who made commits in a given month. Source [https://www.electriccapital.com/ Electric Capital]. Figures true as of 15/12/22&lt;br /&gt;
* &#039;&#039;&#039;Active repositories&#039;&#039;&#039; are sourced from the [https://www.electriccapital.com/ Electric Capital] [https://github.com/electric-capital/crypto-ecosystems crypto ecosystems list]. Figures true as of 15/12/22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Comparing user experience == &lt;br /&gt;
It is widely accepted that the Web3 user experience needs massive development before mainstream adoption is likely. This sections starts to map out key metrics for Web3 usability. First and foremost is privacy, identity management and authentication. On many projects, every interaction that a user ever makes can be traced and monitored. While transparency is good for some things, it&#039;s argued that this is a severe hindrance to adoption. Financial privacy and the freedom to interact should be paramount. &lt;br /&gt;
The tools needed to interact with a project are also noted. These can be seen as a measure of accessibility and openness to onboarding. &lt;br /&gt;
Finally, metrics about participation in the network are included. A large draw of Web3 is the fact that users can become owners and drivers of the platform. Here the percentage of native tokens staked as a measure of user confidence and participation in the project are included. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Metrics / L1 !! Privacy-preserving authentication !! Prerequisites to use !! Staking ratio !! Monthly active wallets&lt;br /&gt;
|- &lt;br /&gt;
| ICP || ✅ || Browser || 73.89% || 93k&lt;br /&gt;
|-&lt;br /&gt;
| Cardano || ❌ || Browser, browser extension, tokens || 71.58%||&lt;br /&gt;
|-&lt;br /&gt;
|Avalanche || ❌ || Browser, browser extension, tokens || 61.78% || [https://stats.avax.network/dashboard/overview/ 390k]&lt;br /&gt;
|-&lt;br /&gt;
| Algorand || ❌ || Browser, browser extension, tokens || 51.17% ||&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || ❌ || Browser, browser extension, tokens || 13.57% || [https://www.theblock.co/data/on-chain-metrics/ethereum/number-of-active-addresses-on-the-ethereum-network-monthly 15m]&lt;br /&gt;
|- &lt;br /&gt;
| Near || ❌ || Browser, browser extension, tokens || 43.19% ||&lt;br /&gt;
|-&lt;br /&gt;
| Solana || ❌ || Browser, browser extension, tokens || 68.59% || [https://dune.com/queries/829800 655k]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Privacy-preserving authentication&#039;&#039;&#039; notes whether a project allows privacy-preserving interactions with the blockchain.&lt;br /&gt;
* &#039;&#039;&#039;Prerequisites to use&#039;&#039;&#039; lists what is needed to interact with the project&lt;br /&gt;
* &#039;&#039;&#039;Staking ratio&#039;&#039;&#039; gives the percentage of native tokens that are staked in the protocol. The staking ratio metrics are from [https://www.stakingrewards.com/cryptoassets/ Staking Rewards] and are correct as of 19.12.2022&lt;br /&gt;
* &#039;&#039;&#039; Monthly active wallets&#039;&#039;&#039; counts the wallet addresses that sent or received native currency in a given month (December 2022) &lt;br /&gt;
&lt;br /&gt;
=== A note about average transactions cost === &lt;br /&gt;
* Algorand: https://metrics.algorand.org/#/protocol/, explanation: Average transaction fee of all transactions in the selected time period. [https://developer.algorand.org/docs/get-details/transactions/#fees Algorand fees]&lt;br /&gt;
* Cardano: [https://docs.cardano.org/explore-cardano/fee-structure Cardano fees] Fees are constructed around two constants (a and b). The formula for calculating minimal fees for a transaction (tx) is &#039;&#039;&#039;a&#039;&#039;&#039; times &#039;&#039;&#039;size(tx) + b&#039;&#039;&#039;, where:&lt;br /&gt;
** a/b are protocol parameters&lt;br /&gt;
** size(tx) is the transaction size in bytes&lt;br /&gt;
* Solana: [https://docs.solana.com/transaction_fees Solana fees]&lt;br /&gt;
&lt;br /&gt;
=== A note about finality === &lt;br /&gt;
It is sometimes unclear what exactly different projects mean by finality, so references are noted here and describe how the above figures are computed. &lt;br /&gt;
* For ICP, finality calculated as described in the [https://internetcomputer.org/whitepaper.pdf whitepaper] in section 5.11.6. &lt;br /&gt;
* For Near, the fact finalization occurs after 3 blocks is leveraged (as stated in the [https://docs.near.org/concepts/advanced/near-indexer-framework#limitations docs]) as well as the current block time of 1.1 seconds from the [https://explorer.near.org/ explorer].&lt;br /&gt;
* All other finality figures for now come from the finality section [https://newsbtc.com/all/assessing-the-top-performing-layer-1-blockchain-protocols/ here].&lt;br /&gt;
&lt;br /&gt;
=== A note about Decentralization ===&lt;br /&gt;
Decentralization is key to make web3 dapps run in a trustless manner. However, decentralization has many dimensions and cannot be understood and quantified using a single number or coefficient. One can distinguish between a) the decentralization of the entities running the machines on top of which a protocol runs, b) the decentralization of the consensus and sharding mechanism, c) the governance system, the owners of liquid tokens etc. In this case, the whole is greater than the sum of its parts and one cannot understand decentralization as a single discussion on each of these topics.&lt;br /&gt;
&lt;br /&gt;
See [[Decentralization|Decentralization Wiki Page]] for more details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References == &lt;br /&gt;
* &#039;&#039;&#039;ICP&#039;&#039;&#039; : [https://dashboard.internetcomputer.org IC Dashboard]&lt;br /&gt;
* &#039;&#039;&#039;ADA&#039;&#039;&#039; : [https://explorer.cardano.org/en Cardano explorer] and [https://cexplorer.io/ cexplorer]&lt;br /&gt;
* &#039;&#039;&#039;AVAX&#039;&#039;&#039; : [https://snowtrace.io/ Snowtrace] and [https://subnets.avax.network/ Avalanche explorer]&lt;br /&gt;
* &#039;&#039;&#039;ALGO&#039;&#039;&#039; : [https://www.algorand.com/ Algorand website] and [https://metrics.algorand.org/ Algorand metrics site]&lt;br /&gt;
* &#039;&#039;&#039;ETH&#039;&#039;&#039; : [https://etherscan.io/ Etherscan]&lt;br /&gt;
* &#039;&#039;&#039;NEAR&#039;&#039;&#039; : [https://explorer.near.org/ Near explorer] and [https://docs.near.org/ Near docs]&lt;br /&gt;
* &#039;&#039;&#039;SOL&#039;&#039;&#039; : [https://solana.com/ Solana website] and [https://solanabeach.io/ Solana beach]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4647</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4647"/>
		<updated>2023-03-16T14:25:20Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x more work than Ethereum.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4646</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4646"/>
		<updated>2023-03-16T14:24:19Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) ICP performs 80x more work than Ethereum&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4588</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4588"/>
		<updated>2023-03-15T15:22:40Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP execution throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) gives ICP an average 80x scaling factor over ETH.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4587</id>
		<title>Not all transactions are equal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Not_all_transactions_are_equal&amp;diff=4587"/>
		<updated>2023-03-15T15:22:26Z</updated>

		<summary type="html">&lt;p&gt;Ais: Created page with &amp;quot;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense w...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Whilst it’s typical for blockchains to flaunt metrics around transactions per second (TX/s) or transactions per day (TX/d), comparisons between blockchains only make sense when those transactions are roughly equivalent i.e. TX/s comparisons only make sense to compare within a single problem domain. &lt;br /&gt;
&lt;br /&gt;
The ICP is a blockchain which aims to provide a general purpose world computer, capable of serving real web services directly to user&#039;s browsers without any need for web2 cloud providers. Individual transactions on the ICP can be considered to be richer and must do more computation than most other blockchains.&lt;br /&gt;
&lt;br /&gt;
This page aims to explain the differences between the work performed by transactions on the ICP vs those on Ethereum.&lt;br /&gt;
&lt;br /&gt;
== ETH vs. ICP Execution Throughput == &lt;br /&gt;
Both ETH and ICP are able to run (general-purpose) smart contracts. At the execution layer, contracts are translated to a lower-level virtual machine interpretable language. These are EVM in the case of ETH and a Wasm-compatible runtime in the ICP case. Both EVM and Wasm instructions include arithmetic instructions (e.g., add, mul, div), but also more smart-contract specific instructions (e.g., reading and writing memory). The latter are in general more expensive operations in terms of consumed resources, which is then translated to the amount of gas used for each opcode of ETH and cycles used for ICP.&lt;br /&gt;
&lt;br /&gt;
To compare the overall throughput of the two blockchains (i.e., how many ops per second can be handled), one needs to make several assumptions. First, it is assumed that the simpler EVM instructions (e.g., add, mul, div etc.) are roughly equivalent to the Wasm instructions of the same type, both kinds being translated to a similar x86 instruction executed by the hardware. The comparison is much more complex and not apples-to-apples for the more complex operations. For a proper comparison here one would need to either (1) thoroughly understand the design of both execution layers or (2) run a similar program/benchmark on both blockchains and compare their overall performance. These two options are time-consuming and would lead to longer-term research efforts.&lt;br /&gt;
For a quicker comparison, it can be assumed that all EVM instructions are equal in terms of gas cost (and also assume no fees are involved). Since ETH is currently burning approximately &#039;&#039;&#039;108B gas units per day&#039;&#039;&#039;, and assuming each instruction costs 1 gas unit (which vastly &#039;&#039;underestimates&#039;&#039; the costs of memory access operations), it is clear that the ETH blockchain is running less than 108B instructions per day.&lt;br /&gt;
&lt;br /&gt;
The IC executes more than 20 billion replicated Wasm instructions per second. Under the simplifying assumption that all instructions are comparable, this means the IC runs the daily number of ETH instructions in less than 6 seconds.&lt;br /&gt;
&lt;br /&gt;
To see this, consider that Ethereum executes 1,250,000 instructions and 15 transactions per second, which means that there are on average 83,333 instructions per transaction. While the IC executes 20 Billion instructions and 3,000 update calls per second, there are on average 6,666,667 instructions per call. Comparing the work intensity of the two blockchains, taking the ratio of instructions per transaction (6,666,667/83,333) gives ICP an average 80x scaling factor over ETH.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Network_Nervous_System&amp;diff=4456</id>
		<title>Network Nervous System</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Network_Nervous_System&amp;diff=4456"/>
		<updated>2023-02-27T14:47:21Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;The NNS is the decentralized autonomous organization (DAO) that governs the Internet Computer (IC). It is a fully on-chain, decentralized system and is, for instance, responsible for making protocol level upgrades to continuously improve the Internet Computer. It does this via an implementation of liquid democracy in which ICP neuron holders vote on proposals that shape the development of the Internet Computer. Once such a proposal is accepted, it is autonomously executed.&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While other blockchains take weeks or months to upgrade (sometimes called hard fork) and typically require substantial manual work and coordination to do so, the IC upgrades itself on a weekly basis (https://dashboard.internetcomputer.org/releases). Its ability to upgrade and iterate is a comparative &amp;quot;superpower.&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The NNS works by allowing users to stake ICP governance tokens to create voting neurons. Anyone can create a neuron, which together exert the will of the community, mediated through algorithms. Neurons are like accounts where notice of withdrawals must be given, where the length of the notice period is a configuration known as the “dissolve delay.” The voting power of neurons, and their relative claim to voting rewards, is proportional to the quantity of staked ICP, the length of the configured dissolve delay, and their “age.” Neurons can be made to vote manually, or automatically, by following other neurons in a form of liquid democracy.&lt;br /&gt;
&lt;br /&gt;
Neuron holders are placed in a cryptoeconomic game, where they are incentivized to vote to adopt and reject proposals, or to configure neuron follows that cause them to vote automatically in a desirable way, according to what is most likely to drive the value of the Internet Computer network over the long term.&lt;br /&gt;
&lt;br /&gt;
This is the first time in history when a decentralized infrastructure will self-direct with the aim of competing with proprietary centralized infrastructures run by commercial organizations with leaders and boards.&lt;br /&gt;
&lt;br /&gt;
=== Overview ===&lt;br /&gt;
The purpose of the NNS is to allow the Internet Computer network to be governed in an open, decentralized, and secure manner. It has complete control over all aspects of the network. For example, it can upgrade the protocol and software used by the node machines that host the network; it can create new subnet blockchains to increase network capacity; it can split subnets to divide their load; it can configure economic parameters that control how much must be paid by users for compute capacity; and, in extreme situations, it can freeze malicious canister smart contract software in order to protect the network; and many other things. The NNS works by accepting proposals, and deciding to adopt or reject them based on voting activity by “neurons” that network participants have created.&lt;br /&gt;
&lt;br /&gt;
Neurons are also used by participants to submit new proposals. After submission, proposals are either adopted or rejected, which can happen almost immediately, or after some delay, depending upon how the totality of neurons vote. Each proposal is an instance of a specific “proposal type,” which determines what information it contains. For each type of proposal, the NNS maintains a corresponding system function, which it invokes whenever a proposal of that type is adopted. When a proposal is adopted by the NNS, it invokes the corresponding system function by drawing information from the proposal’s content to fill the parameters. Each type of proposal belongs to a specific “proposal topic,” such as “#NodeAdmin” or “#NetworkEconomics,” which determines details about how it will be processed.To prevent users (neurons) from spamming the NNS with proposals, a fee is levied on the neuron that submitted a proposal if it is rejected.&lt;br /&gt;
&lt;br /&gt;
The NNS decides whether to adopt or reject proposals by watching how neurons emit votes. Anyone can create a neuron by locking balances of the Internet Computer’s native utility token (ICP) that is hosted on a ledger inside the NNS. When a user creates a neuron, the locked balance of ICP can only be unlocked by disbursing (“destroying”) the neuron. Users are incentivized to create neurons because they earn rewards when they vote on proposals. Rewards take the form of newly minted ICP that are created by the NNS. The quantity of ICP rewards disbursed to a neuron derive from such factors as the size of the locked balance, the minimum lockup period remaining (the “dissolve delay”), the neuron’s “age,” the proportion of possible votes it has participated in, and the sum of voting activity across all neurons, since the overall total rewards disbursed is capped and must be divided between voters.&lt;br /&gt;
&lt;br /&gt;
At any moment, each neuron has a currently configured “dissolve delay.” This determines how long it will take to dissolve if it is placed into “dissolve mode.” Once a neuron has been placed into “dissolve mode,” its dissolve delay falls over the passage of time, rather like a kitchen timer, until it reaches zero, whereupon its owner can perform a final disburse action to unlock the balance of ICP. The dissolve delay creates an economic incentive for neuron owners to vote with a view toward maximizing the value of their locked ICP balances at a future date. ICP is a proxy for the success of the network over the long term, sans short-term volatility, this creates an economic incentive to vote in the best interests of the network. Neuron owners can freely configure higher dissolve delays, up to a maximum delay of eight years, but cannot decrease the dissolve delay other than by the natural passage of time. The NNS pays higher voting rewards the higher the dissolve delay, encouraging users to enter a game in which an economic incentive is created to vote according to a very long-term vision.&lt;br /&gt;
&lt;br /&gt;
Neuron owners may find it hard to manually vote directly on every proposal submitted to the NNS. Firstly, large volumes of proposals may be submitted to the NNS, often at awkward times, and owners may not be available or have the necessary time to evaluate each one. Secondly, neuron owners may lack the necessary expertise to evaluate proposals themselves. The NNS uses a form of liquid democracy to address these challenges. For any proposal topic, a neuron can be configured to vote automatically by following the votes of a group of neurons, voting to adopt proposals whenever more than half of the followees vote to adopt, and voting to reject whenever at least half of the followees vote to reject. A catch-all follow rule may also be defined to make a neuron vote automatically on proposals with topics for which no follow rule has been defined. It is assumed that neuron owners will manage how their neurons follow other neurons in the best interests of the network, which is also in their own economic interests, owing to their locked ICP balances.&lt;br /&gt;
&lt;br /&gt;
It is expected that a large proportion of the overall supply of ICP will be locked in order to earn rewards. This secures the Internet Computer’s network governance, by making it both difficult and exorbitantly expensive for an attacker to acquire a sufficiently large stake to gain significant influence. Since neuron owners may wish to maximize their rewards by voting on all proposals, most neurons will either be actively managed or configured to follow other neurons so that they can vote automatically. In practice, once trusted neurons have voted on proposals, a majority of the other neurons will also vote as the result of cascading follow relationships. This means that the NNS can usually quickly determine whether a majority of the overall voting power represented by all neurons wishes to adopt or reject a proposal, and decide on the proposal accordingly. However, the NNS cannot depend on obtaining such a majority since, in principle, neuron owners may not define follow rules, or they may simply choose not to vote.&lt;br /&gt;
&lt;br /&gt;
== Proposals ==&lt;br /&gt;
=== Format ===&lt;br /&gt;
Each proposal submitted to the NNS has the following fields:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Summary:&#039;&#039;&#039; Text providing a short description of the proposal, composed using a maximum of 280 bytes.&lt;br /&gt;
* &#039;&#039;&#039;URL:&#039;&#039;&#039; The web address of additional content required to evaluate the proposal, specified using HTTPS. For example, the address might describe content supporting the assignment of a DCID (data center id) to a new data center.&lt;br /&gt;
* &#039;&#039;&#039;Proposer:&#039;&#039;&#039; The ID of the neuron that submitted the proposal. When a proposal is submitted, a “charge” is placed on its balance in case it is rejected. So the balance needs to be big enough to pay the charge on (all) rejection(s). A neuron is required to have a dissolve delay ≥ 6 months to vote, and this applies to submitting proposals too.&lt;br /&gt;
* &#039;&#039;&#039;Proposal Type:&#039;&#039;&#039; The type of the proposal. This infers what topic it belongs to (e.g., #NodeAdmin), the system function that will process the proposal if it is adopted, and the type and structure of the parameters that will be passed to that function.&lt;br /&gt;
* &#039;&#039;&#039;Parameters:&#039;&#039;&#039; The parameters that will be passed to the system function that will be invoked if the proposal is adopted, as determined by its type. When a proposal is submitted, the NNS checks the parameters.&lt;br /&gt;
The NNS assigns a unique identity to each proposal that it receives.&lt;br /&gt;
&lt;br /&gt;
The NNS assigns a unique identity to each proposal that it receives.&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
The topic of a proposal, which is inferred from its type, determines how it will be processed. For example, the NNS may require voters to have a greater degree of agreement, or to try to process proposals faster, for some topics. Also, neurons follow other neurons on a per-topic basis. Initial topics include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;#NeuronManagement:&#039;&#039;&#039; A special topic by means of which a neuron can be managed by the followees for this topic (in this case, there is no fallback to default). Votes on this topic are not included in the voting history of the neuron. For proposals on this topic, only the neuron’s followees on the topic that the proposals pertain to are allowed to vote. Because the set of eligible voters of proposals on this topic is restricted, proposals on this topic have a shorter than normal voting period.&lt;br /&gt;
* &#039;&#039;&#039;ExchangeRate:&#039;&#039;&#039; All proposals provide information in “real time” about the market value of ICP, as measured by an International Monetary Fund (IMF) Special Drawing Right (SDR) , which allows the NNS to convert ICP to cycles (which power computation) at a rate that keeps their real-world cost constant. Because proposals on this topic are very frequent, they have a shorter voting period, and votes on this topic are not included in the voting history of the neuron.&lt;br /&gt;
* &#039;&#039;&#039;#NetworkEconomics:&#039;&#039;&#039; Proposals that administer network economics — for example, determining what rewards should be paid to node operators.&lt;br /&gt;
* &#039;&#039;&#039;#Governance:&#039;&#039;&#039; All proposals that administer governance — for example, motions and the configuration of certain parameters.&lt;br /&gt;
* &#039;&#039;&#039;#NodeAdmin:&#039;&#039;&#039; All proposals that administer node machines somehow, including but not limited to upgrading or configuring the OS, upgrading or configuring the virtual machine framework, and upgrading or configuring the node replica software.&lt;br /&gt;
* &#039;&#039;&#039;#ParticipantManagement:&#039;&#039;&#039; All proposals that administer network participants — for example, granting and revoking DCIDs (data center identities) or NPIDs (node provider identities).&lt;br /&gt;
* &#039;&#039;&#039;#SubnetManagement:&#039;&#039;&#039; All proposals that administer network subnets — for example, creating new subnets, adding and removing subnet nodes, and splitting subnets.&lt;br /&gt;
* &#039;&#039;&#039;#NetworkCanisterManagement:&#039;&#039;&#039; Installing and upgrading “system” [[NNS Canisters|canisters]] that belong to the network — for example, upgrading the NNS.&lt;br /&gt;
* &#039;&#039;&#039;#KYC:&#039;&#039;&#039; Proposals that update KYC information for regulatory purposes — for example, during the initial Genesis distribution of ICP in the form of neurons.&lt;br /&gt;
* &#039;&#039;&#039;#NodeProviderRewards:&#039;&#039;&#039; Topic for proposals to reward node providers.&lt;br /&gt;
&lt;br /&gt;
=== Types ===&lt;br /&gt;
Initial proposal types include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ManageNeuron (#NeuronManagement, Restricted Voting)&#039;&#039;&#039; This type of proposal calls a major function on a specified target neuron. Only the followees of the target neuron may vote on these proposals, which effectively provides the followees with control over the target neuron. This can provide a convenient and highly secure means for a team of individuals to manage an important neuron. For example, a neuron might hold a large balance, or belong to an organization of high repute, and be publicized so that many other neurons can follow its vote. In both cases, managing the private key of the principal securely could be problematic. (Either a single copy is held, which is very insecure and provides for a single party to take control, or a group of individuals must divide responsibility — for example, using threshold cryptography, which is complex and time consuming). To address this using this proposal type, the important neuron can be configured to follow the neurons controlled by individual members of a team. Now they can submit proposals to make the important neuron perform actions, which are adopted if and only if a majority of them vote to adopt. (Submitting such a proposal costs a small fee, to prevent denial-of-service attacks.) Nearly any command on the target neuron can be executed, including commands that change the follow rules, allowing the set of team members to be dynamic. Only the final step of dissolving the neuron once its dissolve delay reaches zero cannot be performed using this type of proposal, since this would allow control/“ownership” over the locked balances to be transferred. (The only exception to this rule applies to not-for-profit organizations, which may be allowed to dissolve their neurons without using the initial private key.) To prevent a neuron falling under the malign control of the principal’s private key by accident, the private key can be destroyed so that the neuron can only be controlled by its followees, although this makes it impossible to subsequently unlock the balance.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ManageNetworkEconomics (#NetworkEconomics)&#039;&#039;&#039; This is a single proposal type which can update one or several economic parameters:&lt;br /&gt;
**Reject cost: The amount of ICP the proposer of a rejected proposal will be charged — to prevent the spamming of frivolous proposals.&lt;br /&gt;
**Minimum Neuron Stake: Set the minimum number of ICP required for creation of a neuron. The same limit must also be respected when increasing dissolve delay or changing the neuron state from dissolving to aging.&lt;br /&gt;
**Neuron Management fee: The cost in ICP per neuron management proposal. Here the NNS is doing work on behalf of a specific neuron, and a small fee will be applied to prevent overuse of this feature (i.e., spam).&lt;br /&gt;
**Minimum ICP/SDR rate: To prevent mistakes, there is a lower bound for the ICP/SDR rate, managed by network economic proposals.&lt;br /&gt;
**Dissolve delay of spawned neurons: The dissolve delay of a neuron spawned from the maturity of an existing neuron.&lt;br /&gt;
**Maximum node provider rewards: The maximum rewards to be distributed to node providers in a single distribution event (proposal).&lt;br /&gt;
**Transaction fee: The transaction fee that must be paid for each ledger transaction.&lt;br /&gt;
**Maximum number of proposals to keep per topic: The maximum number of proposals to keep, per topic. When the total number of proposals for a given topic is greater than this number, the oldest proposals that have reached a “final” state may be deleted to save space.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Motion (#Governance)&#039;&#039;&#039; A motion is a text that can be adopted or rejected. No code is executed when a motion is adopted. An adopted motion should guide the future strategy of the Internet Computer ecosystem.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ApproveGenesisKYC (#KYC)&#039;&#039;&#039; When new neurons are created at Genesis, they have GenesisKYC=false. This restricts what actions they can perform. Specifically, they cannot spawn new neurons, and once their dissolve delays are zero, they cannot be disbursed and their balances unlocked to new accounts. This proposal sets GenesisKYC=true for batches of principals.&lt;br /&gt;
(Special note: The Genesis event disburses all ICP in the form of neurons, whose principals must be KYCed. Consequently, all neurons created after Genesis have GenesisKYC=true set automatically since they must have been derived from balances that have already been KYCed.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AddOrRemoveNodeProvider (#Participant Management)&#039;&#039;&#039; Assign (or revoke) an identity to a node provider, associating key information regarding the legal person associated that should provide a way to uniquely identify it.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;RewardNodeProvider (#NodeProviderRewards)&#039;&#039;&#039; Propose to reward a Gen-1 node provider an amount of ICP as compensation for providing Gen-1 nodes to the IC.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SetDefaultFollowees (#Governance)&#039;&#039;&#039; Specify the list of followees that a freshly created neuron should have.&lt;br /&gt;
&lt;br /&gt;
The following is a list of proposal types that call other NNS canisters:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;CreateSubnet (#SubnetManagement)&#039;&#039;&#039; Combine a specified set of nodes, typically drawn from data centers and operators in such a way as to guarantee their independence, into a new decentralized subnet. The execution of this external update first initiates a new instance of the distributed key generation protocol. The transcript of that protocol is written to a new subnet record in the registry, together with initial configuration information for the subnet, from where the nodes comprising the subnet pick it up.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AddNodeToSubnet (#SubnetManagement)&#039;&#039;&#039; Add a new node to a subnet. The node cannot be currently assigned to a subnet. The execution of this proposal changes an existing subnet record to add a node. From the perspective of the NNS, this update is a simple update of the subnet record in the registry.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;InstallNetworkCanister (#NetworkCanisterManagement)&#039;&#039;&#039; A proposal to add a new canister to be installed and executed in the NNS subnetwork. The root canister, which controls all canisters on the NNS except for itself, handles this proposal type. The call also expects the Wasm module that shall be installed.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UpgradeNetworkCanister (#NetworkCanisterManagement)&#039;&#039;&#039; A proposal to upgrade an existing canister in the NNS subnetwork. This proposal type is executed by the root canister. Beyond upgrading the Wasm module of the target canister, the proposal can also set the authorization information and the allocations.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;BlessReplicaVersion (#NodeAdmin)&#039;&#039;&#039; A proposal to bless a new version to which the replicas can be upgraded. The proposal registers a replica version (identified by the hash of the installation image) in the registry. Besides creating a record for that version, the proposal also appends that version to the list of “blessed versions” that can be installed on a subnet. By itself, this proposal does not effect any upgrade. (In the future, there will only be one blessed version of the replica software at any given time.)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;RecoverSubnet (#SubnetManagement)&#039;&#039;&#039; Update a subnet’s recovery CUP (used to recover subnets that have stalled). Nodes that find a recovery CUP for their subnet will load that CUP from the registry and restart the replica from that CUP.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UpdateSubnetConfig (#SubnetManagement)&#039;&#039;&#039; Update a subnet’s configuration. This proposal updates the subnet record in the registry, with the changes being picked up by the nodes on the subnet when they reference the respective registry version. Subnet configuration comprises protocol parameters that must be consistent across the subnet (e.g., message sizes).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AssignNPID (#ParticipantManagement)&#039;&#039;&#039; Assign an identity to a node operator associating key information regarding its ownership, the jurisdiction in which it is located, and other information. The node operator is stored as a record in the registry. It contains the remaining node allowance for that node operator, that is the number of nodes the node operator can still add to the IC. When an additional node is added by the node operator, the remaining allowance is decreased.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;RootUpgrade (#NetworkCanisterManagement)&#039;&#039;&#039; A proposal to upgrade the root canister in the NNS subnetwork. The proposal is processed by the Lifeline canister, which controls the root canister. The proposal updates the Wasm module as well as the authorization settings.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SetICPSDR (#ExchangeRate)&#039;&#039;&#039; Instruct the NNS about the market value of 1 ICP as measured by an IMF SDR. This setting affects cycles pricing (as the value of cycles shall be constant with respect to IMF SDRs).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UpgradeSubnetToReplicaVersion (#SubnetManagement)&#039;&#039;&#039; Update the replica version running on a given subnet. The proposal changes the replica version that is used on the specified subnet. The version must be contained in the list of blessed replica versions. The upgrade is performed when the subnet creates the next regular CUP.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ClearProvisionalWhitelist (#NetworkEconomics)&#039;&#039;&#039; Clears the provisional whitelist, which allows the listed principals to create canisters with cycles. The mechanism is only needed for bootstrap and testing and must be deactivated afterward.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;RemoveNodeFromSubnet (#SubnetManagement)&#039;&#039;&#039; Remove a node from a subnet. It then becomes available for reassignment. The execution of this proposal changes an existing subnet record to remove a node. From the perspective of the NNS, this update is a simple update of the subnet record in the registry.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SetAuthorizedSubnetworks (#Governance)&#039;&#039;&#039; Informs the cycles minting canister that a certain principal is authorized to use certain subnetworks (from a list). Can also be used to set the “default” list of subnetworks that principals without special authorization are allowed to use.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;SetFirewallConfig (#SubnetManagement)&#039;&#039;&#039; Change the Firewall configuration in the registry (configures which boundary nodes subnet blockchain replicas will communicate with).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;UpdateNodeOperatorConfig (#NodeAdmin)&#039;&#039;&#039; Change a node operator’s allowance in the registry.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;StopOrStartNNSCanister (#NetworkCanisterManagement)&#039;&#039;&#039; Stop or start an NNS canister.&lt;br /&gt;
&lt;br /&gt;
== ICP tokens ==&lt;br /&gt;
ICP are native utility tokens that play three key roles in the network:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Facilitating Network Governance&#039;&#039;&#039; ICP tokens can be locked to create neurons that participate in network governance by voting, through which they can earn economic rewards.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Production of Cycles for Compute&#039;&#039;&#039; ICP provides a source store of value that can be converted into “cycles,” which power computation in the role of fuel that is burned when it is used. The NNS converts ICP to cycles at a variable rate, so chosen to ensure users of the network can always create new cycles at approximately constant cost in real terms, such that the cost of acquiring fuel is predictable.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Rewarding Participants&#039;&#039;&#039; The network mints new ICP to reward and incentivize those playing important roles that enable the network to function, including: a) the provision of “voting rewards” to those participating in governance, and b) the provision of “node provider rewards” to those operating the node machines that are hosting the network.&lt;br /&gt;
&lt;br /&gt;
== Ledger ==&lt;br /&gt;
The ICP ledger is hosted within the NNS, and records all balances of ICP in the manner of a spreadsheet. Each row is called an “account,” which has two fields (i.e., there are two “columns”):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Account identifier (bytes)&#039;&#039;&#039; A unique value that is derived from the identity of the “principal” that “controls” the account. Currently, the principal must either be: (i) the owner of a public key pair, or (ii) a canister smart contract that is part of the NNS. Account identifiers are derived by hashing the concatenation of a domain separator, the principal ID, and the subaccount (or zeros if no subaccount is given).&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Balance&#039;&#039;&#039; (positive integer, representing one hundredth of a millionth of an ICP) The quantity of ICP assigned to the principal of the account.&lt;br /&gt;
&lt;br /&gt;
When the principal is a public key or Canister, they can apply the following operation to an account:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Send&#039;&#039;&#039; Send a portion of the ICP balance to another account. If all the ICP is sent to another account, then the sending account ceases to exist (i.e., is deleted from the ledger).&lt;br /&gt;
# &#039;&#039;&#039;Notify&#039;&#039;&#039; When the destination of the funds sent is the account of an NNS canister (e.g., an account of the governance canister), the sender can ask the ledger to notify the recipient canister of the incoming transfer. The recipient canister can then act on this notification. Two examples where this ability is used are creating a neuron and refreshing the stake of a neuron. These are detailed below.&lt;br /&gt;
&lt;br /&gt;
Operations that require interaction between the ledger and the governance system (Neurons):&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Create neuron&#039;&#039;&#039; When the principal is a public key holder, they may lock a portion of their balance inside a new neuron. Technically, creating the neuron is done in two stages. First transfer the ICP to be staked to an account of the governance canister (which corresponds to a new neuron — the details of the association are omitted here). Then notify the governance canister of the incoming transfer which updates its internal neuron bookkeeping. If the entire balance is locked inside a new neuron, the account ceases to exist (i.e., is deleted from the ledger). To move these ICP to a different account, such as back to the original account, where they can once again be controlled like a normal balance, the associated neuron must be fully dissolved and disbursed (destroyed). The new neuron that has been created is controlled by the private key of the principal that created it.&lt;br /&gt;
# &#039;&#039;&#039;Refresh stake&#039;&#039;&#039; The stake of a neuron may be increased by transferring to its address/account in the ledger and notifying the governance canister of the incoming transfer. Refreshing the stake will change the maturity and age of the neuron prorated. For example, if the stake is doubled, the maturity and age will be halved, so spawning will yield the same amount and the age bonus will be the same as before (in absolute terms).&lt;br /&gt;
&lt;br /&gt;
== Neurons ==&lt;br /&gt;
&lt;br /&gt;
A neuron locks a balance of ICP and enables its owner to participate in network governance, through which they can earn rewards.&lt;br /&gt;
&lt;br /&gt;
=== Attributes ===&lt;br /&gt;
Neurons have the following attributes:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Identity (uint64)&#039;&#039;&#039; The general identity of the neuron object. When a neuron is configured to follow another neuron, this is the value that is used. This is a random 64-bit value selected at neuron creation.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Account (bytes, private)&#039;&#039;&#039; The ledger account where the locked ICP balance resides.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Controller (principal ID, private)&#039;&#039;&#039; The principal that actually controls the neuron. The principal must identify a public key pair, which acts as a “master key,” such that the corresponding secret key should be kept very secure. The principal might control many neurons.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Hot Keys (list of principal ID, private)&#039;&#039;&#039; Keys that can be used to perform actions with limited privileges, such as voting, without exposing the secret key corresponding to the principal (e.g., could be a WebAuthn key).&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;CreatedAt (timestamp)&#039;&#039;&#039; When the Neuron was created.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;AgingSince (timestamp)&#039;&#039;&#039; The timestamp corresponding to the time this neuron has started aging. This is either the creation time or the last time at which the neuron has stopped dissolving. This value is meaningless when the neuron is dissolving, since a dissolving neuron always has an age of zero.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;DissolveState&#039;&#039;&#039; At any time, at most one of WhenDissolved and DissolveDelay are specified.&lt;br /&gt;
** WhenDissolved (timestamp)&lt;br /&gt;
When the dissolve timer is running, this stores the timestamp in seconds from the Unix epoch, at which point the neuron becomes dissolved. At any time while the neuron is dissolving, the neuron owner may pause dissolving, in which case DissolveDelay will get assigned to: WhenDissolved minus the timestamp when the action is taken.&lt;br /&gt;
**DissolveDelay (duration)&lt;br /&gt;
When the dissolve timer is stopped, this stores how much time the dissolve timer will be started with. It can be eight years at most. At any time while in this state, the neuron owner may (re)start dissolving, in which case WhenDissolved will get assigned to the timestamp when the action is taken plus DissolveDelay.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Maturity (positive number )&#039;&#039;&#039; The maturity of a neuron which reflects the amount of voting rewards allocated to a neuron.  When new neurons are created, their maturity is zero. When neurons vote, over time the NNS increases their maturity to reward them.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Follow Relationships (mapping from topic to list of followees, private)&#039;&#039;&#039; A neuron can be configured to vote automatically by following other neurons on a topic-by-topic basis. For any valid topic, a list of followees can be specified, and the neuron will follow the vote of a majority of the followees on a proposal with a type belonging to that topic. If a null topic is specified, this acts as a catch-all that enables the neuron to follow the vote of followees where a rule has not been specified.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Recent Votes (public)&#039;&#039;&#039; A record of recent votes is maintained. This can provide a guide for those wishing to evaluate whether to follow a neuron, or how their followees are voting.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;NotForProfit (boolean)&#039;&#039;&#039; Whether this neuron is “not for profit,” making it dissolvable by voting.&lt;br /&gt;
&lt;br /&gt;
The following attributes can be computed:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; Age (seconds)&#039;&#039;&#039; (computed from AgingSince and current time) The period of time that has elapsed since the neuron was created or last stopped dissolving. Conceptually, whenever a neuron starts dissolving, then its age is reset to zero and remains zero while it is dissolving. If a dissolving neuron has dissolving turned off, the current time becomes the effective neuron creation date for the purposes of calculating the age.&lt;br /&gt;
* &#039;&#039;&#039;State (LOCKED or DISSOLVING or DISSOLVED)&#039;&#039;&#039; (computed from DissolveState and the current time)&lt;br /&gt;
**LOCKED: In this state, the neuron is locked with a specific DissolveDelay. It accrues age by the passage of time and it can vote if DissolveDelay is at least six months. The method start_dissolving can be called to transfer the neuron to the DISSOLVING state. The method increase_dissolve_delay can be used to increase the dissolve delay without affecting the state or the age of the neuron.&lt;br /&gt;
**DISSOLVING: In this state, the neuron’s effective dissolve delay decreases with the passage of time. While dissolving, the neuron’s age is considered zero. Eventually it will reach the DISSOLVED state. The method stop_dissolving can be called to transfer the neuron to the LOCKED state, and the neuron will start aging again. The method increase_dissolve_delay can be used to increase the dissolve delay, but this will not stop the timer or affect the age of the neuron.&lt;br /&gt;
**DISSOLVED: In the dissolved state, the neuron’s stake can be disbursed using the disburse method. It cannot vote as its dissolve delay is considered to be zero. If the method increase_dissolve_delay is called in this state, the neuron will become locked with the specified dissolve delay and start aging again. Neuron holders have an incentive not to keep neurons in the dissolved state for a long time: if the holders want to make their tokens liquid, they disburse the neuron’s stake, and if they want to earn voting rewards, they increase the dissolve delay. If these incentives turn out to be insufficient, the NNS may decide to impose further restrictions on dissolved neurons.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ControlByProposals (boolean)&#039;&#039;&#039; (true if the neuron has a non-empty list of followees on the #NeuronManagement topic) If a neuron specifies followees on the ManageNeuron topic, it can be managed by proposals of type ManageNeuron (#NeuronManagement), which may only be voted upon by the neuron’s own followees. This provides a foundation for the management of highly security sensitive neurons, since it allows them to be maintained without hot keys or the secret key of the principal, which can be kept in cold storage or even destroyed (so long as the associated balance of ICP need never be unlocked). For example, the DFINITY Foundation or the Internet Computer Association might publicize the address of special neurons that will be made to vote according to their wishes, so that others can configure their neurons to follow them and leverage their expertise and efforts in governance. One problem with such practices is that they introduce the risk that secret keys used in the management of the publicized neurons might be compromised, allowing hackers to take control and “trick” large numbers of following neurons into voting according to their wishes. If the publicized neurons have admin proposals enabled, however, then they can be administered by the neurons they follow (their followees), which are typically controlled by a large number of team members who cannot be simultaneously extorted, without any need for the usage of secret keys whatsoever.&lt;br /&gt;
&lt;br /&gt;
=== Commands ===&lt;br /&gt;
The principal that controls a neuron may instruct it to perform the following actions:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Start Dissolving&#039;&#039;&#039; The dissolve delay is like a kitchen timer that can only be turned in one direction. It can be arbitrarily increased, but only reduced by turning on dissolve mode and counting down. The neuron can be instructed to start “dissolving.” When the neuron is dissolving, its dissolve delay falls over the passage of time until either it is stopped or it reaches zero. A neuron cannot vote (or earn rewards for voting) when its dissolve delay falls below six months. Once the dissolve delay reaches zero, it stops falling and the controlling principal can instruct the neuron to disburse.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Stop Dissolving&#039;&#039;&#039; A neuron that is dissolving can be instructed to stop, whereupon its dissolve delay stops falling with time.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Disburse&#039;&#039;&#039; When the dissolve delay of the neuron is 0, its controlling principal can instruct it to disburse the neuron’s stake. Its locked ICP balance is transferred to a specified new ledger account, and the neuron and its own ledger account disappear.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Increase Dissolve Delay&#039;&#039;&#039; The dissolve delay of a neuron can be increased up to a maximum of eight years.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Spawn&#039;&#039;&#039; When the maturity of a neuron has risen above a threshold, it can be instructed to spawn a new neuron. This creates a new neuron that locks a new balance of ICP on the ledger. The new neuron can remain controlled by the same principal as its parent, or be assigned to a new principal. When a neuron spawns a new neuron, its maturity falls to zero.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Add Hot Key&#039;&#039;&#039; Add a new hot key that can be used to manage the neuron. This provides an alternative to using the principal’s cold key to manage the neuron, which might be onerous and difficult to keep secure, especially if it is used regularly. A hot key might be a WebAuthn key that is maintained inside a user device, such as a smartphone.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Remove Hot Key&#039;&#039;&#039; Remove a hot key that has been previously assigned to the neuron.&lt;br /&gt;
&lt;br /&gt;
The following actions can be initiated using the principal or a hot key that has been configured:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Vote&#039;&#039;&#039; Have the neuron vote to either adopt or reject a proposal with a specified ID.&lt;br /&gt;
* &#039;&#039;&#039;Follow&#039;&#039;&#039; Add a rule that enables the neuron to vote automatically on proposals that belong to a specific topic, by specifying a group of followee neurons whose majority vote is followed. The configuration of such follow rules can be used to: a) distribute control over voting power amongst multiple entities, b) have a neuron vote automatically when its owner lacks time to evaluate newly submitted proposals, c) have a neuron vote automatically when its own lacks the expertise to evaluate newly submitted proposals, and d) for other purposes. A follow rule specifies a set of followees. Once a majority of the followees votes to adopt or reject a proposal belonging to the specified topic, the neuron votes the same way. If it becomes impossible for a majority of the followees to adopt (for example, because they are split 50–50 between adopt and reject), then the neuron votes to reject. If a rule is specified where the proposal topic is null, then it becomes a catch-all follow rule, which will be used to vote automatically on proposals belonging to topics for which no specific rule has been specified. If the list of followees is empty, this effectively removes a follow rule.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Best_practices_for_a_high_traffic_dapp_launch&amp;diff=4455</id>
		<title>Best practices for a high traffic dapp launch</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Best_practices_for_a_high_traffic_dapp_launch&amp;diff=4455"/>
		<updated>2023-02-27T14:46:42Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
==Starting the project==&lt;br /&gt;
&lt;br /&gt;
===Choosing a programming language&amp;lt;ref&amp;gt;https://forum.dfinity.org/t/motoko-vs-rust-for-the-canisters/2674/2&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The IC is a Wasm-based programming environment so any language that can compile to Wasm can be deployed and instantiated as a canister. In practice, there is a lot of tooling, libraries, and boilerplate that make the following two languages the most baked choices for programming on the IC: [[Motoko (programming language)]] and [https://www.rust-lang.org/ Rust] .&lt;br /&gt;
&lt;br /&gt;
===Motoko===&lt;br /&gt;
* Strongly typed, statically compiled language (also common to Rust)&lt;br /&gt;
* Motoko is purpose-built for the Internet Computer; as such, it will coevolve with the IC itself (unlike Rust).&lt;br /&gt;
* Motoko is designed to be readable and familiar to JavaScript developers (unlike Rust).&lt;br /&gt;
* Motoko aims to be a natural choice for application-layer developers.&lt;br /&gt;
&lt;br /&gt;
===[https://www.rust-lang.org/ Rust]===&lt;br /&gt;
* Strongly typed, statically compiled language (also common to Motoko).&lt;br /&gt;
* Rust aims to be a natural choice for a broad class of system-layer developers (unlike Motoko).&lt;br /&gt;
* Because of its broad use for systems development, some of its capabilities may not be very useful for developing IC apps.&lt;br /&gt;
* Rust is about 10 years old; consequently, documentation and libraries are mature (unlike Motoko).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In practice, Since Rust is a more mature language, the current experience is that Rust dapps scale more than Motoko-based dapps (the reason has to do with ongoing improvements with Motoko garbage collection). In practice, Motoko is an easier language to use. This is of course not a new trade-off for developers, it is &#039;analogous&#039; to how C may be a more performant language than Ruby, but Ruby is easier to use.&lt;br /&gt;
&lt;br /&gt;
In short, if you already know Rust, then going with Rust makes sense. If you are a JavaScript developer, Motoko might be an easier path. If you expect extremely high traffic, Rust may be a better option. If you are still learning IC development, Motoko may be a better option while Motoko performance improves under the hood. You can find Motoko examples in the [https://github.com/dfinity/examples dfinity/examples repository].&lt;br /&gt;
&lt;br /&gt;
===Language Resources===&lt;br /&gt;
* [https://stackoverflow.blog/2020/08/24/motoko-the-language-that-turns-the-web-into-a-computer/ Motoko, a programming language for building directly on the internet]&lt;br /&gt;
* [https://smartcontracts.org/docs/base-libraries/stdlib-intro.html Motoko documentation]&lt;br /&gt;
* [https://github.com/dfinity/sdk Motoko Canister Developer Kit]&lt;br /&gt;
* [https://github.com/dfinity/cdk-rs Rust Canister Developer Kit]&lt;br /&gt;
* [https://mmapped.blog/posts/01-effective-rust-canisters.html Effective Rust Canisters]]&lt;br /&gt;
&lt;br /&gt;
==Writing the dapp==&lt;br /&gt;
&lt;br /&gt;
==Getting help==&lt;br /&gt;
&lt;br /&gt;
There are few resources where developers get help while building a dapp:&lt;br /&gt;
&lt;br /&gt;
* [https://forum.dfinity.org/ Developer forum]&lt;br /&gt;
* Developer Discord&lt;br /&gt;
&lt;br /&gt;
==Testing the dapp==&lt;br /&gt;
&lt;br /&gt;
=== Stress testing ===&lt;br /&gt;
The IC does not have a testnet.  Instead developers are encouraged to use the mainnet for test purposes.  Before developers deploy the production ready dapp to mainnet and enable access to it to the world, they should first deploy test versions to mainnet.  They should then stress it by emulating the anticipated load on it and see how well the dapp and the platform in general fares.  If the desired performance is not achieved, developers are encouraged to get help by using the links provided above.  Often times, the desired performance can be achieved by performing minor tweaks to the dapps.  &lt;br /&gt;
&lt;br /&gt;
==Deploying the dapp==&lt;br /&gt;
&lt;br /&gt;
==Launching the dapp to the world==&lt;br /&gt;
&lt;br /&gt;
==Monitoring the dapp==&lt;br /&gt;
&lt;br /&gt;
==Lessons from past launches==&lt;br /&gt;
&lt;br /&gt;
===Motoko version===&lt;br /&gt;
Motoko is a language being actively developed so it is recommended to use the latest version of Motoko to get maximal stability and performance.&lt;br /&gt;
&lt;br /&gt;
===Inter-canister calls&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;[https://www.joachim-breitner.de/blog/788-How_to_audit_an_Internet_Computer_canister How to audit an Internet Computer canister]&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The Internet Computer system provides inter-canister communication that follows the actor model: Inter-canister &#039;calls&#039; are implemented via two asynchronous &#039;messages&#039;, one to initiate the call, and one to return the response. Canisters process messages atomically (and roll back upon certain error conditions), but not complete calls. This makes programming with inter-canister calls error-prone. Possible common sources for bugs, vulnerabilities or simply unexpected behavior are:&lt;br /&gt;
&lt;br /&gt;
* Reading global state before issuing an inter-canister call, and assuming it to still hold when the call comes back.&lt;br /&gt;
&lt;br /&gt;
* Changing global state before issuing an inter-canister call, changing it again in the response handler, but assuming nothing else changes the state in between (reentrancy).&lt;br /&gt;
&lt;br /&gt;
* Changing global state before issuing an inter-canister call, and not handling failures correctly, e.g. when the code handling the callback rolls backs.&lt;br /&gt;
&lt;br /&gt;
If you find such a pattern in your code, you should analyze if a malicious party can trigger them, and assess the severity that effect. These issues apply to all canisters and are not Motoko-specific.&lt;br /&gt;
&lt;br /&gt;
===Rollbacks&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Even in the absence of inter-canister calls the behavior of rollbacks can be surprising. In particular, rejecting (i.e. {{code|throw}}) does &#039;not&#039; rollback state changes done before, while trapping (e.g. {{code|Debug.trap}}, {{code|assert}}…, out of cycle conditions) does.&lt;br /&gt;
&lt;br /&gt;
Therefore, one should check all public update call entry points for unwanted state changes or unwanted rollbacks. In particular, look for methods (or rather, messages, i.e. the code between commit points) where a state change is followed by a {{code|throw}}).&lt;br /&gt;
&lt;br /&gt;
This issues apply to all canisters, and are not Motoko-specific, although other CDKs may not turn exceptions into rejects (which don’t roll back).&lt;br /&gt;
&lt;br /&gt;
===Talking to malicious canisters&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Talking to untrustworthy canisters can be risky, for the following (likely incomplete) reasons:&lt;br /&gt;
&lt;br /&gt;
* The other canister can withhold a response. Although the bidirectional messaging paradigm of the Internet Computer was designed to guarantee a   response &#039;eventually&#039;, the other party can busy-loop for as long as they are willing to pay for before responding. Worse, there are ways to deadlock a   canister.&lt;br /&gt;
&lt;br /&gt;
* The other canister can respond with invalidly encoded Candid. This will cause a Motoko-implemented canister to trap in the reply handler, with no easy way to recover. Other CDKs may give you better ways to handle invalid Candid, but even then you will have to worry about Candid cycle bombs that will cause your reply handler to trap. &lt;br /&gt;
&lt;br /&gt;
Many canisters do not even do inter-canister calls, or only call other trustworthy canisters. For the others, the impact of this needs to be carefully assessed.&lt;br /&gt;
&lt;br /&gt;
===Time is not &#039;strictly&#039; monotonous&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The timestamps for “current time” that the Internet Computer provides to its canisters is guaranteed to be monotonous, but not &#039;strictly&#039; monotonous. It can return the same values, even in the same messages, as long as they are processed in the same block. It should therefore not be used to detect “happens-before” relations.&lt;br /&gt;
&lt;br /&gt;
Instead of using and comparing timestamps to check whether Y has been performed after X happened last, introduce an explicit {{code|var y_done : Bool}} state, which is set to {{code|False}} by X and then to {{code|True}} by Y. When things become more complex, it will be easier to model that state via an enumeration with speaking tag names, and update this “state machine” along the way.&lt;br /&gt;
&lt;br /&gt;
Another solution to this problem is to introduce a {{code|var v : Nat}} counter that you bump in every update method, and after each {{code|await}}. Now v is your canister’s state counter, and can be used like a timestamp in many ways.&lt;br /&gt;
&lt;br /&gt;
While talking about time: The system time (typically) changes across an await. So if you do {{code|let now = Time.now()}} and then await, the value in now may no longer be what you want.&lt;br /&gt;
&lt;br /&gt;
===Wrapping arithmetic&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
The {{code|Nat64}} data type, and the other fixed-width numeric types provide opt-in wrapping arithmetic (e.g. +%, {{code|fromIntWrap}}). Unless explicitly required by the current application, this should be avoided, as usually a too large or negative value is a serious, unrecoverable logic error, and trapping is the best one can do.&lt;br /&gt;
&lt;br /&gt;
===Shadowing of msg or caller&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Don’t use the same name for the “message context” of the enclosing actor and the methods of the canister: It is dangerous to write shared(msg) actor, because now msg is in scope across all public methods. As long as these also use public shared(msg) func …, and thus shadow the outer msg, it is correct, but it if one accidentally omits or mistypes the msg, no compiler error would occur, but suddenly msg.caller would now be the original controller, likely defeating an important authorization step.&lt;br /&gt;
&lt;br /&gt;
Instead, write {{code|shared(init_msg actor}} or {{code|shared({caller = controller})}} actor to avoid using msg.&lt;br /&gt;
&lt;br /&gt;
==Possible Attacks==&lt;br /&gt;
&lt;br /&gt;
===Cycle balance drain attacks&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Because of the IC’s [[“canister pays” model]], all canisters are prone to DoS attacks by draining their cycle balance, and this risk needs to be taken into account.&lt;br /&gt;
&lt;br /&gt;
The most elementary mitigation strategy is to monitor the cycle balance of canisters and keep it far from the (configurable) freezing threshold.&lt;br /&gt;
&lt;br /&gt;
On the raw IC-level, further mitigation strategies are possible:&lt;br /&gt;
&lt;br /&gt;
* If all update calls are authenticated, perform this authentication as quickly as possible, possibly before decoding the caller’s argument. This way, a cycle drain attack by an unauthenticated attacker is less effective (but still possible).&lt;br /&gt;
&lt;br /&gt;
* Additionally, implementing the {{code|canister_inspect_message}} system method allows the above checks to be performed before the message even is accepted by the Internet Computer. But it does not defend against inter-canister messages and is therefore not a complete solution.&lt;br /&gt;
&lt;br /&gt;
* If an attack from an authenticated user (e.g. a stakeholder) is to be expected, the above methods are not effective, and an effective defense might require relatively involved additional program logic (e.g. per-caller statistics) to detect such an attack, and react (e.g. rate-limiting).&lt;br /&gt;
&lt;br /&gt;
* Such defenses are pointless if there is only a single method where they do not apply (e.g. an unauthenticated user registration method). If the application is inherently attackable this way, it is not worth the bother to raise defenses for other methods.&lt;br /&gt;
&lt;br /&gt;
Related: A justification why the Internet Identity does not use canister_inspect_message)&lt;br /&gt;
&lt;br /&gt;
A Motoko-implemented canister currently cannot perform most of these defenses: Argument decoding happens unconditionally before any user code that may reject a message based on the caller, and {{code|canister_inspect_message}} is not supported. Furthermore, [[Candid]] decoding is not very cycle defensive, and one should assume that it is possible to construct [[Candid]] messages that require many instructions to decode, even for “simple” argument type signatures.&lt;br /&gt;
&lt;br /&gt;
The conclusion for the audited canisters is to rely on monitoring to keep the cycle balance up, even during an attack, if the expense can be born, and maybe pray for IC-level DoS protection to kick in.&lt;br /&gt;
&lt;br /&gt;
===Large data attacks&amp;lt;ref name=&amp;quot;audit&amp;quot;&amp;gt;&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Another DoS attack vector exists if public methods allow untrustworthy users to send data of unlimited size that is persisted in the canister memory. Because of the translation of async-await code into multiple message handlers, this applies not only to data that is obviously stored in global state, but also local data that is live across an await point.&lt;br /&gt;
&lt;br /&gt;
The effectiveness of such attacks is limited by the Internet Computer’s message size limit, which is in the order of a few megabytes, but many of those also add up.&lt;br /&gt;
&lt;br /&gt;
The problem becomes much worse if a method has an argument type that allows a Candid space bomb: It is possible to encode very large vectors with all values null in Candid, so if any method has an argument of type {{code|[Null]}} or {{code|[?t]}}, a small message will expand to a large value in the Motoko heap.&lt;br /&gt;
&lt;br /&gt;
Other types to watch out:&lt;br /&gt;
&lt;br /&gt;
* Nat and Int: This is an unbounded natural number, and thus can be arbitrarily large. The Motoko representation will however not be much larger than the    Candid encoding (so this does not qualify as a space bomb).&lt;br /&gt;
&lt;br /&gt;
It is still advisable to check if the number is reasonable in size before storing it or doing an await. For example, when it denotes an index in an array, throw early if it exceeds the size of the array; if it denotes a token amount to transfer, check it against the available balance, if it denotes time,    check it against reasonable bounds.&lt;br /&gt;
&lt;br /&gt;
Principal: A Principal is effectively a Blob. The Interface specification says that principals are at most 29   bytes in length, but the Motoko Candid decoder does not check that currently (fixed in the next version of Motoko). Until then, a Principal passed as an argument can be large (the principal in {{code|msg.caller}} is system-provided and thus safe). If you cannot wait for the fix to reach you, manually check the size of the [[princial]] (via   Principal.toBlob) before doing the await.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Total_supply,_circulating_supply,_and_staked_ICP&amp;diff=4454</id>
		<title>Total supply, circulating supply, and staked ICP</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Total_supply,_circulating_supply,_and_staked_ICP&amp;diff=4454"/>
		<updated>2023-02-27T14:46:11Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For a crypto community to understand the governance and tokenomics of the IC, understanding the supply of ICP is important.&lt;br /&gt;
&lt;br /&gt;
==Background: Tokenomics==&lt;br /&gt;
&lt;br /&gt;
Before getting into the discussion of Total Supply and Circulating Supply, it is important to understand a bit about the Tokenomics of ICP. ICP is the utility token of the Internet Computer blockchain. The following are the core use cases that outline how the ICP token helps in the functioning of the Internet Computer blockchain.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Node Provider Rewards:&#039;&#039;&#039; The node providers that offer compute/storage infrastructure to the Internet Computer blockchain receive ICP rewards. Each node receives a flat monthly reward calculated in fiat and paid in the form of ICP tokens. This model ensures that the cost that the network bears for running a node is always constant in fiat terms. The reward varies slightly based on the geographical location of the node to ensure the IC is able to achieve a wider geographical distribution of nodes. Each node provider continues to receive rewards as long as they guarantee the right quality of service. The rewards are paid by minting new ICP tokens, causing inflation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Governance:&#039;&#039;&#039; ICP token holder can stake (lock) their tokens to create Neurons. Holding neurons enables them to secure voting rights via the IC’s on-chain open governance system, the Network Nervous System (NNS). The NNS enables the neuron holders (people staking ICP) to vote on proposals related to aspects like upgrading the IC protocol and software running on node machines, onboarding new node providers, adding node machines into the blockchain network, and creating new subnet blockchains to increase capacity. The NNS implements liquid democracy: neurons can follow other neurons a delegate voting power. The neuron holders receive rewards from the IC protocol for participating in the voting process and helping with the governance. These voting rewards are also paid by minting new ICP tokens, causing inflation. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Fuel for Computation/Storage:&#039;&#039;&#039; Canister smart contract computations running on the Internet Computer blockchain are fueled by “cycles”. These cycles are derived by burning ICP tokens. The cycles play a similar role to “gas” on Ethereum. There are several major differences, however. One of the most fundamental differences is that Ethereum leverages “user pays” while the Internet Computer has “smart contract pays” model (sometimes called “reverse gas”) model. Whereas the Ethereum blockchain requires end-users to send payments for the gas that smart contracts consume with every transaction, on the Internet Computer, Canister smart contracts are pre-charged with cycles, such that contracts effectively pay for their own computation - freeing users from the responsibility. Cycles are generated by burning ICP utility tokens, causing deflation.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Transaction/Proposal Fees:&#039;&#039;&#039; When any ICP holder transfers their ICP from one wallet to another they incur a small transaction fee paid in ICP. Additionally, ICP holders pay a small fee while submitting new proposals to the NNS. These fees are burnt as a part of the transaction, causing deflation. &lt;br /&gt;
&lt;br /&gt;
To summarize, ICP inflation happens for rewarding node providers and governance participants while deflation happens when ICP is burnt for computation or for transaction/proposal submission fees. &lt;br /&gt;
 &lt;br /&gt;
With that concept under our belt let&#039;s dive deeper into understanding the ICP token supply. Understanding the supply of a token is important to many people in the crypto community.&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;total supply&#039;&#039; of ICP is variable, with both minting (inflationary) and burning (deflationary) mechanisms. The &#039;&#039;circulating supply&#039;&#039; of ICP is also variable, and in addition to being affected by minting and burning, it&#039;s also affected by the unlocking of neurons from early contributors (e.g., neurons of seed round donors are on a multi-year unlocking schedule).&lt;br /&gt;
&lt;br /&gt;
==Background: the design intent==&lt;br /&gt;
&lt;br /&gt;
The design intent of the tokenomics of the IC is to create a self-sustaining ecosystem that can balance the following goals and constraints:&lt;br /&gt;
* Developers pay very low storage and compute costs.&lt;br /&gt;
* Node provider rewards are high enough to incentivize node providers to be part of the network.&lt;br /&gt;
* Voting rewards are high enough to encourage staking and governance participation (but not too high).&lt;br /&gt;
&lt;br /&gt;
Since this is a dynamic system, it is up to the community to keep an eye on the system and adjust its levers accordingly, evolving and optimizing the IC&#039;s tokenomics via NNS proposals.&lt;br /&gt;
&lt;br /&gt;
==Definitions==&lt;br /&gt;
&lt;br /&gt;
===Total supply===&lt;br /&gt;
&lt;br /&gt;
Total supply is the sum of all tokens currently in the system (whether they are locked/staked or not). &lt;br /&gt;
&lt;br /&gt;
The total supply changes over time due to inflation and deflation. Its current value can be seen on the [https://dashboard.internetcomputer.org/circulation IC Circulation page] of the IC dashboard.&lt;br /&gt;
&lt;br /&gt;
===Circulating supply===&lt;br /&gt;
&lt;br /&gt;
The circulating supply is the difference between the total supply and the non-circulating supply.&lt;br /&gt;
The non-circulating supply is the sum of all funds in accounts and neurons controlled by the DFINITY Foundation, plus the funds in the seed-round and ECT neurons. The seed-round and ECT neurons are on vesting schedules with more neurons potentially entering the &#039;&#039;dissolved&#039;&#039; state every month. Regardless of the actions of the seed-round and ECT neuron controllers (for example, they may decide to increase the dissolve delay or stop dissolving), the funds that could theoretically be disbursed based on the vesting schedule enter the circulating supply. At the end of the vesting schedule, all seed-round and ECT funds will be part of the circulating supply.&lt;br /&gt;
&lt;br /&gt;
The current circulating supply can be seen on the [https://dashboard.internetcomputer.org/circulation IC Circulation page] of the IC dashboard.&lt;br /&gt;
&lt;br /&gt;
===Staked ICP===&lt;br /&gt;
&lt;br /&gt;
Staked ICP supply is the sum of all the tokens that are locked or dissolving in neurons at any given time that are earning rewards. At this time, there is a minimum lockup period of 6 months to accrue voting rewards. &lt;br /&gt;
&lt;br /&gt;
The total amount of staked ICP changes over time. Its current value can be seen on the [https://dashboard.internetcomputer.org/neurons Neurons page] of the IC dashboard.&lt;br /&gt;
&lt;br /&gt;
==Numbers==&lt;br /&gt;
&lt;br /&gt;
===At network Genesis===&lt;br /&gt;
&lt;br /&gt;
May 10, 2021:&lt;br /&gt;
* Total supply: 469 million&lt;br /&gt;
* Circulating supply: 123 million&lt;br /&gt;
&lt;br /&gt;
===Current status===&lt;br /&gt;
As of February 17, 2023:&lt;br /&gt;
* Total supply: 495.8 million ICP&lt;br /&gt;
* Circulating supply: 289.2 million (58% of total supply)&lt;br /&gt;
* Staked ICP: 261.5 million (52.7% of total supply).&lt;br /&gt;
** 78.8% of ICP staked is staked with more than a 1-year dissolve delay&lt;br /&gt;
** 47.8% of ICP staked is staked for an 8-year dissolve&lt;br /&gt;
** One can see the breakdown of staked ICP by dissolve delays in [https://dashboard.internetcomputer.org/neurons IC neuron dashboard].&lt;br /&gt;
&lt;br /&gt;
* As outlined in the section above Circulating supply represents ICP that was ever liquid. A subset of the circulating supply is locked in neurons as staked ICP.&lt;br /&gt;
&lt;br /&gt;
==Inflationary mechanisms==&lt;br /&gt;
&lt;br /&gt;
The NNS mints ICP tokens for two reasons:&lt;br /&gt;
* For voting rewards (Governance).&lt;br /&gt;
* For node provider rewards.&lt;br /&gt;
&lt;br /&gt;
The amount of ICP minted since Genesis can be seen in the [https://dashboard.internetcomputer.org/circulation &amp;quot;Total Rewards&amp;quot; chart] on the IC dashboard.&lt;br /&gt;
&lt;br /&gt;
===Paying staking rewards===&lt;br /&gt;
&lt;br /&gt;
Voting rewards are generated by minting ICP, although this minting only happens at the moment rewards are spawned, maturity is merged, or the neuron is disbursed.&lt;br /&gt;
&lt;br /&gt;
The voting rewards rate schedule is designed with the goal that 90% of the token supply is staked in neurons. With this goal in mind, in the first year, the NNS allocates 10% of the total supply to generate voting rewards. Note the term &amp;quot;allocates&amp;quot; rather than &amp;quot;mints&amp;quot;, because rewards are not minted (increasing the total supply) until they are spawned, merged, or the neuron is disbursed. &lt;br /&gt;
&lt;br /&gt;
As the network becomes more stable over time, this allocation rate drops quadratically until it reaches 5% by year 8. See chart below from the [https://dashboard.internetcomputer.org/circulation IC Circulation page] on the IC dashboard.:&lt;br /&gt;
&lt;br /&gt;
[[File:NNS minting % by year.png|800px|frameless]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Like all parameters in the NNS, this rate schedule can be changed via NNS proposals.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See more in [[Staking, voting and rewards]].&lt;br /&gt;
&lt;br /&gt;
===Node provider rewards===&lt;br /&gt;
&lt;br /&gt;
Node providers are rewarded for running the node machines that power the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
==Deflationary mechanisms==&lt;br /&gt;
&lt;br /&gt;
The NNS burns ICP tokens for three reasons:&lt;br /&gt;
&lt;br /&gt;
* To mint cycles, used to pay for compute and storage.&lt;br /&gt;
* For transaction fees.&lt;br /&gt;
* For failed NNS proposal fees.&lt;br /&gt;
&lt;br /&gt;
The amount of ICP burned since Genesis can be seen in the [https://dashboard.internetcomputer.org/circulation &amp;quot;Total ICP Burned&amp;quot; chart] on the IC dashboard.&lt;br /&gt;
&lt;br /&gt;
===Paying for compute and storage===&lt;br /&gt;
&lt;br /&gt;
Dapp and smart contract developers pay computation and storage costs with cycles. Cycles are acquired from the NNS by converting ICP to cycles, which burns the converted ICP.&lt;br /&gt;
&lt;br /&gt;
The cycles costs for IC computation and storage can be seen at [https://smartcontracts.org/docs/developers-guide/computation-and-storage-costs.html Computation and Storage Costs].&lt;br /&gt;
&lt;br /&gt;
===Transaction fees===&lt;br /&gt;
&lt;br /&gt;
Transferring ICP across accounts incurs a transaction fee of 0.0001 ICP, which is burned.&lt;br /&gt;
&lt;br /&gt;
===Failed NNS proposals===&lt;br /&gt;
&lt;br /&gt;
It costs 10 ICP to submit a proposal. If the proposal passes, the 10 ICP is returned to the proposer. If the proposal is rejected, the 10 ICP is burned. Note that this only happens at disbursement or merging of neurons, so accumulated failed proposal fees can persist for a while before finally contributing to deflation.&lt;br /&gt;
&lt;br /&gt;
==Historical factors affecting circulating supply==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer blockchain is a result of several years of unyielding R&amp;amp;D. By Genesis, the DFINITY foundation, a major contributor to the Internet Computer was over 200 full-time members. Over the past several years the foundation raised financing in three main rounds and also allocated ICP tokens to the community in the form of an airdrop event.&lt;br /&gt;
&lt;br /&gt;
For a breakdown of the different rounds and vesting schedules, see Messari&#039;s report [https://messari.io/article/an-introduction-to-dfinity-and-the-internet-computer?referrer=asset:internet-computer &amp;quot;Introduction to ICP&amp;quot;]. The unlocking of neurons has been the &#039;&#039;&#039;largest contributing factor&#039;&#039;&#039; to circulating supply since Genesis, so it&#039;s important to understand the context. &lt;br /&gt;
&lt;br /&gt;
1. &#039;&#039;&#039;Seed Round, Feb-2017:&#039;&#039;&#039; This round was advertised by a tweet and open to the public by downloading a web extension. DFINITY raised CHF3.9 million (US$3.9 million) from 370 participants, at a valuation of $16 million, or a price of $0.03 per token. It held a portion of these funds in ETH and BTC during the 2017 crypto bull run. Seed round participants received all of their tokens at genesis but are staked inside 49 neurons. Each neuron has a different dissolve delay counting from 0 to 49 months. So this is practically equivalent to a 49-month &amp;quot;vesting schedule&amp;quot; see [https://medium.com/dfinity/how-to-access-seed-and-airdrop-icp-tokens-and-participate-in-the-internet-computer-network-e6cd663a0c3c How to Access ‘Seed’ and ‘Airdrop’ ICP Tokens and Participate in the Internet Computer Network].&lt;br /&gt;
&lt;br /&gt;
2. &#039;&#039;&#039;Strategic Round, Jan-2018:&#039;&#039;&#039; DFINITY raised $20.54 million for 7.00% of the initial supply (the number has been revised from the previously cited 6.84%). This allocation will vest monthly over three years starting from mainnet launch (May 2021). Participants include Polychain Capital, Andreessen Horowitz, CoinFund, Multicoin Capital, and Greycroft Partners. This round marks the first token a16z invested in. Polychain and DFINITY later collaborated to create the &amp;quot;DFINITY Ecosystem Venture Fund&amp;quot; (later renamed [https://dfinity.org/ecosystem/fund/ &amp;quot;Beacon Fund&amp;quot;]) of an undisclosed size. The goal is to fund new projects that would grow the IC&#039;s application ecosystem. The media reported that DFINITY raised a much larger amount of $61 million. &lt;br /&gt;
&lt;br /&gt;
3. &#039;&#039;&#039;Private Sale, Aug-2018:&#039;&#039;&#039; 110 participants contributed $97 million for 4.96% of the initial supply, sold at 4 CHF (around $4 at the time) per ICP token. This number has been revised from 4.75% previously reported. This allocation came with a monthly vesting schedule of one year from mainnet launch. Vesting began one month after the initial token distribution event on May 10, 2021. Participants in this round include Andreessen Horowitz, Polychain Capital, SV Angel, Aspect Ventures, Electric Capital, ZeroEx, Scalar Capital, and Multicoin Capital.&lt;br /&gt;
&lt;br /&gt;
4. &#039;&#039;&#039;Airdrop, May-2018:&#039;&#039;&#039; $35 million worth of ICP tokens (formerly DFN), or 0.80% of the initial supply, was airdropped to early supporters by being part of their mailing list, forums, and community. At this time, valuations reached $1.89 billion. Airdrop participants received the IOU version of their ICP tokens in September 2020. This allocation came with a monthly distribution schedule of one year from mainnet launch, which began on May 10, 2021.&lt;br /&gt;
&lt;br /&gt;
==Conclusion==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ultimately, the NNS is controlled by the community so it can vote to change any of the parameters. The parameters and mechanisms described are the current ones.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The ICP token has a Total Supply of 496MM, Circulating Supply of 289MM as of February, 2023. 261.5MM ICP (52.7% of total supply) is staked by token holders in the form of neurons with over 78.8% locked for over 1 year.&lt;br /&gt;
 &lt;br /&gt;
The number of tokens is constantly changing. The rewards paid out to the node providers and governance participants contribute to the inflation in token supply while factors like compute/storage fees and transaction fees cause deflation in the total supply.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Neuron_attributes_and_commands&amp;diff=4453</id>
		<title>Neuron attributes and commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Neuron_attributes_and_commands&amp;diff=4453"/>
		<updated>2023-02-27T14:45:33Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides more details about the [https://wiki.internetcomputer.org/index.php?title=Governance_of_the_Internet_Computer&amp;amp;veaction=edit&amp;amp;section=6#Neurons neurons] in the Network Nervous System (NNS), focusing on their attributes and the commands by which they can be changed.&lt;br /&gt;
&lt;br /&gt;
== Neuron Attributes ==&lt;br /&gt;
Each neuron in the NNS has the following attributes.&lt;br /&gt;
&lt;br /&gt;
* id: The identifier of the neuron.&lt;br /&gt;
* account: The principal of the ICP ledger account where the locked ICP balance resides. That is, each neuron&#039;s ICP token balance is stored on an account on the ledger canister. In contrast to non-neuron accounts the controller can however not just transfer the funds out of this account.&lt;br /&gt;
&lt;br /&gt;
* controller: The principal that controls the neuron. The principal must be derived from a public key, which acts as a “master key” (the corresponding secret key should be kept secure). The principal may control many neurons.&lt;br /&gt;
&lt;br /&gt;
* hot_keys: Keys that can be used to authorize actions with limited privileges, for example voting with a neuron. The idea is that while the controller key should be kept very secure, the loss or compromise of keys that are used more often (and thus very secure storage might not be feasible) has less security impact.&lt;br /&gt;
* cached_neuron_stake_e8s: The amount of staked ICP tokens, measured in fractions of 10E-8 of an ICP. This does not include the fees or some of the collected rewards (see below) and might not correspond exactly to the amount of ICP tokens of the neuron&#039;s account at all times. For example, to top up a neuron, one first transfers some ICP tokens to the neuron&#039;s account and then refreshes the neuron, which means that in between these actions the neuron&#039;s account actually holds more tokens than indicated by the corresponding cached stake.&lt;br /&gt;
* neuron_fees_e8s: The amount that this neuron owes, measured in fractions of 10E-8 of an ICP. This amount is increased when a neuron makes a proposal of [[Topic ManageNeuron|topic &#039;&#039;ManageNeuron&#039;&#039;]] or when a neuron makes a proposal of any other topic (in the latter case the fee is reimbursed if the proposal is accepted). When a neuron is disbursed, these tokens are burned.&lt;br /&gt;
* created_timestamp_seconds: The time when the neuron was created.&lt;br /&gt;
* aging_since_timestamp_seconds: The time, in seconds from the Unix epoch as measured by the IC, this neuron has last entered the non-dissolving state.&lt;br /&gt;
* dissolve_state: The state specifying whether a neuron is dissolving, i.e., the timer when the staked tokens can be retrieved is decreasing, or non-dissolving, i.e., the time how much into the future the staked tokens can be retrieved is stopped. &lt;br /&gt;
** When a neuron is dissolving, i.e., the dissolve timer is running, the state is when_dissolved_timestamp_seconds and stores the timestamp, in seconds from the Unix epoch, at which the neuron becomes dissolved. &lt;br /&gt;
** When a neuron is non-dissolving, i.e., the dissolve timer is stopped, the state is dissolve_delay_seconds and stores how much time, in seconds, the dissolve timer will be started with.&lt;br /&gt;
* followees: A neuron&#039;s followees stored as a map of topics (represented by an integer) to set of followee neurons.&lt;br /&gt;
* recent_ballots: Information about how this neuron voted in the recent past. It only contains proposals that the neuron voted yes or no on.         &lt;br /&gt;
* kyc_verified: `true` if this neuron has passed KYC, `false` otherwise&lt;br /&gt;
* transfer: The record of the transfer that was made to create this neuron. This is not used anymore and always set to &amp;quot;None&amp;quot;.&lt;br /&gt;
* maturity_e8s_equivalent: A neuron&#039;s maturity in &amp;quot;e8s equivalent&amp;quot;. The maturity keeps track of the rewards that the neurons has collected. While this quantity is on the same scale as ICP tokens, it is not directly convertible to ICPs and conversion requires a minting event (i.e., spawn the maturity).&lt;br /&gt;
* not_for_profit:  Whether this neuron is &amp;quot;Not for profit&amp;quot;, making it dissolvable by voting (see below)&lt;br /&gt;
* joined_community_fund_timestamp_seconds: The time point when this neuron joined the community fund.&lt;br /&gt;
&lt;br /&gt;
== Manage Neuron Commands ==&lt;br /&gt;
In general, any changes to or in the name of a neuron (e.g., changes to the neuron&#039;s attributes or casting a vote in the name of the neuron) can be made in two ways: &lt;br /&gt;
&lt;br /&gt;
# by using the manage_neuron interface of the governance canister or&lt;br /&gt;
# by making a special proposal of [[topic ManageNeuron]], where the basic idea is that a set of neurons can control a &#039;&#039;managed neuron&#039;&#039; by submitting and voting on special proposals. This only works if the managed neuron follows these controlling neurons for the proposal topic ManageNeuron. If this is given, the set of controlling neurons can send commands to the governance canister as if they were issued by the managed neuron&#039;s controller (that is with the same privileges that the managed neuron&#039;s controller has to manipulate the neuron). Thus, if it is stated that some neuron commands can only be done by a neuron&#039;s controller, this also includes the possibility that these commands are done per manageNeuron proposal.&lt;br /&gt;
&lt;br /&gt;
The next section lists all commands that can be performed by manage_neuron.&lt;br /&gt;
&lt;br /&gt;
=== Claiming a Neuron ===&lt;br /&gt;
This can be used to stake ICP utility tokens into a neuron. To do so, first a transfer must be made to the neuron&#039;s associated ledger account. Each transfer on the ledger account can be provided with a &#039;&#039;memo.&#039;&#039; After this transfer, the neuron can be claimed on the governance canister by providing the memo and the controller of the neuron. This allows the governance canister to find the corresponding account on the ledger canister and learn how many tokens should be staked in the corresponding neuron. A neuron is then created. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command)&#039;&#039;&amp;lt;u&amp;gt;:&amp;lt;/u&amp;gt;&#039;&#039;&#039;&#039;&#039; &#039;&#039;&amp;lt;u&amp;gt;Anyone can call this method.&amp;lt;/u&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Refreshing a Neuron ===&lt;br /&gt;
Similarly to how a neuron is first created, a neuron can be topped up by making a transfer to the neuron&#039;s Ledger canister account and then calling the Governance canister, which will adjust the neuron&#039;s stake to the new balance on the neuron&#039;s account. For this to work, the caller must either provide the governance canister with the memo and controller (as with claiming a neuron) or with the neuron&#039;s ID or account. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039; Anyone can call this method.&#039;&#039;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
=== Configuring a Neuron ===&lt;br /&gt;
Once a neuron is claimed, a neuron&#039;s controller might want to configure it. The following are commands that only configure a given neuron, but do not interact with the outside world.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039; All neuron configurations can only be invoked by a neuron&#039;s controller.&lt;br /&gt;
&lt;br /&gt;
* IncreaseDissolveDelay: Increases a neuron&#039;s dissolve delay by the given additional dissolve delay but at most to a given maximum dissolve delay (which is currently set to 8 years). If this method is called on a non-dissolving neuron, it remains non-dissolving. If it is called on dissolving neuron, it remains dissolving.   If this configuration is called on a dissolved neuron, it becomes non-dissolving. Moreover, the neuron&#039;s aging_since_timestamp_seconds is reset to start counting from when it last entered the dissolved state in the case where the &#039;&#039;dissolved&#039;&#039; state was reached through explicit dissolution or to `now` when this is not applicable, e.g., when the neuron is newly created with zero dissolve delay.&lt;br /&gt;
&lt;br /&gt;
* SetDissolveTimestamp: This is just another way of increasing the dissolve delay, by stating the target dissolve timestamp rather than the relative increase in the dissolve delay. It is internally translated to do the same as increasing the dissolve delay.&lt;br /&gt;
* StartDissolving: If this neuron is not dissolving, start dissolving it. If the neuron is dissolving or dissolved, an error is returned. Starting to dissolve a neuron intuitively means that the neuron&#039;s countdown to when the staked tokens can be liquidated is started. In terms of neuron attributes, the neuron&#039;s dissolve state is set to when_dissolved_timestamp_seconds which specifies the time now plus the neuron&#039;s dissolve delay (i.e., the defined countdown&#039;s duration). Moreover, the neuron&#039;s aging_since_timestamp_seconds is set to the maximum possible value, which represents that the neuron has no age as this will be in the future.&lt;br /&gt;
&lt;br /&gt;
* StopDissolving: If this neuron is dissolving, set it to not dissolving. If the neuron is not dissolving, an error is returned. Intuitively, this means that the neuron&#039;s countdown towards when the staked tokens can be liquidated is stopped. In terms of neuron attributes, the neuron&#039;s state is set to dissolve_delay_seconds, which now tracks the remaining time on the countdown. Also, the neuron&#039;s aging_since_timestamp_seconds is set to now. &lt;br /&gt;
&lt;br /&gt;
* AddHotKey: A new hot key is added to the neuron if the following preconditions hold: - key to add is not already present in &#039;hot_keys&#039; - the key to add is well-formed - there are not already too many hot keys for this neuron (currently 10 hot keys are allowed).&lt;br /&gt;
* RemoveHotKey: The specified hot key is removed if it is in the list of hot keys.&lt;br /&gt;
* JoinCommunityFund: If the neuron has not yet joined the community fund, this configuration sets the neuron&#039;s joined_community_fund_timestamp_seconds to the current time. If the neuron is already a member of the community fund, an error is returned.&lt;br /&gt;
&lt;br /&gt;
=== Make Proposal ===&lt;br /&gt;
This command can be used to have a neuron controlled by the issuer of the command to submit a proposal. If successful, the command creates an initial electoral roll that includes a ballot for all neurons that are eligible to vote on the proposal at the time when the proposal is created and where the ballots state the neurons&#039; voting power at the time of the proposal creation. The neuron that makes the proposal is charged the rejection fee upfront which will be reimbursed if the proposal is accepted (except for proposals of topic ManageNeuron) and the voting power of the proposer neuron is already counted towards the yes votes of the proposal.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039; The neuron&#039;s controller or a registered hot key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The proposal is valid.&lt;br /&gt;
* The neuron is eligible to vote on the proposal (i.e., still has a minimum dissolve delay currently set to 6 months).&lt;br /&gt;
* The neuron has more stake than the cost of a rejected proposal, which is currently 1 ICP.&lt;br /&gt;
* There are not too many open proposals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The neuron_fees_e8s are increased by the rejection fee (or, in case of a ManageNeuron proposal the corresponding fee).&lt;br /&gt;
* The recent_ballots are updated with the yes ballot that is cast for the proposer.&lt;br /&gt;
&lt;br /&gt;
=== Register Vote ===&lt;br /&gt;
This is used to directly register a neuron&#039;s vote for a given proposal. Also, it triggers the registration of a vote for all neurons that follow this neuron.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039; The neuron&#039;s controller or a registered hot key.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* A proposal is specified that exists.&lt;br /&gt;
* The neuron is eligible to vote on this proposal, i.e., an empty ballot has been entered to the electoral roll (if this is not the case, then the neuron was not eligible at the time when the proposal was created and thus the neuron is not allowed to vote on it).&lt;br /&gt;
* The neuron has not already voted on this proposal.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The recent_ballots are updated.&lt;br /&gt;
&lt;br /&gt;
=== Follow ===&lt;br /&gt;
Add or remove followees for this neuron for a specified topic. If the list of followees is empty, remove the followees for this topic. If the list has at least one element, replace the current list of followees for the given topic with the provided list. Note that the list is replaced, not added to.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039; The neuron&#039;s controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The list of followees is not too long (the current maximum is 15 followees per topic).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The followees for the given topic are updated.&lt;br /&gt;
&lt;br /&gt;
=== Spawn ===&lt;br /&gt;
This command allows to convert the neuron&#039;s collected rewards that are stored as the neuron&#039;s maturity to (staked) ICP utility tokens by minting the corresponding tokens (on the Ledger canister) and &amp;quot;spawning&amp;quot; them into a new neuron. The new &#039;&#039;child neuron&#039;&#039;, containing the spawned staked tokens has a small dissolve delay, which means that the tokens can be liquidated after only a short period of time while the original &#039;&#039;parent neuron&#039;s&#039;&#039; tokens may still be locked for much longer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039; The neuron&#039;s controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The parent neuron exists.&lt;br /&gt;
* The parent neuron is not involved in any neuron commands that have ledger interactions (to avoid inconsistencies).&lt;br /&gt;
* The parent neuron has accumulated maturity that would generate more than the minimum stake needed to create a new neuron.&lt;br /&gt;
* A controller for the new child neuron is provided that is valid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The maturity is decreased by the maturity at the time when the command started (a new reward event might have set it to non-zero already again).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The new &amp;quot;child&amp;quot; neuron&#039;s attributes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* id: random identifier&lt;br /&gt;
* account: random account (that does not yet exist)&lt;br /&gt;
&lt;br /&gt;
* controller: set to the provided controller&lt;br /&gt;
&lt;br /&gt;
* hot_keys: same as parent neuron&lt;br /&gt;
* cached_neuron_stake_e8s: set to the parent&#039;s maturity at the time when the command started.&lt;br /&gt;
* neuron_fees_e8s: 0&lt;br /&gt;
* created_timestamp_seconds: current time&lt;br /&gt;
* aging_since_timestamp_seconds: current time&lt;br /&gt;
* dissolve_state: (non-dissolving) dissolve_delay_seconds set to neuron_spawn_dissolve_delay_seconds as defined in the governance economics (currently set to 7 days)&lt;br /&gt;
* followees: same as parent neuron&lt;br /&gt;
* recent_ballots: empty&lt;br /&gt;
* kyc_verified: same as parent neuron&lt;br /&gt;
* transfer: not set&lt;br /&gt;
* maturity_e8s_equivalent:0&lt;br /&gt;
* not_for_profit: false&lt;br /&gt;
* joined_community_fund_timestamp_seconds: None&lt;br /&gt;
&lt;br /&gt;
=== Disburse ===&lt;br /&gt;
Once a dissolving neuron&#039;s countdown has reached zero, the neuron is dissolved and can thus be disbursed, which means that (some or only a specified number of) the staked tokens can be transferred to a given account. If no target account is provided, the transfer is made to the caller&#039;s account (i.e., the neuron&#039;s controller&#039;s account).&lt;br /&gt;
&lt;br /&gt;
In more detail, when a neuron is disbursed multiple steps happen:&lt;br /&gt;
&lt;br /&gt;
# The neuron&#039;s accumulated fees are burned.&lt;br /&gt;
# The neuron&#039;s accumulated maturity is converted to ICP utility tokens by minting the corresponding tokens and also transferring them to the target account.&lt;br /&gt;
# The given staked amount (or the full stake if none is provided) is transferred to the target account.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039;  The neuron&#039;s controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The neuron exists.&lt;br /&gt;
* The neuron&#039;s state is `Dissolved` at the current timestamp, i.e., the dissolve countdown has reached zero.&lt;br /&gt;
* The neuron&#039;s kyc_verified is not false. That is, a neuron that was created with kyc_verified false cannot be disbursed until it went through kyc.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The specified amount is subtracted from the neuron&#039;s cached_neuron_stake_e8s, as are the original neuron fees.&lt;br /&gt;
* The neuron_fees_e8s is set to zero.&lt;br /&gt;
* The maturity_e8s_equivalent is set to zero.&lt;br /&gt;
&lt;br /&gt;
=== Split ===&lt;br /&gt;
This command splits a &#039;&#039;parent neuron&#039;&#039; into two neurons, the original parent neuron and a new child neuron. This command may be useful, if a neuron holder would like for example to set the neuron configurations differently for a portion of the locked tokens. &lt;br /&gt;
&lt;br /&gt;
The parent neuron&#039;s stake is decreased by the amount specified, while the child neuron is created with a stake equal to that amount, minus the Ledger canister transfer fee. The child neuron inherits all the properties of its parent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039;  The neuron&#039;s controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* The parent neuron exists.&lt;br /&gt;
* The parent neuron is not involved in any neuron commands that have ledger interactions (to avoid inconsistencies).&lt;br /&gt;
* The staked amount minus amount to split is more than the minimum stake (ensuring that the parent neuron has at least the minimum stake).&lt;br /&gt;
* The amount to split minus the transfer fee is more than the minimum stake  (ensuring that the child neuron has at least the minimum stake).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the (parent) neuron&#039;s attributes:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* cached_neuron_stake_e8s: deduced by specified amount that is split.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The the new &amp;quot;child&amp;quot; neuron&#039;s attributes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* id: random identifier&lt;br /&gt;
* account: random account (that does not yet exist)&lt;br /&gt;
&lt;br /&gt;
* controller: same as parent neuron&lt;br /&gt;
&lt;br /&gt;
* hot_keys: same as parent neuron&lt;br /&gt;
* cached_neuron_stake_e8s: set to specified amount that is split from parent minus the transaction fee&lt;br /&gt;
* neuron_fees_e8s: 0&lt;br /&gt;
* created_timestamp_seconds: current time&lt;br /&gt;
* aging_since_timestamp_seconds: same as parent neuron&lt;br /&gt;
* dissolve_state: same as parent neuron&lt;br /&gt;
* followees: same as parent neuron&lt;br /&gt;
* recent_ballots: empty&lt;br /&gt;
* kyc_verified: same as parent neuron&lt;br /&gt;
* transfer: not set&lt;br /&gt;
* maturity_e8s_equivalent: 0&lt;br /&gt;
* not_for_profit: same as parent neuron&lt;br /&gt;
* joined_community_fund_timestamp_seconds: same as parent neuron&lt;br /&gt;
=== Disburse to Neuron ===&lt;br /&gt;
(Intro)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Access control (who can issue this command):&#039;&#039;&#039;  The neuron&#039;s controller.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preconditions (other conditions that must hold):&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The effect on the neuron&#039;s attributes:&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=How-to:_Verify_SNS_decentralization_swap_proposal&amp;diff=4452</id>
		<title>How-to: Verify SNS decentralization swap proposal</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=How-to:_Verify_SNS_decentralization_swap_proposal&amp;diff=4452"/>
		<updated>2023-02-27T14:44:59Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The process of launching an SNS for a dapp goes through the following main stages:&lt;br /&gt;
* &#039;&#039;&#039;Stage 1:&#039;&#039;&#039; An NNS proposal is created to add a principal (a cycles wallet) to a privileged list on the SNS wasm modules canister (SNS-W) on the NNS. By adopting this proposal, the NNS community agrees that this SNS launch should proceed. Technically, if the proposal is adopted, the principal is allowed to perform the next step exactly once.&lt;br /&gt;
* &#039;&#039;&#039;Stage 2:&#039;&#039;&#039; The principal from Stage 1 makes a call to SNS-W which installs the SNS canisters with pre-approved WASMs that are stored in SNS-W and with chosen initial parameters (e.g., initial neurons, number of tokens). The developers can then hand over the control of the dapp to the SNS.&lt;br /&gt;
* &#039;&#039;&#039;Stage 3:&#039;&#039;&#039; An NNS proposal is created to start a decentralization sale for the SNS. In this decentralization sale, participants can contribute ICP in exchange for a share of the initial SNS tokens. This proposal defines the conditions for the decentralization sale.&lt;br /&gt;
* &#039;&#039;&#039;Stage 4:&#039;&#039;&#039; By adopting this proposal, the NNS community accepts the sale conditions from Stage 3 and the SNS parameters that were chosen in Stage 2. If the NNS proposal is adopted, the decentralization sale starts after a delay (that was also defined in the proposal in Stage 3). &lt;br /&gt;
&lt;br /&gt;
This page contains information for NNS neuron holders to consider when voting in &#039;&#039;&#039;Stage 3&#039;&#039;. Specifically, it explains how the parameters in the NNS proposals can be interpreted and verified, and how SNS canisters can be queried to learn whether the SNS&#039;s configurations are valid.&lt;br /&gt;
All this information is available on chain and can be accessed via (as yet) a manual process where there are two options to interact with the relevant canister: using the [https://internetcomputer.org/docs/current/developer-docs/build/install-upgrade-remove DFX tool], or using the [https://dashboard.internetcomputer.org/ Internet Computer Dashboard]. Below, there are step by step instructions describing how to proceed and, whenever canister calls are involved, explanations for DFX and dashboard interactions are given.&lt;br /&gt;
&lt;br /&gt;
There is also more general information on [https://wiki.internetcomputer.org/wiki/SNS_decentralization_sale_trust the trust and verification required when participating in an SNS decentralization sale].&lt;br /&gt;
&lt;br /&gt;
== Step 1: Verify the Parameters for the Decentralization Sale in the NNS proposal==&lt;br /&gt;
You will find SNS decentralization sale proposals on the NNS Frontend dapp under the [https://nns.ic0.app/launchpad/ Launchpad tab]. These proposals will also appear in the [https://nns.ic0.app/proposals/ Voting tab] and can be found easily by filtering by the &#039;SNS &amp;amp; Community Fund&#039; topic.&lt;br /&gt;
&lt;br /&gt;
As mentioned above, some of the parameters for the decentralization sale are set in the NNS proposal. To verify them, you can look at the field Params in the NNS proposal (e.g. in the NNS frontend dapp or on the dashboard). These parameters are submitted as part of the proposal and represent the information with which the NNS governance canister will open the decentralization sale if the proposal is adopted. You can check if the parameters match with those submitted in the proposal summary. In contrast to the parameters here, the summary-part of the proposal can be freely chosen by the proposer and should not be trusted.&lt;br /&gt;
&lt;br /&gt;
This is what the different entries in the proposal mean:&lt;br /&gt;
* &#039;&#039;&#039;minParticipantsIcpE8s&#039;&#039;&#039; is the minimum amount of ICP that a sale participant has to invest for a valid participation. The value is given in fractions of 10E-8 of an ICP, which means that you have to remove eight zeros to convert this to an ICP value: In the example, 10000000 e8s = 0.1 ICP.&lt;br /&gt;
* &#039;&#039;&#039;maxIcpE8s&#039;&#039;&#039; is the maximum number of ICP that the decentralization sale will collect. If this maximum is reached, the sale will be finished. The value is given in fractions of 10E-8 of an ICP.&lt;br /&gt;
* &#039;&#039;&#039;swapDueTimestampSeconds&#039;&#039;&#039; denotes a timestamp when the decentralization sale (previously called “swap”) will be finished in case that the maximum ICP is not reached before this time. The unit of this parameter is in seconds from the Unix epoch. You can use an [https://www.epochconverter.com/ online converter] to convert this to a human readable date and time.&lt;br /&gt;
* &#039;&#039;&#039;minParticipants&#039;&#039;&#039; is the minimum number of sale participants for the decentralization sale to be considered successful. If the sale ends and there are less participants, the sale failed.&lt;br /&gt;
* &#039;&#039;&#039;snsTokensE8s&#039;&#039;&#039; is the number of SNS tokens that are sold in the initial decentralization sale. The value is given in fractions of 10E-8 of an SNS token. This value should match the “sales supply allocated to initial decentralization sale” that the SNS was initialized with. This can be checked in Step 3.&lt;br /&gt;
* &#039;&#039;&#039;maxParticipantIcpE8s&#039;&#039;&#039; is the maximum contribution that an individual sale participant can make. The value is given in fractions of 10E-8 of an ICP.&lt;br /&gt;
* &#039;&#039;&#039;minIcpE8s&#039;&#039;&#039; is the minimum number of ICP that the decentralization sale will collect. The value is given in fractions of 10E-8 of an ICP.&lt;br /&gt;
* &#039;&#039;&#039;communityFundInvestmentE8s&#039;&#039;&#039; is the amount that the community fund will collectively spend in maturity on the decentralization sale. &lt;br /&gt;
* &#039;&#039;&#039;targetSwapCanisterId&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;neuronBasketCount&#039;&#039;&#039; defines the number of neurons each sale participants will receive after a successful decentralization sale. The total SNS tokens that a participant will get are distributed evenly across these neurons.&lt;br /&gt;
* &#039;&#039;&#039;neuronBasketDissolveDelayIntervalSeconds&#039;&#039;&#039; this is the difference in dissolve delays between the different neurons in the neuron basket that a sale participant gets. Every sale participant will get a neuron with dissolve delay zero and then with a dissolve delay defined by this parameter, and (in case the neuron basked consists of more than two neurons) with a neuron that is twice this parameter etc.. &lt;br /&gt;
* &#039;&#039;&#039;saleDelaySeconds&#039;&#039;&#039; defines an optional delay, so that the sale does not get opened immediately after the adoption of the sale proposal, which gives users time to prepare for the sale start.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Step 2: Verifying the SNS canisters ==&lt;br /&gt;
The proposal payload contains the canister ID of the decentralization sale that it will call if the proposal is adopted. A good proposal summary will contain the canister IDs of the other SNS canisters as well as that of the dapp controlled by the SNS. &lt;br /&gt;
The next step is to verify that the provided decentralization sale is indeed part of an SNS composed of the canisters claimed in the proposal summary. These steps are outlined in the [[How-to: Interact with SNS canisters]] page, but they are repeated below for convenience.&lt;br /&gt;
&lt;br /&gt;
=== 1. Preparation ===&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
If you want to use DFX, download these snippets into an empty repo so that DFX can point at the correct canisters. This will allow you to call the canisters and read the output in a human friendly way. Snippet 1: [https://gitlab.com/-/snippets/2431348 dfx.json and candid files]&lt;br /&gt;
&lt;br /&gt;
=== 2. Get the SNS root canister. ===&lt;br /&gt;
The SNS root canister is the SNS canister that knows about and controls all the other SNS canisters and the dapp canisters. Therefore it is the canister by which a particular SNS can be identified. All SNS root canisters, and thus all SNSs, are listed in the NNS canister called SNS wasm modules canister, or &#039;&#039;SNS-W&#039;&#039; for short. As such, the first step is to verify that the root canister in the proposal summary is in the list of &#039;&#039;&#039;deployed_snses&#039;&#039;&#039;. SNS-W is a fixed canister ID in the NNS subnet and its canister ID is qaa6y-5yaaa-aaaaa-aaafa-cai. &lt;br /&gt;
Call the method list_deployed_snses and verify that the root canister ID from the proposal is in the returned list.&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ dfx canister --network ic call qaa6y-5yaaa-aaaaa-aaafa-cai list_deployed_snses &#039;(record {})&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
In the [https://dashboard.internetcomputer.org/canister/qaa6y-5yaaa-aaaaa-aaafa-cai SNS-W canister interface], click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;list_deployed_snses&amp;lt;/syntaxhighlight&amp;gt;, and then click “Call”. &lt;br /&gt;
&lt;br /&gt;
=== 3. Get all SNS and dapp canisters ===&lt;br /&gt;
From the last step, the root canister ID has been verified as a “true” SNS root canister ID deployed through the blessed canister wasm path. You can next get the rest of the canister IDs associated with that SNS by calling &amp;lt;syntaxhighlight inline&amp;gt;list_sns_canisters&amp;lt;/syntaxhighlight&amp;gt; on the SNS root canister.&lt;br /&gt;
The response from this method should have a “swap” entry that matches the swap_canister_id in the NNS proposal from Step 1. By verifying that the canister of this decentralization sale matches, you verify that the NNS proposal will indeed call the sale canister of the SNS that you are inspecting.&lt;br /&gt;
The response from this method also has a “dapps” entry that should match what the proposal suggests is under control of the SNS.&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ dfx canister --network ic call zxeu2-7aaaa-aaaaq-aaafa-cai list_sns_canisters &#039;(record {} )&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
You can verify that the human friendly labels match the canister ids returned by inspecting the canister_ids.json file.&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
On the dashboard, enter the canister ID of SNS root in the search tab. You should see all the methods of SNS root now. Similarly to the last step, click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;list_sns_canisters&amp;lt;/syntaxhighlight&amp;gt;, and then click “Call”.&lt;br /&gt;
&lt;br /&gt;
=== 4. Get the summary of all SNS and dapp canisters ===&lt;br /&gt;
Finally, you can get the summary and ownership graph of the SNS including the dapps. To do so, call &amp;lt;syntaxhighlight inline&amp;gt;get_sns_canisters_summary&amp;lt;/syntaxhighlight&amp;gt; on the SNS root canister. This will return the status of each canister in the SNS, including information such as the canister’s controller and cycles balance.&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ dfx canister --network ic call zxeu2-7aaaa-aaaaq-aaafa-cai get_sns_canisters_summary &#039;(record {} )&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
On the dashboard, where you should still be in the SNS root canister interface from the last Step, click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;get_sns_canisters_summary&amp;lt;/syntaxhighlight&amp;gt;, and then click “Call”.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Verifying the initial SNS Parameters ==&lt;br /&gt;
After Step 2, the IDs of all SNS canisters are known. The next step is to verify the parameters that these canisters have been initialized with.&lt;br /&gt;
&lt;br /&gt;
=== 1. Check the initialization parameters === &lt;br /&gt;
The SNS governance canister stores all the initial parameters that were provided to SNS-W when the SNS was first installed. SNS governance can be queried for this information to learn how the SNS was set up. This information includes the initial token distribution, as well as the initial neurons, consisting of developer and airdrop neurons.&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
&amp;lt;nowiki&amp;gt;$ dfx canister --network ic call zqfso-syaaa-aaaaq-aaafq-cai get_sns_initialization_parameters &#039;(record {})&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
On the dashboard, navigate to the SNS governance canister by entering the canister ID in the search bar. Then, click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;get_sns_initialization_parameters&amp;lt;/syntaxhighlight&amp;gt;, and click “Call”. &lt;br /&gt;
&lt;br /&gt;
=== 2. List the neurons that exist in SNS Governance === &lt;br /&gt;
You can then see that the neurons available add up to the initialization parameters that you just inspected and that the current stake of them is as expected.&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;$ dfx canister --network ic call zqfso-syaaa-aaaaq-aaafq-cai list_neurons &#039;(record { of_principal=null; limit=100: nat32; start_page_at=null  } )&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
Navigate to the SNS governance canister by entering the canister ID in the search bar. &lt;br /&gt;
For example for SNS-1, this is &amp;lt;syntaxhighlight inline&amp;gt;zqfso-syaaa-aaaaq-aaafq-cai&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
Then, click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;list_neurons&amp;lt;/syntaxhighlight&amp;gt;. You don&#039;t need to choose anything for &amp;lt;syntaxhighlight inline&amp;gt;of_principle&amp;lt;/syntaxhighlight&amp;gt; if you want to look at all neurons. Choose a limit as described above. For the first page you don&#039;t need to select a &amp;lt;syntaxhighlight inline&amp;gt;start_page_at&amp;lt;/syntaxhighlight&amp;gt; and can click “Call”.&lt;br /&gt;
For subsequent calls, the last neuron in the response is needed to resume iteration. Copy the vec from the &amp;quot;id&amp;quot; field from the last neuron and paste it into the &amp;lt;syntaxhighlight inline&amp;gt;start_page_at&amp;lt;/syntaxhighlight&amp;gt;  box.&lt;br /&gt;
&lt;br /&gt;
=== 3. Verify that the SNS tokens in the decentralization sale match what was claimed in the proposal ===&lt;br /&gt;
The SNS tokens that are sold off in the initial sale are stored in the SNS ledger account that is owned by the SNS sale canister. Thus, to learn how many tokens are in the decentralization sale, call &amp;lt;syntaxhighlight inline&amp;gt;icrc1_balance_of&amp;lt;/syntaxhighlight&amp;gt; to get the balance of the Swap canister. The returned value is given in fractions of 10E-8 of an SNS token. You can now compare this value to &#039;&#039;&#039;snsTokensE8s&#039;&#039;&#039; that is specified in the NNS proposal.&lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
$ dfx canister --network https://ic0.app call zfcdd-tqaaa-aaaaq-aaaga-cai --query icrc1_balance_of &#039;(record {owner = principal &amp;quot;zcdfx-6iaaa-aaaaq-aaagq-cai&amp;quot; })&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
On the dashboard, navigate to the SNS ledger canister by entering the canister ID in the search bar. Then, click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;icrc1_balance_of&amp;lt;/syntaxhighlight&amp;gt;, and provide as the argument the ID of the SNS swap canister. Then press &amp;lt;syntaxhighlight inline&amp;gt;call&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== 4. Learn how many tokens are in the SNS treasury === &lt;br /&gt;
The SNS treasury is a SNS ledger account that is owned by SNS governance. Specifically, it is on a defined subaccount of the SNS governance’s ledger account. To query it you need to compute the subaccount from the SNS governance’s ID. &lt;br /&gt;
Once you have the subaccount, use &amp;lt;syntaxhighlight inline&amp;gt;icrc1_balance_of&amp;lt;/syntaxhighlight&amp;gt; to get the balance of the SNS ledger account that belongs to the SNS treasury.&lt;br /&gt;
This command will be different for every SNS. &lt;br /&gt;
&lt;br /&gt;
==== DFX ====&lt;br /&gt;
For example for SNS-1, you can get the result by using: &lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
dfx canister --network https://ic0.app call --query zfcdd-tqaaa-aaaaq-aaaga-cai icrc1_balance_of &#039;(record {owner = principal &amp;quot;zqfso-syaaa-aaaaq-aaafq-cai&amp;quot;; subaccount = blob &amp;quot;\ce\c2\14\5a\75\0f\d4\a4\72\b2\a0\21\f6\df\f1\e4\a9\07\29\97\00\06\2a\0a\02\bc\1e\a6\5c\a2\92\58&amp;quot; })&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dashboard ====&lt;br /&gt;
On the dashboard, navigate to the SNS ledger canister by entering the canister ID in the search bar. Then, click ‘+’ next to &amp;lt;syntaxhighlight inline&amp;gt;icrc1_balance_of&amp;lt;/syntaxhighlight&amp;gt;, and provide as “owner” the canister ID of SNS governance. Also select the additional argument “subaccount (opt vet nat8)” and enter the required subaccount. Then press “Call”.&lt;br /&gt;
As mentioned, the subaccount depends on the SNS.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Canister_smart_contract&amp;diff=4451</id>
		<title>Canister smart contract</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Canister_smart_contract&amp;diff=4451"/>
		<updated>2023-02-27T14:44:31Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Glossary#canister|Canisters]] are smart contracts that scale — interoperable compute units designed for internet-scale services. A &#039;&#039;&#039;dapp&#039;&#039;&#039; built on the Internet Computer can be composed of one or more canisters. Some of the dapp&#039;s canisters may provide web interfaces that end-users can access through their browser.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sometimes a system, or a Web3 service or dapp, can be composed from thousands or even millions of canisters. For example, a social media service might create one canister instance for each user. Alternatively, a single canister can be a self-contained service or dapp.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Some key design features of canisters include:&lt;br /&gt;
* They are &#039;&#039;&#039;general purpose&#039;&#039;&#039;, meaning that the class of smart contract programs is Turing complete (i.e., anything computable can be computed by a smart contract).&lt;br /&gt;
* They are &#039;&#039;&#039;tamperproof&#039;&#039;&#039;, meaning that the instructions of the program are carried out faithfully and that intermediate and final results are accurately stored and/or transmitted.&lt;br /&gt;
* They&#039;re &#039;&#039;&#039;autonomous&#039;&#039;&#039;, meaning that a smart contract is executed automatically by the network, without the need for any action on the part of any individual.&lt;br /&gt;
&lt;br /&gt;
Beyond this, canisters&lt;br /&gt;
* are &#039;&#039;&#039;composable&#039;&#039;&#039;, in that they may interact with one another, and&lt;br /&gt;
* &#039;&#039;&#039;support tokenization&#039;&#039;&#039;, meaning that they may use and trade digital tokens.&lt;br /&gt;
&lt;br /&gt;
An important feature to note is that the IC allows a range of &#039;&#039;&#039;mutability&#039;&#039;&#039; policies for canisters, ranging from purely immutable to unilaterally upgradable, with other options in between. Immutability is essential in some cases, one may for instance imagine a financial contract where it is important the code in the canister never changes. In other cases, mutability is called for, the canister can be upgraded to better serve users or to fix a bug.&lt;br /&gt;
&lt;br /&gt;
==From smart contracts to canisters==&lt;br /&gt;
A smart contract is a piece of software or a computer program that acts on inputs and faithfully produces certified results while maintaining the integrity of its internal state. For a smart contract to be trusted, it has to run on a trustworthy platform such as the Internet Computer. Smart contracts have huge advantages over traditional software in that they provide a chain of trust from inputs to outputs and cannot be tampered with.&lt;br /&gt;
&lt;br /&gt;
Canisters are first and foremost smart contracts. However, there are several analogies which may be easier to understand from different perspectives.&lt;br /&gt;
* A canister is similar to a process, as in an operating system.&lt;br /&gt;
* A canister is similar to a container, as used by docker and the open container initiative.&lt;br /&gt;
* A canister is a WebAssembly module instance.&lt;br /&gt;
* A canister is an actor, as in the actor model.&lt;br /&gt;
&lt;br /&gt;
==Canisters as smart contracts==&lt;br /&gt;
A key difference between smart contracts deployed on the Internet Computer and on a traditional blockchain is how data from smart contracts can be verified. The Internet Computer is powered by Chain Key Cryptography which enables any artifact certified by any smart contract running on any subnet blockchain to be verified using a single 48-byte public key for the whole Internet Computer. This is in contrast to traditional blockchains, where the entire blockchain from Genesis is needed to verify the current state of affairs.&lt;br /&gt;
&lt;br /&gt;
A useful analogy is that between a traditional database and its transaction log. A subnet blockchain is the transaction log of the cryptographically certified subnet state. In a traditional blockchain, the whole transaction log needs to be replayed to certify the state of smart contracts running on the blockchain. On a subnet blockchain, the subnetwork state, i.e., the state of all smart contracts running on the blockchain, is periodically recertified (currently every 100 blocks) so the whole subnet blockchain doesn&#039;t need to be kept around forever, or, if need be, it can be stored away as a backup. This gives smart contracts running on the Internet Computer clear scalability advantages over smart contracts running on traditional blockchains.&lt;br /&gt;
&lt;br /&gt;
==Canisters as processes==&lt;br /&gt;
A canister is much like a process in an operating system like Linux, MacOS, or Windows. The operating system keeps track of valid memory ranges for a process, while the Internet Computer enforces a boundary on a canister&#039;s linear memory.&lt;br /&gt;
The operating system scheduler wakes up a process when there is work to be done, while the IC schedules the execution of canisters on their inputs.&lt;br /&gt;
The operating system maintains state on behalf of a process, like open file descriptors and the parent process. Similarly, the Internet Computer maintains state on behalf of a canister, but instead of things like file descriptors, it keeps track of the canister&#039;s balance of cycles, outstanding calls, permissions, and more.&lt;br /&gt;
Just as a process cannot directly modify its table of file descriptors, a canister cannot directly modify its balances of cycles. &lt;br /&gt;
&lt;br /&gt;
The operating system provides functionality to processes that allow them to perform special operations, like manipulating files and communicating with peripheral devices. Similarly, the Internet Computer provides APIs to canisters so that they can:&lt;br /&gt;
* make payments;&lt;br /&gt;
* call out to other canisters;&lt;br /&gt;
* create and manage canisters;&lt;br /&gt;
* manage permissions; and&lt;br /&gt;
* get the system time - a non-trivial function in a distributed system.&lt;br /&gt;
&lt;br /&gt;
A unique feature of the Internet Computer is that it provides access to secure randomness. Soon, canisters will also be able to sign Bitcoin and Ethereum transactions through such APIs.&lt;br /&gt;
&lt;br /&gt;
Behind the scenes, the biggest difference between a process and a canister is that a canister is replicated over several nodes.&lt;br /&gt;
When a process malfunctions it crashes, but when a canister malfunctions, caused by a trap in WebAssembly, it does not crash. Instead its state is rolled back to what it was before the current message started executing, so that the canister can continue executing new messages.&lt;br /&gt;
Of course, this is of little help if the canister crashes on all of the messages it receives, but it is a very useful safeguard against accidentally missed cases in the logic of a canister.&lt;br /&gt;
In fact, a canister cannot terminate in the same way a process can terminate — because there is no exit() or abort() system call. A canister can only be removed from the Internet Computer by a controller through an administrative command. A controller of a canister is a user or another canister that is allowed to perform administrative commands, such as removing or upgrading the canister.&lt;br /&gt;
The ability of a canister to control another canister is a key ingredient when building autonomous or self-governing services on the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
==Canisters as containers==&lt;br /&gt;
The meaning of the word canister is similar to the word container, in fact, a canister is typically understood as a cylindrical container. And, indeed, the canister concept has several things in common with the container concept.&lt;br /&gt;
&lt;br /&gt;
Docker provides the following definition: &amp;quot;A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Containers and canisters are also similar in that they can be running and paused (container) or stopped (canisters). They can be moved around while stopped. Containers run a process inside them so they also have to deal with the process exiting.&lt;br /&gt;
&lt;br /&gt;
Thus, the main difference between containers and canisters is that a canister is a smart contract, i.e., it provides s security guarantees and runs on trusted platform.&lt;br /&gt;
&lt;br /&gt;
==Canisters as WebAssembly instances==&lt;br /&gt;
A canister is much like a [https://webassembly.org/ WebAssembly] module instance. This is more than just an analogy — this is how canisters are actually implemented on the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
Technically, the code part of a canister is a WebAssembly module that imports the System API; that is, the functionality provided to the canister by the Internet Computer. Moreover, a canister can export an API of its own, which can be called by users and other canisters.&lt;br /&gt;
&lt;br /&gt;
According to the WebAssembly specification: “A module instance is the dynamic representation of a module, complete with its own state and execution stack.” Therefore, a canister deployed on a subnet blockchain is a WebAssembly module instance, not just a WebAssembly module — an important distinction - since there could be many canisters running the same WebAssembly module.&lt;br /&gt;
&lt;br /&gt;
Canisters use orthogonal persistence to make it seem like the module instance lives forever, rendering databases or file I/O obsolete. To persistently store a variable, developers can just write the variable to memory. The operation of persisting the data is completely transparent to the developer, and orthogonal in the sense that the developer doesn&#039;t have to do anything special to persist the data.&lt;br /&gt;
&lt;br /&gt;
All “writes” to a canister’s linear memory are tracked, for two reasons. First, so that failed computations or WebAssembly traps can be rolled back. Next, if one replica crashes due to unforeseen events such as power outages, when the replica comes back online, it will request modified pages from other replicas, so it can resume operation.&lt;br /&gt;
This is how the Internet Computer maintains the illusion of providing WebAssembly module instances with indefinite lifetime.&lt;br /&gt;
&lt;br /&gt;
Embracing WebAssembly gives the Internet Computer several benefits:&lt;br /&gt;
* Canisters can be written in any language that can compile to WebAssembly (e.g. Motoko, Rust), and canisters written in different languages are fully interoperable.&lt;br /&gt;
* WebAssembly is deterministic, except for a few edge cases that are easy to rule out.&lt;br /&gt;
* WebAssembly has formal semantics. Over a longer time horizon, there may be end-to-end formally verified WebAssembly execution environments, for additional security.&lt;br /&gt;
&lt;br /&gt;
Moreover, the Internet Computer will evolve with the WebAssembly specification, adding support for new features as they become mature enough.&lt;br /&gt;
&lt;br /&gt;
==Canisters as actors==&lt;br /&gt;
The actor model is a mathematical model of concurrent computation, where, in response to a message, an actor can modify its state, send messages, and create more actors.&lt;br /&gt;
&lt;br /&gt;
A canister is like an actor in many respects. For example, an actor has:&lt;br /&gt;
* a private state that can only be modified by the canister itself;&lt;br /&gt;
* a single thread of execution, so it does not need lock-based synchronization;&lt;br /&gt;
* the ability to communicate with other canisters through asynchronous messages; and&lt;br /&gt;
* the ability to create new canisters.&lt;br /&gt;
&lt;br /&gt;
An important difference between traditional actors and canisters is that canisters on the Internet Computer have bidirectional message passing. Messages are divided into requests and responses, where requests can be replied to and the Internet Computer keeps track of the callback for responses.&lt;br /&gt;
&lt;br /&gt;
In actor terminology, each actor has a mailing address that is used to receive messages. A canister also has a mailing address, which happens to look similar to an IPv6 address.&lt;br /&gt;
&lt;br /&gt;
A single canister has only one thread of execution for updates, but the Internet Computer executes a potentially massive number of canisters in parallel. In addition, there is a distinction between requests that need to update the state of a canister, and queries, which cannot modify the state of a canister.&lt;br /&gt;
&lt;br /&gt;
While a canister&#039;s update throughput is limited by consensus of the blockchain and the single thread of execution, a canister can serve hundreds of queries concurrently, achieving throughput in the order of thousands of queries per second, and latency measured in milliseconds. &lt;br /&gt;
&lt;br /&gt;
To complete this picture, it should be added that end users also participate as actors in the model. This means that browsers and mobile apps can directly perform update and query operations on canisters.&lt;br /&gt;
&lt;br /&gt;
In addition, the Motoko programming language, which is tailored to the Internet Computer, is inspired by the actor model.&lt;br /&gt;
&lt;br /&gt;
==Advantages over other types of smart contracts==&lt;br /&gt;
Canisters have all the features of smart contracts on other blockchains. &amp;quot;In contrast to smart contracts, however, canisters have performance characteristics that makes it possible to use them to build software services that scale&amp;lt;ref&amp;gt;https://medium.com/dfinity/software-canisters-an-evolution-of-smart-contracts-internet-computer-f1f92f1bfffb&amp;lt;/ref&amp;gt;. Canisters are better suited for distributed systems and concurrency because of their embracing of the [https://en.wikipedia.org/wiki/Actor_model actor model]. &lt;br /&gt;
&lt;br /&gt;
==Statistics==&lt;br /&gt;
The number of canisters on the IC are represented in the [https://dashboard.internetcomputer.org/ IC dashboard].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;br /&gt;
* Developer documentation on [https://smartcontracts.org/docs/current/developer-docs/quickstart/hello10mins Building smart contracts]&lt;br /&gt;
* [[Trust in canisters]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=How_to_create_an_Internet_Identity&amp;diff=4450</id>
		<title>How to create an Internet Identity</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=How_to_create_an_Internet_Identity&amp;diff=4450"/>
		<updated>2023-02-27T14:43:59Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It has long been known that usernames and passwords have been a weak point of an individual&#039;s security on the web. In order to combat this and provide increased security to users on the Internet Computer (IC), the Internet Identity (II) blockchain authentication system was developed.&lt;br /&gt;
Internet Identity enables you to use your devices to [https://support.dfinity.org/hc/en-us/articles/8858469084820 authenticate] and sign in pseudonymously to dapps on the Internet Computer. Anyone with a traditional HSM device, such as a YubiKey, or mobile devices that contain a TPM chip, such as a laptop or phone can generate Internet Identities and start using dapps on the IC.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
[[File:Welcome.png|right|200px|Internet Identity welcome page]]Suppose you want to interact with dapps running on the Internet Computer. It&#039;s often the case that you will need to authenticate or login to access and use the features of the dapp. Currently, the easiest way to authenticate is by using an identity anchor obtained from Internet Identity.&lt;br /&gt;
&lt;br /&gt;
Internet Identity associates each identity anchor with a unique user number. Dapps the user logs in to do not learn this user number. Instead, Internet Identity creates a pseudonymous identifier on a per user, per dapp basis. The dapp can see it is the same user that logged in before, but does not know user it is or whether the user also uses other dapps.&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=oxEr8UzGeBo Click here] to see a demo video of Internet Identity, while below the steps to get started with your own internet identity are described.&lt;br /&gt;
&lt;br /&gt;
The quickest way to get started and generate an identity anchor, is to navigate directly to the Internet Identity dapp: https://identity.ic0.app/&lt;br /&gt;
Here, you will be welcomed with a screen prompting you to enter your identity anchor. If you are just getting started, then you need to create an identity anchor by selecting &#039;&#039;&#039;Create an Internet Identity Anchor&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
Alternatively, if you are trying to access a dapp, for example the NNS frontend dapp, you will see that you are prompted to login. When clicking the login button, you will be redirected to the Internet Identity screen (as seen on the right) where you can either login if you have an identity anchor, or create a new one if you don&#039;t. &lt;br /&gt;
&lt;br /&gt;
You will have to do this on a device that offers a method of authentication that Internet Identities can work with such as a fingerprint reader or face lock/unlock features. If your computer or phone do not offer these, then a security key such as a Yubikey can be purchased.&lt;br /&gt;
&lt;br /&gt;
==Creating an Anchor==&lt;br /&gt;
[[File:ii_anchor_created.png|right|200px|Internet Identity welcome page]]When you select that you would like to create an Internet identity anchor on the II homepage, you will be directed to a screen where you are prompted to provide the name of the device on which you are generating the anchor. Detailed directions for different types of devices are available for [https://support.dfinity.org/hc/en-us/articles/8286962694420-How-do-I-add-a-phone-to-my-Internet-Identity- iPhone or Android phone] with fingerprint recognition, [https://support.dfinity.org/hc/en-us/articles/4403351925140-How-do-I-add-another-computer-to-my-Internet-Identity- laptops], and [https://support.dfinity.org/hc/en-us/articles/8286962818964-How-do-I-add-a-physical-security-key-to-my-Internet-Identity- a security device] such as a Yubikey. &lt;br /&gt;
&lt;br /&gt;
Upon entering the device name, your device will prompt you to allow &amp;quot;identity.ic0.app&amp;quot; to use either a dedicated security key, or with an authentication method of the device you are using, if that option is available.&lt;br /&gt;
For example, if your device has biometrics enabled to unlock it, you might see the option to use those as your authentication method. You can also use the password that unlocks your computer or a pin that unlocks your phone, depending on the device you’re using.&lt;br /&gt;
&lt;br /&gt;
Once you grant access, you will be redirected to solve a captcha. After solving this, you will be prompted to choose an account to sign in to &amp;quot;identity.ic0.app&amp;quot;. If you are registering for the first time you can select to &#039;&#039;sign in with the Passkey&#039;&#039; (which was generated and is stored on your device) otherwise you can choose to sign in with an external security key.&lt;br /&gt;
After that, you will be redirected to a screen which displays your newly created identity anchor! Note that on this screen there is a suggestion to record your identity anchor number. This is the number that you will need to enter to authenticate to dapps running on the IC. &lt;br /&gt;
&lt;br /&gt;
==Establishing recovery methods==&lt;br /&gt;
After creating your identity anchor, you will be directed to a page that allows to add a recovery mechanism, or to skip this step. There is a warning here, which notes that if your browser history is cleared, your authentication keys will be deleted from this device. For this reason, it&#039;s highly recommended to assign multiple devices or to use a security key or a seed phrase as a recovery mechanism. When you select to add a recovery mechanism, you are given two choices; either generate a seed phrase which you should store securely, or to use an extra security key. [[File:ii_setup_recovery.png|right|200px|Internet Identity recovery setup]]&lt;br /&gt;
===Seed phrase===&lt;br /&gt;
If you have used digital wallets before, perhaps you are used to securely maintaining seed phrases, if not, it is never too late to learn. Selecting this option generates a cryptographically-secure seed phrase that you can use to recover an identity anchor. Make sure you store this phrase somewhere safe and it is known only to you, as anyone who knows the seed phrase will be able to take full control of this identity anchor. Note that the first string in your seed phrase is the identity anchor. You will need this number to begin the recovery process.&lt;br /&gt;
===Security key===&lt;br /&gt;
If you choose not to use a seed phrase as a recovery method, you can use a dedicated security key to recover an identity anchor in the event that you lose access to your authorized devices. This key must be different from the ones you actively use to authenticate to Internet Identity using the given identity anchor. Keep this key somewhere safe and ensure it is available only to you. As above, anyone in possession of this security key will be able to take full control of your identity anchor. You will need to know the identity anchor to begin recovery. &lt;br /&gt;
===Skip this step===&lt;br /&gt;
It is not advisable to skip this step, unless you are sure that you will not need to remember this anchor. &lt;br /&gt;
&lt;br /&gt;
==Adding a Second Device==&lt;br /&gt;
[[File:ii_newdevice.png|right|200px|Internet Identity adding a new device]]It is good practice to add a second device for a number of reasons. &lt;br /&gt;
* It is often the case that you will want to login to dapps from more than one device, eg. from a mobile phone, and later from a laptop.&lt;br /&gt;
* Adding a second device allows to more easily recover your anchor or account should it get lost from one device. &lt;br /&gt;
The most straight forward way to add a second device is to navigate to https://identity.ic0.app/ on the device that you would like to add. Once there, you can select the option &amp;quot;Already have an Anchor &#039;&#039;&#039;but using a new device&#039;&#039;&#039;&amp;quot;. After clicking this, you will be directed to a page where you can enter your existing identity anchor. &lt;br /&gt;
Upon entering your anchor number and clicking continue, you will be prompted to allow access to either a security key, or your current device. Choose your preference (e.g. Yubikey or fingerprint scan), and then you will be directed to a screen displaying a url (and its equivalent QR code).&lt;br /&gt;
 &lt;br /&gt;
[[File:ii_newdeviceQR.png|right|200px|Internet Identity adding a new device link]]To add the new device, you need to enter the url or scan the QR code on the original device with which you first authenticated. For example, if you originally generated your identity anchor on a mobile phone, and now are attempting to add your laptop as a second device, you should scan the QR code generated on the laptop with your phone. &lt;br /&gt;
Upon scanning the QR code with the original device, you will be directed to the app where you can confirm that you are attempting to add a new device. One you confirm, you will be asked to name the new device (In the example above, an appropriate name would be &#039;Laptop&#039;). &lt;br /&gt;
After this, both devices should appear in the Anchor Management page of identity.ic0.app.&lt;br /&gt;
&lt;br /&gt;
==Authenticating==&lt;br /&gt;
When you have created an identity anchor and added devices, logging into dapps is a simple process. When you navigate to a dapp that supports authenticating with Internet Identity, simply click on the login button to be directed to the II frontend where you can enter your anchor number and authenticate. &lt;br /&gt;
&lt;br /&gt;
After this, you will be directed to a page requiring you to authorize the authentication. After selecting &#039;&#039;&#039;Proceed&#039;&#039;&#039; you will finalize the authentication process and be redirected and logged in to the dapp. &lt;br /&gt;
[[File:ii_recover.png|right|200px|Recover a lost identity]]&lt;br /&gt;
==Recovering a lost identity==&lt;br /&gt;
If you have lost your anchor number and no longer have access to your authorized devices, you can recover your lost identity using either the seed phrase or the security key used during the initial setup process. &lt;br /&gt;
[[File:ii_seedphrase.png|right|200px|Recover a lost identity with seed phrase]]&lt;br /&gt;
To recover your lost identity, first navigate to https://identity.ic0.app/ and select the &#039;&#039;&#039;Lost access and want to recover?&#039;&#039;&#039; link at the bottom of the page. &lt;br /&gt;
After this, you will be directed to a page asking to enter the anchor number for the lost identity. Note that the first string of the seed phrase is the anchor number, so you can always find it there. Once you enter the anchor number for the identity you are trying to recover, you will be directed to a page that requires you to enter your seed phrase. Once you copy your seed phrase and click continue, your identity will be recovered. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that the recovery page on the II dapp is the only page in which you should ever enter your seed phrase. &lt;br /&gt;
==Key Features==&lt;br /&gt;
&lt;br /&gt;
===Ease of Use===&lt;br /&gt;
Internet Identity provides a secure way for users to generate identity anchors and authenticate to applications running on the Internet Computer without the need to remember and manage passwords.&lt;br /&gt;
&lt;br /&gt;
===Privacy===&lt;br /&gt;
No personal identifying information is needed to generate an anchor and as Internet Identity generates different pseudonyms for different applications, privacy is provided for users as interactions across dapps cannot be tracked. &lt;br /&gt;
&lt;br /&gt;
===Availability===&lt;br /&gt;
Since an anchor&#039;s key material is generated and stored on the user&#039;s device, it is not the case that a particular service or application can hinder the availability of an individual&#039;s anchor as a method of authentication.&lt;br /&gt;
&lt;br /&gt;
==Quick Links==&lt;br /&gt;
* For a more technical overview check the [[Internet_Identity_technical_overview|II technical overview]] page.&lt;br /&gt;
* [https://medium.com/dfinity/internet-identity-the-end-of-usernames-and-passwords-ff45e4861bf7 Internet Identity Medium post] which gives an overview of Internet Identity and how to get started.&lt;br /&gt;
* [https://medium.com/dfinity/web-authentication-and-identity-on-the-internet-computer-a9bd5754c547 Web authentication medium post] where Björn Tackmann gives an overview of the core ideas of web authentication and describes how Internet Identity came to be the way it is.&lt;br /&gt;
* [https://www.youtube.com/watch?v=oxEr8UzGeBo Video Demo] showcasing Internet Identity and showing how to generate an anchor. &lt;br /&gt;
* [https://smartcontracts.org/docs/ic-identity-guide/what-is-ic-identity.html Developer Centre] introduction to Internet Identity.&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Do I need to use Internet Identity to use all dapps on the IC?===&lt;br /&gt;
No, II is an authentication &#039;&#039;option&#039;&#039; that can be used by the developers of the dapps. Developers may choose they do not need authentication, or if they do want authentication, they may opt for another solution. II is very popular because building authentication systems is very hard to do securely so it is helpful for developers but they have freedom of choice.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [https://m7sm4-2iaaa-aaaab-qabra-cai.raw.ic0.app/ Motoko Playground] is an example of a dapp on the IC that does not require II and instead allows direct anonymous usage.&lt;br /&gt;
&lt;br /&gt;
===How do I get an identity anchor from Internet Identity?===&lt;br /&gt;
The one and only place to generate an identity anchor is to visit https://identity.ic0.app/.&lt;br /&gt;
&lt;br /&gt;
Detailed instructions can be found by visiting https://smartcontracts.org/docs/ic-identity-guide/auth-how-to.html&lt;br /&gt;
&lt;br /&gt;
===Do I really need to link another device or save the seed-phrase?===&lt;br /&gt;
Although it is not necessary, it is really useful to link another device or to save the seed-phrase in case you lose access to your identity anchor on a particular device. Further, as your identity anchor may be used to generate accounts for wallets or dapps, access to these may also be lost if you lose access to your identity anchor.&lt;br /&gt;
&lt;br /&gt;
===What happens if I lose my device?===&lt;br /&gt;
If you lose your device and want to recover, you can click on the &#039;Lost access and want to recover&#039; link at https://identity.ic0.app/.&lt;br /&gt;
&lt;br /&gt;
If you have an identity anchor tied to only one device and you lose that one device, you will be locked out. As a best practice, it is recommended to add multiple devices and recovery mechanisms to every identity anchor.&lt;br /&gt;
&lt;br /&gt;
===How can I add more devices?===&lt;br /&gt;
If you want to add another device, you can click on the &#039;Already have an anchor but using a new device?&#039; link at https://identity.ic0.app/&lt;br /&gt;
&lt;br /&gt;
Detailed instructions can be found here: https://smartcontracts.org/docs/ic-identity-guide/auth-how-to.html#_add_a_device&lt;br /&gt;
&lt;br /&gt;
===Does Internet Identity share my personal information with dapps when I authenticate?===&lt;br /&gt;
No. Internet Identity uses a different principal (a &amp;quot;pseudonym&amp;quot;) for each dapp that you authenticate to using Internet Identity. Since the pseudonyms Internet Identity generates for you are different for each dapp, dapps cannot use them to track you outside of their realm.&lt;br /&gt;
&lt;br /&gt;
===Does Internet Identity support Windows Hello?===&lt;br /&gt;
Yes! Internet Identity supports authenticating via Windows Hello. If Windows Hello is set up on your PC then Internet Identity will offer you to authenticate through Windows Hello.&lt;br /&gt;
&lt;br /&gt;
Detailed instructions can be found here: https://smartcontracts.org/docs/ic-identity-guide/hello-guide.html&lt;br /&gt;
&lt;br /&gt;
===Why can&#039;t I log in with a new device?===&lt;br /&gt;
If you can&#039;t log in with an existing identity anchor, it may be the case that the anchor hasn&#039;t been added to the new device. If this is the case, simply visit https://identity.ic0.app/ , click on the &#039;Already have an anchor but using a new device?&#039; link, add the device and try again. &lt;br /&gt;
&lt;br /&gt;
It may also be the case that the face ID or the fingerprint system is not enabled on the device. Ensure that these are enabled, and try to log in again. &lt;br /&gt;
&lt;br /&gt;
=== Is there a way to revoke a dapp&#039;s access to my identity anchor?===&lt;br /&gt;
There is no explicit revocation method, but privilege delegation to Internet Identity is limited in time, so will expire. Alternatively, simply once the browser tab is closed, the delegation is gone.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_overview&amp;diff=4448</id>
		<title>Internet Computer overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_overview&amp;diff=4448"/>
		<updated>2023-02-27T14:28:33Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer is a “general-purpose” blockchain that provides a public platform for hosting tokens and decentralized applications (dapps). It acts as a complete technology stack, such that systems and services can be built that run entirely from the blockchain.&lt;br /&gt;
&lt;br /&gt;
==What is the Internet Computer?==&lt;br /&gt;
&lt;br /&gt;
Conceptually, the Internet Computer is an extension of the existing internet that enables a global network of computers to provide the computing power for running application software.&lt;br /&gt;
&lt;br /&gt;
In much the same way that the adoption of the transmission control protocol (TCP) and Internet protocol (IP) provided &#039;&#039;rules&#039;&#039; for transferring data between endpoints that helped to establish the “network of networks” that is known as the internet of today, the Internet Computer relies on a &#039;&#039;decentralization protocol&#039;&#039; called the &#039;&#039;&#039;Internet Computer protocol&#039;&#039;&#039; to define the software components that enable a global network of computers to combine their resources to read, replicate, modify, and return application state.&lt;br /&gt;
&lt;br /&gt;
The keys to Internet Computer infrastructure are:&lt;br /&gt;
&lt;br /&gt;
* A &#039;&#039;&#039;secure protocol&#039;&#039;&#039; that enables general-purpose computations to run transparently directly on the internet.&lt;br /&gt;
* A &#039;&#039;&#039;network&#039;&#039;&#039; that runs the protocol to provide computing capacity—for example, the hardware, CPU, and memory required to run programs—through &#039;&#039;&#039;independently-operated data centers.&#039;&#039;&#039;&lt;br /&gt;
* A &#039;&#039;&#039;globally-accessible and scalable platform&#039;&#039;&#039; for running software applications.&lt;br /&gt;
&lt;br /&gt;
==Why build the Internet Computer?==&lt;br /&gt;
&lt;br /&gt;
For end-users, accessing Internet Computer-based services is largely transparent, the experience of interacting with a decentralized application is the same as it is on a public or private cloud.&lt;br /&gt;
&lt;br /&gt;
For the people creating and managing those Internet Computer-based services, however, the Internet Computer eliminates many of the costs, risks, and complexities associated with developing and deploying modern applications and microservices. In addition, its secure protocol guarantees reliable message delivery, transparent accountability, and resilience without relying on firewalls, backup facilities, load balancing services, or failover orchestration.&lt;br /&gt;
&lt;br /&gt;
In some ways, building the Internet Computer is about restoring the Internet to its open, innovative, and creative roots. To focus on a few specific examples, the Internet Computer does the following:&lt;br /&gt;
&lt;br /&gt;
* Supports interoperability, shared functions, permanent APIs, and ownerless applications which reduces platform risk and encourages innovation and collaboration.&lt;br /&gt;
* Persists data automatically in memory which eliminates the need for database servers and storage management, improves computational efficiency, and simplifies software development.&lt;br /&gt;
* Simplifies the technology stack that IT organizations need to integrate and manage which improves operational efficiency.&lt;br /&gt;
&lt;br /&gt;
==Canisters (dapps/smart contracts)==&lt;br /&gt;
The Internet Computer hosts powerful smart contracts called canisters. Canisters are tamperproof, autonomous, hosted on-chain, and can be run concurrently and interact with each other. Canisters can service HTTP requests created by end-users, which allows them to directly serve interactive web experiences. This means that blockchain dapps, systems and services can be created without incorporating websites running on corporate cloud hosting services and private servers into their architecture, which provides true end-to-end Web 3.0 decentralization, censorship resistance, and superior security.&lt;br /&gt;
&lt;br /&gt;
More information about canisters can be found at:&lt;br /&gt;
* [[Canisters (dapps/smart contracts)|The canister wiki page]].&lt;br /&gt;
* This [https://medium.com/dfinity/software-canisters-an-evolution-of-smart-contracts-internet-computer-f1f92f1bfffb Medium post] about canisters.&lt;br /&gt;
* The [https://smartcontracts.org/docs/developers-guide/concepts/canisters-code.html developer documentation] for canisters.&lt;br /&gt;
&lt;br /&gt;
==Dapps==&lt;br /&gt;
The Internet Computer was designed to improve the user experience of interacting with smart contracts and dapps running on a blockchain. Dapps on the IC are able to serve web content, allowing users to interact with the dapps through their browser. Dapps themselves are run by canisters (dapps/smart contracts) on the IC with the robustness and security guarantees it affords. &lt;br /&gt;
Developers create dapps in programming languages such as Rust or Motoko, compile them to WebAssembly byte code, and deploy the WebAssembly modules into canisters on the Internet Computer. A canister comprises a WebAssembly module and persisted memory.&lt;br /&gt;
For more information or to start using dapps on the IC see:&lt;br /&gt;
* [[Index of dapps on the Internet Computer ecosystem|Index of dapps on the IC]]&lt;br /&gt;
* This [https://medium.com/dfinity/internet-computer-pioneers-early-adopters-describe-launching-dapps-on-the-blockchain-e979281f19b8 Medium post] where early adopters describe their experience of launching dapps on the IC.&lt;br /&gt;
&lt;br /&gt;
==Internet Identity==&lt;br /&gt;
&lt;br /&gt;
Internet Identity is an anonymous blockchain authentication framework supported by the Internet Computer. Users can create identity &amp;quot;anchors&amp;quot; to which they assign compatible cryptographically enabled devices, such as the fingerprint sensor on a laptop, the face ID system on a phone, or a portable HSM, such as a YubiKey or Ledger wallet. Thereafter, they can signup and authenticate to any dapp running on the Internet Computer using any of the devices they have assigned to their anchor. This provides a high level of convenience, allowing users to authenticate to dapps they are interested in with a very low level of friction, while benefiting from the highest level of cryptographic security, but without the need to directly manage or handle cryptographic key material themselves, which prevents mistakes and the theft of their key material. The system is anonymizing towards dapps, and whenever an anchor is used to interact with a dapp, the dapp sees a specially generated pseudonym, which prevents users being tracked across the various dapps they use. A user can create as many identity anchors as they wish.&lt;br /&gt;
&lt;br /&gt;
Unlike most authentication methods, Internet Identity does not require users to set and manage passwords or provide any personal identifying information to dapps or to Internet Identity.&lt;br /&gt;
&lt;br /&gt;
To read more about Internet Identity, or to generate an anchor, see:&lt;br /&gt;
* The [https://identity.ic0.app/ Internet Identity dapp].&lt;br /&gt;
* [[Internet_Identity_for_dapp_users|Internet Identity for dapp users]].&lt;br /&gt;
* [[Internet_Identity_technical_overview|Internet Identity technical overview]].&lt;br /&gt;
* The Internet Identity [https://smartcontracts.org/docs/ic-identity-guide/what-is-ic-identity.html developer documentation].&lt;br /&gt;
&lt;br /&gt;
==NNS==&lt;br /&gt;
The Internet Computer is governed and managed in realtime by a governance system, which is integrated into its blockchain protocols, called the Network Nervous System (or NNS). Anybody can submit proposals to the NNS, and they are either rejected, or adopted, and then automatically executed. Proposals can add additional nodes to run the Internet Computer, upgrade the Internet Computer protocol by updating the replica software running on node machines, tweak economic parameters, perform general configurations, and many other things. This provides an advantage over traditional blockchains, which must be upgraded manually by those operating nodes via a &amp;quot;hard fork&amp;quot;. The decentralized Internet Computer network is thus designed to be self-directed.&lt;br /&gt;
&lt;br /&gt;
==Tokens==&lt;br /&gt;
The Internet Computer uses a utility token ICP. Holders can stake ICP, allowing them to participate in the governance of the Internet Computer and earn voting rewards. ICP can also be converted into cycles and used to power computation, communication and storage costs of canisters. The blockchain incorporates a &amp;quot;reverse gas&amp;quot; model, in which smart contracts pay for their own computation, and must be pre-charged with cycles to run in much the same way an electric car must be pre-charged with electricity to drive. This ensures that end-users of dapps, systems and services can interact with them over the web without needing tokens to pay for the computations that they initiate. The Internet Computer maintains a floating conversion rate so that 1 Trillion cycles costs approximately 1 IMF SDR in ICP.&lt;br /&gt;
&lt;br /&gt;
==Internal Building Blocks==&lt;br /&gt;
Internally, the Internet Computer&#039;s network is comprised from individual subnet blockchains. New subnet blockchains (often simply called &amp;quot;subnets&amp;quot;) are formed by combining node machines to increase its capacity for hosting smart contract data and computation. Its protocols leverage chain key cryptography to have subnets function as a single blockchain, such that they are completely transparent to smart contract code, and every smart contract on the blockchain can directly call any other smart contract. Any number of subnets can be added, with each additional subnet linearly increasing the network&#039;s overall capacity.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer runs on a sovereign network of special node machines that are dedicated to the task. They are run by independent node providers (node owner/operators), from independent data centers, in different geographies and jurisdictions around the world, without any need for corporate cloud services. New subnets are formed by combining node machines that are calculated to be independent according to a decentralization hierarchy comprising node provider, data center, geography and jurisdiction, which makes it possible to produce the desired security and resilience properties with both higher certainty and lower levels of replication, thus driving efficiency.&lt;br /&gt;
&lt;br /&gt;
For a more in depth view of the technical building blocks [https://dfinity.org/whitepaper.pdf The Internet Computer for Geeks whitepaper] gives a comprehensive coverage.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer was developed by the DFINITY Foundation, which now continues as its lead contributor. The network underwent Genesis on 10th May 2021.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;br /&gt;
* [https://www.youtube.com/watch?v=XgsOKP224Zw Overview of the Internet Computer] video on YouTube.&lt;br /&gt;
* The [https://internetcomputer.org/howitworks/ How it Works] page where you can get an overview of different building blocks and features of the internet computer.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Remuneration&amp;diff=4447</id>
		<title>Node Provider Remuneration</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Remuneration&amp;diff=4447"/>
		<updated>2023-02-27T14:28:04Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Node providers receive rewards (remuneration) for operating node machines that run the IC network. The single source of truth for node provider rewards is the NNS, where changes can only be made through NNS proposals adopted by the IC community.&lt;br /&gt;
&lt;br /&gt;
This page summarizes the current node provider rewards and serves to discuss proposals for future reward models. The NNS distributes rewards depending on&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;the node hardware version&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;geography&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
taking into account the fact that different hardware versions have different capex and opex that vary with the geography. The prices listed for hardware are based on quotes received from different vendors. See [https://wiki.internetcomputer.org/wiki/Node_provider_hardware#Gen_2 &amp;lt;span class=&amp;quot;underline&amp;quot;&amp;gt;Node Provider Hardware&amp;lt;/span&amp;gt;] for more details on validated hardware configurations. The calculations assume an amortization of capex over 4 years. Operational expenses are based on numbers shared by current node providers. The actual hardware and operational expenses may differ depending on negotiation of individual NPs with their vendors. All prices are in XDR.&lt;br /&gt;
&lt;br /&gt;
[[File:Remuneration models.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The above table clarifies the relationship between the different Hardware types and Remuneration models. Gen1 Hardware has been used by Node Providers to set up nodes during Genesis launch. For these Node Providers, what is called V1 (Version 1) Remuneration model applies. The V1 remuneration model is described below. As work is being done to upgrade the Gen1 hardware with additional storage, the V1 remuneration will need to be updated in the future. This updated remuneration, which is called V1.1 (Version 1.1) remuneration, will be described in a separate wiki page once a proposal for this remuneration has been worked out in detail. &lt;br /&gt;
&lt;br /&gt;
For the further growth of the IC network, a [https://wiki.internetcomputer.org/wiki/Node_provider_hardware#Gen_2 &amp;lt;span class=&amp;quot;underline&amp;quot;&amp;gt;Gen2 HW specification&amp;lt;/span&amp;gt;] has been defined. The new Hardware specification is generic (instead of vendor specific) and supports VM memory encryption and attestation which will be needed in future features on the IC. Since the HW specification is different, a new version of the remuneration, which is called V2 (Version 2) remuneration model is defined, which is described below. In the future, a remuneration will be proposed that is fully decentralized and includes both automated incentives, rewards and penalties. For clarity, this remuneration will be called V3 (Version 3) remuneration. &lt;br /&gt;
&lt;br /&gt;
= Version 1 Remuneration Model (Genesis) =&lt;br /&gt;
&lt;br /&gt;
The initial remuneration model included a profit margin of 150%, accounting for the fact that early NPs took on a significant risk when they decided to invest into hardware and operations prior to Genesis. In other words, the rewards distributed were 2.5 times the expected expenses. The following table provides an overview of expenses and rewards paid, broken down by geography. Hardware expenses include shipping and installation charges.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|HW&lt;br /&gt;
|OpEx over 4 years&lt;br /&gt;
|Total over 4 years&lt;br /&gt;
|Incl. profit margin&lt;br /&gt;
|Reward per month&lt;br /&gt;
|-&lt;br /&gt;
|USA&lt;br /&gt;
|8676&lt;br /&gt;
|8090&lt;br /&gt;
|16766&lt;br /&gt;
|41915&lt;br /&gt;
|873&lt;br /&gt;
|-&lt;br /&gt;
|US - FL/GA/CA&lt;br /&gt;
|8676&lt;br /&gt;
|12200&lt;br /&gt;
|20876&lt;br /&gt;
|52190&lt;br /&gt;
|1087&lt;br /&gt;
|-&lt;br /&gt;
|EU&lt;br /&gt;
|8089&lt;br /&gt;
|12781&lt;br /&gt;
|20870&lt;br /&gt;
|52175&lt;br /&gt;
|1087&lt;br /&gt;
|-&lt;br /&gt;
|Asia&lt;br /&gt;
|7882&lt;br /&gt;
|15389&lt;br /&gt;
|23271&lt;br /&gt;
|58178&lt;br /&gt;
|1212&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
After the first nodes were up and running, the decision was made to increase the storage capacity of all nodes to support larger subnet states. This required additional hardware and operational expenses. Once the additional storage is usable by the IC, it is proposed to update the Gen-1 remuneration model to cover all expenses. This will be detailed in a separate proposal.&lt;br /&gt;
&lt;br /&gt;
= Version 2 Remuneration Model =&lt;br /&gt;
&lt;br /&gt;
This section presents a proposal for a new remuneration model.&lt;br /&gt;
Based on the feedback from NPs and the community on the initial V2 remuneration proposal, discussed in this [https://forum.dfinity.org/t/the-state-and-direction-of-decentralization-nodes-on-the-internet-computer/9170/128?u=svenf forum post],  the following updates are proposed:&lt;br /&gt;
* Higher rewards for the first nodes of a new NP in order to attract more NPs in an effort to improve ownership decentralization.&lt;br /&gt;
* More refined rewards for nodes in new geographies, like South America, Africa, Asia and Australia, to stimulate further geographical decentralization.&lt;br /&gt;
&lt;br /&gt;
The proposal introduces a node reward model parameterized by:&lt;br /&gt;
* &#039;&#039;&#039;Geography multiplier&#039;&#039;&#039;: This multiplier will be lower, namely 2, for regions with many nodes (e.g. Europe and North America), and higher, namely 3, for regions where there are currently limited nodes present (such as Africa and South America) &lt;br /&gt;
* &#039;&#039;&#039;Reduction coefficient (r)&#039;&#039;&#039;: The node reward of the n-th node of a Node Provider is multiplied by r ^ (n-1). The reduction coefficient r is dependent on the geography of the Node Provider. As a result, the first node of a Node Provider gets attractive rewards but it is increasingly less attractive to add additional nodes. &lt;br /&gt;
The rewards are furthermore dependent on estimated capital and operational expenses that vary based on geographies. A table with the concrete numbers follows below.&lt;br /&gt;
&lt;br /&gt;
In summary, for a geography &#039;&#039;&#039;g&#039;&#039;&#039;, let&lt;br /&gt;
* mult(&#039;&#039;&#039;g&#039;&#039;&#039;) be the geography multiplier&lt;br /&gt;
* capex(&#039;&#039;&#039;g&#039;&#039;&#039;) the capital expenses to acquire a gen 2 node in &#039;&#039;&#039;g&#039;&#039;&#039; in XDR&lt;br /&gt;
* opex(&#039;&#039;&#039;g&#039;&#039;&#039;) the operational expenses over 4 years to run a gen 2 node in &#039;&#039;&#039;g&#039;&#039;&#039; (in XDR)&lt;br /&gt;
* r(&#039;&#039;&#039;g&#039;&#039;&#039;) be the reduction coefficient &lt;br /&gt;
&lt;br /&gt;
The monthly reward for the n-th node of a Node Provider in geography &#039;&#039;&#039;g&#039;&#039;&#039; are defined as follows:&lt;br /&gt;
&lt;br /&gt;
reward(&#039;&#039;&#039;g, n&#039;&#039;&#039;) = ( capex(&#039;&#039;&#039;g&#039;&#039;&#039;)+opex(&#039;&#039;&#039;g&#039;&#039;&#039;) ) * mult(&#039;&#039;&#039;g&#039;&#039;&#039;) * r(&#039;&#039;&#039;g&#039;&#039;&#039;) ^ (n-1) / (4 * 12)&lt;br /&gt;
&lt;br /&gt;
The capital and operational expenses over 4 years are added, multiplied by the geography multiplier, multiplied by the reduction coefficient, and divided by 4 years times 12 months. As a result, rewards for nodes in new geographies and for Node Provider with fewer nodes are higher. Thereby, a geographical and ownership decentralization is incentivized. The following table shows the geography-dependent values and the monthly reward for the first node onboarded.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Geography&lt;br /&gt;
|Capex: Gen2 HW&lt;br /&gt;
|Opex&lt;br /&gt;
|Multiplier&lt;br /&gt;
|Monthly reward for 1st node&lt;br /&gt;
|Reduction coefficient r&lt;br /&gt;
|-&lt;br /&gt;
|USA&lt;br /&gt;
|19189&lt;br /&gt;
|11845&lt;br /&gt;
|2&lt;br /&gt;
|1294&lt;br /&gt;
|0.7&lt;br /&gt;
|-&lt;br /&gt;
|US - FL/GA/CA&lt;br /&gt;
|19189&lt;br /&gt;
|17842&lt;br /&gt;
|2&lt;br /&gt;
|1542&lt;br /&gt;
|0.7&lt;br /&gt;
|-&lt;br /&gt;
|EU&lt;br /&gt;
|18283&lt;br /&gt;
|18713&lt;br /&gt;
|2&lt;br /&gt;
|1542&lt;br /&gt;
|0.95&lt;br /&gt;
|-&lt;br /&gt;
|Asia Singapore&lt;br /&gt;
|17977&lt;br /&gt;
|22531&lt;br /&gt;
|2&lt;br /&gt;
|1688&lt;br /&gt;
|0.7&lt;br /&gt;
|-&lt;br /&gt;
|Asia non Singapore&lt;br /&gt;
|17977&lt;br /&gt;
|22531&lt;br /&gt;
|3&lt;br /&gt;
|2532&lt;br /&gt;
|0.98&lt;br /&gt;
|-&lt;br /&gt;
|South Africa&lt;br /&gt;
|21455&lt;br /&gt;
|22531&lt;br /&gt;
|3&lt;br /&gt;
|2748&lt;br /&gt;
|0.98&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For illustration, the below table shows the calculation of the rewards of the 1st to the 10th node for a Node Provider in South Africa. &lt;br /&gt;
&lt;br /&gt;
reward(&#039;&#039;&#039;south africa, n&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
= ( capex(&#039;&#039;&#039;south africa&#039;&#039;&#039;)+opex(&#039;&#039;&#039;south africa&#039;&#039;&#039;) ) * mult(&#039;&#039;&#039;south africa&#039;&#039;&#039;) * r(&#039;&#039;&#039;south africa&#039;&#039;&#039;) ^ (&#039;&#039;&#039;n&#039;&#039;&#039;-1) / (4 * 12)&lt;br /&gt;
&lt;br /&gt;
= ( 21’455 + 22’531) * 3 * 0.98 ^ (&#039;&#039;&#039;n&#039;&#039;&#039;-1) / (4 * 12)&lt;br /&gt;
&lt;br /&gt;
= 2748 * 0.98 ^ (&#039;&#039;&#039;n&#039;&#039;&#039;-1)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|N-th node&lt;br /&gt;
|Multiplier (rounded)&lt;br /&gt;
|Monthly remuneration (rounded)&lt;br /&gt;
|-&lt;br /&gt;
|Node 1&lt;br /&gt;
|0.98 ^ (1-1) =1 &lt;br /&gt;
|2748&lt;br /&gt;
|-&lt;br /&gt;
|Node 2&lt;br /&gt;
|0.98 ^ (2-1) =0.98&lt;br /&gt;
|2693&lt;br /&gt;
|-&lt;br /&gt;
|Node 3&lt;br /&gt;
|0.98 ^ (3-1) =0.96040&lt;br /&gt;
|2639&lt;br /&gt;
|-&lt;br /&gt;
|Node 4&lt;br /&gt;
|0.98 ^ (4-1) =0.941192&lt;br /&gt;
|2586&lt;br /&gt;
|-&lt;br /&gt;
|Node 5&lt;br /&gt;
|0.98 ^ (5-1) =0.92236816 &lt;br /&gt;
|2534 &lt;br /&gt;
|-&lt;br /&gt;
|Node 6&lt;br /&gt;
|0.98 ^ (6-1) =0.9039207968&lt;br /&gt;
|2483 &lt;br /&gt;
|-&lt;br /&gt;
|Node 7&lt;br /&gt;
|0.98 ^ (7-1) =0.885842309&lt;br /&gt;
|2434 &lt;br /&gt;
|-&lt;br /&gt;
|Node 8&lt;br /&gt;
|0.98 ^ (8-1) = 0.8681255332&lt;br /&gt;
|2385&lt;br /&gt;
|-&lt;br /&gt;
|Node 9&lt;br /&gt;
|0.98 ^ (9-1) =0.8507630226&lt;br /&gt;
|2337 &lt;br /&gt;
|-&lt;br /&gt;
|Node 10&lt;br /&gt;
|0.98 ^ (10-1) =0.8337477621&lt;br /&gt;
|2291 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Since the aim is to grow the IC network outside of existing geographies, a remuneration proposal for South America, Australia, as well as other regions is prepared, which will be subsequently added to the reward table. &lt;br /&gt;
The figures in the above table are in XDR, and are based on existing data points from Node Providers and Hardware vendors. &lt;br /&gt;
&lt;br /&gt;
[[File:Profit additional node.jpg|1000px]]&lt;br /&gt;
&lt;br /&gt;
The above figure shows the additional cash flow (investments minus CAPEX and OPEX costs) a NP receives for adding an additional node, for three regions (South Africa, Europe and USA) that can be calculated based on the V2 remuneration model. Note that the calculation does not take into account the time value of the cash flows (i.e. discounted value), but purely the cash flows or rewards and expenses. &lt;br /&gt;
&lt;br /&gt;
What is visible from this graph is that adding additional nodes only generates additional cash flow for a specific number of nodes, in a specific region. For example, in Europe adding up to approximately 15 nodes will generate additional cash flow, whereas for the US region this is only 2 nodes. &lt;br /&gt;
&lt;br /&gt;
Potential new NPs can make a full calculation themselves of the Internal Rate of Return, Payback period and cash flow based on their actual CAPEX and OPEX costs. Of course, these actual CAPEX and OPEX costs may differ from the estimated CAPEX and OPEX costs on which the remuneration is based, depending on the specific contracts the new NP has been able to negotiate with hardware vendors and DC operators. &lt;br /&gt;
&lt;br /&gt;
The V2 remuneration proposal only applies for a limited period in which the team is working on a more elaborate and automated remuneration solution in the NNS, the V3 remuneration. This future remuneration will be based on a reduction coefficient formula that applies a combination of NP, Country, Data Center and city. In addition, the future remuneration model will include penalties in case nodes should be unavailable.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=The_Internet_Computer_for_Ethereum_Developers&amp;diff=4446</id>
		<title>The Internet Computer for Ethereum Developers</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=The_Internet_Computer_for_Ethereum_Developers&amp;diff=4446"/>
		<updated>2023-02-27T14:27:13Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&lt;br /&gt;
For many developers, the first contact with a smart contract platform is through Ethereum. Hence, when developers later encounter the Internet Computer (IC) they have many preconceptions about how things ought to work and this does not always map to the way the Internet Computer works.&lt;br /&gt;
&lt;br /&gt;
In this article, we’ll try to explain the differences that most developers will encounter and present the differentiating capabilities. Since the language of Ethereum and the Internet Computer slightly differ, this page mostly talks in terms common to Ethereum developers and provide a little dictionary in the end. This page is a living article which gets updated by the community over time to provide a comprehensive reference for new developers coming across the IC.&lt;br /&gt;
&lt;br /&gt;
===A very brief introduction to the Internet Computer===&lt;br /&gt;
&lt;br /&gt;
Before diving into a list of specific differences, we’ll give a brief description of the IC as a whole. The IC is a network of mostly independent subnet blockchains, but contracts can interact transparently across subnets. This allows horizontal scaling of the IC by continuously adding subnets. The subnets are managed by the [https://dfinity.org/howitworks/network-nervous-system-nns Network Nervous System (NNS)], essentially a Decentralized Autonomous Organization (DAO), running on the first subnet itself. The IC has a main utility token - ICP - which can be staked in the NNS to participate in governance and has to be converted to cycles in order to pay for resource consumption on the IC. Contracts on the IC are called canisters and contain [https://webassembly.org/ WASM] byte code. This allows to create contracts in a range of programming languages. In addition, there’s [https://dfinity.org/howitworks/motoko Motoko], a programming language that has been purposefully designed to write canisters in the actor model for the IC.&lt;br /&gt;
&lt;br /&gt;
If you want to dig deeper into mechanics of the Internet Computer have a look at the following resources:&lt;br /&gt;
&lt;br /&gt;
* [https://dfinity.org/whitepaper.pdf The Internet Computer for Geeks]&lt;br /&gt;
* The Internet Computer [https://dfinity.org/howitworks/ “How it works”] series with many in depth articles and videos&lt;br /&gt;
* The official [https://smartcontracts.org/ Developer Documentation]&lt;br /&gt;
* [https://smartcontracts.org/docs/current/references/ic-interface-spec The Internet Computer Interface Specification]&lt;br /&gt;
* The [https://forum.dfinity.org/ Developer Forum] and [https://discord.com/invite/cA7y6ezyE2 Discord]&lt;br /&gt;
&lt;br /&gt;
===Differences between Ethereum and the Internet Computer===&lt;br /&gt;
&lt;br /&gt;
So without further ado, we’ll dive into some of notable differences between Ethereum and the IC. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====User Experience====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====External accounts don’t have to pay for gas=====&lt;br /&gt;
&lt;br /&gt;
The IC implements a “reverse gas” model, where contracts have to pay for their resources in cycles. Hence, a user of a dapp doesn’t need a wallet or tokens to interact with the dapp. Nevertheless, users can still be strongly authenticated to dapps using [https://medium.com/dfinity/internet-identity-the-end-of-usernames-and-passwords-ff45e4861bf7 ID or fingerprint scanner]. Internet Identity which is based on the [https://www.w3.org/TR/webauthn-2/ Web Authentication] standard.&lt;br /&gt;
&lt;br /&gt;
If you wonder how canisters pay for their resources. Every canister has a cycle balance and the balance can be topped up by any other canister. Of course, you can also require users to pay a fee in ICP and then let your canister convert the ICP to cycles, essentially imitating the gas model of Ethereum. Hence, the IC allows for much more flexibility.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Users can interact with the IC safely from their browsers=====&lt;br /&gt;
&lt;br /&gt;
The interaction between a user and an application on Ethereum usually looks like the following:&lt;br /&gt;
# A user points her browser to the domain of the application.&lt;br /&gt;
# The front end of the application is served by a traditional hosting provider.&lt;br /&gt;
# Dynamic data from the blockchain is typically proxied by either a centralized backend provided by the application provider or by a service provider like [https://infura.io/ Infura].&lt;br /&gt;
# The user connects to the application with her wallet.&lt;br /&gt;
# The front end drafts a transaction and asks the wallet to sign and submit the transaction. Even in the case of a non-financial application the user needs to have ETH in her wallet to pay for gas fees.&lt;br /&gt;
# The user approves using the wallet and the wallet submits the signed transaction.&lt;br /&gt;
# The user waits - depending on the current usage of the network and the provided fees - from 10s of seconds to minutes until the transaction is confirmed. (See [https://ethgasstation.info/ ETH Gas Station] for current costs and waiting times)&lt;br /&gt;
&lt;br /&gt;
The synergy of a few key innovations allows a user to safely interact with an application on the IC without setting up a wallet, without buying cryptocurrency, and without having to rely on any intermediaries.&lt;br /&gt;
&lt;br /&gt;
# Chain-key technology and subnets allow for lightweight verification and lower costs because of lower replication and horizontal scaling.&lt;br /&gt;
# The reverse gas model allows contracts to be pre-loaded with gas to simplify user onboarding&lt;br /&gt;
# Internet Identity allows privacy-preserving authentication to services on the IC using [https://webauthn.guide/ WebAuthentication] and a delegation mechanism. Cryptographic secrets are managed with secure hardware.&lt;br /&gt;
# Boundary nodes and [https://dfinity.org/howitworks/response-certification certified asset] contracts allow [[Web Serving|serving the front end]] directly from a contract.&lt;br /&gt;
&lt;br /&gt;
So how does interaction with a dapp on the IC look like?&lt;br /&gt;
&lt;br /&gt;
# A user points her browser to the domain of the application which is either a &#039;&#039;ic0.app&#039;&#039; domain directly or the browser will be redirected to a &#039;&#039;ic0.app&#039;&#039; domain.&lt;br /&gt;
# The user will see that a service worker gets installed which uses the [https://www.npmjs.com/package/@dfinity/agent Java Script agent] to verify the [https://dfinity.org/howitworks/response-certification certified assets] originating from a contract on the IC. The service worker mechanism is workaround until browsers support the IC, either natively or via an extension.&lt;br /&gt;
# The user is asked to login with Internet Identity or another authentication method. &lt;br /&gt;
# The user can interact with the dapp without paying fees. State-changing updates take seconds and can mostly be hidden from the user by utilizing optimistic ui patterns.&lt;br /&gt;
&lt;br /&gt;
The best is to try it yourself. Head over to [http://icapps.xyz/ http://icapps.xyz] for example and try a few of the popular apps on the IC.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Developer Experience====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Contracts are upgradable by default=====&lt;br /&gt;
&lt;br /&gt;
On Ethereum, contracts are immutable. If there is a bug in a contract, there is little a developer can do. This led to clever workarounds like [https://docs.openzeppelin.com/learn/upgrading-smart-contracts proxy contracts] which lead to additional complexity and risks for users. On the IC, contracts are mutable by default. Each contract has an associated list of controllers, which are authorized to upgrade contracts. By setting the controllers an empty list or a black hole contract, you can make your contract immutable. But in the IC community, there is the vision that most contracts will be governed by Decentralized Autonomous Organizations (DAOs) just like the IC itself. The DFINITY foundation is working on the [https://medium.com/dfinity/how-the-service-nervous-system-sns-will-bring-tokenized-governance-to-on-chain-dapps-b74fb8364a5c#:~:text=An%20SNS%20would%20derive%20from,%2C%20permissionless%2C%20and%20decentralized%20manner. Service Nervous System], a customizable turn-key solution to govern services on the IC, inspired by [https://dfinity.org/howitworks/network-nervous-system-nns Network Nervous System] which governs the IC.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Inter-contract calls are asynchronous and not atomic=====&lt;br /&gt;
&lt;br /&gt;
The EVM is synchronous and transactions are atomic. This means if a user sends a transaction the transaction is either executed completely or the state is rolled back - only consuming the gas attached to the transaction. This is true independently of the number of contracts involved in the transaction. This property has led to interesting innovations such as Flashloans but severely limits scalability since the entire Ethereum network acts as a single process. On the IC inter-contract calls are asynchronous. Every time you use `await` the state is committed. In case a function traps, the state is only rolled back to the last occurrence of await. You can read more about this [https://smartcontracts.org/docs/current/developer-docs/build/languages/motoko/actors-async/#traps-and-commit-points here] in the documentation. There’s also a [https://forum.dfinity.org/t/we-need-a-defi-subnet/11388/32#world-computers-and-real-world-computers-for-defi-1 great forum post about the different models concerning DeFi].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Contracts will be deleted when they are running out of gas =====&lt;br /&gt;
&lt;br /&gt;
On Ethereum contracts are permanent. While this has some advantages (peace of mind for developers and users), it also has considerable disadvantages (limited scalability). The state of Ethereum is growing without bounds, and there is little incentive for developers to free space in the state. Hence, there are still all those ICO tokens from 2017 in the Ethereum state, although many projects have long been abandoned. On the IC, contracts consume cycles according to their actual resource consumption. Even if contracts won’t be called they consume some cycles, although very little. This is important for the sustainability of the platform. When coming from Ethereum to the IC, developers often are anxious about the cycle consumption and that their contracts will be deleted suddenly. However, there are two effective guards built into the IC.&lt;br /&gt;
&lt;br /&gt;
# There’s an [https://smartcontracts.org/docs/current/references/ic-interface-spec/#system-api-inspect-message &#039;&#039;inspect_message&#039;&#039; functionality] that lets contracts introspect ingress messages (i.e. messages originating from outside the IC) and decide if they want to process the message. This introspection is not charged.&lt;br /&gt;
# The IC can freeze a canister such that it automatically rejects all calls and only the base maintenance has to be paid for. Each canister has a [https://smartcontracts.org/docs/current/references/ic-interface-spec/#ic-create_canister &#039;&#039;freezing_threshold&#039;&#039;] which can be set as a period in seconds and essentially guarantees that the IC will freeze the canister such that the canister has a balance to afford the maintenance cost for this period. The default &#039;&#039;freezing_threshold&#039;&#039; is approximately 30 days and should give developers or users ample time to top up the canister before it is garbage collected.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Gas fees are predictable=====&lt;br /&gt;
&lt;br /&gt;
In the Ethereum Virtual Machine (EVM), specific operations (Opcodes) have a defined cost in gas, but the exchange rate between ETH and gas is entirely defined by the market. The user can define a &#039;&#039;maxFeePerGas&#039;&#039; that she is willing to pay in a transaction and the individual miner decides if it deems this offer acceptable or not. Since the throughput of Ethereum is highly limited, the price of gas can fluctuate wildly with demand. In addition, the actual price in USD or EUR is even more unpredictable due to the current market price of ETH.&lt;br /&gt;
&lt;br /&gt;
Similar (but more extensive) to gas in Ethereum, the IC has a set of [https://smartcontracts.org/docs/current/developer-docs/deploy/computation-and-storage-costs fixed prices in cycles for various resources]. The main difference however is that the price of cycles is pegged to the XDR, which is based on a basket of the world’s main currencies.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;1 XDR = 1 Trillion cycles&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The exchange rate between XDR and ICP is managed by the NNS. Hence, the actual cost of running a canister is relatively stable and predictable, and independent of the current market price of ICP.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====The ICP Token is not part of the system but is implemented as a contract=====&lt;br /&gt;
The ICP token has two important roles in the IC:&lt;br /&gt;
&lt;br /&gt;
# It can be burned to create cycles that are needed to pay for resources on the IC&lt;br /&gt;
# It can be locked in neurons to participate in the governance of the IC&lt;br /&gt;
&lt;br /&gt;
However, ICP does not appear in the system state but is built as a contract running on the NNS subnet. You can find more information about the Ledger canister [https://smartcontracts.org/docs/current/references/ledger here] or [https://www.youtube.com/watch?v=im5HBRd3mqo here].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Scalability and Costs====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====48-bytes are enough to verify the state of the IC=====&lt;br /&gt;
&lt;br /&gt;
Verifying the EVM state is a resource-intensive process by which a node has to verify the whole blockchain from genesis. It is possible to have light nodes, that verify only the header chain (which is nevertheless growing forever), in addition to relevant parts of the current state, but the infrastructure is not built yet. Hence, most users rely on centralized APIs to access the Ethereum state, most notably [https://infura.io/ Infura]. The Internet Computer in contrast allows clients to verify the state with a constant 48-byte public key. This public key could be hardcoded into software such as browsers or even hardware like Internet of Things devices to let them interact securely with contracts on the IC.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====The Internet Computer can scale horizontally=====&lt;br /&gt;
&lt;br /&gt;
The IC is a network of subnets where contracts can interact transparently across subnets. With increasing demand of the Internet Computer additional subnets can be added by proposals to the NNS.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Contract storage is orders of magnitudes cheaper=====&lt;br /&gt;
&lt;br /&gt;
Ethereum does not yet implement sharding and every node in the network needs to store and execute every contract and every transaction. On the IC only the nodes in a particular subnet replicate execution and state. While this might decrease security in contrast to Ethereum, it is still much more secure than traditional web services with comparable costs. While storing 1 GB on Ethereum is on the order of hundreds of millions of dollars, it is only a few dollars per year on the IC. This allows hosting entire web applications, music, and even videos on the IC, instead of only stripped backend logic. For an overview of common costs on the IC have look at the [https://smartcontracts.org/docs/current/developer-docs/deploy/computation-and-storage-costs Computation and Storage Cost documentation].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====There is in general no need to keep track of old blocks=====&lt;br /&gt;
&lt;br /&gt;
Chain-key technology allows a new (validator) node to quickly sync the state and join the validator set using [https://eprint.iacr.org/2021/339 non-interactive distributed key resharing] instead of syncing and validating the blockchain from genesis. Hence, nodes can safely prune the chain every few minutes. For some applications, however, it’s not enough to only be sure that all state transitions have been authorized by at least 2/3 of the nodes, but an audit trail is required. Examples are the ICP ledger and the NNS. In this case, the audit trail is implemented on the application i.e. contract layer. Thereby, in contrast to Ethereum, contracts have access to the audit trails, and not only outside observers.&lt;br /&gt;
&lt;br /&gt;
However, in the future there will be two types of subnets. Private and public subnets. For public subnets, it will be possible for an observer to get the raw block data. The first public subnet will be Nervous Network System subnet itself.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Privacy====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====External accounts are not (directly) part of the global state=====&lt;br /&gt;
&lt;br /&gt;
The world state of Ethereum consists of external accounts (users) and internal accounts (contracts). Each account has an associated ether balance. On the IC only canister principals are part of the state. Each canister principal has an associated cycle balance which is not public by default. This has privacy advantages since a user can interact with canisters on the IC in an authenticated manner without disclosing its principal in the public state. The disadvantage is that user principals can’t hold cycles directly, but need a canister like the cycles wallet.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====The global state is not public, but only parts=====&lt;br /&gt;
&lt;br /&gt;
On Ethereum, everyone can run a full node, and therefore everything is public. Privacy can only be achieved by keeping data off-chain or by using cryptography. On the IC, nodes are permissioned by the NNS and only parts of the IC are public. Besides the API a contract developer defines for the contract itself, the following data is public&lt;br /&gt;
&lt;br /&gt;
* The subnet of the contract&lt;br /&gt;
* The name of the contract&lt;br /&gt;
* The hash of the [https://webassembly.org/ WASM] module of the contract&lt;br /&gt;
* The controllers of the contract&lt;br /&gt;
&lt;br /&gt;
In particular, neither the actual byte code nor the (cycles) balance of a contract is public. However, as mentioned earlier, the IC will support public subnets in the future. These subnets will make the raw IC block data available.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Differentiating Capabilities====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Contracts can trigger themselves=====&lt;br /&gt;
&lt;br /&gt;
On Ethereum, every state change has to be triggered by an external account. On the IC, however, a canister can use the [https://smartcontracts.org/docs/current/developer-docs/build/languages/motoko/heartbeats &#039;&#039;heartbeat&#039;&#039; functionality] to be triggered by the IC. This opens up a lot of new possibilities. A simple example would be a cron service, which allows other canisters to register themselves to be called.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Contracts have access to cryptographic randomness=====&lt;br /&gt;
&lt;br /&gt;
The unique consensus algorithm of the IC can be used as a source of cryptographic randomness. This randomness is [https://smartcontracts.org/docs/current/references/motoko-ref/random/ accessible to contracts] and can be used in applications like lotteries or games.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Contracts can hold private keys and sign messages (Soon)=====&lt;br /&gt;
&lt;br /&gt;
On Ethereum every contract is public. This means a contract can’t hold private information and hence can’t sign messages because there’s no way to securely store a private key. The consensus mechanism of the IC uses a mechanism known as threshold signing where the validator nodes collaborate to create a (BLS) signature without the entire private key existing at all. In an upcoming [https://dfinity.org/howitworks/threshold-ecdsa-signing feature] a similar mechanism will be available for contracts to order the IC to generate threshold ECDSA signatures. These signatures will be verifiable outside the IC just like regular ECDSA signatures. This means you can sign Ethereum or Bitcoin transactions with a contract on the IC or you can create JWTs, verifiable credentials or x.509 certificates.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=====Contracts can call web services (Soon)=====&lt;br /&gt;
&lt;br /&gt;
If you need data from the outside world on Ethereum you need oracles that feed this information into a contract on Ethereum. On the IC it will soon be possible to call web services from inside a contract. You can read more about this feature on the [https://forum.dfinity.org/t/enable-canisters-to-make-http-s-requests/9670 forum] or watch the [https://www.youtube.com/watch?v=n_LFCc0ws6o community conversations].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Dictionary===&lt;br /&gt;
contract → canister&lt;br /&gt;
&lt;br /&gt;
gas → cycles&lt;br /&gt;
&lt;br /&gt;
shard → subnet (Not entirely true, since Ethereum currently only considers data shards)&lt;br /&gt;
&lt;br /&gt;
(validator) nodes → replicas&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Index_of_dapps_on_the_Internet_Computer_ecosystem&amp;diff=4445</id>
		<title>Index of dapps on the Internet Computer ecosystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Index_of_dapps_on_the_Internet_Computer_ecosystem&amp;diff=4445"/>
		<updated>2023-02-27T14:26:13Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Index of dapps on the Internet Computer =&lt;br /&gt;
&lt;br /&gt;
==List of IC ecosystem aggregators==&lt;br /&gt;
* [https://n7ib3-4qaaa-aaaai-qagnq-cai.raw.ic0.app/?locale=en#/ ICApps]&lt;br /&gt;
* [https://dfinity.org/showcase/ DFINITY Showcase]&lt;br /&gt;
* [https://zire.github.io/awesome-IC/ The Awesome IC Repository]&lt;br /&gt;
* [https://internetcomputer.today/ Internet Computer Today]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of dapps ==&lt;br /&gt;
&lt;br /&gt;
This Wiki Page is a mirror of [https://zire.github.io/awesome-IC/ The Awesome IC Repository]&lt;br /&gt;
&lt;br /&gt;
[[File:NewLogo.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
* Essential (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Wallet (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Tools (&amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Motoko (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;)&lt;br /&gt;
* DeFi (&amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;)&lt;br /&gt;
* NFT (&amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Social (&amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Games (&amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Metaverse (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Productivity (&amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Communities (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Enterprise (&amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Criteria===&lt;br /&gt;
&lt;br /&gt;
This article tries to capture key info for each project, including its tag line, IC URL, Twitter, Discord, Telegram, Github repo and the team behind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This list includes all the projects from [https://dfinity.org/showcase/ DFINITY Showcase] but is a lot more than that. It tries to index all the known IC dApps. Some of those projects have received [https://dfinity.org/grants/ developer grants from the DFINITY Foundation]. Some of them may not have been deployed on IC yet - though the expectation is that they are working toward that. It does not include IC communities, media or development teams per se (though they&#039;ll be included under the &amp;quot;project&amp;quot; section). All info is obtained from public channels.&lt;br /&gt;
&lt;br /&gt;
The projects indexed on this list cover a wide spectrum on quality, maturity and tech deployment. Some of them have already received venture funding from established crypto funds; some of them are taking full advantage of Internet Computer (IC)&#039;s unique technical strengths; some of them are using IC as a backend infrastructure in liew of AWS/GCP, and some of them are porting an existing Polkadot/Filecoin application to IC. The inclusion of a project (or lack of) does not speak to the quality of it. That judgment is left to the community and all IC advocates. This is just a directory that helps everyone do scavenger hunt on IC.&lt;br /&gt;
&lt;br /&gt;
This is merely an index/directory, and does not represent official endorsement in any fashion. Nothing from this site shall be treated as financial advice. Please do your own research if you need to use any services listed below.&lt;br /&gt;
&lt;br /&gt;
=== Essential (3) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICA Network Status&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Real-time dashboard of key metrics on the Internet Computer&lt;br /&gt;
* Where: https://dashboard.internetcomputer.org/&lt;br /&gt;
* Who: [https://internetcomputer.org/ Internet Computer Association]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Identity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Internet Identity guarantees that your data isn’t visible, tracked, or mined. The blockchain authentication system enables users to sign in to dapps on the Internet Computer and sites across the web anonymously and securely.&lt;br /&gt;
* Where: https://identity.ic0.app/&lt;br /&gt;
* Who: [https://dfinity.org DFINITY Foundation]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NNS Frontend Dapp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The NNS frontend dapp allows anyone to interact with the Internet Computer&#039;s Network Nervous System with a user-friendly UI. Served completely end-to-end through blockchain, this dapp allows you to manage ICP, stake neurons, participate in voting, and earn rewards.&lt;br /&gt;
* Where: https://nns.ic0.app/&lt;br /&gt;
* Who: [https://dfinity.org DFINITY Foundation]&lt;br /&gt;
&lt;br /&gt;
=== Wallet (5) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICWallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Your gateway to Dfinity ecosystem&lt;br /&gt;
* Where: https://icwallet.org/&lt;br /&gt;
* Twitter: https://twitter.com/icwallet&lt;br /&gt;
* Who: https://icwallet.gitbook.io/icwallet/team&lt;br /&gt;
* Discord: https://discord.com/invite/DqCeHU8rem&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFWallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a decentralized smart wallet on Internet Computer&lt;br /&gt;
* Where: https://dfwallet.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/DFWallet&lt;br /&gt;
* Telegram: https://t.me/df_wallet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plug&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A browser extension that allows you to access your ICP, Cycles and other tokens&lt;br /&gt;
* Where: https://plugwallet.ooo/&lt;br /&gt;
* Who: [https://fleek.co/ fleek]&lt;br /&gt;
* Twitter: https://twitter.com/plug_wallet&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stoic Wallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: It allows anyone to create a digital wallet, authenticating users through a variety of methods.&lt;br /&gt;
* Where: https://www.stoicwallet.com/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Github: https://github.com/Toniq-Labs/stoic-wallet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Wallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The open-source wallet allows users to participate in DeFi, Governance, and Treasury (DAO) protocols with negligible fees and faster transaction settlement than legacy wallets.&lt;br /&gt;
* Where: https://www.earthwallet.io/&lt;br /&gt;
* Twitter: https://twitter.com/earthwallet&lt;br /&gt;
* Discord: https://discord.gg/B8G75XZ92K&lt;br /&gt;
* Telegram: https://t.me/earthwallet&lt;br /&gt;
* Github: https://github.com/earth-association&lt;br /&gt;
&lt;br /&gt;
=== Tools (26) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AstroX&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: AstroX is a blockchain development group focused on building tools for the Web3.0 ecosystem. AstroX has developed a Dart agent and other tools to help support mobile application development on the Internet Computer blockchain.&lt;br /&gt;
* Where: https://astrox.medium.com/&lt;br /&gt;
* Who: FireStack Labs&lt;br /&gt;
* Twitter: https://twitter.com/Astrox_Network&lt;br /&gt;
* Discord: https://discord.com/invite/Ky78nq4Nag&lt;br /&gt;
* Github: https://github.com/AstroxNetwork&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A community-built neuron management solution for the Internet Computer. Multiple users can own an Axon that manages multiple neurons within the Network Nervous System, as well as delegate votes to other neurons to vote on proposals. Axon is a multi-user, multi-neuron management canister.&lt;br /&gt;
* Where: https://axon.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/axon_ooo&lt;br /&gt;
* Github: https://github.com/FloorLamp/axon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B9 Labs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Better developer onboarding and documentation on IC&lt;br /&gt;
* Where: https://b9lab.com/&lt;br /&gt;
* Twitter: https://twitter.com/b9lab&lt;br /&gt;
* DFINITY Grant: received in August 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Canlista&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Internet Computer community canister registry. Find, publish and extend applications and services built on the Internet Computer. Log in with Internet Identity.&lt;br /&gt;
* Where: https://k7gat-daaaa-aaaae-qaahq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/canlista_io&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Canistore&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Next-gen #SocialStore powered by @DFINITY, empowered by community&lt;br /&gt;
* Where: https://canistore.io/&lt;br /&gt;
* Twitter: https://twitter.com/canistore&lt;br /&gt;
* Telegram: https://t.me/canistore&lt;br /&gt;
* Medium: [https://medium.com/@canistore](https://medium.com/@canistore)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CAP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open internet service providing transaction history &amp;amp; asset provenance for NFT’s &amp;amp; Tokens on the Internet Computer&lt;br /&gt;
* Where: https://cap.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/cap_ois&lt;br /&gt;
* Discord: https://discord.gg/psychedelic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ChainIDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a cloud-based multi-chain IDE&lt;br /&gt;
* Where: https://chainide.com/&lt;br /&gt;
* Who: [https://whitematrix.io/ White Matrix] and https://twitter.com/MatrixDapp&lt;br /&gt;
* Twitter: https://twitter.com/ChainIde&lt;br /&gt;
* Medium: https://t.co/ODqRqGNUoG?amp=1&lt;br /&gt;
* Github: https://github.com/WhiteMatrixTech&lt;br /&gt;
* DFINITY Grant: received in May 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cover&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open internet service that can be used by developers to verify and prove that a canister&#039;s code matches the open source code. Reducing the risk of malicious apps &amp;amp; increasing transparency and trust.&lt;br /&gt;
* Where: https://covercode.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/cover_ois&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
* Github: https://github.com/psychedelic/cover&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create IC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Modern frontend templates for the Internet Computer with everything working out of the box. Powered by ViteJS&lt;br /&gt;
* Where: https://create-ic.app/&lt;br /&gt;
* Who: [https://twitter.com/miamaruq Mio Q]&lt;br /&gt;
* Github: https://github.com/MioQuispe/create-ic-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DAB&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: DAB provides seamless access to #InternetComputer data that many apps/UI&#039;s need to surface. Such as lists of NFT&#039;s, tokens, canister/Dapp metadata, and more.&lt;br /&gt;
* Where: https://dab.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/dab_ooo&lt;br /&gt;
* Doc: https://docs.dab.ooo/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFINITY Explorer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: DFINITY Explorer, a project started in 2018, is an open-source, community-built dashboard and explorer for the Internet Computer, providing live information and statistics about the network, governance, and the ICP utility token, including account and transaction information.&lt;br /&gt;
* Where: https://www.dfinityexplorer.org/#/&lt;br /&gt;
* Who: [https://github.com/dylancm4 Dylan Miller]&lt;br /&gt;
* Twitter: https://twitter.com/dfinityexplorer&lt;br /&gt;
* Github: https://github.com/dfinityexplorer/dfinityexplorer-dashboard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFINITY Java Agent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Dfinity Java Agent is a set of native Java libriaries to connect remotely to the Internet Computer applications&lt;br /&gt;
* Github: https://github.com/rdobrik/dfinity-agent&lt;br /&gt;
* Who: [https://github.com/rdobrik Roman]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFT - Dfinity Fungible Token Standard&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Token standard will help Dfinity ecological developers adopt the same standard and promote the prosperity of the Dfinity ecosystem&lt;br /&gt;
* Where: https://dft.delandlabs.com/&lt;br /&gt;
* Who: [https://twitter.com/DelandLabs Deland Labs]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dfinity Tutorials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Chinese tutorials that teach you how to build on IC&lt;br /&gt;
* Where: https://icplabs.gitbook.io/dfinitytutorials/&lt;br /&gt;
* Who: [https://twitter.com/ICP_Labs ICP Labs]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dstar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a marketplace that facilitates listing, buying and selling of your Internet Identity (&amp;quot;II&amp;quot;) accounts&lt;br /&gt;
* Where:&lt;br /&gt;
** https://ii.dstar.app&lt;br /&gt;
** https://yunqk-aqaaa-aaaai-qawva-cai.ic0.app/&lt;br /&gt;
* Github: https://github.com/ic-dstar/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXT Token Tool&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: EXT is a token standard that was built on the IC, modelled after Ethereum&#039;s ERC1155 standard&lt;br /&gt;
* Where: https://k6exx-uqaaa-aaaah-qadba-cai.raw.ic0.app/&lt;br /&gt;
* Who:[https://twitter.com/toniqlabs Toniq Labs]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fleek&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Fleek brings decentralized web-hosting to the Internet Computer. With thousands of webpages deployed, Fleek enables anyone to deploy their content on Web3.0&lt;br /&gt;
* Where: https://fleek.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/fleek_ois&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
* Github: https://github.com/FleekHQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICLight.house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A standard interface for Dfinity tokens. The standard complies with ERC20 interface specification, and has some improvements to match IC network features&lt;br /&gt;
* Where: https://iclight.house/login&lt;br /&gt;
* Twitter: https://twitter.com/ICLighthouse&lt;br /&gt;
* Github: https://github.com/iclighthouse/DRC_standards&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICME&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICME is a no-code tool that makes it easy for anyone to build and deploy beautiful websites on the Internet Computer. Launch your blog or business&#039;s website on the Internet Computer today.&lt;br /&gt;
* Where: https://sygsn-caaaa-aaaaf-qaahq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/icme_app&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Neuron Calculator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Network Nervous System Calculator is a calculator that allows anyone to edit variables and estimate voting rewards based on number of proposals voted on, length of stake, accumulated maturity, and more.&lt;br /&gt;
* Where: https://networknervoussystem.com/&lt;br /&gt;
* Twitter: https://twitter.com/NNSystem&lt;br /&gt;
* Newsletter: https://allthingsinternetcomputer.substack.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Scan&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A scanner and dashboard tool for IC ecosystem to discover ICP projects and track key statistics&lt;br /&gt;
* Where: https://sznps-4aaaa-aaaah-qab2a-cai.ic0.app/project&lt;br /&gt;
* Who: [https://twitter.com/NnsDaos NnsDAO]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Rocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: IC.Rocks is a complete &amp;quot;block explorer&amp;quot; for the Internet Computer – built by the community. Tracking everything from transactions, to network upgrades, to cycles, IC.Rocks enables anyone to explore the inner-workings of the Internet Computer.&lt;br /&gt;
* Where: https://ic.rocks/&lt;br /&gt;
* Who: [https://twitter.com/floatfloatboat Norton Wang]&lt;br /&gt;
* Twitter: https://twitter.com/ic_rocks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pocket 4D&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A framework container runs Mini-Apps or Mini-Programs, using enhanced Canister of cross-platform.&lt;br /&gt;
* Who: [https://twitter.com/ghostcorn Michael So] and the team&lt;br /&gt;
* Github: https://github.com/Pocket4D/Pocket4D-Wiki&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sudograph&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Sudograph is a GraphQL database for the Internet Computer. Its goal is to become the simplest way to develop applications for the IC by providing flexibility and out-of-the-box data management.&lt;br /&gt;
* Where: https://i67uk-hiaaa-aaaae-qaaka-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/lastmjs&lt;br /&gt;
* Github: https://github.com/sudograph/sudograph&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usergeek&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: the first decentralised product analytics tool built on the DFINITY Internet Computer&lt;br /&gt;
* Where: https://fbbjb-oyaaa-aaaah-qaojq-cai.raw.ic0.app/#/&lt;br /&gt;
* Twitter: https://twitter.com/theUSERGEEK&lt;br /&gt;
* Discord: https://discord.gg/CvTpv2TeKs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Wall is a dapp built on the Internet Computer blockchain, which blends Ethereum&#039;s MetaMask authentication with the Internet Computer&#039;s native Internet Identity blockchain authentication system. This first example of ETH x ICP allows users to leave any message on the wall for all eternity.&lt;br /&gt;
* Where: https://rivyl-6aaaa-aaaaf-qaapq-cai.raw.ic0.app/&lt;br /&gt;
* Github: https://github.com/kristoferlund/ic-wall&lt;br /&gt;
* Who: [https://twitter.com/kristoferlund Kristofer Lund]&lt;br /&gt;
&lt;br /&gt;
=== Motoko (4) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Block.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A virtual editor for Motoko&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Motoko Playground&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Motoko Playground is an IDE for developers to learn Motoko – the native language for the Internet Computer blockchain. Deploy canister smart contracts for free, directly within a browser, without needing to download an SDK or set up a wallet.&lt;br /&gt;
* Where: https://m7sm4-2iaaa-aaaab-qabra-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://forum.dfinity.org/u/chenyan/ Chen Yan]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Motoko School&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Motoko School is the first public school for the Metaverse, only on the Internet Computer&lt;br /&gt;
* Where: [https://www.youtube.com/channel/UCS2Y9oRMpBfVqAnChFoXepg Motoko School on Youtube]&lt;br /&gt;
* Twitter: https://twitter.com/MotokoSchool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Motoko Library&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: An awesome list of Motoko code and resources curated by the community.&lt;br /&gt;
* Where: https://github.com/motoko-unofficial/awesome-motoko&lt;br /&gt;
&lt;br /&gt;
=== DeFi (13) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bauction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Bauction will empower the online auction and tender for retail as well as enterprises customer is decentralized and transparent manner. By leveraging technology stack of ICP, it should be a self governed self driven auction platform.&lt;br /&gt;
* Where: https://bauction.org/&lt;br /&gt;
* Twitter: https://twitter.com/bauctionorg&lt;br /&gt;
* DFINITY Grant: received in July 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CetoSwap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: CetoSwap ∞ is a fungible and non-fungible asset management platform base on #Dfinity&lt;br /&gt;
* Where: https://ijnlb-jiaaa-aaaah-qaesa-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/CetoSwap&lt;br /&gt;
* Medium: https://cetoswap.medium.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dank&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Dank is the first Decentralized Bank built on the Internet Computer, developed by Fleek. Through a collection of Open Internet Services for users and developers, Dank makes cycles management seamless.&lt;br /&gt;
* Where: https://dank.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/dank_ois&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EnsoFinance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Discover and create open DeFi metastrategies&lt;br /&gt;
* Where: https://www.enso.finance/&lt;br /&gt;
* Twitter: https://twitter.com/EnsoFinance&lt;br /&gt;
* Discord: https://discord.gg/y48Yp6Y4QX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iBridge&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: #DeFi Protocol for #Crosschain Assets Based on #Dfinity&lt;br /&gt;
* Where: https://www.ibridge.pro/&lt;br /&gt;
* Twitter: https://twitter.com/iBridge_Labs&lt;br /&gt;
* Github: https://github.com/iBridge-up&lt;br /&gt;
* Medium: [https://medium.com/@ibridge_labs](https://medium.com/@ibridge_labs)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPSwap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICPSwap is decentralized exchange (DEX) built completely end-to-end on-chain. By building the ability for anyone to swap tokens through ICPSwap leveraging the Internet Computer blockchain as the high-speed, scalable, low-cost infrastructure makes ICPSwap a first-to-market in the growing Internet Computer DeFi ecosystem.&lt;br /&gt;
* Where:&lt;br /&gt;
** https://3pbcj-viaaa-aaaah-qaajq-cai.raw.ic0.app/&lt;br /&gt;
** https://twitter.com/ICPSwap&lt;br /&gt;
* Twitter: https://twitter.com/ICPSwap&lt;br /&gt;
* Telegram: https://t.me/ICPSwap_Official&lt;br /&gt;
* Medium: https://icpswap.medium.com/&lt;br /&gt;
* DSCVR: https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/p/icpswap&lt;br /&gt;
* Github:https://iloveics.gitbook.io/icpswap/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;InfinitySwap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A platform to create, stake and swap Dfinity Tokens&lt;br /&gt;
* Where: https://infinityswap.one/&lt;br /&gt;
* Twitter: https://twitter.com/infinity_swap&lt;br /&gt;
* Telegram: https://t.me/infinityswapofficial&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Liquid ICP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Liquid ICP is world&#039;s first s-Bridge where bridged and staked assets remain liquid. Fractional reserve is governed by Liquid ICP community and ensures immediate withdrawal of ICP coins at any given time.&lt;br /&gt;
* Where: https://www.icp-20.com/&lt;br /&gt;
* Twitter: https://twitter.com/LiquidICP&lt;br /&gt;
* Discord: https://discord.com/invite/3F8CYyPpHq&lt;br /&gt;
* Github: https://docs.icp-20.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RFL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Random Fair Lottery on IC&lt;br /&gt;
* Twitter: https://twitter.com/RFL_app&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailfish&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The gateway to open financial services on the Internet Computer&lt;br /&gt;
* Twitter: https://twitter.com/Sailfishapp&lt;br /&gt;
* Discord: https://discord.com/invite/7Wbqucc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sonic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Swap tokens, earn fees as a liquidity provider, &amp;amp; build on the Internet Computer’s AMM&lt;br /&gt;
* Where: https://sonic.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/sonic_ooo&lt;br /&gt;
* Discord: https://discord.com/invite/EkmnRd99h6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SupraOracles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Bridging real-world data to automate, simplify, and secure the #smartcontracts of financial markets&lt;br /&gt;
* Where: https://www.supraoracles.com/&lt;br /&gt;
* Twitter: https://twitter.com/SupraOracles&lt;br /&gt;
* Telegram: https://t.me/supraoracles&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Uniswap Front End on the IC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Uniswap front end hosted on the Internet Computer through Fleek. Showing how traditional DeFi solutions can now be hosted completely on-chain by using the Internet Computer blockchain. Another use case of completely decentralizing a service which currently has a centralized front end.&lt;br /&gt;
* Where: https://lqku6-wqaaa-aaaad-qalmq-cai.ic.fleek.co/#/swap&lt;br /&gt;
* Who: [https://fleek.co/ fleek]&lt;br /&gt;
&lt;br /&gt;
=== NFT (42) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Crowd Created Canvas (CCC)&#039;&#039;&#039;*&lt;br /&gt;
&lt;br /&gt;
* What: CCC is the first-ever collectible, collaborative pixel artwork created by the #Dfinity community, sharing bonus pool and getting NFT.&lt;br /&gt;
* Where: https://sdnoa-fiaaa-aaaah-aaubq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/CCCProtocol&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cronic NFTs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Cronics play-to-earn ecosystem on the $ICP blockchain. Trade Cronic Critters and accessories on @EntrepotApp&lt;br /&gt;
* Where: https://cronic.toniqlabs.com/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Twitter: https://twitter.com/CronicsP2E&lt;br /&gt;
* Telegram: https://t.me/cronic_talk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cubic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Cubic is a generative art project. Data such as ownership history and transaction history are used in different ways to generate unique canvases in a variety of styles.&lt;br /&gt;
* Where: https://cubic.place/&lt;br /&gt;
* Github: https://github.com/FloorLamp/cubic&lt;br /&gt;
* Telegram: https://t.me/cubicplace&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CYMAN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 Randomly generated cybernetic humanoid&#039;s from 550,000,000 BCE built on the Internet Computer&lt;br /&gt;
* Where: https://www.cyman.live/&lt;br /&gt;
* Twitter: https://twitter.com/cyman_live&lt;br /&gt;
* Discord: https://discord.com/invite/cyman&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Ape Ventures&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 Unique Apes are getting ready to take their first steps in to the #ICP ecosystem&lt;br /&gt;
* Where: https://icapeventures.com/&lt;br /&gt;
* Twitter: https://twitter.com/ICApeVentures&lt;br /&gt;
* Discord: https://discord.com/invite/icapeventures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICKitties&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 8-bit kitties on IC&lt;br /&gt;
* Twitter: https://twitter.com/ICKitties&lt;br /&gt;
* Discord: https://discord.com/invite/r2c4TTr4un&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPets | Infinity Pets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 11,111 of Infinity Pets 🐧 | Community Gain Focused NFT collection living on #ICP Blockchain&lt;br /&gt;
* Where: https://icpets.io/&lt;br /&gt;
* Twitter: https://twitter.com/icpets_nft&lt;br /&gt;
* Discord: https://discord.com/invite/nD9HqPQ7&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Photographers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: At IC photographers, the aim is to bring both creator and collector together. IC photographers endeavours to show talented artists to the collectors of photography NFT’s.&lt;br /&gt;
* Where: https://www.icphotographers.com/&lt;br /&gt;
* Who: [https://twitter.com/olisav Oli]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPics&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: An NFT collection of 1,000 pieces of trival artwork on IC&lt;br /&gt;
* Twitter: https://twitter.com/ethnICPic&lt;br /&gt;
* Discord: https://discord.com/invite/gauQWrV2b4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPrime8s&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 5 releases of Prime8 focused, randomly generated NFTs on the Internet Computer&lt;br /&gt;
* Twitter: https://twitter.com/ICPrime8s&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPumpkin NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: NFT pumpkins for Halloween on IC&lt;br /&gt;
* Twitter: https://twitter.com/ICPumpkin&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dfinity Bulls NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 8,888 Awesome Badass Bulls will ever be minted! Exclusively on ICP!&lt;br /&gt;
* Twitter: https://twitter.com/DBulls_NFT&lt;br /&gt;
* Discord: https://discord.com/invite/GBSNhYeGxh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DfinityNFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Cryptogarden of The Internet Computer. NFT cross-chain aggregator of The Internet Computer.&lt;br /&gt;
* Where: http://dfinitynft.com/&lt;br /&gt;
* Twitter: https://twitter.com/DfinityNFT&lt;br /&gt;
* DFINITY Grant: received in July 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exponent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Exponent Platform is a complete Layer1 DeFi solution running on DFINITY&#039;s Internet Computer. Our platform is made from a number of our token standard, SDK and protocols.&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Discord: https://t.co/9iDZBX35mg?amp=1&lt;br /&gt;
* Github: https://github.com/Toniq-Labs/exponent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Entrepot NFT Marketplace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Entrepot is a decentralized NFT marketplace developed by ToniqLabs, the creators behind Rise of the Magni, Stoic Wallet, Cronic NFTs, and Exponent. Entrepot (through Exponent) provides users with tools and on-chain services to design, deploy, and manage NFTs and traditional tokens.&lt;br /&gt;
* Where: https://entrepot.app/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Twitter: https://twitter.com/EntrepotApp&lt;br /&gt;
* Discord: https://discord.gg/toniqlabs&lt;br /&gt;
* Github: https://github.com/Toniq-Labs/exponent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fantosaurs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Raptors from Isla NOOblar, currently on Eth, but hosted on IC&lt;br /&gt;
* Where:&lt;br /&gt;
** https://fantosaur.io/&lt;br /&gt;
** https://j5h4x-gyaaa-aaaad-qayjq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/fantosaurs&lt;br /&gt;
* Discord: https://discord.com/invite/e7bec4rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fungible Token Standard by Deland&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Fungible token standard by Deland&lt;br /&gt;
* Where: https://github.com/Deland-Labs/dfinity-fungible-token-standard&lt;br /&gt;
* Who: [https://deland.one/ Deland Labs]&lt;br /&gt;
* Medium: [https://medium.com/@DelandLabs](https://medium.com/@DelandLabs)&lt;br /&gt;
* Discord: https://discord.gg/CdzzUaFUXq&lt;br /&gt;
* DFINITY Grant: received in August, 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haunted Hamsters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: NFT set of 6,666 haunted hamsters, spooking on DFINITY ICP&lt;br /&gt;
* Where: http://www.hauntedhamsters.io/&lt;br /&gt;
* Twitter: https://twitter.com/HauntedHamsters&lt;br /&gt;
* Discord: https://discord.com/invite/DtSF7SGK&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC3D&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Cool 3D NFTs on the Internet Computer - IC 3D NFT&lt;br /&gt;
* Twitter: https://twitter.com/IC3DNFT&lt;br /&gt;
* Discord: https://discord.com/invite/ic3dnft&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Canvas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a collaborative NFT&lt;br /&gt;
* Where: https://rdbii-uiaaa-aaaab-qadva-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/kylpeacock Kyle Peacock]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: IC Cards is an NFT-based game on the IC Protocol. Gather, craft, level, and prepare yourself for a world full of monsters and villains.&lt;br /&gt;
* Where:&lt;br /&gt;
** [[ic.cards|ic.cards]]&lt;br /&gt;
** https://tbhsl-lqaaa-aaaaj-qagzq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/ic_cards&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICelebrity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 100 Uniquely Minted handmade artistic representation of the people ICelebrity know and love!&lt;br /&gt;
* Twitter: https://twitter.com/ICelebrityNFT&lt;br /&gt;
* Discord: [[discord.gg/AZFq4QMYBx|discord.gg/AZFq4QMYBx]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Gallery&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Home of the Metaverse. 9999 unique 3D Moonwalker NFTs&lt;br /&gt;
* Where: https://gan2q-ciaaa-aaaai-aanoq-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/ic_gallery IC Gallery]&lt;br /&gt;
* Twitter: https://twitter.com/ic_gallery&lt;br /&gt;
* Discord: https://discord.com/invite/6VWZNzskPA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICircle NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 8888 Generative Art NFTs Launch Soon in #InternetComputer | Math + Art = Beautiful&lt;br /&gt;
* Twitter: https://twitter.com/icircle_nft&lt;br /&gt;
* Discord: https://discord.io/ICircle_NFT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Art&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Exclusive Hand-Crafted Art Collections&lt;br /&gt;
* Where: https://linktr.ee/ICPArt&lt;br /&gt;
* Twitter: https://twitter.com/ICP_Art&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Squad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: First Engage To Earn #NFTs Game. Powered by @dfinity&lt;br /&gt;
* Where: https://upf6d-saaaa-aaaah-aauwa-cai.ic0.app/#/&lt;br /&gt;
* Twitter: https://twitter.com/ICPSquadNFT&lt;br /&gt;
* Discord: https://discord.com/invite/icpsquad&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPunks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 randomly generated, unique collectible clowns with proof of ownership stored on the Internet Computer blockchain. Created as a reference to a meme comparing the Internet Computer token (ICP) with the Insane Clown Posse - an American hip hop duo founded in 1989.&lt;br /&gt;
* Where: https://icpunks.com/&lt;br /&gt;
* Twitter: https://twitter.com/ICPunks&lt;br /&gt;
* Who: [https://github.com/stopak stopak] and [https://github.com/przchojecki Przemyslaw Chojecki]&lt;br /&gt;
* Github: https://github.com/stopak/ICPunks/tree/dev&lt;br /&gt;
* Discord: https://discord.gg/m8QWD7m62h&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPuppies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICPuppies is an NFT project hosted completely on the Internet Computer. In October, 10,000 randomly generated NFTs will be available for members of the Internet Computer community to claim through the Entrepot.app marketplace. A portion of the proceeds will be donated to organizations that support puppies.&lt;br /&gt;
* Where: https://icpuppies.io/&lt;br /&gt;
* Twitter: https://twitter.com/ICPuppies&lt;br /&gt;
* Discord: http://discord.gg/A3rmDSjBaJ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICSnakes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A collection of 10,000 randomly generated NFTs on #ICP blockchain hunting for food.&lt;br /&gt;
* Where: https://xn--4n8h7h.ws/&lt;br /&gt;
* Twitter: https://twitter.com/ICSnakes&lt;br /&gt;
* Discord: https://discord.com/invite/H9YUpwVrkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Turtles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Customizable and breedable NFTS, powered by GameFi and P2E, dropping with accessories included&lt;br /&gt;
* Twitter:https://twitter.com/ic_turtles&lt;br /&gt;
* Discord:https://discord.com/invite/n77xjyspDR&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inferval Vampire Colony&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 666 randomly generated Vampires on the Internet Computer&lt;br /&gt;
* Where: https://www.infernalvampires.com/&lt;br /&gt;
* Twitter: https://twitter.com/IVCNFT&lt;br /&gt;
* Discord: https://discord.com/invite/mA5cXdAtwe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infinite Charity Project&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A nonprofit corporation and charitable org providing non-commercial fundraising for 501(c)3 charities&lt;br /&gt;
* Where: https://chimps.icproject.org/&lt;br /&gt;
* Twitter: https://twitter.com/icproject_nft&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Astronauts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Internet Astronauts are a set of 10,000 limited edition, uniquely minted astronaut-themed NFTs. These end-to-end on-chain NFTs will be up for grabs to the community through the Entrepot.app marketplace. They are only possible through the Internet Computer blockchain.&lt;br /&gt;
* Where: https://interastrosc.com/&lt;br /&gt;
* Twitter: https://twitter.com/interastrosc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meme Cake&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Meme Cake is a Social NFT multi-chain marketplace built for communities. Meme Cake is the new face of Marketplace, which aims to create transparency and social interaction with project creators and the community on an open platform. Meme Cake currently supports The Internet Computer and Solana.&lt;br /&gt;
* Where: https://memecake.io/&lt;br /&gt;
* Twitter: https://twitter.com/realmemecake&lt;br /&gt;
* Discord: https://discord.com/invite/vr2ATGMdug&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Newsie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Comic Book and NFT Collection On The Internet Computer&lt;br /&gt;
* Where: https://gh2ig-jqaaa-aaaai-aaslq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/NewsieCartoon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NFT Studio&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: NFT Studio allows users to Mint, Buy, Sell and Stake 3DWASM NFTs on the Internet Computer&lt;br /&gt;
* Where: https://7xw5z-uqaaa-aaaad-qaqcq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/NFTStudioPoland&lt;br /&gt;
* Discord: https://discord.com/invite/65P4NzzSQx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NFT Village&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Look up the attributes, NRI %, rarity, and other information about Internet Computer NFTs. Simply input the URL of your ICPunks and Cronics NFTs or any other NFT minted on the Internet Computer blockchain and learn all of the details that make the NFT unique.&lt;br /&gt;
* Where:&lt;br /&gt;
** http://nftvillage.ai/&lt;br /&gt;
** https://nntkg-vqaaa-aaaad-qamfa-cai.ic.fleek.co/&lt;br /&gt;
* Twitter: https://twitter.com/NFT_Village&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pokded Studio BOTS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A collection of 10,000 individual ROBOTS&lt;br /&gt;
* Twitter: https://twitter.com/pokedstudiouk&lt;br /&gt;
* Discord: https://discord.com/invite/PokedStudioNFT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PORTAL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A Streamers Marketplace Powered by the #InternetComputer&lt;br /&gt;
* Where: https://ja7sy-daaaa-aaaai-qaguq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/PortalDapp&lt;br /&gt;
* Discord: https://discord.com/invite/FSSauMNrbS&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Sword NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: #ICP exclusive. Follow for updates and airdrop information. Series 1: Little Ninjas. Only 10K Unique Ninjas will be Minted, ever.&lt;br /&gt;
* Where: https://theswordnft.com/&lt;br /&gt;
* Twitter: https://twitter.com/TheSwordNft&lt;br /&gt;
* Discord: https://discord.com/invite/Xgc5zTrdSb&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wild and West NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A wild west themed NFT project&lt;br /&gt;
* Where: https://wildandwest.com/&lt;br /&gt;
* Twitter: https://twitter.com/WildandWestNFT&lt;br /&gt;
* Discord: https://discord.com/invite/wildandwest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Yolo Octopus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a collection of 8888 intelligently generated NFTs on the Internet Computer blockchain&lt;br /&gt;
* Where: http://www.enteryoloclub.com/&lt;br /&gt;
* Twitter: https://twitter.com/EnterYoloClub&lt;br /&gt;
&lt;br /&gt;
=== Social (11) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;crowdEats&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Yelp on IC, owned by users&lt;br /&gt;
* Where: https://www.crowdeats.io/&lt;br /&gt;
* Twitter: https://twitter.com/crowdeats_io&lt;br /&gt;
* Discord: https://discord.gg/Cmm7N9pqsK&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DSCVR&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: DSCVR is a decentralized version of Reddit, where users are the owners. Decentralized end-to-end, built on the Internet Computer, and accessible from any browser.&lt;br /&gt;
* Where: https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/DscvrO&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distrikt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Distrikt is a completely decentralized, community-owned professional network. Users of the platform will vote on upgrades, and no user data will ever be mined or sold. Create your account, secured by Internet Identity today.&lt;br /&gt;
* Team:&lt;br /&gt;
** https://distrikt.io&lt;br /&gt;
** https://c7fao-laaaa-aaaae-aaa4q-cai.ic0.app/&lt;br /&gt;
* Dapp:&lt;br /&gt;
** https://distrikt.app&lt;br /&gt;
** https://az5sd-cqaaa-aaaae-aaarq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/DistriktApp&lt;br /&gt;
* Telegram: https://t.me/DistriktApp&lt;br /&gt;
* Newsletter: https://medium.com/distrikt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DSocial&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Decentralized Youtube on IC&lt;br /&gt;
* Twitter: https://twitter.com/DSocialApp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPMeet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a Tinder on ICP&lt;br /&gt;
* Where: https://www.icpmeet.com/&lt;br /&gt;
* Who: [https://github.com/HelloRickey Rickey]&lt;br /&gt;
* Twitter: https://twitter.com/icpmeet&lt;br /&gt;
* DFINITY Grant: received in July 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go Bazzinga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: World&#039;s first decentralised &amp;quot;Short-Video X Draft Kings&amp;quot; Social Speculation Platform&lt;br /&gt;
* Where: https://gobazzinga.io/&lt;br /&gt;
* Twitter: https://twitter.com/GoBazzingainc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Learned&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: LEARND is a community driven educationnal platform running on Internet Computer. Learned want to provide a new kind of learning and incentives using crypto assets, community vote using SNS, reward learners AND teachers.&lt;br /&gt;
* Where: https://learnd.dedn.eu/&lt;br /&gt;
* Twitter: https://twitter.com/LEARNDTEAM&lt;br /&gt;
* Who: [https://twitter.com/WaffCharlie Charlie Waff]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ModClub&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: MODCLUB is a decentralized content moderation platform, it simplifies the moderation process by connecting our community to dApps that need UGC moderation. It has a reputation token economics model.&lt;br /&gt;
* Where: https://ljyte-qiaaa-aaaah-qaiva-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/RaheelGovindji Raheel Govindji]&lt;br /&gt;
* Twitter: https://twitter.com/ModclubApp&lt;br /&gt;
* Discord: http://discord.gg/8zUrHd46Tf&lt;br /&gt;
* Medium: [https://medium.com/@modclub](https://medium.com/@modclub)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenChat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Decentralized messaging has been a pipe-dream for decades. With the advent of the Internet Computer, real-time messaging is now possible on a blockchain.&lt;br /&gt;
* Where: https://oc.app&lt;br /&gt;
* Twitter: https://twitter.com/OpenChat&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Overchute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A decentralized smart-contract application for crowdfunding the release of intellectual property under open licences&lt;br /&gt;
* Where: https://overchute.com/&lt;br /&gt;
* Twitter: https://twitter.com/OverchuteApp&lt;br /&gt;
* Github: https://github.com/Overchute&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Party Board&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Multi-chain metaverse social network&lt;br /&gt;
* Twitter: https://twitter.com/party_board&lt;br /&gt;
* Telegram: https://t.me/partyboard_en&lt;br /&gt;
* Discord: https://discord.com/invite/kewhcJM4uf&lt;br /&gt;
&lt;br /&gt;
=== Games (10) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cube Run&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The classic game, &amp;quot;Cube Run&amp;quot; gets an update by having a new graphic interface and being hosted completely on-chain. The decentralized version of this game lets you keep your high-score running in your browser through persistent memory.&lt;br /&gt;
* Where: https://7qx3n-ziaaa-aaaad-qaqca-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HEXGL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: HexGL is a futuristic racing game using HTML5, Javascript, WebGL and hosted on the Internet Computer blockchain in order to run instantly on your browser from anywhere in the world.&lt;br /&gt;
* Where: https://neqb2-dyaaa-aaaad-qameq-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICMoji Origins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICMoji Origins is an NFT-based multiplayer game built end-to-end on-chain on the Internet Computer.&lt;br /&gt;
* Where:&lt;br /&gt;
** https://icmojis.com/&lt;br /&gt;
** https://graci-aaaaa-aaaah-aaqjq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/icmoji&lt;br /&gt;
* Who: [https://twitter.com/Visions_GFX Visions]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lo-Fi Player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Lo-Fi Player is a dapp hosted on the Internet Computer that lets users listen to relaxing beats delivered by blockchain. The back-end is using machine learning to build and develop the AI produced tunes, and users can interact within the player to change the sound to their liking.&lt;br /&gt;
* Where: https://hl2zz-gyaaa-aaaad-qas3a-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mission Is Possible&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A PVP third person shooter hosted on the Internet Computer blockchain. The John Wick inspired game is built using the Unity 3D Game Engine, and hosted on the IC enabling decentralized login with Internet Identity.&lt;br /&gt;
* Where: https://to3ja-iyaaa-aaaai-qapsq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/MiP_the_Game&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reversi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Reversi is one of the first canister smart contracts deployed to the Internet Computer and is a completely decentralized multiplayer game. Play against a friend (or foe) in real-time, from any browser, anywhere in the world.&lt;br /&gt;
* Where: https://ivg37-qiaaa-aaaab-aaaga-cai.ic0.app/#!/play&lt;br /&gt;
* Who: [https://forum.dfinity.org/u/paulliu/ Paul Liu]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rise of the Magni&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Rise of the Magni, winner of the DSCVR hackathon for games on the Internet Computer. Buy, earn, and trade collectibles, compete in tactical battles online to earn in-game tokens, and venture through story mode to experience one of the first games built on the Internet Computer.&lt;br /&gt;
* Where: https://riseofthemagni.com/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Twitter: https://twitter.com/ToniqGames&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Saga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Have your fortune told on the Internet Computer. Saga Tarot gives you a tarot reading in one click. The user-friendly dapp is built completely on the Internet Computer, accessible from any browser. What will the future hold for you?&lt;br /&gt;
* Twitter: https://twitter.com/SagaCards&lt;br /&gt;
* Where:&lt;br /&gt;
** https://legends.saga.cards/&lt;br /&gt;
** https://5nl7c-zqaaa-aaaah-qaa7a-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Texas Hold&#039;em&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: IC Texas Hold&#039;em is a dapp hosted completely on-chain on the Internet Computer. 2nd place winner of the DSCVR Hackathon Season 2&lt;br /&gt;
* Where: https://lm5fh-ayaaa-aaaah-aafua-cai.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/NnsDaos NNSDao]&lt;br /&gt;
* Github: https://github.com/NnsDao/ICTexas-UI&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Welcome Into the Metaverse&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Prize winner of the DSCVR hackathon for the Internet Computer – this game brings digital community into a unified virtual space. Find anecdotes from founding ecosystem members, and go through a series of quests.&lt;br /&gt;
* Where: https://lc7ip-3iaaa-aaaah-aafva-cai.ic0.app/&lt;br /&gt;
* Who: https://twitter.com/ThuillierSbast3&lt;br /&gt;
&lt;br /&gt;
=== Metaverse (3) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Drip.Land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Open project, liquid democracy/community. Metaverse building on the #IC&lt;br /&gt;
* Where: https://drip.land/info&lt;br /&gt;
* Twitter: https://twitter.com/ICdripland&lt;br /&gt;
* Telegram: https://t.me/icdrip&lt;br /&gt;
* Discord: https://discord.com/invite/U8YppXuU2x&lt;br /&gt;
* Github: https://github.com/FloorLamp/drip-land&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Metaverse AI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Digital human and virtual idol on IC&lt;br /&gt;
* Where: https://www.metaverseai.org/&lt;br /&gt;
* Who: [https://www.linkedin.com/in/henryonline/ Henry Yan]&lt;br /&gt;
* Twitter: https://twitter.com/metaverseOrg&lt;br /&gt;
* Github: https://github.com/Vera-AI-Technology&lt;br /&gt;
* DFINITY Grant: received in October 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XR Foundation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open source zero-profit collective building metaverse technologies.&lt;br /&gt;
* Where: https://www.xrfoundation.io/&lt;br /&gt;
* Github: https://github.com/XRFoundation/XREngine&lt;br /&gt;
&lt;br /&gt;
=== Productivity (12) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aedile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Aedile brings your team’s work together in one shared space, completely built on-chain. Manage your boards, columns &amp;amp; cards to transform your projects, serving web experiences directly from the Internet Computer blockchain.&lt;br /&gt;
* Where: https://eemeo-taaaa-aaaad-qakjq-cai.ic.fleek.co/&lt;br /&gt;
* Who: [https://www.esensconsulting.com/ Esens Consulting]&lt;br /&gt;
* Twitter: https://twitter.com/aedile_ic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bunchd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Create, Collaborate, and Earn on the Subscription Platform controlled by Creators.&lt;br /&gt;
* Twitter: https://twitter.com/GetBunchd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dbox&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: decentralized inbox built on Internet Computer&lt;br /&gt;
* Where: https://www.dbox.foundation/&lt;br /&gt;
* Twitter: https://twitter.com/DBOXFoundation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DeckDeckGo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: An open source web editor for presentations built completely on-chain. This dapp is like a decentralized version of Google Slides built on the Internet Computer.&lt;br /&gt;
* Where: https://deckdeckgo.com&lt;br /&gt;
* Who: https://twitter.com/daviddalbusco, https://twitter.com/nasmattia&lt;br /&gt;
* Twitter: https://twitter.com/deckdeckgo&lt;br /&gt;
* Github: https://github.com/deckgo/deckdeckgo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dmail.ai&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Use Web3, not Gmail. Dmail makes it safe and private for you to communicate storage and transfer token &amp;amp; NFTs on DFINITY&lt;br /&gt;
* Where: https://dmail.ai/&lt;br /&gt;
* Twitter: https://twitter.com/dmailofficial&lt;br /&gt;
* Telegram: https://t.me/dmailofficial&lt;br /&gt;
* Medium: [https://medium.com/@dmail_official](https://medium.com/@dmail_official)&lt;br /&gt;
* Github: https://github.com/dmailofficial&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Contacts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A social media management tool build on ICP, helping users manage relations in Web3 networks&lt;br /&gt;
* Who: [https://twitter.com/relationlabs Relation Labs]&lt;br /&gt;
* Twitter: https://twitter.com/relationlabs&lt;br /&gt;
* Other: [https://twitter.com/herbertyang/status/1454780835379384326 Grand Slam winner of 7th Wanxiang Blockchain Hackathon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A decentralized private file storage dapp built on the Internet Computer. Store and securely share any type from anywhere in the world with this decentralized version of Box, or Google Drive.&lt;br /&gt;
* Where: https://icdrive.co&lt;br /&gt;
* Who: https://twitter.com/nanditmehra&lt;br /&gt;
* Twitter: https://twitter.com/icDrive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICEvent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open event service built on IC&lt;br /&gt;
* Where:&lt;br /&gt;
** https://icevent.vercel.app&lt;br /&gt;
** https://znisf-eqaaa-aaaaj-aabta-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/vansdaynet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nuance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Nuance is a Web3.0 blogging platform that is hosted on-chain end-to-end on the Internet Computer. Developed by Aikin Dapps, the alpha of the world’s first blogging platform to be hosted entirely on a blockchain has now launched. Nuance aims to bring NFTs into the world of editorial content ownership.&lt;br /&gt;
* Where: https://fxnaj-yaaaa-aaaaf-qad3q-cai.ic0.app&lt;br /&gt;
* Who: [https://www.aikin.io/ AIKIN]&lt;br /&gt;
* Twitter: https://twitter.com/AikinDApps&lt;br /&gt;
* Discord: https://discord.gg/2dPCPu6zxz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Photos by Functionland&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Photos is a react-native(expo)+typescript application to replace Google Photos/Apple Photos, and give freedom in hosting your photos on any platform, either centralized servers like Amazon or Microsoft, or decentralized solutions such as Dfinity or IPFS-based &amp;quot;box&amp;quot;&lt;br /&gt;
* Where: https://fx.land/&lt;br /&gt;
* Twitter: https://twitter.com/functionland&lt;br /&gt;
* Telegram: https://t.me/functionlanders&lt;br /&gt;
* Github: https://github.com/functionland/photos&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quark&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Quark is an open internet service facilitating payments on the Internet Computer like Stripe or Paypal&lt;br /&gt;
* Where: https://ebgyc-nqaaa-aaaaf-qad6q-cai.ic0.app/&lt;br /&gt;
* Github: https://github.com/SuddenlyHazel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Waterslide.app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Frontend to interact with the @LiquityProtocol&lt;br /&gt;
* Where: https://waterslide.app/&lt;br /&gt;
* Twitter: https://twitter.com/waterslide_app&lt;br /&gt;
&lt;br /&gt;
=== Communities (3) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP123&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Find Awesome Dfinity Projects&lt;br /&gt;
* Where: https://icp123.xyz/&lt;br /&gt;
* Twitter: https://twitter.com/icp123xyz&lt;br /&gt;
* Github: https://github.com/icpfans-xyz&lt;br /&gt;
* Who: [https://github.com/includeleec Lee] of [https://twitter.com/nebulasio https://www.nebulas.io/]&lt;br /&gt;
* DFINITY Grant: received in June 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Computer Education&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: very helpful Github-based education resources with elaborate and step-by-step online classes and cirriculum to teach developers Internet Computer&lt;br /&gt;
* Where: https://github.com/DFINITY-Education&lt;br /&gt;
* Who: [https://github.com/nzoghb nico], [https://github.com/csolimano csolimano] and [https://github.com/crusso Claudio Russo]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;THUBA Education&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: THUBA Education is an education platform supported by Tsinghua University student Blockchain Association. The goal is to be a solid bridge between students and blockchain world. The students can use this platform to learn blockchain courses, join Hackthon and do some research.&lt;br /&gt;
* Where: https://thublockchain.org/&lt;br /&gt;
* Who: Tsinghua University Students Blockchain Association&lt;br /&gt;
&lt;br /&gt;
=== Enterprise (9) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agryo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Agryo is the global risk intelligence provider that enables financial institutions to assess and manage financial risks in the crop field level for underwriting agriculture insurance, loans, and trade finance globally; as well as meet sustainability goals.&lt;br /&gt;
* Where: [[www.agryo.com|www.agryo.com]]&lt;br /&gt;
* Twitter: https://twitter.com/agryo_&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ContentFly&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Marketplace app connecting high quality Content Creators to Brands, running on Dfinity Internet Computer&lt;br /&gt;
* Where: https://contentfly.app/&lt;br /&gt;
* Twitter: https://twitter.com/ContentFlyApp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dFlow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: &amp;quot;decentralized Workflow&amp;quot;- an innovative and simple way for defining and executing cross-organisational business flows&lt;br /&gt;
* Where: https://www.dcentra.io/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dService&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A next-generation decentralized Service Management Application running on the Internet Computer. The Application is primarily focused on IT Service Management.&lt;br /&gt;
* Where:&lt;br /&gt;
** https://agnoo-nqaaa-aaaah-aaq4q-cai.ic0.app/&lt;br /&gt;
** https://dservice.app&lt;br /&gt;
* Twitter: https://twitter.com/dServiceApp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Get Impact Now&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The politics platform that enables you to change the world&lt;br /&gt;
* Where: https://getimpactnow.org/&lt;br /&gt;
* Twitter: https://twitter.com/getimpactnow&lt;br /&gt;
* Github: https://github.com/getimpactnow/getimpactnow/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optex&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Optex is a powerful data visualisation tool designed to provide seamless insights into complex data. Optex is out-of-the-box solution that will allows users to combine data in a single analysis and get a holistic view of the same with interactive customisable visualisations.&lt;br /&gt;
* Where: https://www.clinicaltrialsintelligence.org/&lt;br /&gt;
* Twitter: https://twitter.com/ClinTexCTi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Origyn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Origyn Foundation is blending luxury goods, with NFTs by providing digital verifications for physical objects. Only possible on the Internet Computer.&lt;br /&gt;
* Where: https://www.origyn.ch/&lt;br /&gt;
* Twitter: https://twitter.com/ORIGYNTech&lt;br /&gt;
* Telegram: https://t.me/origynfoundation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Triip&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Triip is a blockchain-enabled travel platform allows for direct interactions between service providers and clients. Using a propriety token, Triip Miles or TIIM, Triip is a network that enables greater transparency, security and lower cost transactions between those who travel and those who serve them.&lt;br /&gt;
* Where: https://www.triip.me/&lt;br /&gt;
* Twitter: https://twitter.com/triipme&lt;br /&gt;
* Telegram: https://t.me/TriipMilesICO&lt;br /&gt;
* Github: https://github.com/triipme&lt;br /&gt;
* Who: [https://www.triip.me/pages/about_us Triip Pte Ltd]&lt;br /&gt;
* DFINITY Grant: received in Aug 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WeAct.chat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The app made for groups of advocates, activists, and change makers working to better the world&lt;br /&gt;
* Where: https://www.weact.chat/dfinity&lt;br /&gt;
* Twitter: https://twitter.com/WeAct_Chat&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Index_of_dapps_on_the_Internet_Computer_ecosystem&amp;diff=4444</id>
		<title>Index of dapps on the Internet Computer ecosystem</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Index_of_dapps_on_the_Internet_Computer_ecosystem&amp;diff=4444"/>
		<updated>2023-02-27T14:25:11Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Index of dapps on the Internet Computer =&lt;br /&gt;
&lt;br /&gt;
==List of IC ecosystem aggregators==&lt;br /&gt;
* [https://n7ib3-4qaaa-aaaai-qagnq-cai.raw.ic0.app/?locale=en#/ ICApps]&lt;br /&gt;
* [https://dfinity.org/showcase/ DFINITY Showcase]&lt;br /&gt;
* [https://zire.github.io/awesome-IC/ The Awesome IC Repository]&lt;br /&gt;
* [https://internetcomputer.today/ Internet Computer Today]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of dapps ==&lt;br /&gt;
&lt;br /&gt;
This Wiki Page is a mirror of [https://zire.github.io/awesome-IC/ The Awesome IC Repository]&lt;br /&gt;
&lt;br /&gt;
[[File:NewLogo.png|thumb]]&lt;br /&gt;
&lt;br /&gt;
* Essential (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Wallet (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Tools (&amp;lt;code&amp;gt;26&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Motoko (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;)&lt;br /&gt;
* DeFi (&amp;lt;code&amp;gt;13&amp;lt;/code&amp;gt;)&lt;br /&gt;
* NFT (&amp;lt;code&amp;gt;42&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Social (&amp;lt;code&amp;gt;11&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Games (&amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Metaverse (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Productivity (&amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Communities (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;)&lt;br /&gt;
* Enterprise (&amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
===Criteria===&lt;br /&gt;
&lt;br /&gt;
This article tries to capture key info for each project, including its tag line, IC URL, Twitter, Discord, Telegram, Github repo and the team behind.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This list includes all the projects from [https://dfinity.org/showcase/ DFINITY Showcase] but is a lot more than that. It tries to index all the known IC dApps. Some of those projects have received [https://dfinity.org/grants/ developer grants from the DFINITY Foundation]. Some of them may not have been deployed on IC yet - though the expectation is that they are working toward that. It does not include IC communities, media or development teams per se (though they&#039;ll be included under the &amp;quot;project&amp;quot; section). All info is obtained from public channels.&lt;br /&gt;
&lt;br /&gt;
The projects indexed on this list cover a wide spectrum on quality, maturity and tech deployment. Some of them have already received venture funding from established crypto funds; some of them are taking full advantage of Internet Computer (IC)&#039;s unique technical strengths; some of them are using IC as a backend infrastructure in liew of AWS/GCP, and some of them are porting an existing Polkadot/Filecoin application to IC. The inclusion of a project (or lack of) does not speak to the quality of it. That judgment is left to the community and all IC advocates. This is just a directory that helps everyone do scavenger hunt on IC.&lt;br /&gt;
&lt;br /&gt;
This is merely an index/directory, and does not represent official endorsement in any fashion. Nothing from this site shall be treated as financial advice. Please do your own research if you need to use any services listed below.&lt;br /&gt;
&lt;br /&gt;
=== Essential (3) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICA Network Status&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Real-time dashboard of key metrics on the Internet Computer&lt;br /&gt;
* Where: https://dashboard.internetcomputer.org/&lt;br /&gt;
* Who: [https://internetcomputer.org/ Internet Computer Association]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Identity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Internet Identity guarantees that your data isn’t visible, tracked, or mined. The blockchain authentication system enables users to sign in to dapps on the Internet Computer and sites across the web anonymously and securely.&lt;br /&gt;
* Where: https://identity.ic0.app/&lt;br /&gt;
* Who: [https://dfinity.org DFINITY Foundation]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NNS Frontend Dapp&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The NNS frontend dapp allows anyone to interact with the Internet Computer&#039;s Network Nervous System with a user-friendly UI. Served completely end-to-end through blockchain, this dapp allows you to manage ICP, stake neurons, participate in voting, and earn rewards.&lt;br /&gt;
* Where: https://nns.ic0.app/&lt;br /&gt;
* Who: [https://dfinity.org DFINITY Foundation]&lt;br /&gt;
&lt;br /&gt;
=== Wallet (5) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICWallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Your gateway to Dfinity ecosystem&lt;br /&gt;
* Where: https://icwallet.org/&lt;br /&gt;
* Twitter: https://twitter.com/icwallet&lt;br /&gt;
* Who: https://icwallet.gitbook.io/icwallet/team&lt;br /&gt;
* Discord: https://discord.com/invite/DqCeHU8rem&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFWallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a decentralized smart wallet on Internet Computer&lt;br /&gt;
* Where: https://dfwallet.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/DFWallet&lt;br /&gt;
* Telegram: https://t.me/df_wallet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plug&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A browser extension that allows you to access your ICP, Cycles and other tokens&lt;br /&gt;
* Where: https://plugwallet.ooo/&lt;br /&gt;
* Who: [https://fleek.co/ fleek]&lt;br /&gt;
* Twitter: https://twitter.com/plug_wallet&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stoic Wallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: It allows anyone to create a digital wallet, authenticating users through a variety of methods.&lt;br /&gt;
* Where: https://www.stoicwallet.com/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Github: https://github.com/Toniq-Labs/stoic-wallet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Earth Wallet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The open-source wallet allows users to participate in DeFi, Governance, and Treasury (DAO) protocols with negligible fees and faster transaction settlement than legacy wallets.&lt;br /&gt;
* Where: https://www.earthwallet.io/&lt;br /&gt;
* Twitter: https://twitter.com/earthwallet&lt;br /&gt;
* Discord: https://discord.gg/B8G75XZ92K&lt;br /&gt;
* Telegram: https://t.me/earthwallet&lt;br /&gt;
* Github: https://github.com/earth-association&lt;br /&gt;
&lt;br /&gt;
=== Tools (26) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AstroX&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: AstroX is a blockchain development group focused on building tools for the Web3.0 ecosystem. AstroX has developed a Dart agent and other tools to help support mobile application development on the Internet Computer blockchain.&lt;br /&gt;
* Where: https://astrox.medium.com/&lt;br /&gt;
* Who: FireStack Labs&lt;br /&gt;
* Twitter: https://twitter.com/Astrox_Network&lt;br /&gt;
* Discord: https://discord.com/invite/Ky78nq4Nag&lt;br /&gt;
* Github: https://github.com/AstroxNetwork&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Axon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A community-built neuron management solution for the Internet Computer. Multiple users can own an Axon that manages multiple neurons within the Network Nervous System, as well as delegate votes to other neurons to vote on proposals. Axon is a multi-user, multi-neuron management canister.&lt;br /&gt;
* Where: https://axon.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/axon_ooo&lt;br /&gt;
* Github: https://github.com/FloorLamp/axon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;B9 Labs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Better developer onboarding and documentation on IC&lt;br /&gt;
* Where: https://b9lab.com/&lt;br /&gt;
* Twitter: https://twitter.com/b9lab&lt;br /&gt;
* DFINITY Grant: received in August 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Canlista&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Internet Computer community canister registry. Find, publish and extend applications and services built on the Internet Computer. Log in with Internet Identity.&lt;br /&gt;
* Where: https://k7gat-daaaa-aaaae-qaahq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/canlista_io&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Canistore&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Next-gen #SocialStore powered by @DFINITY, empowered by community&lt;br /&gt;
* Where: https://canistore.io/&lt;br /&gt;
* Twitter: https://twitter.com/canistore&lt;br /&gt;
* Telegram: https://t.me/canistore&lt;br /&gt;
* Medium: [https://medium.com/@canistore](https://medium.com/@canistore)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CAP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open internet service providing transaction history &amp;amp; asset provenance for NFT’s &amp;amp; Tokens on the Internet Computer&lt;br /&gt;
* Where: https://cap.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/cap_ois&lt;br /&gt;
* Discord: https://discord.gg/psychedelic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ChainIDE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a cloud-based multi-chain IDE&lt;br /&gt;
* Where: https://chainide.com/&lt;br /&gt;
* Who: [https://whitematrix.io/ White Matrix] and https://twitter.com/MatrixDapp&lt;br /&gt;
* Twitter: https://twitter.com/ChainIde&lt;br /&gt;
* Medium: https://t.co/ODqRqGNUoG?amp=1&lt;br /&gt;
* Github: https://github.com/WhiteMatrixTech&lt;br /&gt;
* DFINITY Grant: received in May 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cover&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open internet service that can be used by developers to verify and prove that a canister&#039;s code matches the open source code. Reducing the risk of malicious apps &amp;amp; increasing transparency and trust.&lt;br /&gt;
* Where: https://covercode.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/cover_ois&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
* Github: https://github.com/psychedelic/cover&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create IC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Modern frontend templates for the Internet Computer with everything working out of the box. Powered by ViteJS&lt;br /&gt;
* Where: https://create-ic.app/&lt;br /&gt;
* Who: [https://twitter.com/miamaruq Mio Q]&lt;br /&gt;
* Github: https://github.com/MioQuispe/create-ic-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DAB&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: DAB provides seamless access to #InternetComputer data that many apps/UI&#039;s need to surface. Such as lists of NFT&#039;s, tokens, canister/Dapp metadata, and more.&lt;br /&gt;
* Where: https://dab.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/dab_ooo&lt;br /&gt;
* Doc: https://docs.dab.ooo/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFINITY Explorer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: DFINITY Explorer, a project started in 2018, is an open-source, community-built dashboard and explorer for the Internet Computer, providing live information and statistics about the network, governance, and the ICP utility token, including account and transaction information.&lt;br /&gt;
* Where: https://www.dfinityexplorer.org/#/&lt;br /&gt;
* Who: [https://github.com/dylancm4 Dylan Miller]&lt;br /&gt;
* Twitter: https://twitter.com/dfinityexplorer&lt;br /&gt;
* Github: https://github.com/dfinityexplorer/dfinityexplorer-dashboard&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFINITY Java Agent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Dfinity Java Agent is a set of native Java libriaries to connect remotely to the Internet Computer applications&lt;br /&gt;
* Github: https://github.com/rdobrik/dfinity-agent&lt;br /&gt;
* Who: [https://github.com/rdobrik Roman]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFT - Dfinity Fungible Token Standard&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Token standard will help Dfinity ecological developers adopt the same standard and promote the prosperity of the Dfinity ecosystem&lt;br /&gt;
* Where: https://dft.delandlabs.com/&lt;br /&gt;
* Who: [https://twitter.com/DelandLabs Deland Labs]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dfinity Tutorials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Chinese tutorials that teach you how to build on IC&lt;br /&gt;
* Where: https://icplabs.gitbook.io/dfinitytutorials/&lt;br /&gt;
* Who: [https://twitter.com/ICP_Labs ICP Labs]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dstar&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a marketplace that facilitates listing, buying and selling of your Internet Identity (&amp;quot;II&amp;quot;) accounts&lt;br /&gt;
* Where:&lt;br /&gt;
** https://ii.dstar.app&lt;br /&gt;
** https://yunqk-aqaaa-aaaai-qawva-cai.ic0.app/&lt;br /&gt;
* Github: https://github.com/ic-dstar/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EXT Token Tool&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: EXT is a token standard that was built on the IC, modelled after Ethereum&#039;s ERC1155 standard&lt;br /&gt;
* Where: https://k6exx-uqaaa-aaaah-qadba-cai.raw.ic0.app/&lt;br /&gt;
* Who:[https://twitter.com/toniqlabs Toniq Labs]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fleek&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Fleek brings decentralized web-hosting to the Internet Computer. With thousands of webpages deployed, Fleek enables anyone to deploy their content on Web3.0&lt;br /&gt;
* Where: https://fleek.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/fleek_ois&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
* Github: https://github.com/FleekHQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICLight.house&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A standard interface for Dfinity tokens. The standard complies with ERC20 interface specification, and has some improvements to match IC network features&lt;br /&gt;
* Where: https://iclight.house/login&lt;br /&gt;
* Twitter: https://twitter.com/ICLighthouse&lt;br /&gt;
* Github: https://github.com/iclighthouse/DRC_standards&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICME&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICME is a no-code tool that makes it easy for anyone to build and deploy beautiful websites on the Internet Computer. Launch your blog or business&#039;s website on the Internet Computer today.&lt;br /&gt;
* Where: https://sygsn-caaaa-aaaaf-qaahq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/icme_app&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Neuron Calculator&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Network Nervous System Calculator is a calculator that allows anyone to edit variables and estimate voting rewards based on number of proposals voted on, length of stake, accumulated maturity, and more.&lt;br /&gt;
* Where: https://networknervoussystem.com/&lt;br /&gt;
* Twitter: https://twitter.com/NNSystem&lt;br /&gt;
* Newsletter: https://allthingsinternetcomputer.substack.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Scan&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A scanner and dashboard tool for IC ecosystem to discover ICP projects and track key statistics&lt;br /&gt;
* Where: https://sznps-4aaaa-aaaah-qab2a-cai.ic0.app/project&lt;br /&gt;
* Who: [https://twitter.com/NnsDaos NnsDAO]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Rocks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: IC.Rocks is a complete &amp;quot;block explorer&amp;quot; for the Internet Computer – built by the community. Tracking everything from transactions, to network upgrades, to cycles, IC.Rocks enables anyone to explore the inner-workings of the Internet Computer.&lt;br /&gt;
* Where: https://ic.rocks/&lt;br /&gt;
* Who: [https://twitter.com/floatfloatboat Norton Wang]&lt;br /&gt;
* Twitter: https://twitter.com/ic_rocks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pocket 4D&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A framework container runs Mini-Apps or Mini-Programs, using enhanced Canister of cross-platform.&lt;br /&gt;
* Who: [https://twitter.com/ghostcorn Michael So] and the team&lt;br /&gt;
* Github: https://github.com/Pocket4D/Pocket4D-Wiki&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sudograph&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Sudograph is a GraphQL database for the Internet Computer. Its goal is to become the simplest way to develop applications for the IC by providing flexibility and out-of-the-box data management.&lt;br /&gt;
* Where: https://i67uk-hiaaa-aaaae-qaaka-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/lastmjs&lt;br /&gt;
* Github: https://github.com/sudograph/sudograph&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Usergeek&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: the first decentralised product analytics tool built on the DFINITY Internet Computer&lt;br /&gt;
* Where: https://fbbjb-oyaaa-aaaah-qaojq-cai.raw.ic0.app/#/&lt;br /&gt;
* Twitter: https://twitter.com/theUSERGEEK&lt;br /&gt;
* Discord: https://discord.gg/CvTpv2TeKs&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Wall&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Wall is a dapp built on the Internet Computer blockchain, which blends Ethereum&#039;s MetaMask authentication with the Internet Computer&#039;s native Internet Identity blockchain authentication system. This first example of ETH x ICP allows users to leave any message on the wall for all eternity.&lt;br /&gt;
* Where: https://rivyl-6aaaa-aaaaf-qaapq-cai.raw.ic0.app/&lt;br /&gt;
* Github: https://github.com/kristoferlund/ic-wall&lt;br /&gt;
* Who: [https://twitter.com/kristoferlund Kristofer Lund]&lt;br /&gt;
&lt;br /&gt;
=== Motoko (4) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Block.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A virtual editor for Motoko&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Motoko Playground&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Motoko Playground is an IDE for developers to learn Motoko – the native language for the Internet Computer blockchain. Deploy canister smart contracts for free, directly within a browser, without needing to download an SDK or set up a wallet.&lt;br /&gt;
* Where: https://m7sm4-2iaaa-aaaab-qabra-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://forum.dfinity.org/u/chenyan/ Chen Yan]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Motoko School&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Motoko School is the first public school for the Metaverse, only on the Internet Computer&lt;br /&gt;
* Where: [https://www.youtube.com/channel/UCS2Y9oRMpBfVqAnChFoXepg Motoko School on Youtube]&lt;br /&gt;
* Twitter: https://twitter.com/MotokoSchool&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Motoko Library&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: An awesome list of Motoko code and resources curated by the community.&lt;br /&gt;
* Where: https://github.com/motoko-unofficial/awesome-motoko&lt;br /&gt;
&lt;br /&gt;
=== DeFi (13) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bauction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Bauction will empower the online auction and tender for retail as well as enterprises customer is decentralized and transparent manner. By leveraging technology stack of ICP, it should be a self governed self driven auction platform.&lt;br /&gt;
* Where: https://bauction.org/&lt;br /&gt;
* Twitter: https://twitter.com/bauctionorg&lt;br /&gt;
* DFINITY Grant: received in July 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CetoSwap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: CetoSwap ∞ is a fungible and non-fungible asset management platform base on #Dfinity&lt;br /&gt;
* Where: https://ijnlb-jiaaa-aaaah-qaesa-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/CetoSwap&lt;br /&gt;
* Medium: https://cetoswap.medium.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dank&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Dank is the first Decentralized Bank built on the Internet Computer, developed by Fleek. Through a collection of Open Internet Services for users and developers, Dank makes cycles management seamless.&lt;br /&gt;
* Where: https://dank.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/dank_ois&lt;br /&gt;
* Discord: https://discord.gg/yVEcEzmrgm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;EnsoFinance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Discover and create open DeFi metastrategies&lt;br /&gt;
* Where: https://www.enso.finance/&lt;br /&gt;
* Twitter: https://twitter.com/EnsoFinance&lt;br /&gt;
* Discord: https://discord.gg/y48Yp6Y4QX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;iBridge&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: #DeFi Protocol for #Crosschain Assets Based on #Dfinity&lt;br /&gt;
* Where: https://www.ibridge.pro/&lt;br /&gt;
* Twitter: https://twitter.com/iBridge_Labs&lt;br /&gt;
* Github: https://github.com/iBridge-up&lt;br /&gt;
* Medium: [https://medium.com/@ibridge_labs](https://medium.com/@ibridge_labs)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPSwap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICPSwap is decentralized exchange (DEX) built completely end-to-end on-chain. By building the ability for anyone to swap tokens through ICPSwap leveraging the Internet Computer blockchain as the high-speed, scalable, low-cost infrastructure makes ICPSwap a first-to-market in the growing Internet Computer DeFi ecosystem.&lt;br /&gt;
* Where:&lt;br /&gt;
** https://3pbcj-viaaa-aaaah-qaajq-cai.raw.ic0.app/&lt;br /&gt;
** https://twitter.com/ICPSwap&lt;br /&gt;
* Twitter: https://twitter.com/ICPSwap&lt;br /&gt;
* Telegram: https://t.me/ICPSwap_Official&lt;br /&gt;
* Medium: https://icpswap.medium.com/&lt;br /&gt;
* DSCVR: https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/p/icpswap&lt;br /&gt;
* Github:https://iloveics.gitbook.io/icpswap/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;InfinitySwap&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A platform to create, stake and swap Dfinity Tokens&lt;br /&gt;
* Where: https://infinityswap.one/&lt;br /&gt;
* Twitter: https://twitter.com/infinity_swap&lt;br /&gt;
* Telegram: https://t.me/infinityswapofficial&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Liquid ICP&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Liquid ICP is world&#039;s first s-Bridge where bridged and staked assets remain liquid. Fractional reserve is governed by Liquid ICP community and ensures immediate withdrawal of ICP coins at any given time.&lt;br /&gt;
* Where: https://www.icp-20.com/&lt;br /&gt;
* Twitter: https://twitter.com/LiquidICP&lt;br /&gt;
* Discord: https://discord.com/invite/3F8CYyPpHq&lt;br /&gt;
* Github: https://docs.icp-20.com/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;RFL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Random Fair Lottery on IC&lt;br /&gt;
* Twitter: https://twitter.com/RFL_app&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sailfish&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The gateway to open financial services on the Internet Computer&lt;br /&gt;
* Twitter: https://twitter.com/Sailfishapp&lt;br /&gt;
* Discord: https://discord.com/invite/7Wbqucc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sonic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Swap tokens, earn fees as a liquidity provider, &amp;amp; build on the Internet Computer’s AMM&lt;br /&gt;
* Where: https://sonic.ooo/&lt;br /&gt;
* Twitter: https://twitter.com/sonic_ooo&lt;br /&gt;
* Discord: https://discord.com/invite/EkmnRd99h6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SupraOracles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Bridging real-world data to automate, simplify, and secure the #smartcontracts of financial markets&lt;br /&gt;
* Where: https://www.supraoracles.com/&lt;br /&gt;
* Twitter: https://twitter.com/SupraOracles&lt;br /&gt;
* Telegram: https://t.me/supraoracles&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Uniswap Front End on the IC&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Uniswap front end hosted on the Internet Computer through Fleek. Showing how traditional DeFi solutions can now be hosted completely on-chain by using the Internet Computer blockchain. Another use case of completely decentralizing a service which currently has a centralized front end.&lt;br /&gt;
* Where: https://lqku6-wqaaa-aaaad-qalmq-cai.ic.fleek.co/#/swap&lt;br /&gt;
* Who: [https://fleek.co/ fleek]&lt;br /&gt;
&lt;br /&gt;
=== NFT (42) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Crowd Created Canvas (CCC)&#039;&#039;&#039;*&lt;br /&gt;
&lt;br /&gt;
* What: CCC is the first-ever collectible, collaborative pixel artwork created by the #Dfinity community, sharing bonus pool and getting NFT.&lt;br /&gt;
* Where: https://sdnoa-fiaaa-aaaah-aaubq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/CCCProtocol&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cronic NFTs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Cronics play-to-earn ecosystem on the $ICP blockchain. Trade Cronic Critters and accessories on @EntrepotApp&lt;br /&gt;
* Where: https://cronic.toniqlabs.com/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Twitter: https://twitter.com/CronicsP2E&lt;br /&gt;
* Telegram: https://t.me/cronic_talk&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;cubic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Cubic is a generative art project. Data such as ownership history and transaction history are used in different ways to generate unique canvases in a variety of styles.&lt;br /&gt;
* Where: https://cubic.place/&lt;br /&gt;
* Github: https://github.com/FloorLamp/cubic&lt;br /&gt;
* Telegram: https://t.me/cubicplace&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;CYMAN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 Randomly generated cybernetic humanoid&#039;s from 550,000,000 BCE built on the Internet Computer&lt;br /&gt;
* Where: https://www.cyman.live/&lt;br /&gt;
* Twitter: https://twitter.com/cyman_live&lt;br /&gt;
* Discord: https://discord.com/invite/cyman&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Ape Ventures&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 Unique Apes are getting ready to take their first steps in to the #ICP ecosystem&lt;br /&gt;
* Where: https://icapeventures.com/&lt;br /&gt;
* Twitter: https://twitter.com/ICApeVentures&lt;br /&gt;
* Discord: https://discord.com/invite/icapeventures&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICKitties&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 8-bit kitties on IC&lt;br /&gt;
* Twitter: https://twitter.com/ICKitties&lt;br /&gt;
* Discord: https://discord.com/invite/r2c4TTr4un&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPets | Infinity Pets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 11,111 of Infinity Pets 🐧 | Community Gain Focused NFT collection living on #ICP Blockchain&lt;br /&gt;
* Where: https://icpets.io/&lt;br /&gt;
* Twitter: https://twitter.com/icpets_nft&lt;br /&gt;
* Discord: https://discord.com/invite/nD9HqPQ7&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Photographers&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: At IC photographers, the aim is to bring both creator and collector together. We endeavour to show talented artists to the collectors of photography NFT’s.&lt;br /&gt;
* Where: https://www.icphotographers.com/&lt;br /&gt;
* Who: [https://twitter.com/olisav Oli]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPics&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: An NFT collection of 1,000 pieces of trival artwork on IC&lt;br /&gt;
* Twitter: https://twitter.com/ethnICPic&lt;br /&gt;
* Discord: https://discord.com/invite/gauQWrV2b4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPrime8s&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 5 releases of Prime8 focused, randomly generated NFTs on the Internet Computer&lt;br /&gt;
* Twitter: https://twitter.com/ICPrime8s&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPumpkin NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: NFT pumpkins for Halloween on IC&lt;br /&gt;
* Twitter: https://twitter.com/ICPumpkin&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dfinity Bulls NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 8,888 Awesome Badass Bulls will ever be minted! Exclusively on ICP!&lt;br /&gt;
* Twitter: https://twitter.com/DBulls_NFT&lt;br /&gt;
* Discord: https://discord.com/invite/GBSNhYeGxh&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DfinityNFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Cryptogarden of The Internet Computer. NFT cross-chain aggregator of The Internet Computer.&lt;br /&gt;
* Where: http://dfinitynft.com/&lt;br /&gt;
* Twitter: https://twitter.com/DfinityNFT&lt;br /&gt;
* DFINITY Grant: received in July 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exponent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Exponent Platform is a complete Layer1 DeFi solution running on DFINITY&#039;s Internet Computer. Our platform is made from a number of our token standard, SDK and protocols.&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Discord: https://t.co/9iDZBX35mg?amp=1&lt;br /&gt;
* Github: https://github.com/Toniq-Labs/exponent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Entrepot NFT Marketplace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Entrepot is a decentralized NFT marketplace developed by ToniqLabs, the creators behind Rise of the Magni, Stoic Wallet, Cronic NFTs, and Exponent. Entrepot (through Exponent) provides users with tools and on-chain services to design, deploy, and manage NFTs and traditional tokens.&lt;br /&gt;
* Where: https://entrepot.app/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Twitter: https://twitter.com/EntrepotApp&lt;br /&gt;
* Discord: https://discord.gg/toniqlabs&lt;br /&gt;
* Github: https://github.com/Toniq-Labs/exponent&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fantosaurs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Raptors from Isla NOOblar, currently on Eth, but hosted on IC&lt;br /&gt;
* Where:&lt;br /&gt;
** https://fantosaur.io/&lt;br /&gt;
** https://j5h4x-gyaaa-aaaad-qayjq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/fantosaurs&lt;br /&gt;
* Discord: https://discord.com/invite/e7bec4rm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fungible Token Standard by Deland&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Fungible token standard by Deland&lt;br /&gt;
* Where: https://github.com/Deland-Labs/dfinity-fungible-token-standard&lt;br /&gt;
* Who: [https://deland.one/ Deland Labs]&lt;br /&gt;
* Medium: [https://medium.com/@DelandLabs](https://medium.com/@DelandLabs)&lt;br /&gt;
* Discord: https://discord.gg/CdzzUaFUXq&lt;br /&gt;
* DFINITY Grant: received in August, 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haunted Hamsters&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: NFT set of 6,666 haunted hamsters, spooking on DFINITY ICP&lt;br /&gt;
* Where: http://www.hauntedhamsters.io/&lt;br /&gt;
* Twitter: https://twitter.com/HauntedHamsters&lt;br /&gt;
* Discord: https://discord.com/invite/DtSF7SGK&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC3D&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Cool 3D NFTs on the Internet Computer - IC 3D NFT&lt;br /&gt;
* Twitter: https://twitter.com/IC3DNFT&lt;br /&gt;
* Discord: https://discord.com/invite/ic3dnft&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Canvas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a collaborative NFT&lt;br /&gt;
* Where: https://rdbii-uiaaa-aaaab-qadva-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/kylpeacock Kyle Peacock]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: IC Cards is an NFT-based game on the IC Protocol. Gather, craft, level, and prepare yourself for a world full of monsters and villains.&lt;br /&gt;
* Where:&lt;br /&gt;
** [[ic.cards|ic.cards]]&lt;br /&gt;
** https://tbhsl-lqaaa-aaaaj-qagzq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/ic_cards&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICelebrity&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 100 Uniquely Minted handmade artistic representation of the people we know and love!&lt;br /&gt;
* Twitter: https://twitter.com/ICelebrityNFT&lt;br /&gt;
* Discord: [[discord.gg/AZFq4QMYBx|discord.gg/AZFq4QMYBx]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Gallery&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Home of the Metaverse. 9999 unique 3D Moonwalker NFTs&lt;br /&gt;
* Where: https://gan2q-ciaaa-aaaai-aanoq-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/ic_gallery IC Gallery]&lt;br /&gt;
* Twitter: https://twitter.com/ic_gallery&lt;br /&gt;
* Discord: https://discord.com/invite/6VWZNzskPA&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICircle NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 8888 Generative Art NFTs Launch Soon in #InternetComputer | Math + Art = Beautiful&lt;br /&gt;
* Twitter: https://twitter.com/icircle_nft&lt;br /&gt;
* Discord: https://discord.io/ICircle_NFT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Art&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Exclusive Hand-Crafted Art Collections&lt;br /&gt;
* Where: https://linktr.ee/ICPArt&lt;br /&gt;
* Twitter: https://twitter.com/ICP_Art&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP Squad&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: First Engage To Earn #NFTs Game. Powered by @dfinity&lt;br /&gt;
* Where: https://upf6d-saaaa-aaaah-aauwa-cai.ic0.app/#/&lt;br /&gt;
* Twitter: https://twitter.com/ICPSquadNFT&lt;br /&gt;
* Discord: https://discord.com/invite/icpsquad&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPunks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 10,000 randomly generated, unique collectible clowns with proof of ownership stored on the Internet Computer blockchain. Created as a reference to a meme comparing the Internet Computer token (ICP) with the Insane Clown Posse - an American hip hop duo founded in 1989.&lt;br /&gt;
* Where: https://icpunks.com/&lt;br /&gt;
* Twitter: https://twitter.com/ICPunks&lt;br /&gt;
* Who: [https://github.com/stopak stopak] and [https://github.com/przchojecki Przemyslaw Chojecki]&lt;br /&gt;
* Github: https://github.com/stopak/ICPunks/tree/dev&lt;br /&gt;
* Discord: https://discord.gg/m8QWD7m62h&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPuppies&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICPuppies is an NFT project hosted completely on the Internet Computer. In October, 10,000 randomly generated NFTs will be available for members of the Internet Computer community to claim through the Entrepot.app marketplace. A portion of the proceeds will be donated to organizations that support puppies.&lt;br /&gt;
* Where: https://icpuppies.io/&lt;br /&gt;
* Twitter: https://twitter.com/ICPuppies&lt;br /&gt;
* Discord: http://discord.gg/A3rmDSjBaJ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICSnakes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A collection of 10,000 randomly generated NFTs on #ICP blockchain hunting for food.&lt;br /&gt;
* Where: https://xn--4n8h7h.ws/&lt;br /&gt;
* Twitter: https://twitter.com/ICSnakes&lt;br /&gt;
* Discord: https://discord.com/invite/H9YUpwVrkQ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Turtles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Customizable and breedable NFTS, powered by GameFi and P2E, dropping with accessories included&lt;br /&gt;
* Twitter:https://twitter.com/ic_turtles&lt;br /&gt;
* Discord:https://discord.com/invite/n77xjyspDR&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inferval Vampire Colony&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: 666 randomly generated Vampires on the Internet Computer&lt;br /&gt;
* Where: https://www.infernalvampires.com/&lt;br /&gt;
* Twitter: https://twitter.com/IVCNFT&lt;br /&gt;
* Discord: https://discord.com/invite/mA5cXdAtwe&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Infinite Charity Project&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A nonprofit corporation and charitable org providing non-commercial fundraising for 501(c)3 charities&lt;br /&gt;
* Where: https://chimps.icproject.org/&lt;br /&gt;
* Twitter: https://twitter.com/icproject_nft&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Astronauts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Internet Astronauts are a set of 10,000 limited edition, uniquely minted astronaut-themed NFTs. These end-to-end on-chain NFTs will be up for grabs to the community through the Entrepot.app marketplace. They are only possible through the Internet Computer blockchain.&lt;br /&gt;
* Where: https://interastrosc.com/&lt;br /&gt;
* Twitter: https://twitter.com/interastrosc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meme Cake&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Meme Cake is a Social NFT multi-chain marketplace built for communities. Meme Cake is the new face of Marketplace, which aims to create transparency and social interaction with project creators and the community on an open platform. Meme Cake currently supports The Internet Computer and Solana.&lt;br /&gt;
* Where: https://memecake.io/&lt;br /&gt;
* Twitter: https://twitter.com/realmemecake&lt;br /&gt;
* Discord: https://discord.com/invite/vr2ATGMdug&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Newsie&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Comic Book and NFT Collection On The Internet Computer&lt;br /&gt;
* Where: https://gh2ig-jqaaa-aaaai-aaslq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/NewsieCartoon&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NFT Studio&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: NFT Studio allows users to Mint, Buy, Sell and Stake 3DWASM NFTs on the Internet Computer&lt;br /&gt;
* Where: https://7xw5z-uqaaa-aaaad-qaqcq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/NFTStudioPoland&lt;br /&gt;
* Discord: https://discord.com/invite/65P4NzzSQx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NFT Village&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Look up the attributes, NRI %, rarity, and other information about Internet Computer NFTs. Simply input the URL of your ICPunks and Cronics NFTs or any other NFT minted on the Internet Computer blockchain and learn all of the details that make the NFT unique.&lt;br /&gt;
* Where:&lt;br /&gt;
** http://nftvillage.ai/&lt;br /&gt;
** https://nntkg-vqaaa-aaaad-qamfa-cai.ic.fleek.co/&lt;br /&gt;
* Twitter: https://twitter.com/NFT_Village&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pokded Studio BOTS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A collection of 10,000 individual ROBOTS&lt;br /&gt;
* Twitter: https://twitter.com/pokedstudiouk&lt;br /&gt;
* Discord: https://discord.com/invite/PokedStudioNFT&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PORTAL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A Streamers Marketplace Powered by the #InternetComputer&lt;br /&gt;
* Where: https://ja7sy-daaaa-aaaai-qaguq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/PortalDapp&lt;br /&gt;
* Discord: https://discord.com/invite/FSSauMNrbS&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Sword NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: #ICP exclusive. Follow for updates and airdrop information. Series 1: Little Ninjas. Only 10K Unique Ninjas will be Minted, ever.&lt;br /&gt;
* Where: https://theswordnft.com/&lt;br /&gt;
* Twitter: https://twitter.com/TheSwordNft&lt;br /&gt;
* Discord: https://discord.com/invite/Xgc5zTrdSb&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wild and West NFT&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A wild west themed NFT project&lt;br /&gt;
* Where: https://wildandwest.com/&lt;br /&gt;
* Twitter: https://twitter.com/WildandWestNFT&lt;br /&gt;
* Discord: https://discord.com/invite/wildandwest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Yolo Octopus&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a collection of 8888 intelligently generated NFTs on the Internet Computer blockchain&lt;br /&gt;
* Where: http://www.enteryoloclub.com/&lt;br /&gt;
* Twitter: https://twitter.com/EnterYoloClub&lt;br /&gt;
&lt;br /&gt;
=== Social (11) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;crowdEats&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Yelp on IC, owned by users&lt;br /&gt;
* Where: https://www.crowdeats.io/&lt;br /&gt;
* Twitter: https://twitter.com/crowdeats_io&lt;br /&gt;
* Discord: https://discord.gg/Cmm7N9pqsK&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DSCVR&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: DSCVR is a decentralized version of Reddit, where users are the owners. Decentralized end-to-end, built on the Internet Computer, and accessible from any browser.&lt;br /&gt;
* Where: https://h5aet-waaaa-aaaab-qaamq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/DscvrO&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Distrikt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Distrikt is a completely decentralized, community-owned professional network. Users of the platform will vote on upgrades, and no user data will ever be mined or sold. Create your account, secured by Internet Identity today.&lt;br /&gt;
* Team:&lt;br /&gt;
** https://distrikt.io&lt;br /&gt;
** https://c7fao-laaaa-aaaae-aaa4q-cai.ic0.app/&lt;br /&gt;
* Dapp:&lt;br /&gt;
** https://distrikt.app&lt;br /&gt;
** https://az5sd-cqaaa-aaaae-aaarq-cai.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/DistriktApp&lt;br /&gt;
* Telegram: https://t.me/DistriktApp&lt;br /&gt;
* Newsletter: https://medium.com/distrikt&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DSocial&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Decentralized Youtube on IC&lt;br /&gt;
* Twitter: https://twitter.com/DSocialApp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICPMeet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: a Tinder on ICP&lt;br /&gt;
* Where: https://www.icpmeet.com/&lt;br /&gt;
* Who: [https://github.com/HelloRickey Rickey]&lt;br /&gt;
* Twitter: https://twitter.com/icpmeet&lt;br /&gt;
* DFINITY Grant: received in July 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Go Bazzinga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: World&#039;s first decentralised &amp;quot;Short-Video X Draft Kings&amp;quot; Social Speculation Platform&lt;br /&gt;
* Where: https://gobazzinga.io/&lt;br /&gt;
* Twitter: https://twitter.com/GoBazzingainc&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Learned&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: LEARND is a community driven educationnal platform running on Internet Computer. We want to provide a new kind of learning and incentives using crypto assets, community vote using SNS, reward learners AND teachers.&lt;br /&gt;
* Where: https://learnd.dedn.eu/&lt;br /&gt;
* Twitter: https://twitter.com/LEARNDTEAM&lt;br /&gt;
* Who: [https://twitter.com/WaffCharlie Charlie Waff]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ModClub&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: MODCLUB is a decentralized content moderation platform, it simplifies the moderation process by connecting our community to dApps that need UGC moderation. It has a reputation token economics model.&lt;br /&gt;
* Where: https://ljyte-qiaaa-aaaah-qaiva-cai.raw.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/RaheelGovindji Raheel Govindji]&lt;br /&gt;
* Twitter: https://twitter.com/ModclubApp&lt;br /&gt;
* Discord: http://discord.gg/8zUrHd46Tf&lt;br /&gt;
* Medium: [https://medium.com/@modclub](https://medium.com/@modclub)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OpenChat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Decentralized messaging has been a pipe-dream for decades. With the advent of the Internet Computer, real-time messaging is now possible on a blockchain.&lt;br /&gt;
* Where: https://oc.app&lt;br /&gt;
* Twitter: https://twitter.com/OpenChat&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Overchute&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A decentralized smart-contract application for crowdfunding the release of intellectual property under open licences&lt;br /&gt;
* Where: https://overchute.com/&lt;br /&gt;
* Twitter: https://twitter.com/OverchuteApp&lt;br /&gt;
* Github: https://github.com/Overchute&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Party Board&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Multi-chain metaverse social network&lt;br /&gt;
* Twitter: https://twitter.com/party_board&lt;br /&gt;
* Telegram: https://t.me/partyboard_en&lt;br /&gt;
* Discord: https://discord.com/invite/kewhcJM4uf&lt;br /&gt;
&lt;br /&gt;
=== Games (10) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cube Run&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The classic game, &amp;quot;Cube Run&amp;quot; gets an update by having a new graphic interface and being hosted completely on-chain. The decentralized version of this game lets you keep your high-score running in your browser through persistent memory.&lt;br /&gt;
* Where: https://7qx3n-ziaaa-aaaad-qaqca-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HEXGL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: HexGL is a futuristic racing game using HTML5, Javascript, WebGL and hosted on the Internet Computer blockchain in order to run instantly on your browser from anywhere in the world.&lt;br /&gt;
* Where: https://neqb2-dyaaa-aaaad-qameq-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICMoji Origins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: ICMoji Origins is an NFT-based multiplayer game built end-to-end on-chain on the Internet Computer.&lt;br /&gt;
* Where:&lt;br /&gt;
** https://icmojis.com/&lt;br /&gt;
** https://graci-aaaaa-aaaah-aaqjq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/icmoji&lt;br /&gt;
* Who: [https://twitter.com/Visions_GFX Visions]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lo-Fi Player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Lo-Fi Player is a dapp hosted on the Internet Computer that lets users listen to relaxing beats delivered by blockchain. The back-end is using machine learning to build and develop the AI produced tunes, and users can interact within the player to change the sound to their liking.&lt;br /&gt;
* Where: https://hl2zz-gyaaa-aaaad-qas3a-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mission Is Possible&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A PVP third person shooter hosted on the Internet Computer blockchain. The John Wick inspired game is built using the Unity 3D Game Engine, and hosted on the IC enabling decentralized login with Internet Identity.&lt;br /&gt;
* Where: https://to3ja-iyaaa-aaaai-qapsq-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/MiP_the_Game&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Reversi&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Reversi is one of the first canister smart contracts deployed to the Internet Computer and is a completely decentralized multiplayer game. Play against a friend (or foe) in real-time, from any browser, anywhere in the world.&lt;br /&gt;
* Where: https://ivg37-qiaaa-aaaab-aaaga-cai.ic0.app/#!/play&lt;br /&gt;
* Who: [https://forum.dfinity.org/u/paulliu/ Paul Liu]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rise of the Magni&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Rise of the Magni, winner of the DSCVR hackathon for games on the Internet Computer. Buy, earn, and trade collectibles, compete in tactical battles online to earn in-game tokens, and venture through story mode to experience one of the first games built on the Internet Computer.&lt;br /&gt;
* Where: https://riseofthemagni.com/&lt;br /&gt;
* Who: [https://igpeu-waaaa-aaaad-qaava-cai.raw.ic0.app/ Toniq Labs]&lt;br /&gt;
* Twitter: https://twitter.com/ToniqGames&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Saga&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Have your fortune told on the Internet Computer. Saga Tarot gives you a tarot reading in one click. The user-friendly dapp is built completely on the Internet Computer, accessible from any browser. What will the future hold for you?&lt;br /&gt;
* Twitter: https://twitter.com/SagaCards&lt;br /&gt;
* Where:&lt;br /&gt;
** https://legends.saga.cards/&lt;br /&gt;
** https://5nl7c-zqaaa-aaaah-qaa7a-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Texas Hold&#039;em&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: IC Texas Hold&#039;em is a dapp hosted completely on-chain on the Internet Computer. 2nd place winner of the DSCVR Hackathon Season 2&lt;br /&gt;
* Where: https://lm5fh-ayaaa-aaaah-aafua-cai.ic0.app/&lt;br /&gt;
* Who: [https://twitter.com/NnsDaos NNSDao]&lt;br /&gt;
* Github: https://github.com/NnsDao/ICTexas-UI&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Welcome Into the Metaverse&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Prize winner of the DSCVR hackathon for the Internet Computer – this game brings digital community into a unified virtual space. Find anecdotes from founding ecosystem members, and go through a series of quests.&lt;br /&gt;
* Where: https://lc7ip-3iaaa-aaaah-aafva-cai.ic0.app/&lt;br /&gt;
* Who: https://twitter.com/ThuillierSbast3&lt;br /&gt;
&lt;br /&gt;
=== Metaverse (3) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Drip.Land&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Open project, liquid democracy/community. Metaverse building on the #IC&lt;br /&gt;
* Where: https://drip.land/info&lt;br /&gt;
* Twitter: https://twitter.com/ICdripland&lt;br /&gt;
* Telegram: https://t.me/icdrip&lt;br /&gt;
* Discord: https://discord.com/invite/U8YppXuU2x&lt;br /&gt;
* Github: https://github.com/FloorLamp/drip-land&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Metaverse AI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Digital human and virtual idol on IC&lt;br /&gt;
* Where: https://www.metaverseai.org/&lt;br /&gt;
* Who: [https://www.linkedin.com/in/henryonline/ Henry Yan]&lt;br /&gt;
* Twitter: https://twitter.com/metaverseOrg&lt;br /&gt;
* Github: https://github.com/Vera-AI-Technology&lt;br /&gt;
* DFINITY Grant: received in October 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XR Foundation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open source zero-profit collective building metaverse technologies.&lt;br /&gt;
* Where: https://www.xrfoundation.io/&lt;br /&gt;
* Github: https://github.com/XRFoundation/XREngine&lt;br /&gt;
&lt;br /&gt;
=== Productivity (12) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aedile&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Aedile brings your team’s work together in one shared space, completely built on-chain. Manage your boards, columns &amp;amp; cards to transform your projects, serving web experiences directly from the Internet Computer blockchain.&lt;br /&gt;
* Where: https://eemeo-taaaa-aaaad-qakjq-cai.ic.fleek.co/&lt;br /&gt;
* Who: [https://www.esensconsulting.com/ Esens Consulting]&lt;br /&gt;
* Twitter: https://twitter.com/aedile_ic&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Bunchd&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Create, Collaborate, and Earn on the Subscription Platform controlled by Creators.&lt;br /&gt;
* Twitter: https://twitter.com/GetBunchd&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dbox&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: decentralized inbox built on Internet Computer&lt;br /&gt;
* Where: https://www.dbox.foundation/&lt;br /&gt;
* Twitter: https://twitter.com/DBOXFoundation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DeckDeckGo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: An open source web editor for presentations built completely on-chain. This dapp is like a decentralized version of Google Slides built on the Internet Computer.&lt;br /&gt;
* Where: https://deckdeckgo.com&lt;br /&gt;
* Who: https://twitter.com/daviddalbusco, https://twitter.com/nasmattia&lt;br /&gt;
* Twitter: https://twitter.com/deckdeckgo&lt;br /&gt;
* Github: https://github.com/deckgo/deckdeckgo&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dmail.ai&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Use Web3, not Gmail. Dmail makes it safe and private for you to communicate storage and transfer token &amp;amp; NFTs on DFINITY&lt;br /&gt;
* Where: https://dmail.ai/&lt;br /&gt;
* Twitter: https://twitter.com/dmailofficial&lt;br /&gt;
* Telegram: https://t.me/dmailofficial&lt;br /&gt;
* Medium: [https://medium.com/@dmail_official](https://medium.com/@dmail_official)&lt;br /&gt;
* Github: https://github.com/dmailofficial&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Contacts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A social media management tool build on ICP, helping users manage relations in Web3 networks&lt;br /&gt;
* Who: [https://twitter.com/relationlabs Relation Labs]&lt;br /&gt;
* Twitter: https://twitter.com/relationlabs&lt;br /&gt;
* Other: [https://twitter.com/herbertyang/status/1454780835379384326 Grand Slam winner of 7th Wanxiang Blockchain Hackathon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IC Drive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A decentralized private file storage dapp built on the Internet Computer. Store and securely share any type from anywhere in the world with this decentralized version of Box, or Google Drive.&lt;br /&gt;
* Where: https://icdrive.co&lt;br /&gt;
* Who: https://twitter.com/nanditmehra&lt;br /&gt;
* Twitter: https://twitter.com/icDrive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICEvent&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: an open event service built on IC&lt;br /&gt;
* Where:&lt;br /&gt;
** https://icevent.vercel.app&lt;br /&gt;
** https://znisf-eqaaa-aaaaj-aabta-cai.raw.ic0.app/&lt;br /&gt;
* Twitter: https://twitter.com/vansdaynet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nuance&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Nuance is a Web3.0 blogging platform that is hosted on-chain end-to-end on the Internet Computer. Developed by Aikin Dapps, the alpha of the world’s first blogging platform to be hosted entirely on a blockchain has now launched. Nuance aims to bring NFTs into the world of editorial content ownership.&lt;br /&gt;
* Where: https://fxnaj-yaaaa-aaaaf-qad3q-cai.ic0.app&lt;br /&gt;
* Who: [https://www.aikin.io/ AIKIN]&lt;br /&gt;
* Twitter: https://twitter.com/AikinDApps&lt;br /&gt;
* Discord: https://discord.gg/2dPCPu6zxz&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Photos by Functionland&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Photos is a react-native(expo)+typescript application to replace Google Photos/Apple Photos, and give freedom in hosting your photos on any platform, either centralized servers like Amazon or Microsoft, or decentralized solutions such as Dfinity or IPFS-based &amp;quot;box&amp;quot;&lt;br /&gt;
* Where: https://fx.land/&lt;br /&gt;
* Twitter: https://twitter.com/functionland&lt;br /&gt;
* Telegram: https://t.me/functionlanders&lt;br /&gt;
* Github: https://github.com/functionland/photos&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quark&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Quark is an open internet service facilitating payments on the Internet Computer like Stripe or Paypal&lt;br /&gt;
* Where: https://ebgyc-nqaaa-aaaaf-qad6q-cai.ic0.app/&lt;br /&gt;
* Github: https://github.com/SuddenlyHazel&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Waterslide.app&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Frontend to interact with the @LiquityProtocol&lt;br /&gt;
* Where: https://waterslide.app/&lt;br /&gt;
* Twitter: https://twitter.com/waterslide_app&lt;br /&gt;
&lt;br /&gt;
=== Communities (3) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ICP123&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Find Awesome Dfinity Projects&lt;br /&gt;
* Where: https://icp123.xyz/&lt;br /&gt;
* Twitter: https://twitter.com/icp123xyz&lt;br /&gt;
* Github: https://github.com/icpfans-xyz&lt;br /&gt;
* Who: [https://github.com/includeleec Lee] of [https://twitter.com/nebulasio https://www.nebulas.io/]&lt;br /&gt;
* DFINITY Grant: received in June 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Computer Education&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: very helpful Github-based education resources with elaborate and step-by-step online classes and cirriculum to teach developers Internet Computer&lt;br /&gt;
* Where: https://github.com/DFINITY-Education&lt;br /&gt;
* Who: [https://github.com/nzoghb nico], [https://github.com/csolimano csolimano] and [https://github.com/crusso Claudio Russo]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;THUBA Education&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: THUBA Education is an education platform supported by Tsinghua University student Blockchain Association. The goal is to be a solid bridge between students and blockchain world. The students can use this platform to learn blockchain courses, join Hackthon and do some research.&lt;br /&gt;
* Where: https://thublockchain.org/&lt;br /&gt;
* Who: Tsinghua University Students Blockchain Association&lt;br /&gt;
&lt;br /&gt;
=== Enterprise (9) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Agryo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Agryo is the global risk intelligence provider that enables financial institutions to assess and manage financial risks in the crop field level for underwriting agriculture insurance, loans, and trade finance globally; as well as meet sustainability goals.&lt;br /&gt;
* Where: [[www.agryo.com|www.agryo.com]]&lt;br /&gt;
* Twitter: https://twitter.com/agryo_&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ContentFly&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Marketplace app connecting high quality Content Creators to Brands, running on Dfinity Internet Computer&lt;br /&gt;
* Where: https://contentfly.app/&lt;br /&gt;
* Twitter: https://twitter.com/ContentFlyApp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dFlow&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: &amp;quot;decentralized Workflow&amp;quot;- an innovative and simple way for defining and executing cross-organisational business flows&lt;br /&gt;
* Where: https://www.dcentra.io/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;dService&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: A next-generation decentralized Service Management Application running on the Internet Computer. The Application is primarily focused on IT Service Management.&lt;br /&gt;
* Where:&lt;br /&gt;
** https://agnoo-nqaaa-aaaah-aaq4q-cai.ic0.app/&lt;br /&gt;
** https://dservice.app&lt;br /&gt;
* Twitter: https://twitter.com/dServiceApp&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Get Impact Now&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The politics platform that enables you to change the world&lt;br /&gt;
* Where: https://getimpactnow.org/&lt;br /&gt;
* Twitter: https://twitter.com/getimpactnow&lt;br /&gt;
* Github: https://github.com/getimpactnow/getimpactnow/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Optex&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Optex is a powerful data visualisation tool designed to provide seamless insights into complex data. Optex is out-of-the-box solution that will allows users to combine data in a single analysis and get a holistic view of the same with interactive customisable visualisations.&lt;br /&gt;
* Where: https://www.clinicaltrialsintelligence.org/&lt;br /&gt;
* Twitter: https://twitter.com/ClinTexCTi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Origyn&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The Origyn Foundation is blending luxury goods, with NFTs by providing digital verifications for physical objects. Only possible on the Internet Computer.&lt;br /&gt;
* Where: https://www.origyn.ch/&lt;br /&gt;
* Twitter: https://twitter.com/ORIGYNTech&lt;br /&gt;
* Telegram: https://t.me/origynfoundation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Triip&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: Triip is a blockchain-enabled travel platform allows for direct interactions between service providers and clients. Using a propriety token, Triip Miles or TIIM, Triip is a network that enables greater transparency, security and lower cost transactions between those who travel and those who serve them.&lt;br /&gt;
* Where: https://www.triip.me/&lt;br /&gt;
* Twitter: https://twitter.com/triipme&lt;br /&gt;
* Telegram: https://t.me/TriipMilesICO&lt;br /&gt;
* Github: https://github.com/triipme&lt;br /&gt;
* Who: [https://www.triip.me/pages/about_us Triip Pte Ltd]&lt;br /&gt;
* DFINITY Grant: received in Aug 2021&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WeAct.chat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* What: The app made for groups of advocates, activists, and change makers working to better the world&lt;br /&gt;
* Where: https://www.weact.chat/dfinity&lt;br /&gt;
* Twitter: https://twitter.com/WeAct_Chat&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=How-To:_SNS_swap_participation_via_quill&amp;diff=4443</id>
		<title>How-To: SNS swap participation via quill</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=How-To:_SNS_swap_participation_via_quill&amp;diff=4443"/>
		<updated>2023-02-27T14:24:15Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NUMBEREDHEADINGS__&lt;br /&gt;
The goal of this page is to explain how to participate in the SNS sale via quill.&lt;br /&gt;
== Background and objective ==&lt;br /&gt;
* It is assumed that you have a working installation of quill and are familiar with the tool. For an introduction into quill, please see [https://medium.com/dfinity/introducing-quill-a-ledger-and-governance-toolkit-for-the-internet-computer-1df086ce5642 here]. For instructions on how to install and use quill please see the readme on [https://github.com/dfinity/quill GitHub] and the [https://internetcomputer.org/docs/current/references/quill-cli-reference/ quill documentation].&lt;br /&gt;
* For local testing with a local testnet see the corresponding [https://internetcomputer.org/docs/current/developer-docs/integrations/sns/get-sns/local-testing documentation]&lt;br /&gt;
* More information on SNS can be found [https://internetcomputer.org/sns/ here]&lt;br /&gt;
== Quill commands to participate in an SNS sale ==&lt;br /&gt;
For some more information on the commands that you can run with quill run &#039;&#039;&#039;quill help&#039;&#039;&#039; or &#039;&#039;&#039;quill sns help&#039;&#039;&#039; for SNS-specific commands. &lt;br /&gt;
=== Prerequisites === &lt;br /&gt;
* PEM file: To use quill you need your secret key in a PEM file. For help on how to create new identities and manage them see the corresponding documentation for dfx [https://internetcomputer.org/docs/current/references/cli-reference/dfx-identity#:~:text=dfx%20identity%20new%E2%80%8B,new%20command%20in%20any%20project. here]. Save the path to the PEM file as you will need it later. The content of the PEM file should look something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-----BEGIN EC PRIVATE KEY-----&lt;br /&gt;
MHQCAQEEICJxApEbuZznKFpV+VKACRK30i6+7u5Z13/DOl18cIC+oAcGBSuBBAAK&lt;br /&gt;
oUQDQgAEPas6Iag4TUx+Uop+3NhE6s3FlayFtbwdhRVjvOar0kPTfE/N8N6btRnd&lt;br /&gt;
74ly5xXEBNSXiENyxhEuzOZrIWMCNQ==&lt;br /&gt;
-----END EC PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Canister Ids file: You will need a file which stores the mappings of canister ids to their names. It should look something like this (Note: The actual ids will be different for the sale you want to participate in):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
&amp;quot;root_canister_id&amp;quot;:&amp;quot;sgymv-uiaaa-aaaaa-aaaia-cai&amp;quot;,&lt;br /&gt;
&amp;quot;governance_canister_id&amp;quot;:&amp;quot;sbzkb-zqaaa-aaaaa-aaaiq-cai&amp;quot;,&lt;br /&gt;
&amp;quot;index_canister_id&amp;quot;:&amp;quot;s24we-diaaa-aaaaa-aaaka-cai&amp;quot;,&lt;br /&gt;
&amp;quot;swap_canister_id&amp;quot;:&amp;quot;sp3hj-caaaa-aaaaa-aaajq-cai&amp;quot;,&lt;br /&gt;
&amp;quot;ledger_canister_id&amp;quot;:&amp;quot;si2b5-pyaaa-aaaaa-aaaja-cai&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find the correct canister Ids from [https://dashboard.internetcomputer.org/canister/qaa6y-5yaaa-aaaaa-aaafa-cai the SNS-W]. Click ‘+’ next to list_deployed_snses, and then click “Call”.&lt;br /&gt;
Create a file called canister_ids and insert the SNS canister ids in the format from above. &lt;br /&gt;
&lt;br /&gt;
=== Check Status of SNS ===&lt;br /&gt;
To verify that your setup works and the SNS is up and running. &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Quill will ask you to sign and send this transaction. The response will be a description of each canister that make up the SNS. For participation in the SNS sale the canister &amp;quot;swap&amp;quot; is important. It should look something like this: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
swap = opt record {&lt;br /&gt;
      status = opt record {&lt;br /&gt;
        controller = principal &amp;quot;r7inp-6aaaa-aaaaa-aaabq-cai&amp;quot;;&lt;br /&gt;
        status = variant { running };&lt;br /&gt;
        freezing_threshold = 2_592_000 : nat;&lt;br /&gt;
        balance = vec { record { blob &amp;quot;\00&amp;quot;; 30_000_000_000_000 : nat } };&lt;br /&gt;
        memory_size = 11_029_070 : nat;&lt;br /&gt;
        cycles = 30_000_000_000_000 : nat;&lt;br /&gt;
        settings = record {&lt;br /&gt;
          controller = principal &amp;quot;r7inp-6aaaa-aaaaa-aaabq-cai&amp;quot;;&lt;br /&gt;
          freezing_threshold = 2_592_000 : nat;&lt;br /&gt;
          controllers = vec { principal &amp;quot;r7inp-6aaaa-aaaaa-aaabq-cai&amp;quot; };&lt;br /&gt;
          memory_allocation = 0 : nat;&lt;br /&gt;
          compute_allocation = 0 : nat;&lt;br /&gt;
        };&lt;br /&gt;
        idle_cycles_burned_per_day = 0 : nat;&lt;br /&gt;
        module_hash = opt blob &amp;quot;d\92\91\d2W:^\05\d9\ac\ec\a0\cd\a6=\de\df\1b\0f\c9\86\e6\8d\86+\d0\01\8b\f8f\81\b1&amp;quot;;&lt;br /&gt;
      };&lt;br /&gt;
      canister_id = opt principal &amp;quot;sp3hj-caaaa-aaaaa-aaajq-cai&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It&#039;s vital that the canister&#039;s status in &#039;&#039;&#039;running&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Getting SNS Sale parameters === &lt;br /&gt;
Before being able to buy any tokens, it is important to know what the parameters of the sale are. You can query them via &#039;&#039;&#039;dfx&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx canister --network https://ic0.app call &amp;lt;swap_canister_id&amp;gt; get_sale_parameters &amp;quot;(record {})&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The response should look something like this: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  record {&lt;br /&gt;
    params = opt record {&lt;br /&gt;
      min_participant_icp_e8s = 100_000_000 : nat64;&lt;br /&gt;
      neuron_basket_construction_parameters = opt record {&lt;br /&gt;
        dissolve_delay_interval_seconds = 31_536_000 : nat64;&lt;br /&gt;
        count = 3 : nat64;&lt;br /&gt;
      };&lt;br /&gt;
      max_icp_e8s = 50_000_000_000 : nat64;&lt;br /&gt;
      swap_due_timestamp_seconds = 1_677_398_018 : nat64;&lt;br /&gt;
      min_participants = 3 : nat32;&lt;br /&gt;
      sns_token_e8s = 500_000_000_000 : nat64;&lt;br /&gt;
      sale_delay_seconds = null;&lt;br /&gt;
      max_participant_icp_e8s = 20_000_000_000 : nat64;&lt;br /&gt;
      min_icp_e8s = 5_000_000_000 : nat64;&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The important parameters for the payment flow are the &#039;&#039;&#039;min_participant_icp_e8s&#039;&#039;&#039; and &#039;&#039;&#039;max_participant_icp_e8s&#039;&#039;&#039; with the former being the minimum amount of ICP per particpant and the latter being the maximum amount of ICP per participant to participate in the sale. Note that for your first payment you will have to pay with at least as many ICP as the number &#039;&#039;&#039;min_participant_icp_e8s&#039;&#039;&#039; suggests, otherwise your request will be denied. Any purchase after that can be of any amount as long as the total amount of ICP used for purchases is not higher than &#039;&#039;&#039;max_participant_icp_e8s&#039;&#039;&#039;. &lt;br /&gt;
=== Getting a Ticket ===&lt;br /&gt;
The first step in the actual payment flow is to acquire a ticket via quill. You can specify the amount you want to purchase but note that for the first time, it has to be at least as high as &#039;&#039;&#039;min_participant_icp_e8s&#039;&#039;&#039;.&lt;br /&gt;
The first command to get a ticket will create the transaction and has to be stored before it can be sent. For that purpose choose a path for this tx.json file:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; new-sale-ticket --amount-icp-e8s &amp;lt;amount_to_be_purchased&amp;gt; &amp;gt; PATH/tx_new_ticket.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To do a dry run of this transaction run &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; send --dry-run PATH/tx_new_ticket.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It will show you the full transaction without sending it. To actually send the transaction use:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; send PATH/tx_new_ticket.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The response will look something like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  record {&lt;br /&gt;
    result = opt variant {&lt;br /&gt;
      Ok = record {&lt;br /&gt;
        ticket = opt record {&lt;br /&gt;
          creation_time = 1_677_227_094_330_351_716 : nat64;&lt;br /&gt;
          ticket_id = 2 : nat64;&lt;br /&gt;
          account = opt record {&lt;br /&gt;
            owner = opt principal &amp;quot;iowfl-yzooa-br3dt-77erl-nlm7f-kplhq-php75-hw3an-aeqn2-swh4t-3qe&amp;quot;;&lt;br /&gt;
            subaccount = null;&lt;br /&gt;
          };&lt;br /&gt;
          amount_icp_e8s = 100_000_000 : nat64;&lt;br /&gt;
        };&lt;br /&gt;
      }&lt;br /&gt;
    };&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In this case, the amount specified was 100 Million e8 ICP. The important information here is the &#039;&#039;&#039;ticket_id&#039;&#039;&#039; and the &#039;&#039;&#039;creation_time&#039;&#039;&#039;, you will need them in the next step. Note that you cannot create another ticket while a ticket is still open. Use the ticket within 24 hours or the time stamp on the ticket will be outdated and it can no longer be used. To delete an existing ticket call:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx canister --network https://ic0.app --identity PATH/identity.pem --update call &lt;br /&gt;
 &amp;lt;swap_canister_id&amp;gt;  notify_payment_failure &amp;quot;(record {})&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Now you can request a new ticket. &lt;br /&gt;
=== Sending the Payment Transaction ===&lt;br /&gt;
A ticket was created and the actual payment can now be done. Similarly, to the previous step you have to create a file for the transaction, optionally perform a dry run to see the transaction before sending it and the send the transaction to the Internet Computer. Note that the creation_time format from the ticket has to be changed from &#039;&#039;&#039;&#039;1_677_227_094_330_351_716&#039;&#039;&#039; to &#039;&#039;&#039;1677227094330351716&#039;&#039;&#039; for the payment transaction to accept the timestamp format. &lt;br /&gt;
The three commands are the following: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; pay --amount-icp-e8s &amp;lt;amount_to_be_purchased&amp;gt; --ticket-creation-time &amp;lt;creation_time&amp;gt; --ticket-id &amp;lt;ticket_id&amp;gt; &amp;gt; PATH/tx_pay.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To do a dry run of this transaction run &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; send --dry-run PATH/tx_pay.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and send it with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; send PATH/tx_pay.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You will have to sign multiple transactions during this process.&lt;br /&gt;
The response will look something like this&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  record {&lt;br /&gt;
    icp_accepted_participation_e8s = 100_000_000 : nat64;&lt;br /&gt;
    icp_ledger_account_balance_e8s = 100_000_000 : nat64;&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
The return value &#039;&#039;&#039;icp_accepted_participation_e8s&#039;&#039;&#039; shows how many ICPs were already accepted in the SNS sale and the return value &#039;&#039;&#039;icp_ledger_account_balance_e8s&#039;&#039;&#039; shows how many ICPs have been sent to the SNS sale canister. If at the end of the sale, these two numbers are not equivalent and &#039;&#039;&#039;icp_ledger_account_balance_e8s&#039;&#039;&#039; is greater than &#039;&#039;&#039;icp_accepted_participation_e8s&#039;&#039;&#039; you can get a refund of your ICP that were not used in the SNS sale after the sale has concluded. Should the SNS sale abort you will get the amount &#039;&#039;&#039;icp_accepted_participation_e8s&#039;&#039;&#039; refunded automatically. &lt;br /&gt;
=== Checking your balance ===&lt;br /&gt;
To query your balance of all accepted ICP during a SNS sale run &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; get-sale-participation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
To query your balance of the SNS ledger run &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
quill --pem-file &amp;lt;path&amp;gt; sns --canister-ids-file &amp;lt;path&amp;gt; balance&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
While the sale is still ongoing the return will most likely be &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(0 : nat)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
This is the balance of the SNS ledger which will &#039;&#039;&#039;NOT&#039;&#039;&#039; be updated until the sale is over and the SNS tokens are allocated. Thus, any purchase you make during the sale will not be visible through this command. &lt;br /&gt;
To check your balance of tokens that have already been committed and the total amount of ICP you have sent to the SNS sale canister you need to look at the return value of when you called &#039;&#039;&#039;pay&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Replace_traditional_IT_with_a_World_Computer&amp;diff=4442</id>
		<title>Replace traditional IT with a World Computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Replace_traditional_IT_with_a_World_Computer&amp;diff=4442"/>
		<updated>2023-02-27T14:23:44Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;The Internet Computer aims to realize the [[World Computer]] vision first mooted within the [[Ethereum]] community in 2014. It is an open and decentralized platform that provides an alternative to the traditional IT stack, which is comprised of things such as [[cloud computing]] services, server computers, database servers, web servers, middleware, backup systems, and security infrastructure such as firewalls. The Internet Computer network provides an alternative platform that can be used to build and run almost any online system or service.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How, you might ask, can a public network provide an alternative to the $5-trillion-dollar-a-year IT industry (according to Gartner). The answer is that the Internet Computer is a radical new form of blockchain made possible by [[chain key cryptography|novel cryptography]] and math. Unlike traditional blockchains, it does not need to indefinitely store old blocks of transactions, does not need [[local node]]s in its network, and can scale its capacity to host compute, with orders of magnitude more efficiency.&lt;br /&gt;
&lt;br /&gt;
On the Internet Computer, developers can build almost any online system or service desired, just by writing [[canister smart contract]] code. Canisters are [[smart contract]]s with breakthrough levels of efficiency, have the speed to process HTTP requests and serve interactive web experiences directly to end users, and can be composed to &#039;&#039;build almost any system or service&#039;&#039;. Furthermore, their data is weakly private, with stronger privacy options in the works. Yet, while they work differently, for example running in parallel, they also have the key magical properties of traditional [[smart contract]]s.&lt;br /&gt;
&lt;br /&gt;
For example, [[canister]]s are unstoppable, and also tamperproof, which means that when their code is invoked, the Internet Computer is guaranteed to run the correct logic against the correct data. Furthermore, they can be made to run autonomously if required, and can process tokens.&lt;br /&gt;
&lt;br /&gt;
===No firewalls or security infrastructure necessary===&lt;br /&gt;
&lt;br /&gt;
One obvious advantage that the Internet Computer provides over traditional IT is security.&lt;br /&gt;
&lt;br /&gt;
Systems and services running from the Internet Computer, which have been built using canister smart contracts, don&#039;t need to be protected by firewalls. This is similar to how DeFi smart contracts on [[Ethereum]] don&#039;t need to be protected by firewalls. Instead, they are secure by default, which is the exact opposite of systems built using traditional software that run on traditional IT, which have no security by default, and must be protected by teams of security administrators, special configurations, and special security tech such as [https://en.wikipedia.org/wiki/Firewall_(computing) firewalls] and [https://en.wikipedia.org/wiki/Security_information_and_event_management SIEM logging].&lt;br /&gt;
&lt;br /&gt;
[https://www.vox.com/recode/22428774/ransomeware-pipeline-colonial-darkside-gas-prices When systems and services are built using traditional IT, just one simple mistake can allow a hacker can steal data, or encrypt systems using ransomware, with catastrophic results], and it happens all the time. In 2022, worldwide expenditure on IT security will be $172 billion dollars (according to Gartner), but the intangible costs of constant hacks and potential business disruption is much higher.&lt;br /&gt;
&lt;br /&gt;
Traditional IT is in the midst of a security meltdown, and the Internet Computer provides a way out. Because systems built on the Internet Computer using canisters are secure by default, the costs involved with security tech and its operation can be avoided, as can the vast majority of the intangible costs of hacks, and the damage they cause.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Where Web3 services and applications are concerned, which involve token assets that can be stolen, security is even more critical. Here it&#039;s possible to go one step further, by placing the canisters behind the service or application under the full control of a [[DAO]], so that if a developer goes rogue and wishes to hack the system, they are unable to do so because they cannot change its code in an unmoderated manner.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Build on a public network, not on a Big Tech fly trap===&lt;br /&gt;
&lt;br /&gt;
The game-changing advantages of the Internet Computer go far beyond security. In the 1990s, there was an ongoing debate regarding whether the public internet, or walled-garden networks, such as AOL, Compuserve and the [https://www.microsoft.com/en-us/research/publication/on-ramp-prospects-for-the-information-superhighway-dream/ &amp;quot;Information Superhighway&amp;quot; Microsoft imagined], would prevail. Eventually the internet easily won out because it was permissionless, and provided a free market, and nobody wanted to be fed content that was carefully curated for them by mega corporations.&lt;br /&gt;
&lt;br /&gt;
It was a free market because, if Alice and Bob created profitable but competing websites, say, then Alice could not call up the owner of the internet and say &amp;quot;if you slow down the public&#039;s access to Bob&#039;s website, I will give you stock in my company.&amp;quot; The permissionless free market provided the foundations for social impact and freedoms, innovation and massive economic growth.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The internet provided decentralized, permissionless and global network connectivity that now connects almost everyone and everything. The industry now needs to go one step further and do the same for computation using a [[World Computer]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The lives of the nearly 8 billion people on this planet could not be supported without the massive computing power that automates our global society&#039;s infrastructure. For example, it automates markets and supply chains that facilitate farming through the manufacture of fertilizer and tractors, and then the efficient transport of farm produce to supermarkets. Meanwhile, online interactions have created a social and business fabric that is an indispensable part of our personal and work lives.&lt;br /&gt;
&lt;br /&gt;
Given how pivotal society&#039;s information infrastructure has become to human existence, it makes no sense to build it out on the back of a few anointed Big Tech services, such as [[Amazon Web Services]], who will then make us all captive. Moreover, when compared to what the Internet Computer can provide as a blockchain, these platforms have serious disadvantages.&lt;br /&gt;
&lt;br /&gt;
To use traditional IT, developers must combine and integrate a veritable menagerie of components — such as servers or cloud instances, cloud orchestration layers, databases, web servers, memcached, backup systems, content distribution networks, middleware, security tools and much more — creating systems and services that resemble [https://en.wikipedia.org/wiki/Rube_Goldberg_machine Rube Goldberg machines] that are fragile and unnecessarily complex.&lt;br /&gt;
&lt;br /&gt;
Managing this complexity is the source of the biggest cost of all. Of the $5 trillion dollar global IT spend, 80% of that is spent on IT operations, which is comprised from human beings spending much of their time managing complexity. Organizations operating an important but simple website, say, will often hire systems administrators, database administrators and security administrators just to keep it running. This costs crazy amounts of money. These complex systems also cannot be updated quickly, creating opportunity costs.&lt;br /&gt;
&lt;br /&gt;
Meanwhile, when building on traditional IT, the reward is typically to become a captive customer of a [[cloud computing]] service provider and other vendors. Those building using the proprietary and complex stack provided by [[Amazon Web Services]], for example, often eventually find themselves in a similar predicament to those building using the Microsoft software stack twenty years ago, and get stuck there because the re-engineering costs involved with moving are too great. Cloud computing services keep releasing new platform features, and a large part of the reason, is to better trap those lured into building there.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer now provides a clear alternative in the form of a public network. On this open platform, you build using canister smart contract code that is unstoppable and secure without firewalls, and which greatly simplifies the construction and maintenance of systems and services. &lt;br /&gt;
&lt;br /&gt;
===Build on the internet to emit less CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
Traditional IT evolved in a time when computers were vastly less powerful, and the internet vastly slower, embedding architectural decisions that are no longer relevant at the root of an evolutionary branch of technology that is increasingly wrong-headed in the modern world.&lt;br /&gt;
&lt;br /&gt;
Even though the Internet Computer is an advanced blockchain, it may come as a surprise that when used as an alternative to traditional IT, it can reduce CO&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt; emissions. That is because its architecture, cryptography and network governance, is able to configure the replication of computation and data within its network (a key source of inefficiency within traditional blockchain networks), in a ways that constrain the order of replication to the minimum needed to provide the strong liveness (unstoppability) and security guarantees expected of a blockchain.&lt;br /&gt;
&lt;br /&gt;
Very deliberately, the Internet Computer&#039;s architecture and math embraces the replication of computation and data, using it to provide a platform for unstoppable and secure tamperproof code, while also scaling certain kinds of computation, such as data queries and web serving. &lt;br /&gt;
&lt;br /&gt;
By contrast, traditional IT is replete with accidental, tacked-on replication. When you create a system or service, very often data is replicated across several database nodes, backup systems, middleware, and more copies are kept handy by the code producing web pages, for example using memcached. Then the web pages and other content served are further replicated by [[Content Distribution Network (CDN)|CDNs (content distribution networks)]].&lt;br /&gt;
&lt;br /&gt;
When systems and services built using traditional IT components are considered as a whole, this accidental hidden replication is often very substantial. However, despite all the hidden replication involved, when systems and services are built using traditional IT, they are not unstoppable or secure and tamperproof.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer challenges deeply held misconceptions about blockchain science. In the popular imagination, it is defined by computationally expensive [https://en.wikipedia.org/wiki/Proof_of_work proof-of-work networks], which Satoshi introduced in his 2008 paper. These sometimes use as much power as a small country, yet can only process a handful of transactions a second.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer flips this narrative. It is a blockchain that can play the role of an end-to-end platform, which provides an alternative to traditional IT that will arguably be more efficient with respect to electricity consumption.&lt;br /&gt;
&lt;br /&gt;
===Web3 and cloud are incompatible===&lt;br /&gt;
&lt;br /&gt;
Today, if you ask much of the public and journalists what Web3 is, they will mostly propose that it is something to do with [[NFT]]s. But those working at the forefront of the field understand it as something much more profound and impactful. Web3 is about replacing today&#039;s Web 2.0 services, which are mostly run by big corporations, with an infrastructure that engages users through the tokenization of assets and participation rights, and by assigning full control over these services to [[DAO]]s (decentralized autonomous organizations), so they can be run by their communities.&lt;br /&gt;
&lt;br /&gt;
In the future, Web3 online services will run rather like open economies. They will be controlled by DAOs, which in turn will be controlled by voting using [[governance tokens]]. These tokens will be held by founders, core developers, investors and, most importantly, the end users of the services themselves. Algorithms will be give them out to users who contribute, perhaps because they are prolific creators of popular content, refer other users to the service, or help with content moderation. Users will be the owners of services, and also part of the team that runs them — which will enable them to scale fast, and make them more viral and sticky.&lt;br /&gt;
&lt;br /&gt;
Entire metaverse world&#039;s will run entirely from the blockchain. For example, one metaverse project being built on the Internet Computer today enables users to create their own 3D island, in the style of Minecraft, which they can share via a URL on their social media profiles. That world is itself an NFT, but they can also import ready-crafted objects into their metaverse islands, such as a castle or art gallery, by acquiring NFTs, then use the space to sell art NFTs. Island owners can create gateways to other islands, as a means to share traffic, and then sell the gateways as NFTs. This only scratches the surface of what is being done: The metaverse is an economy. &lt;br /&gt;
&lt;br /&gt;
Meanwhile, in Web3, everything blends with DeFi. For example, social media can blend with DeFi to become [[SocialFi]]. Open Chat ([https://oc.app oc.app]) is a messaging service that runs entirely from the Internet Computer blockchain, where smart contracts process and store text messages and media messages such as video. But this is no normal messaging service. A user account can also play the role of a crypto wallet, which maintains bitcoin, [[Roles of the ICP utility token|ICP]] and other tokens that can be sent along with chat messages. On top, it is being integrated by other Web3 developers, and special group chats now provide users with easy ways to vote on DAO governance proposals, among other things.&lt;br /&gt;
&lt;br /&gt;
The question of how security and regulation are handled by these new services is critical. Users do not want to lose their NFTs in a hack, especially if they confer ownership of a valuable and highly trafficked metaverse they created, say, and they also do not want to have their cryptocurrency and other tokens stolen. Furthermore, the developers of such services, do not want to find themselves classified as [https://en.wikipedia.org/wiki/Money_transmitter money transmitters], say, because they were constructed using centralized traditional IT.&lt;br /&gt;
&lt;br /&gt;
Any reasonable analysis shows that the only practical way to solve these problems is to run Web3 services in the mode of protocols, just like blockchains themselves. This can be done by building them exclusively using smart contracts that are then placed under the &#039;&#039;full and exclusive control of community DAOs&#039;&#039;. Once control has been transferred to a community DAO, and the service runs 100% from the blockchain without the use of traditional IT, the developers cannot arbitrarily change the code in an unmoderated way to steal crypto balances. Nor can anyone else steal the crypto balances unless their code is flawed.&lt;br /&gt;
&lt;br /&gt;
Moreover, when a Web3 service truly runs autonomously in cyberspace, under the exclusive control of a community DAO, then its management and ownership is no longer rooted in a jurisdiction and it runs in the manner of a decentralized protocol. There is no centralized entity such as a person, group of developers, or corporation that is responsible for its ongoing operations. This is very different to a Web3 service built using a cloud computing service, or other traditional IT, which roots it in a jurisdiction and directly transfers legal responsibility to those who control and own the cloud account. This responsibility is also transitively transferred to any shadow controllers.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer provides for any Web3 service or application to be built entirely on chain using smart contracts, without need for cloud computing, server computers, or any other traditional IT. Furthermore, services and applications can be placed under the full control of DAOs, either using the built-in [[Service Nervous System]] DAO framework, or third party DAO frameworks.&lt;br /&gt;
&lt;br /&gt;
===Web3 TL;DR===&lt;br /&gt;
&lt;br /&gt;
However you plan to build a Web3 service or application, you need to ditch the cloud and traditional IT. You can either build exclusively on the Internet Computer, or [[Extend_Bitcoin,_Ethereum_and_other_blockchains|combine smart contract code on the Internet Computer with smart contract code on other chains such as Ethereum]].&lt;br /&gt;
&lt;br /&gt;
Today, finally, thanks to years of work by engineers, computers science researchers and cryptographers, &#039;&#039;blockchain is the stack&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[https://internetcomputer.org/developers Get started building systems, applications and services using canister smart contracts running on a real World Computer].&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Identity_technical_overview&amp;diff=4441</id>
		<title>Internet Identity technical overview</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Identity_technical_overview&amp;diff=4441"/>
		<updated>2023-02-27T14:22:42Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
===Registration===&lt;br /&gt;
&lt;br /&gt;
When registering a new identity anchor, the user’s browser first generates a fresh session key pair. Once the user activates their secure device, it generates a fresh key pair that will act as the master key pair for this identity anchor. The secure device then signs a delegation from the master public key {{code | master_pk}} to the session public key {{code | session_pk}}, so that the browser can sign a registration ingress message under {{code | session_pk}} using a delegated signature under the principal &lt;br /&gt;
{{Code|&amp;lt;nowiki&amp;gt;SHA224(master_pk) · 0x02&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
&lt;br /&gt;
Note that the secret key corresponding to {{code | master_pk}} never leaves the secure device, while the secret key corresponding to {{code | session_pk}} is kept in browser storage where the same-origin policy shields it from being accessed by other canisters than the II canister.&lt;br /&gt;
The II canister creates a new II anchor and links the principal to the identity anchor. When the user adds an additional device to the anchor, the II canister adds the principals derived from the master public key of the new device to the anchor. &lt;br /&gt;
&lt;br /&gt;
All subsequent operations for this identity anchor must be authenticated under one of the principals associated with the anchor. The user’s browser will use an existing session key pair if the browser memory for the II canister origin contains one with a valid delegation, or creates a new one by repeating the previous procedure. Note that II does not use local storage for II – that&#039;s why the user always has to use biometrics/tap the Yubikey. Once the user closes the tab, the delegation is gone.&lt;br /&gt;
&lt;br /&gt;
===Authentication===&lt;br /&gt;
A single page load can involve multiple signed requests and responses. To avoid a user having to activate their security token for each individual message, the user’s browser will generate a session key pair for each relying canister and have the public key for the session certified by the II canister.&lt;br /&gt;
&lt;br /&gt;
More specifically, when the user visits a relying canister and clicks to login with Internet Identity, the user’s browser generates a fresh session key pair and stores it in the browser storage for the relying canister; refer to the public key as {{code |rel_session_pk}}. The browser is then redirected to the II canister, passing {{code |rel_session_pk}} along by encoding it as part of the URL.&lt;br /&gt;
&lt;br /&gt;
The browser signs an ingress message to log in to the II canister using the authentication procedure above, meaning, re-using a valid session key for the II canister if one exists, or creating a new one if not.&lt;br /&gt;
&lt;br /&gt;
When the user clicks to agree to authenticate to the relying canister, the browser creates a second ingress message to the II canister (also signed with the session public key) that contains the relying canister identity and the relying session public key {{code |rel_session_pk}} &lt;br /&gt;
&lt;br /&gt;
The II canister computes a unique self-authenticating principal for this user anchor and this relying canister as&lt;br /&gt;
&lt;br /&gt;
{{Code|&amp;lt;nowiki&amp;gt;SHA224(|id_provider| · id_provider · seed) · 02&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where the seed is computed based on a secret salt held by the II canister, the user’s identity anchor, and the relying canister as&lt;br /&gt;
&lt;br /&gt;
{{Code|&amp;lt;nowiki&amp;gt;SHA256(|salt| · salt · |anchor| · anchor · |rel_canister_id| · rel_canister_id)&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
where anchor is the user’s identity anchor, {{code | rel_canister_id}} is the principal of the relying canister, and seed is a secret seed held by the II canister. &lt;br /&gt;
&lt;br /&gt;
The salt was randomly chosen when the II canister was initialized and is stored in the II canister state. This offers some privacy against canisters that try to track users by linking principals that belong to the same identity anchor. The privacy guarantee does not hold against an adversary who knows the secret seed, though, e.g., a node provider participating in the subnet of the II canister. Note that this only affects privacy, not security: knowledge of the seed does not enable the adversary to impersonate any users.&lt;br /&gt;
&lt;br /&gt;
In its response, the II canister includes the nonce as well as a certified variable (also known as a canister signature) linking the relying canister ID to {{code |rel_session_pk}} and an expiry  time. The user’s browser is then redirected to the relying canister, where it signs ingress messages under {{code |rel_session_pk}}. &lt;br /&gt;
&lt;br /&gt;
==User experience==&lt;br /&gt;
&lt;br /&gt;
[[https://identity.ic0.app/ |Internet Identity]] does &#039;&#039;&#039;not&#039;&#039;&#039; use passwords and usernames to log in. Internet Identity takes advantage of the Web Authentication (WebAuthn) API to provide secure cryptographic authentication. This means that a user authenticates by &amp;quot;something they have&amp;quot; (e.g a phone, yubikey, etc...) rather than &amp;quot;something they know&amp;quot; (e.g. a password).&lt;br /&gt;
&lt;br /&gt;
From the point of view of the user, a user would use the following methods to authenticate:&lt;br /&gt;
&lt;br /&gt;
#Computers&lt;br /&gt;
##Yubikey or Ledger hardware wallet (with computers with USB ports)&lt;br /&gt;
##Thumbprint or face recognition (with computers with electronic fingerprint recognition features like [https://en.wikipedia.org/wiki/Touch_ID Touch ID] or [[wikipedia:Features_new_to_Windows_10#Windows_Hello|Windows Hello]])&lt;br /&gt;
#Smartphones&lt;br /&gt;
##Face ID (for smartphones with facial recognition systems)&lt;br /&gt;
##Thumbprint (for smartphones with electronic fingerprint recognition features like [https://en.wikipedia.org/wiki/Touch_ID Touch ID])&lt;br /&gt;
&lt;br /&gt;
==Key Concepts==&lt;br /&gt;
&lt;br /&gt;
===Anchor===&lt;br /&gt;
An anchor is a number attached to a user&#039;s identity. This number is auto-generated by the system and there is only one per identity. &lt;br /&gt;
&lt;br /&gt;
Example: {{code | 193431}}&lt;br /&gt;
&lt;br /&gt;
===Devices===&lt;br /&gt;
Users can add many devices to the same identity anchor. A common example is that users may add their smartphone and desktop computer to an identity anchor. It is recommended to add multiple devices in case users lose access to a device. Devices names are chosen by the user and there can be many per identity.&lt;br /&gt;
&lt;br /&gt;
Example:  &lt;br /&gt;
&lt;br /&gt;
*{{code | &amp;quot;Macbook Pro Alice&amp;quot;}}&lt;br /&gt;
*{{code | &amp;quot;iPhone Alice&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
==Recovery Mechanisms==&lt;br /&gt;
&lt;br /&gt;
In addition to adding multiple devices and using security keys, a user can set up account recovery at the prompt by clicking Add a recovery mechanism to an Identity Anchor.&lt;br /&gt;
&lt;br /&gt;
===Seed Phrase===&lt;br /&gt;
&lt;br /&gt;
A user can select this option to generate a cryptographically-secure seed phrase that they can use to recover an Identity Anchor. It is important that the user ensures this phrase is stored somewhere safe and is known only to the user, as anyone who knows the seed phrase will be able to take full control of this Identity Anchor. Note that the first string in a user&#039;s seed phrase is the Identity Anchor. This number to begin the recovery process.&lt;br /&gt;
&lt;br /&gt;
The user must click the copy button and then continue or the seed phrase will not be registered.&lt;br /&gt;
&lt;br /&gt;
===Security Key===&lt;br /&gt;
&lt;br /&gt;
A dedicated security key can be used to recover an Identity Anchor in the event that a user loses access to their authorized devices. This key must be different from the ones the user actively used to authenticate to Internet Identity using the given Identity Anchor. This key should be kept somewhere safe and ensure it is available only to the user. As above, anyone in possession of this security key will be able to take full control of the user&#039;s Identity Anchor. A user will need to know the Identity Anchor to begin recovery.&lt;br /&gt;
&lt;br /&gt;
==Security==&lt;br /&gt;
&lt;br /&gt;
Internet Identity is a canister running on the NNS network, so developers can verify it is running the code it is claimed to run. To verify the code, see [https://medium.com/dfinity/internet-identity-the-end-of-usernames-and-passwords-ff45e4861bf7 Verifying the Internet Identity Code: A Walkthrough].&lt;br /&gt;
&lt;br /&gt;
==Support==&lt;br /&gt;
&lt;br /&gt;
To see current support of WebAuthn, see [https://caniuse.com/?search=webauthn Webauthn Support].&lt;br /&gt;
&lt;br /&gt;
== See also==&lt;br /&gt;
* &#039;&#039;&#039;The Internet Computer project website (hosted on the IC): [https://internetcomputer.org/ internetcomputer.org]&#039;&#039;&#039;&lt;br /&gt;
* [[What is Internet Identity]] to get a quick overview of what Internet Identity is. &lt;br /&gt;
* [[Internet Identity for dapp users]] to get a walkthrough of setting up an anchor and using Internet Identity.&lt;br /&gt;
*[https://smartcontracts.org/docs/ic-identity-guide/what-is-ic-identity.html What is Internet Identity]&lt;br /&gt;
*[https://medium.com/dfinity/internet-identity-the-end-of-usernames-and-passwords-ff45e4861bf7 Internet Identity: The End of Usernames and Passwords]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Seed_participant_configuration_with_DFINITY_Canister_SDK&amp;diff=4439</id>
		<title>Seed participant configuration with DFINITY Canister SDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Seed_participant_configuration_with_DFINITY_Canister_SDK&amp;diff=4439"/>
		<updated>2023-02-27T14:21:07Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Superseded by separate updated documents on [[How-To: Claim neurons for seed participants|claiming]] and [[Tutorial: Neuron control|controlling]] neurons.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Steps to configure a neuron using the DFINITY Canistr SDK.&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
This process is not currently possible on macOS computers with M1 chips. You can only install the DFINITY Canister SDK dfx and the Candid compiler didc on Intel-based macOS and Linux computers.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Derive a native Internet Computer principal from your Ethereum seed==&lt;br /&gt;
&lt;br /&gt;
As an early contributor or seed donor, you wrote down a 12-word mnemonic seed phrase that was generated by the DFINITY Chrome extension. To create an identity, you must derive a private key from your seed phrase and import that private key into the DFINITY Canister SDK. This step is required before you can Take control of your neurons.&lt;br /&gt;
&lt;br /&gt;
===Step 1a: Secure your environment===&lt;br /&gt;
&lt;br /&gt;
The safety and security of your private key is your responsibility and there is no substitute for planning ahead, bringing the right equipment, having the right skills, and using good judgment. It is strongly recommended that you proceed using an air-gapped computer to reduce the risk of having your private key compromised. Depending on the hardware available, you might want to physically remove your network controller, microphone, speakers, and other components, or disable them in your BIOS. Covert channels can be established through a variety of different mediums, including sound, light, radio-frequency, and physical media. Be sure to evaluate the capabilities of your system before settling on a configuration that makes sense for you. If you don’t know what you are doing, you should consult with a computer security expert. Do not contact the DFINITY Foundation for help with securing your environment.&lt;br /&gt;
&lt;br /&gt;
===Step 1b: Install Keysmith===&lt;br /&gt;
&lt;br /&gt;
You need [https://github.com/dfinity/keysmith Keysmith] to derive your private/public key pair from the seed phrase.&lt;br /&gt;
&lt;br /&gt;
To install Keysmith, there are two options:&lt;br /&gt;
 &lt;br /&gt;
a. &#039;&#039;&#039;Fetch the release binary&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
b. &#039;&#039;&#039;Build Keysmith from source&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Option A: Fetch the release binary====&lt;br /&gt;
&lt;br /&gt;
If you want to download the Keysmith release binary, keep in mind that you must perform this action on a computer with a network connection. If you are using an air-gapped computer, then you must copy the release binary from your networked computer to your air-gapped computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
To download the Keysmith release binary, fetch release v1.5.0 from Github.&lt;br /&gt;
&lt;br /&gt;
Keysmith supports the following operating systems and architectures:&lt;br /&gt;
&lt;br /&gt;
* Darwin / AMD64 – for macOS models with an Intel chip ([[https://www.howtogeek.com/706226/how-to-check-if-your-mac-is-using-an-intel-or-apple-silicon-processor/#:~:text=Here%2C%20you%E2%80%99ll%20find%20the,Mac%20with%20an%20Intel%20chip. how to check]])&lt;br /&gt;
&lt;br /&gt;
* Darwin / ARM64 – for newer macOS models with an M1 chip ([[https://www.howtogeek.com/706226/how-to-check-if-your-mac-is-using-an-intel-or-apple-silicon-processor/#:~:text=Here%2C%20you%E2%80%99ll%20find%20the,Mac%20with%20an%20Intel%20chip. how to check]])&lt;br /&gt;
&lt;br /&gt;
* Linux / AMD64&lt;br /&gt;
&lt;br /&gt;
* Linux / ARM32&lt;br /&gt;
&lt;br /&gt;
* Linux / ARM64&lt;br /&gt;
&lt;br /&gt;
* Windows / AMD64&lt;br /&gt;
&lt;br /&gt;
Download the {{code | .tar.gz}} file matching your architecture and operating system. If you have a newer M1-based macOS, download {{code |keysmith-darwin-arm64.tar.gz}}. Although you can install keysmith on macOS computers with an M1 chip, you can only install the DFINITY Canister SDK {{code|dfx}} command-line interface on Intel-based macOS computers. For an Intel-based macOS, download {{code|keysmith-darwin-amd64.tar.gz}}.&lt;br /&gt;
&lt;br /&gt;
=====Verify the SHA256 checksum of your download=====&lt;br /&gt;
&lt;br /&gt;
Open a terminal and change to the download directory. On a Mac this is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd ~/Downloads&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compute the SHA256 checksum of your download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ openssl dgst -sha256 keysmith-*.tar*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the output matches one of the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHA256(keysmith-darwin-amd64.tar.gz)= ad7383d60bced19580fa37b77e133b1e80416b482e4c5326ac2fd17a7710a318&lt;br /&gt;
SHA256(keysmith-darwin-arm64.tar.gz)= da1a4ac5ae04b85d4c5b0a3deb6442fb7c456dcf97cbd6ff8153316c5dbb29a9&lt;br /&gt;
SHA256(keysmith-linux-amd64.tar.gz)= 7901c3a23aef298f930d1dddf8eee23bc51a55ffda670accfd7b9e37748913d8&lt;br /&gt;
SHA256(keysmith-linux-arm32.tar.gz)= 0ab44e74cc502aa653dcb28962bcada5cbefb9e0ec41853a03fb4745c5cd51a9&lt;br /&gt;
SHA256(keysmith-linux-arm64.tar.gz)= 635c0bf98dd15f27b302ec0ea793f75c797441009c74500bd9d0a5df26092264&lt;br /&gt;
SHA256(keysmith-windows-amd64.tar.gz)= cb398c39583b81d5170dd0a9539d902715317572f6a640b45d3d2db01946b8fa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your browser already unzipped the .tar.gz for you and you have a file ending in .tar then make sure the output of openssl matches one of the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHA256(keysmith-darwin-amd64.tar)= 97b8048f00e75d6adc8651aac1aa77d9bd9c150b0dbc0b0f6409f0d6bdbb24a4&lt;br /&gt;
SHA256(keysmith-darwin-arm64.tar)= 07e296fbf33b0c06bd04a8ead30487762aa30ca2daf7e19948d74a96f2c34067&lt;br /&gt;
SHA256(keysmith-linux-amd64.tar)= 1d2d986a971f8c7ef0eeb4b01624f023ef8dc9c71d2f0127f21fcc99aebdc99a&lt;br /&gt;
SHA256(keysmith-linux-arm32.tar)= 8eb8efecd9182822326f2e60fcff32c0b1541cce206a12b3f2e94547c66dfe63&lt;br /&gt;
SHA256(keysmith-linux-arm64.tar)= 82264487e83cbfdd758c1227375758b7d1f0c864adb555775777e7d3afa19e08&lt;br /&gt;
SHA256(keysmith-windows-amd64.tar)= b85224d4e9807b8335295193c12dd0cab22bd38881d14c1f1c21479801ace17d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unpack and install keysmith====&lt;br /&gt;
&lt;br /&gt;
To extract the executable from the tarball, enter the following command into your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tar -f keysmith-*.tar* -x&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, add the executable to your PATH by entering the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$sudo install -d /usr/local/bin&lt;br /&gt;
$sudo install keysmith /usr/local/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter your laptop password. The password itself will not appear, simply type it and press enter.&lt;br /&gt;
&lt;br /&gt;
====Run it====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ keysmith&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: keysmith &amp;lt;command&amp;gt; [&amp;lt;args&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Available Commands:&lt;br /&gt;
    account             Print your account identifier.&lt;br /&gt;
    generate            Generate your mnemonic seed.&lt;br /&gt;
    legacy-address      Print your legacy address.&lt;br /&gt;
    principal           Print your principal identifier.&lt;br /&gt;
    private-key         Write your private key to a file.&lt;br /&gt;
    public-key          Print your public key.&lt;br /&gt;
    version             Print the version number.&lt;br /&gt;
    x-public-key        Print your extended public key.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are using macOS, making the keysmith binary executable might require you to change a permission setting using System Preferences &amp;gt; Security &amp;amp; Privacy &amp;gt; General.&lt;br /&gt;
&lt;br /&gt;
====Option B: Build Keysmith from source====&lt;br /&gt;
&lt;br /&gt;
f you want to build the Keysmith from source, keep in mind that you must perform this action on a computer with a network connection. If you are using an air-gapped computer, then you must copy the target binary from your networked computer to your air-gapped computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
Keysmith is written in [https://golang.org/ Go], so if you choose to build it from source, then you must first download and install Go, verify that go is in your PATH, and configure your GOPATH and GOBIN environment variables.&lt;br /&gt;
&lt;br /&gt;
Run the following command to build Keysmith from source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ go get github.com/dfinity/keysmith&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 1c: Install the DFINITY Canister SDK===&lt;br /&gt;
&lt;br /&gt;
You can install the DFINITY Canister SDK by fetching the v0.7.0 release binary from our website. It is not yet possible to build the DFINITY Canister SDK from source. Note that this action can only be performed on a networked computer. If you are using an air-gapped computer, then you must copy the release binary from your networked computer to your air-gapped computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
Run the following command to install the DFINITY Canister SDK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sh -ci &amp;quot;$(curl -fsSL https://sdk.dfinity.org/install.sh)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: Note that dfx will currently not install on M1-based Macs.&lt;br /&gt;
&lt;br /&gt;
===Step 1d: Set your seed phrase for use with keysmith===&lt;br /&gt;
&lt;br /&gt;
Once you have installed Keysmith and the DFINITY Canister SDK, and you are &#039;&#039;&#039;confident that your environment is secure&#039;&#039;&#039;, then you are ready to enter your seed for use with keysmith. For the duration of your session, you store your seed phrase in an environment variable. It will be eliminated from your system when you turn your computer off.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ read seed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter your seed phrase and finish with Return.&lt;br /&gt;
&lt;br /&gt;
If you prefer to not have your seed phrase displayed as you type then use this command instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ read -s seed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 1e: Check your legacy address and balance (optional)===&lt;br /&gt;
&lt;br /&gt;
At this point you can already verify your legacy address and ICPT balance. The legacy address matches to what was formerly called &amp;quot;DFN address&amp;quot; in the Dfinity Chrome extension. You may have copied it from the Chrome extension for your records back when you used the extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo $seed | keysmith legacy-address -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output is a 40 character hex string. It looks something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2d89d96b10f7a9456a9154b2f5309ee70df5bce1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check your ICPT balance as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo {} &amp;gt; dfx.json&lt;br /&gt;
GTC=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
ADDR=$(echo $seed | keysmith legacy-address -f -)&lt;br /&gt;
dfx canister --network=https://ic0.app call $GTC balance &#039;(&amp;quot;&#039;$ADDR&#039;&amp;quot;)&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output is the number of ICPT associated with your address.&lt;br /&gt;
&lt;br /&gt;
If you are an early contributor then you may have multiple addresses, all derived from your one seed phrase. To check the balance in each of them you do the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GTC=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
ADDR=$(echo $seed | keysmith legacy-address -f - -i 0)&lt;br /&gt;
dfx canister --network=https://ic0.app call $GTC balance &#039;(&amp;quot;&#039;$ADDR&#039;&amp;quot;)&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you repeat the last two lines with -i 1, -i 2, etc.&lt;br /&gt;
&lt;br /&gt;
===Step 1f: Derive and import your private key===&lt;br /&gt;
&lt;br /&gt;
Derive your private key from your seed phrase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo $seed | keysmith private-key -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This creates a file identity.pem containing your private key. Import your private key(s) into the DFINITY Canister SDK and then remove it from the filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx identity import &amp;lt;name&amp;gt; identity.pem&lt;br /&gt;
$ rm identity.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, &amp;lt;name&amp;gt; is an alias that you can choose arbitrarily for your identity, e.g. &amp;quot;jane&amp;quot;. The command above displays output similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Creating identity: &amp;quot;jane&amp;quot;.&lt;br /&gt;
Created identity: &amp;quot;jane&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make your new identity the currently-active one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx identity use &amp;lt;name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above displays output similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Using identity: &amp;quot;jane&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At any time, you can list all available identities with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx identity list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 2: Take control of your neurons==&lt;br /&gt;
&lt;br /&gt;
You will receive your tokens inside a set of neurons that have been pre-created for you. The number of neurons will total 31 or 49 depending on whether you are an early contributor or seed donor, respectively. Your tokens are disbursed equally over these neurons. Claiming your neurons is the process of obtaining control over your neurons. It is done for all neurons at once.&lt;br /&gt;
&lt;br /&gt;
Your neurons differ by their dissolve delay. For an explanation of dissolve delay see Instruct the neurons you wish to unstake to dissolve below.&lt;br /&gt;
&lt;br /&gt;
To claim your neurons, you need to sign and send a message to the Genesis Token Canister. You can accomplish this in one step on a networked computer using dfx canister call, or as two separate steps, one on an air-gapped computer using dfx canister sign, and another on a networked computer using dfx canister send. It is strongly recommended to take the latter approach to reduce the risk of having your private key compromised.&lt;br /&gt;
&lt;br /&gt;
Regardless of which method you choose, you will need to download and install didc, the Candid compiler, on your networked computer. You can find the latest release here. Note that the binaries are suffixed by the operating systems they run on, didc-linux64 and didc-macos. Be sure to download the correct one. Below are commands to install didc on macos. If your’re using Linux, simply use the linux64 suffix instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo install -d /usr/local/bin&lt;br /&gt;
$ sudo install -m 0755 ~/Downloads/didc-macos /usr/local/bin/didc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regardless of which method you choose, you will also need to download and extract the NNS canister interfaces on your networked computer. You can find the latest release here. Below are commands to extract the NNS canister interfaces.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pushd ~/Downloads&lt;br /&gt;
tar -f nns-ifaces-0.8.0.tar.gz -x&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you will need to have dfx.json file available in the directory from which you are running dfx commands. You can create an empty dfx.json file in your current directory by running the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo {} &amp;gt; dfx.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you’re using an air-gapped computer, then you’ll need to repeat this step since you’ll be running dfx commands in both places.&lt;br /&gt;
&lt;br /&gt;
After downloading and installing didc, downloading and extracting the NNS canister interfaces, and creating your dfx.json file(s), you can Claim in one step (not recommended) or Claim in two steps.&lt;br /&gt;
&lt;br /&gt;
===Claim in one step (not recommended)===&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Derive your public key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ PUBLIC_KEY=&amp;quot;$(echo $seed | keysmith public-key -f -)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Call the Genesis Token Canister to claim your neurons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER claim_neurons &#039;(&amp;quot;&#039;$PUBLIC_KEY&#039;&amp;quot;)&#039; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(Result)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/genesis_token.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Claim in two steps===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On your air-gapped computer:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Derive your public key.&lt;br /&gt;
&lt;br /&gt;
PUBLIC_KEY=&amp;quot;$(echo $seed | keysmith public-key -f -)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sign a message to claim your neurons.&lt;br /&gt;
&lt;br /&gt;
Note that the time allotted to send a signed message is a fixed 5-minute window. The --expire-after option enables you to specify the point in time when the 5-minute window for sending the signed message should end. For example, if you set the --expire-after option to one hour (1h), then you must wait at least 55 minutes before you send the generated message and the signature for the message is only valid during the 5-minute window ending in the 60th minute. Hence, you would need to send the message after 55 minutes and before 60 minutes for the message to be recognized as valid. If you don’t specify the --expire-after option, then the default expiration is five minutes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
dfx canister --network=https://ic0.app sign --expire-after=1h $CANISTER claim_neurons &#039;(&amp;quot;&#039;$PUBLIC_KEY&#039;&amp;quot;)&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above results in a message.json file in your current directory. You must copy that file from your air-gapped computer to your networked computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On your networked computer:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy&lt;br /&gt;
Send the signed message to the Genesis Token Canister to claim your neurons. As previously mentioned, you can only perform this action within the 5-minute window that you specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx canister --network=https://ic0.app send message.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unlike dfx canister call in the section [Claim in one step], the command dfx canister send does not return output that can be parsed by didc. Instead, it outputs only a request id.&lt;br /&gt;
&lt;br /&gt;
In order to see the effect of your send request, you have to do an additional step. Perform the following commands on your networked machine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER get_account &#039;(&amp;quot;paste legacy address here&amp;quot;)&#039; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(Result_2)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/genesis_token.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The legacy address to paste here in the second line above is what was formerly called &amp;quot;DFN address&amp;quot; in the Chrome extension. Note that the legacy address must be pasted without the 0x prefix and without the 8-character checksum at the end, i.e. it has exactly 40 characters in length. Furthermore, the legacy address must be in all lowercase. If you don’t remember it then you can obtain your legacy address by running this on your air-gapped machine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo $seed | keysmith legacy-address -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What you want to look for in the output of the get_account request is has_claimed = true and your principal. For example, the output of the get_account command looks like this for an unclaimed account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  variant {&lt;br /&gt;
    Ok = record {&lt;br /&gt;
      authenticated_principal_id = null;&lt;br /&gt;
      successfully_transferred_neurons = vec {};&lt;br /&gt;
      has_donated = false;&lt;br /&gt;
      failed_transferred_neurons = vec {};&lt;br /&gt;
      neuron_ids = vec { record { id = 1_234_567_890_123_456_789 : nat64;}; ...&lt;br /&gt;
		};&lt;br /&gt;
      has_claimed = false;&lt;br /&gt;
      has_forwarded = false;&lt;br /&gt;
      icpts = 12345 : nat32;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And like this for a successfully claimed account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  variant {&lt;br /&gt;
    Ok = record {&lt;br /&gt;
      authenticated_principal_id = opt principal &amp;quot;a56gn-wnhrl-i76df-ewgfe-23jfd-dfh03-ergrg-fesr1-1jhs9-reg2o-ure&amp;quot;;&lt;br /&gt;
      successfully_transferred_neurons = vec {};&lt;br /&gt;
      has_donated = false;&lt;br /&gt;
      failed_transferred_neurons = vec {};&lt;br /&gt;
      neuron_ids = vec { record { id = 1_234_567_890_123_456_789 : nat64;}; ...&lt;br /&gt;
		};&lt;br /&gt;
      has_claimed = true;&lt;br /&gt;
      has_forwarded = false;&lt;br /&gt;
      icpts = 12345 : nat32;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 3: Enable disbursal by passing the KYC process==&lt;br /&gt;
&lt;br /&gt;
Before you can disburse ICPT from your dissolved genesis neuron you must pass KYC. Note that this applies only to genesis neurons such as the ones given to seed donors. It does not apply to neurons that you later create by staking already-liquid ICPT.&lt;br /&gt;
&lt;br /&gt;
===Derive your DFN address===&lt;br /&gt;
&lt;br /&gt;
The DFINITY Chrome extension generated a 12-word mnemonic seed phrase. From that seed phrase, an Ethereum-style address can be derived, which was referred to in the Chrome extension as the &amp;quot;DFN address&amp;quot;. The KYC process requires that you submit your DFN address along with other information.&lt;br /&gt;
&lt;br /&gt;
====Using Keysmith====&lt;br /&gt;
&lt;br /&gt;
The easiest way to obtain your DFN address is to derive it from your seed phrase using Keysmith. The section Derive a native Internet Computer principal from your Ethereum seed already explained how to set up Keysmith and write your seed phrase into a file in a safe way. It is assumed here that you have carried out the steps at least up until that point. It is not important whether you have carried out any of the remaining steps on the way to claim your neurons. It is also not important whether you have installed the DFINITY Canister SDK. You only need Keysmith.&lt;br /&gt;
&lt;br /&gt;
Derive your DFN address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo $seed | keysmith legacy-address -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above displays output similar to a typical Ethereum address, but without the leading 0x prefix, and you will use it without the 0x prefix.&lt;br /&gt;
&lt;br /&gt;
====Using the DFINITY Chrome extension====&lt;br /&gt;
&lt;br /&gt;
Alternatively, you may have already written down your DFN address when you ran the Chrome extension to make the donation, or taken a screenshot of it. In this case, you can use the DFN address from there and you do not have to derive it from your seed phrase. The following is to remind you where it was visible in the Chrome extension.&lt;br /&gt;
&lt;br /&gt;
On the Chrome extension’s main page there was an information button (“i” in blue circle) next to the DFN balance:&lt;br /&gt;
&lt;br /&gt;
[[File:dfn-chrome-extension-1.png|512px|dfn chrome extension 1]]&lt;br /&gt;
&lt;br /&gt;
Clicking it presented a window displaying the DFN address:&lt;br /&gt;
&lt;br /&gt;
[[File:dfn-chrome-extension-1.png|512px|dfn chrome extension 2]]&lt;br /&gt;
&lt;br /&gt;
The DFN address displayed in the Chrome extension has a 4-byte checksum at the end and the 0x prefix. For our purposes here, you have to delete the last 8 characters and the prefix. For example: 0x98b20cae8074067c29c07a0a4ad94346cc33ee948bdcfe41 becomes 98b20cae8074067c29c07a0a4ad94346cc33ee94 which is 40 hex characters long.&lt;br /&gt;
&lt;br /&gt;
===Derive your principal identifier===&lt;br /&gt;
&lt;br /&gt;
The KYC form will also ask you for your principal. Derive it with Keysmith.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo $seed | keysmith principal -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above will display your principal identifier, which should look something like this: {{code|a56gn-wnhrl-i76df-ewgfe-23jfd-dfh03-ergrg-fesr1-1jhs9-reg2o-ure}} You will be asked to enter your principal identifier on the KYC form.&lt;br /&gt;
&lt;br /&gt;
===Submit your information===&lt;br /&gt;
&lt;br /&gt;
To submit your information, you first go to the [https://kyc.dfinity.org/gtc KYC landing page]. The landing page is a frontend hosted by the DFINITY Foundation and any information entered here is not shared with the external KYC provider.&lt;br /&gt;
&lt;br /&gt;
If the DFN address is valid, you are forwarded to the KYC main page.&lt;br /&gt;
&lt;br /&gt;
If you are not forwarded and instead see &amp;quot;Address not found&amp;quot; then your DFN address is invalid. Please double-check the address. For troubleshooting, see the subsection below.&lt;br /&gt;
&lt;br /&gt;
Once you are on the KYC main page, you can submit your personal identifying information (PII). Information entered on this page will be sent directly to the KYC provider.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
&lt;br /&gt;
If you have problems with your DFN address, then you can verify it using [https://etherscan.io/address/0x1Be116204bb55CB61c821a1C7866fA6f94b561a5#readContract Etherscan].&lt;br /&gt;
&lt;br /&gt;
After you connect to Etherscan, scroll down to row “51. tokens”, open the dropdown form by expanding the row, paste your DFN address in the field “&amp;lt;input&amp;gt; (address)” and click “Query”. For the example address 2d89d96b10f7a9456a9154b2f5309ee70df5bce1 you will see:&lt;br /&gt;
&lt;br /&gt;
[File:Etherscan-FDC-query.png|512px|Etherscan]&lt;br /&gt;
&lt;br /&gt;
If you made a seed donation then you will see the token amount that the FDC calculated. If the DFN address is incorrect then it will show a token amount of 0.&lt;br /&gt;
&lt;br /&gt;
==Step 4: Instruct the neurons you wish to unstake to dissolve==&lt;br /&gt;
&lt;br /&gt;
Once you have claimed your neurons and completed the KYC process, you can start &amp;quot;dissolving&amp;quot; your neurons.&lt;br /&gt;
&lt;br /&gt;
YOU ARE HIGHLY ENCOURAGED TO READ [https://medium.com/dfinity/understanding-the-internet-computers-network-nervous-system-neurons-and-icp-utility-tokens-730dab65cae8 THIS BLOG POST] BEFORE YOU START DISSOLVING YOUR NEURONS. THERE ARE MANY BENEFITS TO NEURON OWNERSHIP. BE SURE YOU UNDERSTAND EXACTLY WHAT YOU ARE GIVING UP BY DISSOLVING THEM. IN PARTICULAR, YOUR NEURONS A PRE-AGED AT 18-MONTHS, MEANING THAT YOUR VOTING REWARDS RECEIVE A MULTIPLIER EFFECT, WHICH YOU WILL LOSE WHEN YOUR NEURONS ENTER THE DISSOLVE STATE.&lt;br /&gt;
&lt;br /&gt;
Dissolving a neuron is not instantaneous, but rather takes place over a period of time known as the &amp;quot;dissolve delay&amp;quot;. The dissolve delay is a parameter of the individual neuron. In general, different neurons have different dissolve delays. When a neuron is dissolving, its dissolve delay falls over the passage of time, until either it is stopped by you, or it reaches zero. Once the dissolve delay reaches zero, it stops falling, and only then can you instruct the neuron to disburse your ICP tokens.&lt;br /&gt;
&lt;br /&gt;
Your neurons have dissolve delays of 0,1,2,…​,30 or 48 months.&lt;br /&gt;
&lt;br /&gt;
To start the dissolution of one of your neurons, you must sign and send a message to the governance canister. You can accomplish this in one step on a networked computer using dfx canister call, or as two separate steps, one on an air-gapped computer using dfx canister sign, and another on a networked computer using dfx canister send. It is strongly recommended to take the latter approach to reduce the risk of having your private key compromised.&lt;br /&gt;
&lt;br /&gt;
===Dissolve in one step (not recommended)===&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Call the governance canister to dissolve your neuron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Configure = record { operation = opt variant { StartDissolving = record {} } } } })&amp;quot; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(ManageNeuronResponse)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/governance.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you want to dissolve all of your neurons, then you must repeat the step above for each neuron identifier.&lt;br /&gt;
&lt;br /&gt;
===Dissolve in two steps===&lt;br /&gt;
&lt;br /&gt;
====On your air-gapped computer====&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sign a message to dissolve your neurons.&lt;br /&gt;
&lt;br /&gt;
Recall the behavior of the {{code|--expire-after}} option to ensure that you deliver the message within the correct 5-minute window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
dfx canister --network=https://ic0.app sign --expire-after=1h $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Configure = record { operation = opt variant { StartDissolving = record {} } } } })&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above results in a {{code|message.json}} file in your current directory. You must copy that file from your air-gapped computer to your networked computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
====On your networked computer====&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Send the signed message to the governance canister to dissolve your neurons. As previously mentioned, you can only perform this action within the 5-minute window that you specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx canister --network=https://ic0.app send message.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 5: Disburse ICP from neurons that are fully dissolved==&lt;br /&gt;
&lt;br /&gt;
===Disburse in one step (not recommended)===&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall your account identifier and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACCOUNT_ID=$(echo $seed | keysmith account -f -)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Disburse the ICP tokens locked in your neuron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES=&amp;quot;$(printf ${ACCOUNT_ID:8} | fold -w 2 | xargs -I {} printf &#039;%d:nat8; &#039; &#039;0x{}&#039;)&amp;quot;&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Disburse = record { to_account = opt record { hash = vec { $ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES } }; amount = null } } })&amp;quot; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(ManageNeuronResponse)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/governance.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disburse in two steps===&lt;br /&gt;
&lt;br /&gt;
====On your air-gapped computer====&lt;br /&gt;
&lt;br /&gt;
Recall your account identifier and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACCOUNT_ID=$(echo $seed | keysmith account -f -)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sign a message to disburse the ICP tokens locked your neuron.&lt;br /&gt;
&lt;br /&gt;
Recall the behavior of the {{code|--expire-after}} option to ensure you that you deliver the message within the correct 5-minute window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES=&amp;quot;$(printf ${ACCOUNT_ID:8} | fold -w 2 | xargs -I {} printf &#039;%d:nat8; &#039; &#039;0x{}&#039;)&amp;quot;&lt;br /&gt;
dfx canister --network=https://ic0.app sign --expire-after=1h $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Disburse = record { to_account = opt record { hash = vec { $ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES } }; amount = null } } })&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above results in a {{code|message.json}} file in your current directory. You must copy that file from your air-gapped computer to your networked computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
====On your networked computer====&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send the signed message to the governance canister to disburse the ICP tokens locked your neuron. As previously mentioned, you can only perform this action within the 5-minute window that you specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx canister --network=https://ic0.app send message.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related topics==&lt;br /&gt;
&lt;br /&gt;
* [[Neuron/ICP Instructions for Seed Participants]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Seed_participant_configuration_with_DFINITY_Canister_SDK&amp;diff=4438</id>
		<title>Seed participant configuration with DFINITY Canister SDK</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Seed_participant_configuration_with_DFINITY_Canister_SDK&amp;diff=4438"/>
		<updated>2023-02-27T14:20:45Z</updated>

		<summary type="html">&lt;p&gt;Ais: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Superseded by separate updated documents on [[How-To: Claim neurons for seed participants|claiming]] and [[Tutorial: Neuron control|controlling]] neurons.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Steps to configure a neuron using the DFINITY Canistr SDK.&lt;br /&gt;
&lt;br /&gt;
==Warning==&lt;br /&gt;
&lt;br /&gt;
This process is not currently possible on macOS computers with M1 chips. You can only install the DFINITY Canister SDK dfx and the Candid compiler didc on Intel-based macOS and Linux computers.&lt;br /&gt;
&lt;br /&gt;
==Step 1: Derive a native Internet Computer principal from your Ethereum seed==&lt;br /&gt;
&lt;br /&gt;
As an early contributor or seed donor, you wrote down a 12-word mnemonic seed phrase that was generated by the DFINITY Chrome extension. To create an identity, you must derive a private key from your seed phrase and import that private key into the DFINITY Canister SDK. This step is required before you can Take control of your neurons.&lt;br /&gt;
&lt;br /&gt;
===Step 1a: Secure your environment===&lt;br /&gt;
&lt;br /&gt;
The safety and security of your private key is your responsibility and there is no substitute for planning ahead, bringing the right equipment, having the right skills, and using good judgment. It is strongly recommended that you proceed using an air-gapped computer to reduce the risk of having your private key compromised. Depending on the hardware available, you might want to physically remove your network controller, microphone, speakers, and other components, or disable them in your BIOS. Covert channels can be established through a variety of different mediums, including sound, light, radio-frequency, and physical media. Be sure to evaluate the capabilities of your system before settling on a configuration that makes sense for you. If you don’t know what you are doing, you should consult with a computer security expert. Do not contact the DFINITY Foundation for help with securing your environment.&lt;br /&gt;
&lt;br /&gt;
===Step 1b: Install Keysmith===&lt;br /&gt;
&lt;br /&gt;
You need [https://github.com/dfinity/keysmith Keysmith] to derive your private/public key pair from the seed phrase.&lt;br /&gt;
&lt;br /&gt;
To install Keysmith, there are two options:&lt;br /&gt;
 &lt;br /&gt;
a. &#039;&#039;&#039;Fetch the release binary&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
b. &#039;&#039;&#039;Build Keysmith from source&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
====Option A: Fetch the release binary====&lt;br /&gt;
&lt;br /&gt;
If you want to download the Keysmith release binary, keep in mind that you must perform this action on a computer with a network connection. If you are using an air-gapped computer, then you must copy the release binary from your networked computer to your air-gapped computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
To download the Keysmith release binary, fetch release v1.5.0 from Github.&lt;br /&gt;
&lt;br /&gt;
Keysmith supports the following operating systems and architectures:&lt;br /&gt;
&lt;br /&gt;
* Darwin / AMD64 – for macOS models with an Intel chip ([[https://www.howtogeek.com/706226/how-to-check-if-your-mac-is-using-an-intel-or-apple-silicon-processor/#:~:text=Here%2C%20you%E2%80%99ll%20find%20the,Mac%20with%20an%20Intel%20chip. how to check]])&lt;br /&gt;
&lt;br /&gt;
* Darwin / ARM64 – for newer macOS models with an M1 chip ([[https://www.howtogeek.com/706226/how-to-check-if-your-mac-is-using-an-intel-or-apple-silicon-processor/#:~:text=Here%2C%20you%E2%80%99ll%20find%20the,Mac%20with%20an%20Intel%20chip. how to check]])&lt;br /&gt;
&lt;br /&gt;
* Linux / AMD64&lt;br /&gt;
&lt;br /&gt;
* Linux / ARM32&lt;br /&gt;
&lt;br /&gt;
* Linux / ARM64&lt;br /&gt;
&lt;br /&gt;
* Windows / AMD64&lt;br /&gt;
&lt;br /&gt;
Download the {{code | .tar.gz}} file matching your architecture and operating system. If you have a newer M1-based macOS, download {{code |keysmith-darwin-arm64.tar.gz}}. Although you can install keysmith on macOS computers with an M1 chip, you can only install the DFINITY Canister SDK {{code|dfx}} command-line interface on Intel-based macOS computers. For an Intel-based macOS, download {{code|keysmith-darwin-amd64.tar.gz}}.&lt;br /&gt;
&lt;br /&gt;
=====Verify the SHA256 checksum of your download=====&lt;br /&gt;
&lt;br /&gt;
Open a terminal and change to the download directory. On a Mac this is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd ~/Downloads&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Compute the SHA256 checksum of your download.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ openssl dgst -sha256 keysmith-*.tar*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make sure the output matches one of the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHA256(keysmith-darwin-amd64.tar.gz)= ad7383d60bced19580fa37b77e133b1e80416b482e4c5326ac2fd17a7710a318&lt;br /&gt;
SHA256(keysmith-darwin-arm64.tar.gz)= da1a4ac5ae04b85d4c5b0a3deb6442fb7c456dcf97cbd6ff8153316c5dbb29a9&lt;br /&gt;
SHA256(keysmith-linux-amd64.tar.gz)= 7901c3a23aef298f930d1dddf8eee23bc51a55ffda670accfd7b9e37748913d8&lt;br /&gt;
SHA256(keysmith-linux-arm32.tar.gz)= 0ab44e74cc502aa653dcb28962bcada5cbefb9e0ec41853a03fb4745c5cd51a9&lt;br /&gt;
SHA256(keysmith-linux-arm64.tar.gz)= 635c0bf98dd15f27b302ec0ea793f75c797441009c74500bd9d0a5df26092264&lt;br /&gt;
SHA256(keysmith-windows-amd64.tar.gz)= cb398c39583b81d5170dd0a9539d902715317572f6a640b45d3d2db01946b8fa&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your browser already unzipped the .tar.gz for you and you have a file ending in .tar then make sure the output of openssl matches one of the following lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHA256(keysmith-darwin-amd64.tar)= 97b8048f00e75d6adc8651aac1aa77d9bd9c150b0dbc0b0f6409f0d6bdbb24a4&lt;br /&gt;
SHA256(keysmith-darwin-arm64.tar)= 07e296fbf33b0c06bd04a8ead30487762aa30ca2daf7e19948d74a96f2c34067&lt;br /&gt;
SHA256(keysmith-linux-amd64.tar)= 1d2d986a971f8c7ef0eeb4b01624f023ef8dc9c71d2f0127f21fcc99aebdc99a&lt;br /&gt;
SHA256(keysmith-linux-arm32.tar)= 8eb8efecd9182822326f2e60fcff32c0b1541cce206a12b3f2e94547c66dfe63&lt;br /&gt;
SHA256(keysmith-linux-arm64.tar)= 82264487e83cbfdd758c1227375758b7d1f0c864adb555775777e7d3afa19e08&lt;br /&gt;
SHA256(keysmith-windows-amd64.tar)= b85224d4e9807b8335295193c12dd0cab22bd38881d14c1f1c21479801ace17d&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Unpack and install keysmith====&lt;br /&gt;
&lt;br /&gt;
To extract the executable from the tarball, enter the following command into your terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ tar -f keysmith-*.tar* -x&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Next, add the executable to your PATH by entering the commands below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$sudo install -d /usr/local/bin&lt;br /&gt;
$sudo install keysmith /usr/local/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will be prompted to enter your laptop password. The password itself will not appear, simply type it and press enter.&lt;br /&gt;
&lt;br /&gt;
====Run it====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ keysmith&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
usage: keysmith &amp;lt;command&amp;gt; [&amp;lt;args&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Available Commands:&lt;br /&gt;
    account             Print your account identifier.&lt;br /&gt;
    generate            Generate your mnemonic seed.&lt;br /&gt;
    legacy-address      Print your legacy address.&lt;br /&gt;
    principal           Print your principal identifier.&lt;br /&gt;
    private-key         Write your private key to a file.&lt;br /&gt;
    public-key          Print your public key.&lt;br /&gt;
    version             Print the version number.&lt;br /&gt;
    x-public-key        Print your extended public key.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are using macOS, making the keysmith binary executable might require you to change a permission setting using System Preferences &amp;gt; Security &amp;amp; Privacy &amp;gt; General.&lt;br /&gt;
&lt;br /&gt;
====Option B: Build Keysmith from source====&lt;br /&gt;
&lt;br /&gt;
f you want to build the Keysmith from source, keep in mind that you must perform this action on a computer with a network connection. If you are using an air-gapped computer, then you must copy the target binary from your networked computer to your air-gapped computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
Keysmith is written in [https://golang.org/ Go], so if you choose to build it from source, then you must first download and install Go, verify that go is in your PATH, and configure your GOPATH and GOBIN environment variables.&lt;br /&gt;
&lt;br /&gt;
Run the following command to build Keysmith from source.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ go get github.com/dfinity/keysmith&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 1c: Install the DFINITY Canister SDK===&lt;br /&gt;
&lt;br /&gt;
You can install the DFINITY Canister SDK by fetching the v0.7.0 release binary from our website. It is not yet possible to build the DFINITY Canister SDK from source. Note that this action can only be performed on a networked computer. If you are using an air-gapped computer, then you must copy the release binary from your networked computer to your air-gapped computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
Run the following command to install the DFINITY Canister SDK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sh -ci &amp;quot;$(curl -fsSL https://sdk.dfinity.org/install.sh)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warning: Note that dfx will currently not install on M1-based Macs.&lt;br /&gt;
&lt;br /&gt;
===Step 1d: Set your seed phrase for use with keysmith===&lt;br /&gt;
&lt;br /&gt;
Once you have installed Keysmith and the DFINITY Canister SDK, and you are &#039;&#039;&#039;confident that your environment is secure&#039;&#039;&#039;, then you are ready to enter your seed for use with keysmith. For the duration of your session, you store your seed phrase in an environment variable. It will be eliminated from your system when you turn your computer off.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ read seed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter your seed phrase and finish with Return.&lt;br /&gt;
&lt;br /&gt;
If you prefer to not have your seed phrase displayed as you type then use this command instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ read -s seed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Step 1e: Check your legacy address and balance (optional)===&lt;br /&gt;
&lt;br /&gt;
At this point you can already verify your legacy address and ICPT balance. The legacy address matches to what was formerly called &amp;quot;DFN address&amp;quot; in the Dfinity Chrome extension. You may have copied it from the Chrome extension for your records back when you used the extension.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo $seed | keysmith legacy-address -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output is a 40 character hex string. It looks something like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;2d89d96b10f7a9456a9154b2f5309ee70df5bce1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can check your ICPT balance as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo {} &amp;gt; dfx.json&lt;br /&gt;
GTC=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
ADDR=$(echo $seed | keysmith legacy-address -f -)&lt;br /&gt;
dfx canister --network=https://ic0.app call $GTC balance &#039;(&amp;quot;&#039;$ADDR&#039;&amp;quot;)&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output is the number of ICPT associated with your address.&lt;br /&gt;
&lt;br /&gt;
If you are an early contributor then you may have multiple addresses, all derived from your one seed phrase. To check the balance in each of them you do the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GTC=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
ADDR=$(echo $seed | keysmith legacy-address -f - -i 0)&lt;br /&gt;
dfx canister --network=https://ic0.app call $GTC balance &#039;(&amp;quot;&#039;$ADDR&#039;&amp;quot;)&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you repeat the last two lines with -i 1, -i 2, etc.&lt;br /&gt;
&lt;br /&gt;
===Step 1f: Derive and import your private key===&lt;br /&gt;
&lt;br /&gt;
Derive your private key from your seed phrase.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo $seed | keysmith private-key -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This creates a file identity.pem containing your private key. Import your private key(s) into the DFINITY Canister SDK and then remove it from the filesystem.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx identity import &amp;lt;name&amp;gt; identity.pem&lt;br /&gt;
$ rm identity.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here, &amp;lt;name&amp;gt; is an alias that you can choose arbitrarily for your identity, e.g. &amp;quot;jane&amp;quot;. The command above displays output similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Creating identity: &amp;quot;jane&amp;quot;.&lt;br /&gt;
Created identity: &amp;quot;jane&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Make your new identity the currently-active one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx identity use &amp;lt;name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above displays output similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Using identity: &amp;quot;jane&amp;quot;.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
At any time, you can list all available identities with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx identity list&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 2: Take control of your neurons==&lt;br /&gt;
&lt;br /&gt;
You will receive your tokens inside a set of neurons that have been pre-created for you. The number of neurons will total 31 or 49 depending on whether you are an early contributor or seed donor, respectively. Your tokens are disbursed equally over these neurons. Claiming your neurons is the process of obtaining control over your neurons. It is done for all neurons at once.&lt;br /&gt;
&lt;br /&gt;
Your neurons differ by their dissolve delay. For an explanation of dissolve delay see Instruct the neurons you wish to unstake to dissolve below.&lt;br /&gt;
&lt;br /&gt;
To claim your neurons, you need to sign and send a message to the Genesis Token Canister. You can accomplish this in one step on a networked computer using dfx canister call, or as two separate steps, one on an air-gapped computer using dfx canister sign, and another on a networked computer using dfx canister send. We strongly recommend the latter approach to reduce the risk of having your private key compromised.&lt;br /&gt;
&lt;br /&gt;
Regardless of which method you choose, you will need to download and install didc, the Candid compiler, on your networked computer. You can find the latest release here. Note that the binaries are suffixed by the operating systems they run on, didc-linux64 and didc-macos. Be sure to download the correct one. Below are commands to install didc on macos. If your’re using Linux, simply use the linux64 suffix instead.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo install -d /usr/local/bin&lt;br /&gt;
$ sudo install -m 0755 ~/Downloads/didc-macos /usr/local/bin/didc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Regardless of which method you choose, you will also need to download and extract the NNS canister interfaces on your networked computer. You can find the latest release here. Below are commands to extract the NNS canister interfaces.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pushd ~/Downloads&lt;br /&gt;
tar -f nns-ifaces-0.8.0.tar.gz -x&lt;br /&gt;
popd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, you will need to have dfx.json file available in the directory from which you are running dfx commands. You can create an empty dfx.json file in your current directory by running the following command.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo {} &amp;gt; dfx.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you’re using an air-gapped computer, then you’ll need to repeat this step since you’ll be running dfx commands in both places.&lt;br /&gt;
&lt;br /&gt;
After downloading and installing didc, downloading and extracting the NNS canister interfaces, and creating your dfx.json file(s), you can Claim in one step (not recommended) or Claim in two steps.&lt;br /&gt;
&lt;br /&gt;
===Claim in one step (not recommended)===&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Derive your public key.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ PUBLIC_KEY=&amp;quot;$(echo $seed | keysmith public-key -f -)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Call the Genesis Token Canister to claim your neurons.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER claim_neurons &#039;(&amp;quot;&#039;$PUBLIC_KEY&#039;&amp;quot;)&#039; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(Result)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/genesis_token.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Claim in two steps===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On your air-gapped computer:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Derive your public key.&lt;br /&gt;
&lt;br /&gt;
PUBLIC_KEY=&amp;quot;$(echo $seed | keysmith public-key -f -)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Sign a message to claim your neurons.&lt;br /&gt;
&lt;br /&gt;
Note that the time allotted to send a signed message is a fixed 5-minute window. The --expire-after option enables you to specify the point in time when the 5-minute window for sending the signed message should end. For example, if you set the --expire-after option to one hour (1h), then you must wait at least 55 minutes before you send the generated message and the signature for the message is only valid during the 5-minute window ending in the 60th minute. Hence, you would need to send the message after 55 minutes and before 60 minutes for the message to be recognized as valid. If you don’t specify the --expire-after option, then the default expiration is five minutes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
dfx canister --network=https://ic0.app sign --expire-after=1h $CANISTER claim_neurons &#039;(&amp;quot;&#039;$PUBLIC_KEY&#039;&amp;quot;)&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above results in a message.json file in your current directory. You must copy that file from your air-gapped computer to your networked computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;On your networked computer:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
copy&lt;br /&gt;
Send the signed message to the Genesis Token Canister to claim your neurons. As previously mentioned, you can only perform this action within the 5-minute window that you specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx canister --network=https://ic0.app send message.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unlike dfx canister call in the section [Claim in one step], the command dfx canister send does not return output that can be parsed by didc. Instead, it outputs only a request id.&lt;br /&gt;
&lt;br /&gt;
In order to see the effect of your send request, you have to do an additional step. Perform the following commands on your networked machine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=renrk-eyaaa-aaaaa-aaada-cai&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER get_account &#039;(&amp;quot;paste legacy address here&amp;quot;)&#039; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(Result_2)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/genesis_token.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The legacy address to paste here in the second line above is what was formerly called &amp;quot;DFN address&amp;quot; in the Chrome extension. Note that the legacy address must be pasted without the 0x prefix and without the 8-character checksum at the end, i.e. it has exactly 40 characters in length. Furthermore, the legacy address must be in all lowercase. If you don’t remember it then you can obtain your legacy address by running this on your air-gapped machine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo $seed | keysmith legacy-address -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What you want to look for in the output of the get_account request is has_claimed = true and your principal. For example, the output of the get_account command looks like this for an unclaimed account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  variant {&lt;br /&gt;
    Ok = record {&lt;br /&gt;
      authenticated_principal_id = null;&lt;br /&gt;
      successfully_transferred_neurons = vec {};&lt;br /&gt;
      has_donated = false;&lt;br /&gt;
      failed_transferred_neurons = vec {};&lt;br /&gt;
      neuron_ids = vec { record { id = 1_234_567_890_123_456_789 : nat64;}; ...&lt;br /&gt;
		};&lt;br /&gt;
      has_claimed = false;&lt;br /&gt;
      has_forwarded = false;&lt;br /&gt;
      icpts = 12345 : nat32;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And like this for a successfully claimed account:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(&lt;br /&gt;
  variant {&lt;br /&gt;
    Ok = record {&lt;br /&gt;
      authenticated_principal_id = opt principal &amp;quot;a56gn-wnhrl-i76df-ewgfe-23jfd-dfh03-ergrg-fesr1-1jhs9-reg2o-ure&amp;quot;;&lt;br /&gt;
      successfully_transferred_neurons = vec {};&lt;br /&gt;
      has_donated = false;&lt;br /&gt;
      failed_transferred_neurons = vec {};&lt;br /&gt;
      neuron_ids = vec { record { id = 1_234_567_890_123_456_789 : nat64;}; ...&lt;br /&gt;
		};&lt;br /&gt;
      has_claimed = true;&lt;br /&gt;
      has_forwarded = false;&lt;br /&gt;
      icpts = 12345 : nat32;&lt;br /&gt;
    }&lt;br /&gt;
  },&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 3: Enable disbursal by passing the KYC process==&lt;br /&gt;
&lt;br /&gt;
Before you can disburse ICPT from your dissolved genesis neuron you must pass KYC. Note that this applies only to genesis neurons such as the ones given to seed donors. It does not apply to neurons that you later create by staking already-liquid ICPT.&lt;br /&gt;
&lt;br /&gt;
===Derive your DFN address===&lt;br /&gt;
&lt;br /&gt;
The DFINITY Chrome extension generated a 12-word mnemonic seed phrase. From that seed phrase, an Ethereum-style address can be derived, which was referred to in the Chrome extension as the &amp;quot;DFN address&amp;quot;. The KYC process requires that you submit your DFN address along with other information.&lt;br /&gt;
&lt;br /&gt;
====Using Keysmith====&lt;br /&gt;
&lt;br /&gt;
The easiest way to obtain your DFN address is to derive it from your seed phrase using Keysmith. The section Derive a native Internet Computer principal from your Ethereum seed already explained how to set up Keysmith and write your seed phrase into a file in a safe way. It is assumed here that you have carried out the steps at least up until that point. It is not important whether you have carried out any of the remaining steps on the way to claim your neurons. It is also not important whether you have installed the DFINITY Canister SDK. You only need Keysmith.&lt;br /&gt;
&lt;br /&gt;
Derive your DFN address.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ echo $seed | keysmith legacy-address -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above displays output similar to a typical Ethereum address, but without the leading 0x prefix, and you will use it without the 0x prefix.&lt;br /&gt;
&lt;br /&gt;
====Using the DFINITY Chrome extension====&lt;br /&gt;
&lt;br /&gt;
Alternatively, you may have already written down your DFN address when you ran the Chrome extension to make the donation, or taken a screenshot of it. In this case, you can use the DFN address from there and you do not have to derive it from your seed phrase. The following is to remind you where it was visible in the Chrome extension.&lt;br /&gt;
&lt;br /&gt;
On the Chrome extension’s main page there was an information button (“i” in blue circle) next to the DFN balance:&lt;br /&gt;
&lt;br /&gt;
[[File:dfn-chrome-extension-1.png|512px|dfn chrome extension 1]]&lt;br /&gt;
&lt;br /&gt;
Clicking it presented a window displaying the DFN address:&lt;br /&gt;
&lt;br /&gt;
[[File:dfn-chrome-extension-1.png|512px|dfn chrome extension 2]]&lt;br /&gt;
&lt;br /&gt;
The DFN address displayed in the Chrome extension has a 4-byte checksum at the end and the 0x prefix. For our purposes here, you have to delete the last 8 characters and the prefix. For example: 0x98b20cae8074067c29c07a0a4ad94346cc33ee948bdcfe41 becomes 98b20cae8074067c29c07a0a4ad94346cc33ee94 which is 40 hex characters long.&lt;br /&gt;
&lt;br /&gt;
===Derive your principal identifier===&lt;br /&gt;
&lt;br /&gt;
The KYC form will also ask you for your principal. Derive it with Keysmith.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo $seed | keysmith principal -f -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above will display your principal identifier, which should look something like this: {{code|a56gn-wnhrl-i76df-ewgfe-23jfd-dfh03-ergrg-fesr1-1jhs9-reg2o-ure}} You will be asked to enter your principal identifier on the KYC form.&lt;br /&gt;
&lt;br /&gt;
===Submit your information===&lt;br /&gt;
&lt;br /&gt;
To submit your information, you first go to the [https://kyc.dfinity.org/gtc KYC landing page]. The landing page is a frontend hosted by the DFINITY Foundation and any information entered here is not shared with the external KYC provider.&lt;br /&gt;
&lt;br /&gt;
If the DFN address is valid, you are forwarded to the KYC main page.&lt;br /&gt;
&lt;br /&gt;
If you are not forwarded and instead see &amp;quot;Address not found&amp;quot; then your DFN address is invalid. Please double-check the address. For troubleshooting, see the subsection below.&lt;br /&gt;
&lt;br /&gt;
Once you are on the KYC main page, you can submit your personal identifying information (PII). Information entered on this page will be sent directly to the KYC provider.&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
&lt;br /&gt;
If you have problems with your DFN address, then you can verify it using [https://etherscan.io/address/0x1Be116204bb55CB61c821a1C7866fA6f94b561a5#readContract Etherscan].&lt;br /&gt;
&lt;br /&gt;
After you connect to Etherscan, scroll down to row “51. tokens”, open the dropdown form by expanding the row, paste your DFN address in the field “&amp;lt;input&amp;gt; (address)” and click “Query”. For the example address 2d89d96b10f7a9456a9154b2f5309ee70df5bce1 you will see:&lt;br /&gt;
&lt;br /&gt;
[File:Etherscan-FDC-query.png|512px|Etherscan]&lt;br /&gt;
&lt;br /&gt;
If you made a seed donation then you will see the token amount that the FDC calculated. If the DFN address is incorrect then it will show a token amount of 0.&lt;br /&gt;
&lt;br /&gt;
==Step 4: Instruct the neurons you wish to unstake to dissolve==&lt;br /&gt;
&lt;br /&gt;
Once you have claimed your neurons and completed the KYC process, you can start &amp;quot;dissolving&amp;quot; your neurons.&lt;br /&gt;
&lt;br /&gt;
YOU ARE HIGHLY ENCOURAGED TO READ [https://medium.com/dfinity/understanding-the-internet-computers-network-nervous-system-neurons-and-icp-utility-tokens-730dab65cae8 THIS BLOG POST] BEFORE YOU START DISSOLVING YOUR NEURONS. THERE ARE MANY BENEFITS TO NEURON OWNERSHIP. BE SURE YOU UNDERSTAND EXACTLY WHAT YOU ARE GIVING UP BY DISSOLVING THEM. IN PARTICULAR, YOUR NEURONS A PRE-AGED AT 18-MONTHS, MEANING THAT YOUR VOTING REWARDS RECEIVE A MULTIPLIER EFFECT, WHICH YOU WILL LOSE WHEN YOUR NEURONS ENTER THE DISSOLVE STATE.&lt;br /&gt;
&lt;br /&gt;
Dissolving a neuron is not instantaneous, but rather takes place over a period of time known as the &amp;quot;dissolve delay&amp;quot;. The dissolve delay is a parameter of the individual neuron. In general, different neurons have different dissolve delays. When a neuron is dissolving, its dissolve delay falls over the passage of time, until either it is stopped by you, or it reaches zero. Once the dissolve delay reaches zero, it stops falling, and only then can you instruct the neuron to disburse your ICP tokens.&lt;br /&gt;
&lt;br /&gt;
Your neurons have dissolve delays of 0,1,2,…​,30 or 48 months.&lt;br /&gt;
&lt;br /&gt;
To start the dissolution of one of your neurons, you must sign and send a message to the governance canister. You can accomplish this in one step on a networked computer using dfx canister call, or as two separate steps, one on an air-gapped computer using dfx canister sign, and another on a networked computer using dfx canister send. It is strongly recommended to take the latter approach to reduce the risk of having your private key compromised.&lt;br /&gt;
&lt;br /&gt;
===Dissolve in one step (not recommended)===&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Call the governance canister to dissolve your neuron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Configure = record { operation = opt variant { StartDissolving = record {} } } } })&amp;quot; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(ManageNeuronResponse)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/governance.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you want to dissolve all of your neurons, then you must repeat the step above for each neuron identifier.&lt;br /&gt;
&lt;br /&gt;
===Dissolve in two steps===&lt;br /&gt;
&lt;br /&gt;
====On your air-gapped computer====&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sign a message to dissolve your neurons.&lt;br /&gt;
&lt;br /&gt;
Recall the behavior of the {{code|--expire-after}} option to ensure that you deliver the message within the correct 5-minute window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
dfx canister --network=https://ic0.app sign --expire-after=1h $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Configure = record { operation = opt variant { StartDissolving = record {} } } } })&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above results in a {{code|message.json}} file in your current directory. You must copy that file from your air-gapped computer to your networked computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
====On your networked computer====&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Send the signed message to the governance canister to dissolve your neurons. As previously mentioned, you can only perform this action within the 5-minute window that you specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx canister --network=https://ic0.app send message.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Step 5: Disburse ICP from neurons that are fully dissolved==&lt;br /&gt;
&lt;br /&gt;
===Disburse in one step (not recommended)===&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall your account identifier and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACCOUNT_ID=$(echo $seed | keysmith account -f -)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Disburse the ICP tokens locked in your neuron.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES=&amp;quot;$(printf ${ACCOUNT_ID:8} | fold -w 2 | xargs -I {} printf &#039;%d:nat8; &#039; &#039;0x{}&#039;)&amp;quot;&lt;br /&gt;
RESULT=&amp;quot;$(dfx canister --network=https://ic0.app call $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Disburse = record { to_account = opt record { hash = vec { $ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES } }; amount = null } } })&amp;quot; --output=raw)&amp;quot;&lt;br /&gt;
didc decode -t &amp;quot;(ManageNeuronResponse)&amp;quot; -d ~/Downloads/nns-ifaces-0.8.0/governance.did $RESULT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Disburse in two steps===&lt;br /&gt;
&lt;br /&gt;
====On your air-gapped computer====&lt;br /&gt;
&lt;br /&gt;
Recall your account identifier and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ACCOUNT_ID=$(echo $seed | keysmith account -f -)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recall the identifier of the neuron you want to dissolve and declare it as an environment variable.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NEURON_ID=...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sign a message to disburse the ICP tokens locked your neuron.&lt;br /&gt;
&lt;br /&gt;
Recall the behavior of the {{code|--expire-after}} option to ensure you that you deliver the message within the correct 5-minute window.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CANISTER=rrkah-fqaaa-aaaaa-aaaaq-cai&lt;br /&gt;
ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES=&amp;quot;$(printf ${ACCOUNT_ID:8} | fold -w 2 | xargs -I {} printf &#039;%d:nat8; &#039; &#039;0x{}&#039;)&amp;quot;&lt;br /&gt;
dfx canister --network=https://ic0.app sign --expire-after=1h $CANISTER manage_neuron &amp;quot;(record { id = opt record { id = $NEURON_ID:nat64 }; command = opt variant { Disburse = record { to_account = opt record { hash = vec { $ACCOUNT_ID_WITHOUT_CHECKSUM_BYTES } }; amount = null } } })&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command above results in a {{code|message.json}} file in your current directory. You must copy that file from your air-gapped computer to your networked computer. How you do this will depend on your configuration.&lt;br /&gt;
&lt;br /&gt;
====On your networked computer====&lt;br /&gt;
&lt;br /&gt;
Verify that you can connect to the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dfx ping https://ic0.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Send the signed message to the governance canister to disburse the ICP tokens locked your neuron. As previously mentioned, you can only perform this action within the 5-minute window that you specified.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dfx canister --network=https://ic0.app send message.json&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Related topics==&lt;br /&gt;
&lt;br /&gt;
* [[Neuron/ICP Instructions for Seed Participants]]&lt;/div&gt;</summary>
		<author><name>Ais</name></author>
	</entry>
</feed>