<?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=Jens</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=Jens"/>
	<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/wiki/Special:Contributions/Jens"/>
	<updated>2026-04-11T06:06:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Deployment_Guide&amp;diff=6165</id>
		<title>Node Deployment Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Deployment_Guide&amp;diff=6165"/>
		<updated>2023-08-07T13:13:41Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This runbook covers all steps necessary to install the Internet Computer Operating System (IC-OS).&lt;br /&gt;
&lt;br /&gt;
The physical machine is expected to be racked and stacked according to its respective manual.&lt;br /&gt;
&lt;br /&gt;
If you encounter issues through any of these steps, check the [[Node Provider Troubleshooting]] page. If that does not solve your problem, you are encouraged to ask for assistance in the [[Node Provider Matrix channel]].&lt;br /&gt;
&lt;br /&gt;
❗️❗️❗️DFINITY does &#039;&#039;not&#039;&#039; offer live support for Node Providers attempting to onboard nodes.&lt;br /&gt;
&lt;br /&gt;
== 1. Choose onboarding path (HSM vs no HSM) ==&lt;br /&gt;
If you chose the [[Node Provider Onboarding#6. Choose onboarding path .28HSM vs no HSM.29|HSM Node Provider Onboarding Path]], follow the [[NitroKey HSM installation runbook]] to onboard your nodes.&lt;br /&gt;
&lt;br /&gt;
If you chose to onboard &#039;&#039;&#039;without&#039;&#039;&#039; a Nitrokey HSM, &#039;&#039;&#039;continue to the next step.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 2. Obtain requirements ==&lt;br /&gt;
* A USB (3.0 speed that can hold at least 4GB) to put the image file on.&lt;br /&gt;
** Faster USBs will allow the process to go much faster.&lt;br /&gt;
* The &amp;lt;code&amp;gt;node_operator_private_key.pem&amp;lt;/code&amp;gt; for your data center (Acquired from [[Node Provider Onboarding#7. Setup the Node Operator keys|Node Provider Onboarding step 7]])&lt;br /&gt;
* It is recommended that each server have a label with the BMC&#039;s MAC address for ease of identification in future dashboard upgrades.&lt;br /&gt;
&lt;br /&gt;
== 3. Download installation image ==&lt;br /&gt;
Download the latest release of the &#039;&#039;&#039;IC-OS USB Installer Image&#039;&#039;&#039; and the &#039;&#039;&#039;corresponding checksum&#039;&#039;&#039; from the [https://dashboard.internetcomputer.org/releases Internet Computer Dashboard Releases]. &lt;br /&gt;
&lt;br /&gt;
* Note that you should always use a release that is less than 6 weeks old in order to ensure that your node can keep up with the blockchain.&lt;br /&gt;
&lt;br /&gt;
== 4. Verify checksum and unarchive file ==&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
# Open the Terminal and type: &lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;shasum -a 256 ~/Downloads/disk-img.tar.gz&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Compare the calculated checksum with the &#039;&#039;&#039;IC-OS installation image checksum&#039;&#039;&#039; file downloaded in the previous step. &#039;&#039;&#039;Warning:&#039;&#039;&#039; Only continue if they are identical, otherwise please post your issue in the [[Node Provider Matrix channel]].&lt;br /&gt;
#: Open the Terminal and type: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;tar xzvf ~/Downloads/disk-img.tar.gz&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux / Ubuntu ===&lt;br /&gt;
# Open the Terminal and type: &lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;sha256sum ~/Downloads/disk-img.tar.gz&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Compare the calculated checksum with the &#039;&#039;&#039;IC-OS installation image checksum&#039;&#039;&#039; file downloaded in the previous step. &#039;&#039;&#039;Warning:&#039;&#039;&#039; Only continue if they are identical, otherwise please post your issue in the [[Node Provider Matrix channel]].&lt;br /&gt;
#: Open the Terminal and type: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;tar xzvf ~/Downloads/disk-img.tar.gz&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
# Open PowerShell and type: &lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;Get-FileHash -Algorithm SHA256 .\Downloads\disk-img.tar.gz&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Compare the calculated checksum with the &#039;&#039;&#039;IC-OS installation image checksum&#039;&#039;&#039; file downloaded in the previous step. &#039;&#039;&#039;Warning:&#039;&#039;&#039; Only continue if they are identical, otherwise please post your issue in the [[Node Provider Matrix channel]].&lt;br /&gt;
#: Open PowerShell and type: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;tar xzvf .\Downloads\disk-img.tar.gz&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5. Create Bootable USB Stick ==&lt;br /&gt;
=== Mac OS X ===&lt;br /&gt;
# Open the Terminal and type: &lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;diskutil list&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
# All available drives should be shown. Identify which device corresponds to your USB stick. You may need to unmount the USB drive:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;sudo diskutil unmount /dev/YOUR_USB_DEVICE_MOUNTED_PARTITION # E.g. /dev/disk4s1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# The file path is an example. Use the absolute path to the downloaded image. &#039;&#039;&#039;Warning:&#039;&#039;&#039; You risk losing your own data if you specify a wrong device. &lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;sudo dd if=/Users/YOUR_USER_NAME/Downloads/disk.img of=/dev/YOUR_USB_DEVICE bs=1M&amp;lt;/syntaxhighlight&amp;gt;If you get a “device is busy” error from the dd command, you can try running the following command to unmount all of the partitions on the disk, then re-run the dd command:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;sudo diskutil unmountDisk /dev/YOUR_USB_DEVICE # E.g. /dev/disk4&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux / Ubuntu ===&lt;br /&gt;
# Open the Terminal and type &lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;blkid&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# All available drives should be shown. Identify which device corresponds to your USB stick. You may need to unmount the USB drive:&lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;sudo diskutil unmount /dev/YOUR_USB_DEVICE_MOUNTED_PARTITION # E.g. /dev/sdb1&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Replace &#039;&#039;/dev/YOUR_USB_DEVICE&#039;&#039; with the device that corresponds to your USB stick. &#039;&#039;&#039;Warning:&#039;&#039;&#039; You risk losing your own data if you specify a wrong drive. &lt;br /&gt;
#:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;sudo dd if=~/Downloads/disk.img of=/dev/YOUR_USB_DEVICE bs=1M&amp;lt;/syntaxhighlight&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
# Download and install [https://rufus.ie/en/ Rufus Portable]&lt;br /&gt;
# Start Rufus &lt;br /&gt;
# Select the USB stick under device and select the previously downloaded IC-OS disk image and press start &lt;br /&gt;
#: [[File:05.png|480px|screenshot]]&lt;br /&gt;
# You may see some warnings. Make sure you don&#039;t have any other USBs in your computer and chose OK&lt;br /&gt;
#: [[File:06.png|480px|screenshot]]&lt;br /&gt;
#: [[File:07.png|480px|screenshot]]&lt;br /&gt;
# The &amp;quot;Ready&amp;quot; bar will go from left to right as it completes.&lt;br /&gt;
&lt;br /&gt;
== 6. Add configuration ==&lt;br /&gt;
&lt;br /&gt;
=== A. Open Config.ini in a text editor ===&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Mac OS X&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
# Open Finder. You should now be able to see the CONFIG partition. If it&#039;s not visible, remove the USB and insert it again.&lt;br /&gt;
#:[[File:mac_01.png|580px|screenshot]]&lt;br /&gt;
# Double-click &amp;lt;code&amp;gt;config.ini&amp;lt;/code&amp;gt; to open it in TextEdit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Linux&#039;&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
# Open the File Manager. You should now be able to see the CONFIG partition. If it&#039;s not visible, remove the USB and insert it again.&lt;br /&gt;
#:[[File:linux_01.png|580px|screenshot]]&lt;br /&gt;
# Double-click &amp;lt;code&amp;gt;config.ini&amp;lt;/code&amp;gt; to open it in KWrite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== &#039;&#039;&#039;Windows&#039;&#039;&#039; ====&lt;br /&gt;
&lt;br /&gt;
# Open the Disk Management utility with a right click on the Start menu &lt;br /&gt;
#:[[File:09-b.png|300px|screenshot]]#:&lt;br /&gt;
# Right click the CONFIG partition&lt;br /&gt;
# Select Change drive letter or paths...&lt;br /&gt;
#:[[File:10-b.png|780px|screenshot]]&lt;br /&gt;
# Select any letter from the drop-down list &lt;br /&gt;
#:[[File:11-b.png|480px|screenshot]]&lt;br /&gt;
# Click OK.&lt;br /&gt;
# You should now be able to see the CONFIG partition in your Windows Explorer. Select the &amp;lt;code&amp;gt;config.ini&amp;lt;/code&amp;gt; configuration file &lt;br /&gt;
#:[[File:12-b.png|780px|screenshot]]&lt;br /&gt;
# Click on Edit to open it.&lt;br /&gt;
&lt;br /&gt;
=== B. Edit Config.ini ===&lt;br /&gt;
&lt;br /&gt;
# Insert your IPv6 prefix, subnet and gateway.&lt;br /&gt;
#:[[File:Edit config ini.png|580px|screenshot]]&lt;br /&gt;
#:* The IPv6 prefix should consist of four groups of hexadecimal digits, separated by colons (&#039;:&#039;). Each group can contain up to four hex digits.&lt;br /&gt;
#:* For example, a valid prefix could look like this: &amp;lt;code&amp;gt;2a00:fb01:400:100&amp;lt;/code&amp;gt;&lt;br /&gt;
#:*&#039;&#039;&#039;Important:&#039;&#039;&#039;&lt;br /&gt;
#:** The prefix should not have a trailing &#039;:&#039;&lt;br /&gt;
#:** IPv6 CIDR notation allows for a double colon (&#039;::&#039;) to represent consecutive groups of zeroes in an address. However, the  prefix configuration in this context does &#039;&#039;&#039;not&#039;&#039;&#039; support &#039;::&#039;. The &#039;::&#039; shorthand should &#039;&#039;&#039;not&#039;&#039;&#039; be used. Even if some groups are all zeros, they must be explicitly written out.&lt;br /&gt;
# Save the changes. &lt;br /&gt;
#:* If you have trouble saving this file directly, you may need to save to a known location first, then copy the file into place.&lt;br /&gt;
#:* If you need help, please do not hesitate to post your issue in the [[Node Provider Matrix channel]].&lt;br /&gt;
#:*:[[File:mac_03.png|580px|screenshot]]&lt;br /&gt;
&lt;br /&gt;
=== C. Copy Node Operator private key to config partition ===&lt;br /&gt;
&lt;br /&gt;
# Copy &amp;lt;code&amp;gt;node_operator_private_key.pem&amp;lt;/code&amp;gt; (created in [[Node Provider Onboarding#7. Setup the Node Operator keys|Node Provider Onboarding step 7]]) to the &amp;lt;code&amp;gt;CONFIG&amp;lt;/code&amp;gt; partition. This file should have the name &amp;lt;code&amp;gt;node_operator_private_key.pem&amp;lt;/code&amp;gt;, and sit next to &amp;lt;code&amp;gt;config.ini&amp;lt;/code&amp;gt;, NOT inside the &amp;lt;code&amp;gt;ssh_authorized_keys&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
== 7. Connect Crash Cart ==&lt;br /&gt;
# In order to configure the UEFI and initiate the installation of the IC-OS, please connect a crash cart to the physical machine. &lt;br /&gt;
# Plug-in the VGA/Video, keyboard and IC-OS USB stick&lt;br /&gt;
#: [[File:08.png|580px|screenshot]]&lt;br /&gt;
&lt;br /&gt;
== 8. UEFI Setup and Boot Menu ==&lt;br /&gt;
Use the related page below to set up the BIOS/UEFI according to your hardware vendor.&lt;br /&gt;
&lt;br /&gt;
* [[Node Provider Machine Hardware Guide#Gen 2 Node Machine requirements|Gen2 hardware]]&lt;br /&gt;
**[[IC-OS Installation - UEFI Configuration - Gen2 Dell]]&lt;br /&gt;
** [[IC-OS Installation - UEFI Configuration - Gen2 Supermicro]]&lt;br /&gt;
** [[IC-OS Installation - UEFI Configuration - Gen2 Gigabyte]]&lt;br /&gt;
** &amp;lt;!--&lt;br /&gt;
* * [[IC OS Installation - UEFI Configuration - ASUS]]&lt;br /&gt;
* [[IC OS Installation - UEFI Configuration - Gigabyte]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* [[Node Provider Machine Hardware Guide#Gen 1 Node Machine requirements|Gen1 hardware]]&lt;br /&gt;
**[[IC-OS Installation - UEFI Configuration - Gen1 Dell|IC-OS Installation - UEFI Configuration - Gen1 Dell (Poweredge R6525)]]&lt;br /&gt;
** [[IC-OS Installation - UEFI Configuration - Gen1 Supermicro]]&lt;br /&gt;
*** &lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Do NOT enable the RAID bios setting. Doing so will cause issues with the IC-OS installation.&lt;br /&gt;
&lt;br /&gt;
Resume from this point when you are finished configuring the BIOS.&lt;br /&gt;
&lt;br /&gt;
== 9. IC-OS Installation ==&lt;br /&gt;
# Please wait while the USB Installer is booting up. This process can take up to 3 minutes.&lt;br /&gt;
#: [[File:35-sm.png|580px|screenshot]]&lt;br /&gt;
# The IC-OS installation starts. Please keep an eye on the progress. This part can take up to 10 minutes. Please remember to check the [[Possible Node Onboarding Errors]] page if you encounter any errors.&lt;br /&gt;
#:[[File:36-sm.png|580px|screenshot]]&lt;br /&gt;
# If the installation finished successfully, it will initiate a reboot. &lt;br /&gt;
#:[[File:38-sm.png|580px|screenshot]]&amp;lt;br /&amp;gt;&lt;br /&gt;
== 10. First Boot ==&lt;br /&gt;
Please remember to check the [[Possible Node Onboarding Errors]] page if you encounter any errors onboarding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🚨 Do NOT re-try the IC-OS installation after completing this section, as this can cause duplication within the registry.&#039;&#039;&#039;&lt;br /&gt;
# Once you see this message, you may unplug the USB stick and VGA/Video. &lt;br /&gt;
#:[[File:Node join message.png|580px|screenshot]]&lt;br /&gt;
&lt;br /&gt;
Congratulations! Your machine successfully joined the Internet Computer! The machine has joined the IC and the Node Provider will start receiving rewards!&lt;br /&gt;
&lt;br /&gt;
🚨 Again: Once you reach this stage and see this message, &#039;&#039;&#039;do not attempt to restart the onboarding process.&#039;&#039;&#039; Doing so may cause duplicate entries in the registry. &lt;br /&gt;
&lt;br /&gt;
== 11. Verify node onboarding ==&lt;br /&gt;
&lt;br /&gt;
# Verify that your node was successfully onboarded by checking its status on the [https://dashboard.internetcomputer.org/ dashboard] is set to either “Awaiting Subnet” or “Active in Subnet”. &lt;br /&gt;
#* The dashboard can be searched by your Node Provider principal. There, you should see the Node ID of your node (Node ID outputted in step 10).&lt;br /&gt;
#* If the status of your node is not either “Awaiting Subnet” or “Active in Subnet”, or if it is not listed under your Node Provider principal, you should contact the [[Node Provider Matrix channel]] for assistance.&lt;br /&gt;
#*:[[File:Dashboard-node-verification.png|thumb|998x998px]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Networking_Guide&amp;diff=6164</id>
		<title>Node Provider Networking Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Networking_Guide&amp;diff=6164"/>
		<updated>2023-08-07T13:12:08Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide is designed to provide an overview of the networking requirements and guide Node Providers through setting up their servers into a rack with functioning networking.&lt;br /&gt;
&lt;br /&gt;
Configuring networks is not trivial. You should be familiar with IP networking, network equipment and network cabling.  &lt;br /&gt;
&lt;br /&gt;
Resources to learn about networking: &lt;br /&gt;
&lt;br /&gt;
* [https://learningnetwork.cisco.com/s/article/200-301-ccna-study-materials CCNA Study Materials]&lt;br /&gt;
* Kevin Wallace [https://www.youtube.com/@kwallaceccie YouTube Training Videos]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DFINITY does not provide support for network configuration.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If a situation arises where you need technical assistance, keep decentralization and security in mind. Use a local technician you personally know and carefully monitor their work.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
To join your servers to the Internet Computer (IC) you will need:&lt;br /&gt;
&lt;br /&gt;
* 10G Network equipment&lt;br /&gt;
** [[wikipedia:Small_Form-factor_Pluggable|SFP+]] or [[wikipedia:10_Gigabit_Ethernet|Ethernet]]&lt;br /&gt;
** Switch(es)&lt;br /&gt;
** Cabling&lt;br /&gt;
** Quantity determined by number of nodes deployed&lt;br /&gt;
* Rackspace in a data center&lt;br /&gt;
* Internet connection&lt;br /&gt;
** Bandwidth&lt;br /&gt;
*** ~300Mbps per node&lt;br /&gt;
*** Ingress/egress ratio is currently 1:1. We expect egress (serving responses to client queries) to increase faster than ingress in the future.&lt;br /&gt;
*** This should guide how many servers to deploy and the appropriate ISP connection speed&lt;br /&gt;
*** E.g. a 1Gbps connection will support up to 3 IC nodes.&lt;br /&gt;
** One IPv6 /64 subnet - each node gets multiple IPv6 addresses&lt;br /&gt;
** One IPv4 address for every 4 nodes in a given data center per node provider (IPv4 addresses cannot be shared between node providers). See [[Node Provider Networking Guide#Appendix 1: Number of IPv4 Addresses Required|Appendix 1]] for table.&lt;br /&gt;
** &#039;&#039;&#039;All IP addresses are assigned statically&#039;&#039;&#039; and automatically by IC-OS&lt;br /&gt;
*** This is configured in the [[IC-OS Installation Runbook#6. Add configuration|IC-OS Installation Runbook]]&lt;br /&gt;
&lt;br /&gt;
== Network Cabling ==&lt;br /&gt;
When racking and stacking your servers, ensure the &#039;&#039;&#039;first two 10G network ports&#039;&#039;&#039; on each server are connected to the 10G switch.&lt;br /&gt;
&lt;br /&gt;
[[File:Supermicro 1124US-TNRP 1U server rear photo diagram.png]]&lt;br /&gt;
&lt;br /&gt;
For example, on a Supermicro 1U server, the bottom two ports are considered ports 1 and 2 and will be enumerated by Linux in this order. Connect the bottom two ports to the switch. &lt;br /&gt;
&lt;br /&gt;
Servers from other vendors will differ! See the server documentation for guidance. &lt;br /&gt;
&lt;br /&gt;
This is subject to change - the IC-OS network configuration logic is undergoing improvements to make it more flexible.&lt;br /&gt;
&lt;br /&gt;
Connect the 10G switch to the ISP endpoint - this could be the Top Of Rack (TOR) switch or other box. &lt;br /&gt;
&lt;br /&gt;
== Network Configuration ==&lt;br /&gt;
Node machines require:&lt;br /&gt;
&lt;br /&gt;
* The ability to acquire a public static IPv6 address on a /64 subnet&lt;br /&gt;
* An IPv6 gateway to communicate with other nodes on the broad internet&lt;br /&gt;
* Unfiltered internet access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
One of every four nodes requires:&lt;br /&gt;
&lt;br /&gt;
* The ability to acquire a public static IPv4 address&lt;br /&gt;
* An IPv4 gateway to communicate with other nodes on the broad internet&lt;br /&gt;
* Unfiltered internet access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are many many ways to configure the network and some details depend on the ISP and data center. Here are some [[Example Network Configuration Scenarios]]. &lt;br /&gt;
&lt;br /&gt;
== BMC Setup Recommendations ==&lt;br /&gt;
&lt;br /&gt;
=== What’s a BMC? ===&lt;br /&gt;
The [[wikipedia:Intelligent_Platform_Management_Interface#Baseboard_management_controller|Baseboard Management Controller (BMC)]] grants control of the underlying server hardware.&lt;br /&gt;
&lt;br /&gt;
BMC’s have notoriously poor security. Vendors may name their implementation differently (Dell -&amp;gt; iDRAC, HPE -&amp;gt; iLO, etc.).&lt;br /&gt;
&lt;br /&gt;
=== Recommendations ===&lt;br /&gt;
&lt;br /&gt;
==== Change the password ====&lt;br /&gt;
BMC’s usually come with a common password. Log in via crash cart, KVM or the web interface and change it to something [https://krebsonsecurity.com/password-dos-and-donts/ strong].&lt;br /&gt;
&lt;br /&gt;
==== No broad internet access ====&lt;br /&gt;
It is highly recommended: &#039;&#039;&#039;do not expose your BMC&#039;&#039;&#039; to the broad internet. This is a safety precaution against attackers.&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* Don’t connect the BMC to the internet.&lt;br /&gt;
** Maintenance or node recovery will require physical access in this case.&lt;br /&gt;
** Any BMC activities occur via SSH on the host (unreliable on many mainboard vendors) or via crash cart.&lt;br /&gt;
* Connect the BMC to a separate dumb switch, and the dumb switch connects to a Rack Mounted Unit (RMU).&lt;br /&gt;
* Connect the BMC to a managed switch, and create a separate VLAN&lt;br /&gt;
&lt;br /&gt;
This can get complicated. It’s outside the scope of this document to explain how to do this.&lt;br /&gt;
&lt;br /&gt;
Resources:&lt;br /&gt;
&lt;br /&gt;
* [https://security.stackexchange.com/questions/46351/best-practice-for-accessing-management-port-of-firewall StackExchange - Best practice for accessing management port of firewall]&lt;br /&gt;
* [https://www.supermicro.com/products/nfo/files/IPMI/Best_Practices_BMC_Security.pdf Supermicro Guidance]&lt;br /&gt;
* [https://www.unicomengineering.com/blog/ipmi-best-practices/ Unicom Guidance]&lt;br /&gt;
&lt;br /&gt;
== What NOT to do ==&lt;br /&gt;
&lt;br /&gt;
=== Don’t use external firewalls, packet filters, rate limiters ===&lt;br /&gt;
Don’t block or interfere with any traffic to the node machines. This can disrupt node machine functionality. Occasionally ports are opened for incoming (and outgoing) connections when new versions of node software are deployed. &lt;br /&gt;
&lt;br /&gt;
==== What about network security? ====&lt;br /&gt;
IC-OS manages its own firewall(s) and rate limiters very strictly and is designed with security as a primary principle. &lt;br /&gt;
&lt;br /&gt;
== How DFINITY manages its servers ==&lt;br /&gt;
See reference DFINITY [[Gen-2 Data Center runbook|data center runbook]].&lt;br /&gt;
&lt;br /&gt;
== Final Checklist ==&lt;br /&gt;
&lt;br /&gt;
* Did you deploy a 10G switch?&lt;br /&gt;
* Do the &#039;&#039;&#039;first and second 10G ports&#039;&#039;&#039; on each server plug into the 10G switch?&lt;br /&gt;
* Do you have &#039;&#039;&#039;one IPv6 /64 prefix&#039;&#039;&#039; allocated from your ISP?&lt;br /&gt;
* Do you have at least &#039;&#039;&#039;one IPv4 address for every four nodes&#039;&#039;&#039; allocated?&lt;br /&gt;
* Does each node have ~300Mbps bandwidth? &lt;br /&gt;
* Is your &#039;&#039;&#039;BMC inaccessible&#039;&#039;&#039; from the broad internet?&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
* [[Gen-2 Network Requirements|Gen2 Network Requirements]] - more detailed, possibly out of date.&lt;br /&gt;
&lt;br /&gt;
== Appendix 1: Number of IPv4 Addresses Required ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|# Nodes&lt;br /&gt;
|# IPv4 Addresses&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|20&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|21&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|23&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|24&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|25&lt;br /&gt;
|7&lt;br /&gt;
|-&lt;br /&gt;
|26&lt;br /&gt;
|7&lt;br /&gt;
|-&lt;br /&gt;
|27&lt;br /&gt;
|7&lt;br /&gt;
|-&lt;br /&gt;
|28&lt;br /&gt;
|7&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Onboarding&amp;diff=6161</id>
		<title>Node Provider Onboarding</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Onboarding&amp;diff=6161"/>
		<updated>2023-08-07T13:03:00Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Learn how to be accepted by the NNS as a Node Provider and onboard your nodes to the IC.&lt;br /&gt;
&lt;br /&gt;
Please allocate at least 0.5 day for going through the Node Provider NNS registration (steps 1-11). It may even take a couple of days, depending on how quickly the community votes on your NNS proposals. &lt;br /&gt;
&lt;br /&gt;
Once the Node Provider NNS registration is complete, you can move on to &#039;&#039;&#039;step 12: Onboard nodes&#039;&#039;&#039;. This step involves you going to the DC and onboarding your nodes. It is much quicker than the Node Provider NNS registration (estimate to spend ~15 minutes per machine). Also, multiple machines can be brought up in parallel. Then return to this guide to complete step 13: Setting the reward configuration for your nodes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that the following steps do not need to be performed on the node machine itself.&#039;&#039;&#039; You can complete them on your personal laptop.&lt;br /&gt;
&lt;br /&gt;
If you encounter issues through any of these steps, check the [[Node Provider Troubleshooting]] page. If that does not solve your problem, you are encouraged to ask for assistance in the [[Node Provider Matrix channel]].&lt;br /&gt;
&lt;br /&gt;
❗️❗️❗️DFINITY does &#039;&#039;not&#039;&#039; offer live support for Node Providers attempting to onboard nodes.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
&lt;br /&gt;
* [[Node Provider Machine Hardware Guide]]&lt;br /&gt;
* [[Node Provider Networking Guide]]&lt;br /&gt;
* [https://www.ledger.com/ Hardware wallet]&lt;br /&gt;
* [https://shop.nitrokey.com/shop/product/nkhs2-nitrokey-hsm-2-7/ NitroKey HSM] (Optional, legacy—not recommended)&lt;br /&gt;
* 11 ICP (10 of which are to be staked for the NNS proposal deposit)&lt;br /&gt;
* Basic understanding of [[Neurons 101|neurons]], [https://internetcomputer.org/docs/current/tokenomics/nns/nns-staking-voting-rewards staking], and [[Governance of the Internet Computer|governance]] proposals. For instance, understanding what it means to stake a neuron for 8 years.&lt;br /&gt;
&lt;br /&gt;
== 1. Install the required tools ==&lt;br /&gt;
===&#039;&#039;&#039; A. Install ic-admin &#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ic-admin&amp;lt;/code&amp;gt; is the tool used to create and submit NNS proposals.&lt;br /&gt;
&lt;br /&gt;
==== MacOS ====&lt;br /&gt;
# Retrieve the file &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ curl &amp;quot;https://download.dfinity.systems/ic/7445081734e6d896d090295967d50710975c4f25/openssl-static-binaries/x86_64-darwin/ic-admin.gz&amp;quot; -o - | gunzip &amp;gt; ./ic-admin&lt;br /&gt;
$ chmod +x ./ic-admin&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Verify the binary &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ diff &amp;lt;(shasum -a 256 ./ic-admin | cut -d&#039; &#039; -f1) &amp;lt;(echo 3f75026d2f28f171068e332a42c82a2795c93fbf5ab351baef30b30eb901cdba) &amp;amp;&amp;amp; echo &amp;quot;ic-admin checksum matches&amp;quot; || echo &amp;quot;***ERROR***: ic-admin checksum does not match&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
NOTE: The instructions below have been tested with the Ubuntu 20.04 release.&lt;br /&gt;
# Retrieve the file &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ curl &amp;quot;https://download.dfinity.systems/ic/7445081734e6d896d090295967d50710975c4f25/openssl-static-binaries/x86_64-linux/ic-admin.gz&amp;quot; -o - | gunzip &amp;gt; ./ic-admin&lt;br /&gt;
$ chmod +x ./ic-admin &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Verify the binary &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ diff &amp;lt;(shasum -a 256 ./ic-admin | cut -d&#039; &#039; -f1) &amp;lt;(echo e29bb9cc462e800b8b960ad49c412e5f5fdbb5ae2ae9fde0c13058422ba32802) &amp;amp;&amp;amp; echo &amp;quot;ic-admin checksum matches&amp;quot; || echo &amp;quot;***ERROR***: ic-admin checksum does not match&amp;quot; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039; B. Install dfx &#039;&#039;&#039;===&lt;br /&gt;
&lt;br /&gt;
#&amp;lt;code&amp;gt;dfx&amp;lt;/code&amp;gt; is used to generate neuron hotkeys, among other things &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ sh -ci &amp;quot;$(curl -fsSL https://smartcontracts.org/install.sh)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#Verify that dfx is up to date. &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ export PATH=$HOME/bin:$PATH&lt;br /&gt;
$ dfx upgrade&lt;br /&gt;
$ dfx --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==2. Create Node Provider hotkey ==&lt;br /&gt;
&lt;br /&gt;
#Create an identity for the Node Provider &#039;&#039;&#039;Hotkey&#039;&#039;&#039; &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ dfx identity new --storage-mode=plaintext node-provider-hotkey&lt;br /&gt;
&lt;br /&gt;
Created identity: &amp;quot;node-provider-hotkey&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ dfx --identity node-provider-hotkey identity get-principal&lt;br /&gt;
&lt;br /&gt;
xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx&lt;br /&gt;
# example node-provider-hotkey: wuyst-x5tpn-g5wri-mp3ps-vjtba-de3xs-w5xgb-crvek-tucbe-o5rqi-mae&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&#039;&#039;&#039;You will need the Node Provider hotkey in the next steps.&#039;&#039;&#039; Note: you may be prompted to enter a passphrase when creating your identity and accessing your identity principal. Take note of the passphrase you choose.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The Node Provider hotkey is NOT the Node Provider principal. This is the hotkey that is used for the NNS proposal submissions only.&lt;br /&gt;
&lt;br /&gt;
== 3. Setup your hardware wallet==&lt;br /&gt;
&lt;br /&gt;
# Setup your hardware wallet: https://medium.com/dfinity/integrating-ledger-nano-with-the-nns-front-end-dapp-user-manual-9c5600925e16&lt;br /&gt;
&lt;br /&gt;
==4. Create and Manage Neuron via NNS Frontend Dapp and Internet Identity==&lt;br /&gt;
&lt;br /&gt;
#Send at least 11 ICPs to your hardware wallet address.&lt;br /&gt;
#Navigate to Neurons tab and create a Neuron by staking at least 10 ICP from your hardware wallet. Staking more ICP works as well, but 10 is the minimum.&lt;br /&gt;
#&amp;lt;u&amp;gt;IMPORTANT!&amp;lt;/u&amp;gt; Confirm the transaction on your hardware wallet. &lt;br /&gt;
#:[[File:-docs-stake_neuron_1.png|1024px|stake neuron]]&lt;br /&gt;
#After the Neuron has been created successfully, confirm to &amp;quot;Add NNS Dapp as hotkey&amp;quot; in the dialogue and on your hardware wallet, and close the dialog after the action completes.&lt;br /&gt;
#:[[File:-docs-stake_neuron_2.png|1024px|neuron id]]&lt;br /&gt;
#Set the dissolve delay to at least 6 months, and confirm the choice in the dialogue and on your hardware wallet. After the action completes, you can close the &amp;quot;Follow Neurons&amp;quot;.&lt;br /&gt;
#:[[File:dissolve_delay.png|480px|neuron id]]&lt;br /&gt;
#You will now see a Neuron listed with its ID. Copy the Neuron ID, since you will need it in the next steps to place the necessary proposals.&lt;br /&gt;
#:[[File:Neuron id.png|1024px]]&lt;br /&gt;
&lt;br /&gt;
==5. Add hotkeys==&lt;br /&gt;
&lt;br /&gt;
#Select the Neuron you just created to open Neuron management view and press “Add hotkey” button.&lt;br /&gt;
#:[[File:Hotkey 1.png|873x873px]]&lt;br /&gt;
# A dialog will pop up where you can enter the hotkey you generated in step 2.1 (output from command &amp;lt;code&amp;gt;dfx --identity node-provider-hotkey identity get-principal&amp;lt;/code&amp;gt;). This will allow you to submit NNS proposals using &amp;lt;code&amp;gt;ic-admin&amp;lt;/code&amp;gt; and will not be used for anything else.&amp;lt;br&amp;gt;&lt;br /&gt;
#:Press the &#039;&#039;&#039;confirm&#039;&#039;&#039; button and confirm the transactions on your hardware wallet.&amp;lt;br&amp;gt;&lt;br /&gt;
#:[[File:Hotkey 2.png|899x899px]]&lt;br /&gt;
#Get the Ledger Hardware Wallet Principal Id: Navigate back to ICP page and select your Ledger hardware wallet account. You will need to use this Ledger Hardware Wallet principal as the Node Provider principal in order to get the rewards directly into the secure hardware wallet.&lt;br /&gt;
#:[[File:Node provider principal 1.png|1024px]]&lt;br /&gt;
#:[[File:Node provider principal 2.png|800px]]&lt;br /&gt;
#Copy and save this Node Provider principal by clicking on the copy icon after the principal id. You&#039;ll need it in the next steps. &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NODE_PROVIDER_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx   &lt;br /&gt;
# Input ledger Hardware Wallet principal, from the NNS FrontEnd dapp https://nns.ic0.app/&lt;br /&gt;
&lt;br /&gt;
# example: $ NODE_PROVIDER_PRINCIPAL=fharn-5vyi2-4xb4a-64yyi-3jpmj-pga23-mxy25-d5uim-fqcro-eoefh-tae&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==6. Choose onboarding path (HSM vs no HSM)==&lt;br /&gt;
Onboarding &#039;&#039;&#039;without&#039;&#039;&#039; a NitroKey HSM is the recommended onboarding path. If you will not be using a NitroKey HSM, continue to the next step.  &lt;br /&gt;
&lt;br /&gt;
If the legacy procedure is necessary, follow the [[NitroKey HSM onboarding instructions]] and &#039;&#039;&#039;return to step 9.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
==7. Setup the Node Operator keys ==&lt;br /&gt;
#&#039;&#039;&#039;&#039;&#039;Ensure dfx is at least version 0.14.&#039;&#039;&#039;&#039;&#039; Node Operator keys created with older versions of dfx &#039;&#039;&#039;will fail to join the IC&#039;&#039;&#039;.  Run:&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ dfx upgrade&lt;br /&gt;
$ dfx --version&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#Create a new principal with dfx:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ dfx identity new --storage-mode=plaintext node_operator&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#Confirm &amp;lt;code&amp;gt;node_operator&amp;lt;/code&amp;gt; identity was created successfully:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ dfx identity list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This list &#039;&#039;should&#039;&#039; contain &amp;lt;code&amp;gt;node_operator&amp;lt;/code&amp;gt;.&lt;br /&gt;
#Copy new key to a known location:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ cp ~/.config/dfx/identity/node_operator/identity.pem ./node_operator_private_key.pem&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#Check the contents of the &amp;lt;code&amp;gt;node_operator_private_key.pem&amp;lt;/code&amp;gt; file and double check that it contains the following contents. It is imperative that the first line has &amp;lt;code&amp;gt;-----BEGIN EC PRIVATE KEY-----&amp;lt;/code&amp;gt;. If it does not, make sure you use the latest &amp;lt;code&amp;gt;dfx&amp;lt;/code&amp;gt; version and that you followed the instructions precisely.&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
❯ cat ./node_operator_private_key.pem&lt;br /&gt;
-----BEGIN EC PRIVATE KEY-----&lt;br /&gt;
[3 lines of base64 encoded private key, e.g. n2Nhp68YcQpuS0u96r...]&lt;br /&gt;
-----END EC PRIVATE KEY-----&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==8. Get the node operator principal==&lt;br /&gt;
&lt;br /&gt;
#Get the principal:&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NODE_OPERATOR_PRINCIPAL=$(dfx --identity node_operator identity get-principal)&lt;br /&gt;
$ echo $NODE_OPERATOR_PRINCIPAL&lt;br /&gt;
&lt;br /&gt;
uqquy-76uhn-2mys5-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;You will need the node operator principal in the next steps.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==9. Register your Node Provider principal to the network==&lt;br /&gt;
In the next codeblock: &lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_PROVIDER_NAME&amp;lt;/code&amp;gt; value with the name of the entity that will provide the nodes.&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_PROVIDER_PRINCIPAL&amp;lt;/code&amp;gt; value with the Ledger Hardware Wallet principal that you got from the NNS Frontend DAPP (step 5.4)&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NEURON_ID&amp;lt;/code&amp;gt; value with your neuron ID from the NNS Frontend Dapp (step 4.6)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;&#039;&#039; Please make sure that you also update the &amp;lt;code&amp;gt;--summary&amp;lt;/code&amp;gt; and include a link to the forum discussion, your company&#039;s web page, and/or to another place that can convince the voting community that you are making a legitimate request. You must also include the file hash for the self declaration and proof of identity documents, or the proposal will be rejected. This way you will avoid the community voting NO to your proposal and you losing your staked ICPs.&lt;br /&gt;
&lt;br /&gt;
#Create the Proposal &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NODE_PROVIDER_NAME=&amp;quot;My Company&amp;quot;&lt;br /&gt;
$ NODE_PROVIDER_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx&lt;br /&gt;
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
$ ./ic-admin \&lt;br /&gt;
        --nns-url https://ic0.app \&lt;br /&gt;
        -s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \&lt;br /&gt;
    propose-to-add-or-remove-node-provider add \&lt;br /&gt;
        --proposer $NEURON_ID \&lt;br /&gt;
        --proposal-title &amp;quot;Register a node provider &#039;${NODE_PROVIDER_NAME}&#039;&amp;quot; \&lt;br /&gt;
        --summary &amp;quot;Register a node provider &#039;${NODE_PROVIDER_NAME}&#039;, in line with the announcement and discussion at &amp;lt;https://forum.dfinity.org/t/...&amp;gt;. The self-declaration documentation is available at &amp;lt;https://wiki.internetcomputer.org/wiki/...&amp;gt; with SHA256 hash &amp;lt;SHA256&amp;gt;.&amp;quot; \&lt;br /&gt;
        --node-provider-pid &amp;quot;$NODE_PROVIDER_PRINCIPAL&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#Find the proposal on https://dashboard.internetcomputer.org/governance and &#039;&#039;&#039;wait until it is executed before proceeding to next step.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==10. Register your datacenter to the network (if necessary)==&lt;br /&gt;
#Search for your data center on https://dashboard.internetcomputer.org/centers. &lt;br /&gt;
#*If you found the datacenter that is hosting your nodes, remember its ID, and skip the following section. Otherwise, proceed with the registration of a new DC record.&lt;br /&gt;
#:[[File:dc_id.png|1041x1041px|alt=]]&lt;br /&gt;
===Create a data center record for a new DC===&lt;br /&gt;
In the next block of code:&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NEURON_ID&amp;lt;/code&amp;gt; value with your neuron ID from the NNS Frontend Dapp (step 4.6)&lt;br /&gt;
*Replace the JSON fields from the &amp;lt;code&amp;gt;–data-centers-to-add&amp;lt;/code&amp;gt; argument and their corresponding values in &amp;lt;code&amp;gt;--summary&amp;lt;/code&amp;gt;:&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;quot;id&amp;amp;quot;&amp;lt;/code&amp;gt; represents the city that your datacenter is in and is formulated as a combination of two letters representing the city and an incrementing number. Search data center IDs on https://dashboard.internetcomputer.org, and find a combination of two letters and a number that’s not yet registered. Examples:&lt;br /&gt;
***dl1 (Dallas, no IDs with “dl” prefix)&lt;br /&gt;
***zh10 (Zurich, numbers 0-9 are already registered)&lt;br /&gt;
**:[[File:dc_id.png|1024px]]&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;quot;region&amp;amp;quot;&amp;lt;/code&amp;gt; represents the local region of a datacenter and is formulated as a three-part string divided by commas. The three parts making the string are continent, country code, and region, in the given order. Examples:&lt;br /&gt;
***North America,US,Florida&lt;br /&gt;
***Europe,DE,Bavaria&lt;br /&gt;
***Asia,SG,Singapore&lt;br /&gt;
**:[[File:datacenter_region.png|1024px]]&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;quot;owner&amp;amp;quot;&amp;lt;/code&amp;gt; The entity that provides your datacenter facilities. &lt;br /&gt;
***Search https://dashboard.internetcomputer.org for existing data center providers.&lt;br /&gt;
*** If there’s match, make sure you use the same exact some name for your datacenter.&lt;br /&gt;
***Otherwise, name the data center owner to your best knowledge.&lt;br /&gt;
**:[[File:datacenter_owner.png|1024px]]&lt;br /&gt;
**&amp;lt;code&amp;gt;&amp;amp;quot;gps&amp;amp;quot;&amp;lt;/code&amp;gt; GPS coordinates. &lt;br /&gt;
***Find your datacenter on https://www.google.com/maps/.&lt;br /&gt;
***Right click on location, and select the GPS coordinates (first item in the menu) in order to copy them.&lt;br /&gt;
**:[[File:maps.png|310x310px|alt=Getting GPS coordinates|Getting GPS coordinates]]&lt;br /&gt;
&lt;br /&gt;
#Create the proposal: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
$ ./ic-admin \&lt;br /&gt;
        --nns-url https://ic0.app \&lt;br /&gt;
        -s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \&lt;br /&gt;
    propose-to-add-or-remove-data-centers \&lt;br /&gt;
        --summary &amp;quot;Register a Flexential datacenter as dl1 in North America,US,Texas&amp;quot; \&lt;br /&gt;
        --skip-confirmation \&lt;br /&gt;
        --proposer $NEURON_ID \&lt;br /&gt;
        --data-centers-to-add &#039;{&lt;br /&gt;
            &amp;quot;id&amp;quot;: &amp;quot;dl1&amp;quot;,&lt;br /&gt;
            &amp;quot;region&amp;quot;: &amp;quot;North America,US,Texas&amp;quot;,&lt;br /&gt;
            &amp;quot;owner&amp;quot;: &amp;quot;Flexential&amp;quot;,&lt;br /&gt;
            &amp;quot;gps&amp;quot;: [&lt;br /&gt;
                33.00803, -96.66614&lt;br /&gt;
            ]&lt;br /&gt;
        }&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&#039;&#039;&#039;Remember to replace all the values of both the arguments &amp;lt;code&amp;gt;–data-centers-to-add&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--summary&amp;lt;/code&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
#Find the proposal on https://dashboard.internetcomputer.org/governance and wait until it&#039;s executed before proceeding to next step.&lt;br /&gt;
&lt;br /&gt;
==11. Create a node operator record==&lt;br /&gt;
In the next codeblock:&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NEURON_ID&amp;lt;/code&amp;gt; value with your neuron ID from the NNS Frontend Dapp (step 4.6).&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_PROVIDER_PRINCIPAL&amp;lt;/code&amp;gt; value with the Ledger Hardware Wallet principal that you got from the NNS Frontend DAPP (step 5.4).&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_OPERATOR_PRINCIPAL&amp;lt;/code&amp;gt; value with your node operator principal (step 8.1).&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_PROVIDER_NAME&amp;lt;/code&amp;gt; value with the name of the entity that will provide the nodes.&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_ALLOWANCE&amp;lt;/code&amp;gt; variable value with number of nodes you are providing.&lt;br /&gt;
* Replace the &amp;lt;code&amp;gt;DC_ID&amp;lt;/code&amp;gt; variable value with id of your datacenter.&lt;br /&gt;
&lt;br /&gt;
# Create the proposal: &amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NEURON_ID=XXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
$ NODE_PROVIDER_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx&lt;br /&gt;
$ NODE_OPERATOR_PRINCIPAL=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx&lt;br /&gt;
$ NODE_PROVIDER_NAME=&amp;quot;My Company&amp;quot;&lt;br /&gt;
$ NODE_ALLOWANCE=8&lt;br /&gt;
$ DC_ID=dl1&lt;br /&gt;
&lt;br /&gt;
$ ./ic-admin \&lt;br /&gt;
        --nns-url https://ic0.app \&lt;br /&gt;
        -s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \&lt;br /&gt;
    propose-to-add-node-operator \&lt;br /&gt;
        $NODE_PROVIDER_PRINCIPAL \&lt;br /&gt;
        --summary &amp;quot;Node provider &#039;$NODE_PROVIDER_NAME&#039; is adding $NODE_ALLOWANCE nodes in the $DC_ID data center&amp;quot; \&lt;br /&gt;
        --proposer $NEURON_ID \&lt;br /&gt;
        --node-operator-principal-id $NODE_OPERATOR_PRINCIPAL \&lt;br /&gt;
        --node-allowance $NODE_ALLOWANCE \&lt;br /&gt;
        --dc-id $DC_ID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
#Find the proposal on https://dashboard.internetcomputer.org/governance and wait until it&#039;s executed before proceeding to next step.&lt;br /&gt;
&lt;br /&gt;
==12. Onboard nodes==&lt;br /&gt;
&lt;br /&gt;
# Follow the instructions to onboard new nodes:&lt;br /&gt;
#*[[IC-OS Installation Runbook]]&lt;br /&gt;
&lt;br /&gt;
==13. Reward configuration proposal==&lt;br /&gt;
After you have completed all previous steps and the node machines have been onboarded, you must submit a reward configuration proposal in order to start receiving node rewards. If you do not do this, you will not receive node rewards.&lt;br /&gt;
&lt;br /&gt;
In the next code block:&lt;br /&gt;
&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NEURON_ID&amp;lt;/code&amp;gt; value with your neuron ID from the NNS Frontend Dapp (step 4.6).&lt;br /&gt;
*Replace the &amp;lt;code&amp;gt;NODE_OPERATOR_PRINCIPAL&amp;lt;/code&amp;gt; value with your node operator principal (step 8.1).&lt;br /&gt;
*Replace &amp;lt;code&amp;gt;NODE_1_MACHINE_ID&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;NODE_2_MACHINE_ID&amp;lt;/code&amp;gt; ... &amp;lt;code&amp;gt;NODE_N_MACHINE_ID&amp;lt;/code&amp;gt; with the node machine IDs for all N of your node machines (found on the [https://dashboard.internetcomputer.org/ dashboard])&lt;br /&gt;
*Replace &amp;lt;code&amp;gt;NODE_COUNT&amp;lt;/code&amp;gt; with the number of nodes you are setting a reward configuration for.&lt;br /&gt;
&lt;br /&gt;
1. Create the proposal&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NEURON_ID = XXXXXXXXXXXXXXXXXXXX&lt;br /&gt;
$ NODE_OPERATOR_PRINCIPAL = xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx&lt;br /&gt;
$ ./ic-admin \&lt;br /&gt;
        --nns-url https://ic0.app \&lt;br /&gt;
        -s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \&lt;br /&gt;
    propose-to-update-node-operator-config \&lt;br /&gt;
        --proposer $NEURON_ID \&lt;br /&gt;
        --summary &amp;quot;Set rewards for the following nodes:&lt;br /&gt;
&lt;br /&gt;
        * NODE_1_MACHINE_ID&lt;br /&gt;
        * NODE_2_MACHINE_ID&lt;br /&gt;
        * ...&lt;br /&gt;
        * NODE_N_MACHINE_ID&lt;br /&gt;
        &amp;quot; \&lt;br /&gt;
        --node-operator-id $NODE_OPERATOR_PRINCIPAL \&lt;br /&gt;
        --rewardable-nodes &#039;{&amp;quot;type3.1&amp;quot;: NODE_COUNT}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default reward configuration for gen2 nodes is &amp;lt;code&amp;gt;type3.1&amp;lt;/code&amp;gt;. If a different node configuration is applicable to your node models, replace this value. &lt;br /&gt;
&lt;br /&gt;
Example reward configuration proposal for 3 gen2 nodes:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;shell&amp;quot;&amp;gt;&lt;br /&gt;
$ NEURON_ID = 13419667327548602649&lt;br /&gt;
$ NODE_OPERATOR_PRINCIPAL = uqquy-76uhn-2mys5-dh54e-85ntr-sr953-redif-zkte3-94ndi-st2i1-93t&lt;br /&gt;
$ ./ic-admin \&lt;br /&gt;
        --nns-url https://ic0.app \&lt;br /&gt;
        -s ~/.config/dfx/identity/node-provider-hotkey/identity.pem \&lt;br /&gt;
    propose-to-update-node-operator-config \&lt;br /&gt;
        --proposer $NEURON_ID \&lt;br /&gt;
        --summary &amp;quot;Set rewards for the following nodes:&lt;br /&gt;
&lt;br /&gt;
        * sed94-atzdo-rltqy-tmnhr-fvspg-fat3p-sdbjp-7q3jg-dgfcq-zrlap-cqe&lt;br /&gt;
        * uq4uy-76uhn-2mys5-dh54e-85ntr-sr953-redif-zkte3-94ndi-st2i1-93t-sdjsl-vjlfn-6duch-vskdu-26pf5-cwibg-zooqk-sdn2e-cgugm-tae&lt;br /&gt;
        * 39esy-hmrb2-nfvao-t42co-tqfed-y3i7c-xqxyp-idt2w-wgmgr-l4x7l-gae&lt;br /&gt;
        &amp;quot; \&lt;br /&gt;
        --node-operator-id $NODE_OPERATOR_PRINCIPAL \&lt;br /&gt;
        --rewardable-nodes &#039;{&amp;quot;type3.1&amp;quot;: 3}&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Find the proposal on &amp;lt;nowiki&amp;gt;https://dashboard.internetcomputer.org/governance&amp;lt;/nowiki&amp;gt; and wait until it&#039;s executed&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Machine_Hardware_Guide&amp;diff=6159</id>
		<title>Node Provider Machine Hardware Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Machine_Hardware_Guide&amp;diff=6159"/>
		<updated>2023-08-07T12:52:33Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Node Providers operate one or more node machines than run in the Internet Computer network. &lt;br /&gt;
&lt;br /&gt;
Gen1 hardware requirements have been used by Node Providers to set up node machines during the Genesis launch. &lt;br /&gt;
&lt;br /&gt;
The Gen2 hardware requirements have been defined for the further growth of the Internet Computer network. The specifications for the Gen2 node machines are generic (instead of vendor specific) and support VM memory encryption and attestation, which will be needed in future features on the Internet Computer. &lt;br /&gt;
&lt;br /&gt;
While Gen2 Node Providers are only strictly required to follow the generic specifications &#039;&#039;&#039;(the IC-OS installation will fail if the generic specifications are not met)&#039;&#039;&#039;, it is strongly recommended for Node Providers to purchase one of the validated configurations listed below. &lt;br /&gt;
== Gen 2 Node Machine requirements ==&lt;br /&gt;
==== Generic specification ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Dual Socket AMD EPYC Milan CPU - Recommended: [https://en.wikichip.org/wiki/amd/epyc/7313 7313] (16C/32T 3 Ghz)&lt;br /&gt;
[https://en.wikichip.org/wiki/amd/epyc#7003_Series_.28Zen_3.29 optionally] 7343, 7373, 73F3&lt;br /&gt;
|-&lt;br /&gt;
| 16x 32GB RDIMM, 3200MT/s, Dual Rank&lt;br /&gt;
|-&lt;br /&gt;
| 5x 6.4TB NVMe Mixed Mode (DWPD &amp;gt;= 3)&lt;br /&gt;
|-&lt;br /&gt;
| Dual Port 10G SFP or BASE-T&lt;br /&gt;
|-&lt;br /&gt;
| TPM 2.0&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Do NOT order a RAID controller for your node machine. If a RAID controller is included in your setup, it will cause issues with the installation of IC-OS on your machine.&lt;br /&gt;
&lt;br /&gt;
=== Dfinity-validated configurations ===&lt;br /&gt;
DFINITY has [https://forum.dfinity.org/t/draft-motion-proposal-new-hardware-specification-and-remuneration-for-ic-nodes/14202/14?u=garym validated] the following Gen2 hardware configurations.&lt;br /&gt;
==== Dell ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AMD EPYC 7343 3.2GHz, 16C/32T, 128M Cache (190W) &lt;br /&gt;
|-&lt;br /&gt;
| 16 || 32GB RDIMM, 3200MT/s, Dual Rank 16Gb BASE x8&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 6.4TB Enterprise NVMe Mixed Use AG Drive U.2 Gen4 with carrier&lt;br /&gt;
|-&lt;br /&gt;
| 1 || PowerEdge R6525 Motherboard, with 2 x 1Gb Onboard LOM (BCM5720)MLK V2&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Dual, Hot-plug, Redundant Power Supply (1+1) 1100W, Mixed Mode Titanium&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Intel X710 Dual Port 10GbE SFP+, OCP NIC 3.0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Trusted Platform Module 2.0 V3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== ASUS ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AMD EPYC 7313 (3,00 GHz, 16-Core, 128 MB)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 32GB ECC Reg ATP DDR4 3200 RAM &lt;br /&gt;
|-&lt;br /&gt;
| 5 || 6.4 TB NVMe Kioxia SSD 3D-NAND TLC U.3 (Kioxia CM6-V)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Asus Mainboard KMPP-D32 Series (without OCP 3.0, without Pike)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1600 Watt redundant PSU&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Broadcom 25 Gigabit P225P SFP28 Dual Port Network Card&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|TPM 2.0*&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Note Gen2 machines require TPM 2.0 hardware but this specific test machine did not include it. &lt;br /&gt;
&lt;br /&gt;
==== Supermicro ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AMD EPYC 7313 (3,00 GHz, 16-Core, 128 MB)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 32GB ECC Reg DDR4 3200 RAM&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 6.4 TB NVMe TLC SSD, PCIe 4.0 x4, U.3 2.5&amp;quot;, 3 DWPD&lt;br /&gt;
|-&lt;br /&gt;
| 1 || SuperMicro H12DSU-iN&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1200 Watt redundant PSU&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Dual Port 10GBase-T Network Adapter Intel® X710-TM4*&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Dual Port 10GbE Network Adapter Intel® X710-TM4, SFP+*&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Trusted Platform Module 2.0&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Only one dual port network adaptor is required.&lt;br /&gt;
&lt;br /&gt;
==== Gigabyte ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AMD EPYC 7313 (3,00 GHz, 16-Core, 128 MB)&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 32GB ECC Reg DDR4 3200 RAM&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 6.4 TB NVMe TLC SSD, PCIe 4.0 x4, U.3 2.5&amp;quot;, 3 DWPD&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Gigabyte MZ92-FS1 Rev. 3.0&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1200 Watt redundant PSU&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Dual Port 1000Base-T Network Adapter Intel® I350-AM2*&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Dual Port 10GbE Network Adapter, Broadcom NetXtreme E-Series*&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Trusted Platform Module 2.0&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Only one dual port network adaptor is required.&lt;br /&gt;
&lt;br /&gt;
=== Community-validated configurations ===&lt;br /&gt;
Node Providers have validated the following Gen2 hardware configurations:&lt;br /&gt;
&lt;br /&gt;
==== Dell PowerEdge R7525 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|2&lt;br /&gt;
|AMD 7313 3.0GHz,16C/32T,128M,155W,3200&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|32GB RDIMM, 3200MT/s, Dual Rank 16Gb BASE x8&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|6.4TB Enterprise NVMe Mixed Use AG Drive U.2 Gen4 with carrier&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|PowerEdge R7525 Motherboard, with 2 x 1Gb Onboard LOM (BCM5720)MLK V2&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|Dual, Hot-plug, Power Supply Redundant (1+1), 800W, Mixed Mode, NAF&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Intel X710 Dual Port 10GbE SFP+, OCP NIC 3.0&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Trusted Platform Module 2.0 V3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Gen 1 Node Machine requirements ==&lt;br /&gt;
If you&#039;re a Node Provider acquiring machines to join the IC, use the Gen2 specifications listed  above. This section is for Gen1 Node Providers who joined before 2022. &lt;br /&gt;
&lt;br /&gt;
==== SuperMicro ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || AS - 1023US - TR4&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Rome 7302 DP/UP 16C/32T 3.0&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 32GB DDR4-3200 2Rx4 ECC REG DIMM&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Samsung PM983 3.2TB NVMe PCIE/SATA Hybrid M.2 &amp;amp; 1 PCIE&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 800W Power Supply&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Std LP 2-port 10G RJ45, Intel x540&lt;br /&gt;
|-&lt;br /&gt;
| 5 || Micron 5300 PRO 7.4TB, SATA, 2.5&#039;, 3D TLC, .6DWPD (with Caddie)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C13/C14 13A Power Cord&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dell - type 1 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || R6525&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Chassis - Supports Up to 10 NVMe drives, 12 drives total&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Dual 1 GB on Motherboard&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Low Profile PCIe Slots&lt;br /&gt;
|-&lt;br /&gt;
| - || 3 Year Basic NBD Support&lt;br /&gt;
|-&lt;br /&gt;
| - || iDrac Enterprise&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Dual port 10GbE Base - T Adapter Broadcom, PCIe Low Profile&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 3.2TB NVMe, Mixed Use, 2.5&amp;quot; with Carrier&lt;br /&gt;
|-&lt;br /&gt;
| 16 || 32GB RDIMM (3200MT/s)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || AMD 7302 3GHz, 16C/32T, 128M, 155W, 3200&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Single Power Supply (800W)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C13-C14, 3M, 125V 15A Power Cored&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Dell - type 2 ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || R6515&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3.5&amp;quot; Chassis with up to 4 Hot-Plug Hard Drives and OS RAID&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Dual 1 Gb on Motherboard&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Low Profile PCIe Slots&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Standard Fan&lt;br /&gt;
|-&lt;br /&gt;
| - || 3 Year Basic NBD Support&lt;br /&gt;
|-&lt;br /&gt;
| - || iDrac Enterprise&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Dual Port 10GbE Base - T Adapter Broadcom, PCIe LOw Profile&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 480GB SSD SATA Mix Use 6Gbps 512 2.5in Hot-Plug AG Drive, 3.5in&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 8GB RDIMM, 3200 MT/s, Single Rank&lt;br /&gt;
|-&lt;br /&gt;
| 1 || AMD EPYC 7232P 3.10GHz, 8C/16T, 64M Cache (120W) DDR4-3200&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Dual Hot-Plug Redundant Power Supply (1+1), 550W&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Jumper Cord - C13/C14, .6M, 250V, 13A&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Purchasing Hardware ==&lt;br /&gt;
# &#039;&#039;&#039;Choose your node machine configuration&#039;&#039;&#039;&lt;br /&gt;
#* Stick with the configurations above. Anything else is unsupported.&lt;br /&gt;
# &#039;&#039;&#039;Use local and trusted supply chains&#039;&#039;&#039;&lt;br /&gt;
#* If possible, purchase hardware locally from a trusted vendor to avoid global single points of failure and to reduce the risk that somebody tampers with your hardware during delivery&lt;br /&gt;
# &#039;&#039;&#039;Where to buy?&#039;&#039;&#039;&lt;br /&gt;
#*[https://www.supermicro.com/en/wheretobuy Supermicro]&lt;br /&gt;
#*[https://www.dell.com/en-us/shop/dell-poweredge-servers/sc/servers Dell]&lt;br /&gt;
#*[https://www.gigabyte.com/WheretoBuy/Enterprise Gigabyte]&lt;br /&gt;
#*[https://servers.asus.com/support/wheretobuy/117 ASUS]&lt;br /&gt;
# &#039;&#039;&#039;Place your order&#039;&#039;&#039;&lt;br /&gt;
#* Double check the components meet the generic specs above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lead times can be weeks to months. Plan accordingly with respect to [[Node Provider Onboarding|onboarding]].&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Self-declaration&amp;diff=6155</id>
		<title>Node Provider Self-declaration</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Self-declaration&amp;diff=6155"/>
		<updated>2023-08-07T12:37:36Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;This page is work in progress&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page describes the Node Provider self-declaration process and provides templates. This process and templates are currently in a draft state and discussed by the community (see forum post). Once the NNS has decided on the expected format, the post and this page will be updated to reflect the NNS decision.&lt;br /&gt;
&lt;br /&gt;
== Motivation ==&lt;br /&gt;
&lt;br /&gt;
In a fully decentralized network, onboarding of a Node Provider is managed entirely by the Network Nervous Systems (NNS). This means that anybody who wants to become a Node Provider needs to submit a proposal that will be voted upon by the community. The main question for the community is: how to decide whether to accept or reject a new Node Provider into the network?&lt;br /&gt;
&lt;br /&gt;
Ultimately, it’s the Node Provider&#039;s responsibility to convince the community to adopt their proposal to be added as a new Node Provider. With the self-declaration, the Node Provider shall:&lt;br /&gt;
&lt;br /&gt;
* Establish their identity&lt;br /&gt;
* Make a statement of good intent&lt;br /&gt;
&lt;br /&gt;
This way, the community will have sufficient information to vote on the Node Provider&#039;s onboarding proposal.&lt;br /&gt;
&lt;br /&gt;
== Documents and Templates ==&lt;br /&gt;
&lt;br /&gt;
Before submitting a proposal to become a new Node Provider, the Node Provider shall prepare two kinds of documents. The documents should be delivered as a pdf document, digitally signed.&lt;br /&gt;
&lt;br /&gt;
=== (1) Self-declaration ===&lt;br /&gt;
&lt;br /&gt;
(A) Statement of identity&lt;br /&gt;
&lt;br /&gt;
Entity name: __________________________________________________&lt;br /&gt;
&lt;br /&gt;
Official address and location: _____________________________________&lt;br /&gt;
&lt;br /&gt;
Country: ______________________________________________________&lt;br /&gt;
&lt;br /&gt;
Chamber of Commerce Nr: _______________________________________&lt;br /&gt;
&lt;br /&gt;
(B) Statement of provision of node machines&lt;br /&gt;
&lt;br /&gt;
I hereby guarantee that I shall provide node machines in accordance with the required Hardware Configuration for running the IC Network, as described on the IC wiki (see [[Node Provider Machine Hardware Guide]]).&lt;br /&gt;
&lt;br /&gt;
(C) Statement of good intent&lt;br /&gt;
&lt;br /&gt;
I guarantee to the world that I shall honestly operate the node machines I provide, and that should I behave dishonestly, for example by deliberately interfering with my node machine(s) to prevent them correctly processing ICP protocol messages, in collusion with others or alone, that I will be liable to users of the network, and to other node providers, for any damages caused.&lt;br /&gt;
&lt;br /&gt;
I further declare I am aware that any deliberate interference with a node machine, which causes it to incorrectly process ICP protocol messages, represents a misuse of that hardware, and of any hardware it interacts with, and that in some jurisdictions, that may constitute a crime.&lt;br /&gt;
&lt;br /&gt;
Signature of representatives&lt;br /&gt;
&lt;br /&gt;
___________________&lt;br /&gt;
&lt;br /&gt;
___________________&lt;br /&gt;
&lt;br /&gt;
___________________&lt;br /&gt;
&lt;br /&gt;
=== (2) Identity Proof ===&lt;br /&gt;
&lt;br /&gt;
The Node Provider shall provide proof that the identity(ies) listed in the self-declaration exist in the real world. The proof can be any document that sufficiently proves the identity of the signers of the self-declaration to the community.&lt;br /&gt;
&lt;br /&gt;
== Process ==&lt;br /&gt;
&lt;br /&gt;
Initially, the process is quite manual. Over time, it shall be automated and for convenience be incorporated into dApps running on the IC. For now:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Preparation:&#039;&#039;&#039; The Node Provider prepares&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;p&amp;gt;The two kinds of documents listed above in a format that is widely available, e.g. PDF&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;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;Creates a compressed file, e.g. zip file, including these documents and computes the hash.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;Publication:&#039;&#039;&#039; The Node Provider uploads the documents to the wikipage [[Node Provider Self Declarations]].&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;&#039;&#039;&#039;Proposal submission:&#039;&#039;&#039; The Node Provider submits a proposal to the NNS asking to be accepted to the network.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;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 technical instructions are provided on the [[Node Provider Onboarding]] page.&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;The summary of the proposal shall point to the published file (step 2) and list the hash (step 1).&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;blockquote&amp;gt;&amp;lt;p&amp;gt;&#039;&#039;&#039;NNS vote:&#039;&#039;&#039; It’s now up to the NNS community to check whether the provided information matches the community’s expectations and to vote on the proposal.&amp;lt;/p&amp;gt;&amp;lt;/blockquote&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Matrix_channel&amp;diff=6154</id>
		<title>Node Provider Matrix channel</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Matrix_channel&amp;diff=6154"/>
		<updated>2023-08-07T07:08:12Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
There is an open Matrix channel that is intended to be a forum for potential and existing Node Providers as well as anybody else who would like to follow the node provider discussion: https://app.element.io/#/room/#ic-node-providers:matrix.org &lt;br /&gt;
&lt;br /&gt;
The channel runs on the open Matrix network. Matrix [https://matrix.org/clients/ has many clients] you can use. One of the clients is element.io, which is very similar to Slack, and offers a web UI, a [https://element.io/download desktop app], and a mobile app.&lt;br /&gt;
&lt;br /&gt;
We recommend that you add [https://ems-docs.element.io/books/element-cloud-documentation/page/element-settings an email address in the Element Profile settings] and to [https://element.io/help#settings3 enable notifications for missed messages].&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Roadmap&amp;diff=6016</id>
		<title>Node Provider Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Node_Provider_Roadmap&amp;diff=6016"/>
		<updated>2023-07-24T09:30:43Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The roadmap outlines what is required of Node Providers, the reward model of the Internet Computer, guidance on hardware acquisition and data center contracts, in-depth best practices, node onboarding procedures, and much more.&lt;br /&gt;
&lt;br /&gt;
There are five Node Provider milestones to go from scratch to being a node provider. Finally, the sixth milestone covers node management and maintenance once you&#039;re a node provider.&lt;br /&gt;
&lt;br /&gt;
* [[Node Provider Milestone One: Education|Milestone One: Education]]&lt;br /&gt;
** Here, you will learn more about the Internet Computer and the rewards/obligations of being a Node Provider.&lt;br /&gt;
* [[Node Provider Milestone Two: Requirements|Milestone Two: Requirements]]&lt;br /&gt;
** Here, you will learn more about the specific skill, hardware, networking, and data center requirements, as well as some best practices regarding decentralization and security.&lt;br /&gt;
* [[Node Provider Milestone Three: Node Provider Onboarding|Milestone Three: Node Provider Onboarding]]&lt;br /&gt;
** Here, you will gain approval by the NNS DAO to be a Node Provider.&lt;br /&gt;
* [[Node Provider Milestone Four: Node Onboarding Preparation Checklist|Milestone Four: Node Onboarding Preparation Checklist]]&lt;br /&gt;
** Here, you will be guided on how to obtain the necessary requirements necessary to onboard nodes.&lt;br /&gt;
* [[Node Provider Milestone Five: Node Onboarding|Milestone Five: Node Onboarding]]&lt;br /&gt;
** Here, you will onboard your nodes to the Internet Computer.&lt;br /&gt;
* [[Node Provider Milestone Six: Node Management|Milestone Six: Node Management]]&lt;br /&gt;
** Here, you will find important guidance and resources on managing and troubleshooting your nodes.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Replace_traditional_IT_with_a_World_Computer&amp;diff=3448</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=3448"/>
		<updated>2022-11-10T13:09:24Z</updated>

		<summary type="html">&lt;p&gt;Jens: &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. We now need 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, we 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;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=How_much_does_it_cost_to_run_a_dapp_on_the_Internet_Computer%3F&amp;diff=2787</id>
		<title>How much does it cost to run a dapp on the Internet Computer?</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=How_much_does_it_cost_to_run_a_dapp_on_the_Internet_Computer%3F&amp;diff=2787"/>
		<updated>2022-08-17T04:59:02Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Computation and Storage Costs==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer requires computation operations and storage to be supported by [[cycles]]. Cycles are generated from the conversion of Internet Computer (ICP) utility tokens.&lt;br /&gt;
&lt;br /&gt;
==The Role of the Network Nervous System (NNS) in Defining Costs==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer is a decentralized public utility, controlled by the NNS –– the network’s open, algorithmic governance system. The NNS fundamentally controls how many cycles are required for low-level computation actions for computation and storage. The number of cycles needed for individual computations will vary based on a number of factors considered by the NNS, including proposals from the community.&lt;br /&gt;
&lt;br /&gt;
==Details: Cost of Compute and Storage Transactions on the Internet Computer==&lt;br /&gt;
Canisters (dapps/smart contracts) computations running on the Internet Computer blockchain are fueled by “cycles”, which 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” and the Internet Computer leverages “smart contract pays” (sometimes called “reverse gas”) model. Whereas the Ethereum blockchain requires end-users to send payments for the gas smart contracts consumed with every transaction, on the Internet Computer, canisters (dapps/smart contracts)are pre-charged with cycles, such that contracts effectively pay for their own computation - freeing users from the responsibility.&lt;br /&gt;
&lt;br /&gt;
See below for details on the cost of compute and storage transactions&amp;lt;ref&amp;gt;https://sdk.dfinity.org/docs/developers-guide/computation-and-storage-costs.html&amp;lt;/ref&amp;gt; on the Internet Computer as of July 26, 2021.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Table 1. Cycles Cost per Transaction (as of July 26, 2021)&lt;br /&gt;
|-&lt;br /&gt;
! Transaction !! Description !! All Application Subnets&lt;br /&gt;
|-&lt;br /&gt;
| Canister Created || For creating canisters on a subnet || 100_000_000_000&lt;br /&gt;
|-&lt;br /&gt;
| Compute Percent Allocated Per Second || For each percent of the reserved compute allocation (a scarce resource). || 100_000&lt;br /&gt;
|-&lt;br /&gt;
| Update Message Execution || For every update message executed || 590,000&lt;br /&gt;
|-&lt;br /&gt;
| Ten Update Instructions Execution || For every 10 instructions executed when executing update type messages || 4&lt;br /&gt;
|-&lt;br /&gt;
| Xnet Call || For every inter-canister call performed (includes the cost for sending the request and receiving the response) || 260_000&lt;br /&gt;
|-&lt;br /&gt;
| Xnet Byte Transmission || For every byte sent in an inter-canister call (for bytes sent in the request and response) || 1_000&lt;br /&gt;
|-&lt;br /&gt;
| Ingress Message Reception || For every ingress message received || 1_200_000&lt;br /&gt;
|-&lt;br /&gt;
| Ingress Byte Reception || For every byte received in an ingress message || 2_000&lt;br /&gt;
|-&lt;br /&gt;
| GB Storage Per Second || For storing a GB of data per second || 127_000&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The $USD cost for transactions below is based on the above cycle costs. 1 XDR is equal to 1 Trillion cycles. As of July 26, 2021, the exchange rate for 1 XDR = $1.42. The exchange rate for USD &amp;lt;&amp;gt; XDR may vary and it will impact the conversion rate. For XDR exchange rates please visit: https://www.imf.org/external/np/fin/data/rms_sdrv.aspx&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Table 2. Cost per Transaction in $USD (as of July 26, 2021)&lt;br /&gt;
|-&lt;br /&gt;
! Transaction !! Description !! All Application Subnets&lt;br /&gt;
|-&lt;br /&gt;
| Canister Created || For creating canisters on a subnet || $0.142&lt;br /&gt;
|-&lt;br /&gt;
| Compute Percent Allocated Per Second || For each percent of the reserved compute allocation (a scarce resource). || $0.000000142&lt;br /&gt;
|-&lt;br /&gt;
| Update Message Execution || For every update message executed || $0.0000008378&lt;br /&gt;
|-&lt;br /&gt;
| Ten Update Instructions Execution || For every 10 instructions executed when executing update type messages || $0.00000000000568&lt;br /&gt;
|-&lt;br /&gt;
| Xnet Call || For every inter-canister call performed (includes the cost for sending the request and receiving the response) || $0.0000003692&lt;br /&gt;
|-&lt;br /&gt;
| Xnet Byte Transmission || For every byte sent in an inter-canister call (for bytes sent in the request and response) || $0.00000000142&lt;br /&gt;
|-&lt;br /&gt;
| Ingress Message Reception || For every ingress message received || $0.000001704&lt;br /&gt;
|-&lt;br /&gt;
| Ingress Byte Reception || For every byte received in an ingress message || $0.00000000284&lt;br /&gt;
|-&lt;br /&gt;
| GB Storage Per Second || For storing a GB of data per second || $0.00000018034&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==References== &lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=HTTP_asset_certification&amp;diff=2628</id>
		<title>HTTP asset certification</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=HTTP_asset_certification&amp;diff=2628"/>
		<updated>2022-07-01T11:06:52Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HTTP asset certification is a protocol that allows canisters to certify bodies of responses to GET HTTP requests.&lt;br /&gt;
The receiver of such responses can use the IC public key to authenticate the body of the response.&lt;br /&gt;
The protocol relies on [https://smartcontracts.org/docs/interface-spec/index.html#system-api-certified-data Certified data] feature of the IC.&lt;br /&gt;
&lt;br /&gt;
== Canister protocol ==&lt;br /&gt;
&lt;br /&gt;
A canister must follow the following protocol to certify assets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Construct a [https://smartcontracts.org/docs/interface-spec/index.html#_certificate hash tree] that maps paths of HTTP resources to SHA-256 hashes of their bodies.&lt;br /&gt;
An example of such a tree:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*root*&lt;br /&gt;
└── http_assets&lt;br /&gt;
    ├── index.html -&amp;gt; SHA256(body)&lt;br /&gt;
    ├── ...&lt;br /&gt;
    └── /css/styles.css -&amp;gt; SHA256(body)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Compute the root hash of the tree and call [https://smartcontracts.org/docs/interface-spec/index.html#system-api-imports &amp;lt;code&amp;gt;ic0.certified_data_set&amp;lt;/code&amp;gt;] with the bytes of the hash as the argument.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add a [[#IC-Certificate header]] to each certified HTTP response.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validator protocol ==&lt;br /&gt;
&lt;br /&gt;
The validator follows the following steps to validate the certificate of resource at path &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; served by canister &amp;lt;code&amp;gt;CANISTER_ID&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Hash the body of the HTTP response, obtaining hash &amp;lt;code&amp;gt;DATA_HASH&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Check that the response contains the &amp;lt;code&amp;gt;IC-Certificate&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Decode the &amp;lt;code&amp;gt;certificate&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;tree&amp;lt;/code&amp;gt; from the value of the &amp;lt;code&amp;gt;IC-Certificate&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Check the validity of the certificate as described in the [https://smartcontracts.org/docs/interface-spec/index.html#certification Interface Specification: Certification]. This step requires knowing the IC root key.&lt;br /&gt;
* Check that &amp;lt;code&amp;gt;lookup(/http_assets/PATH, tree) = Found(DATA_HASH)&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that &amp;lt;code&amp;gt;lookup(/canister/CANISTER_ID/certified_data, certificate.tree) = Found(reconstruct(tree))&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== IC-Certificate header ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;IC-Certificate&amp;lt;/code&amp;gt; header is a Structure Header (as per [https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure RFC proposal]) with is a dictionary with with members &amp;lt;code&amp;gt;certificate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;tree&amp;lt;/code&amp;gt;, both of which are Byte Sequences:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IC-Certificate: certificate=:&amp;lt;base64(c)&amp;gt;:, tree=:&amp;lt;base64(t)&amp;gt;:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; is the a CBOR-encoded certificate (see [https://smartcontracts.org/docs/interface-spec/index.html#certification-encoding Interface Specification: Encoding of certificates]).&lt;br /&gt;
* &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; is a Hash Tree, CBOR-encoded according the CDDL &amp;lt;code&amp;gt;#6.55799(hash-tree)&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;hash-tree&amp;lt;/code&amp;gt; is the corresponding [https://smartcontracts.org/docs/interface-spec/index.html#api-cddl CDDL production in the Interface Specification].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;certificate&amp;lt;/code&amp;gt; must be a valid [https://smartcontracts.org/docs/interface-spec/index.html#_certificate Internet Specification: Certificate] with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lookup(/canister/&amp;lt;canister_id&amp;gt;/certified_data, certificate.tree)&lt;br /&gt;
    = Found (reconstruct(tree))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tree&amp;lt;/code&amp;gt; exposes the relevant nodes in the &amp;lt;code&amp;gt;/http_assets&amp;lt;/code&amp;gt; subtree to allow the client to lookup the request path to get the expected body hash.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
For this example, we fetched &amp;lt;code&amp;gt;/index.html&amp;lt;/code&amp;gt; resource of the Internet Identity canister (canister id &amp;lt;code&amp;gt;rdmx6-jaaaa-aaaaa-aaadq-cai&amp;lt;/code&amp;gt;) available at https://rdmx6-jaaaa-aaaaa-aaadq-cai.raw.ic0.app/index.html.&lt;br /&gt;
The SHA-256 hash of the resource at the moment of fetching is &amp;lt;code&amp;gt;478afb8206ca0b566a7f138e623accd169fa822602d2f6d717fb67d1045f4f0d&amp;lt;/code&amp;gt;.&lt;br /&gt;
The response contained the following header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IC-Certificate: certificate=:2dn3omR0cmVlgwGDAYMBgwJIY2FuaXN0ZXKDAYMBggRYIIudikoDwH1gRK637olblUhMUX3HlE0Dihj8MTACxGzHgwGCBFggyCRYc8M/ugt8G7C8RPYayn+l4sdBj8gvFotzJELnQ32DAYIEWCA1/+UHZ9SF67w4ssjOi+Jv3ch7WQNzezGmhtuvB+RDpYMCSgAAAAAAAAAHAQGDAYMBgwJOY2VydGlmaWVkX2RhdGGCA1ggWUt10wjWinx0aAWyrNEi/0R7VeuhalDMjGDErzIbZzqCBFgg/VtZRZdYyK/sr3KF2jWeS1rblF+4ajwfDv2ZbCGpaTiCBFggSoI5JS0pCusHP4nh6h780ebr961E0lVnFkFwzF5pZaeCBFggcKidPEGiPoFMPYfEyNGsDRYWmry1iGX0HNUEoKhIATeCBFggR0zdKUZOMcm5EHNl5Tee3XWqbq1gArwUGzZ2FH4rWtmCBFggTkwJcNrh0eJ9FutJcn6th9eCbM2KXnloxed0acxmQNeDAYIEWCA6SNH8IT1JMHEDEE99csK1kw7bqHh7kGMfNDs6popfCoMCRHRpbWWCA0nFnbXrts/65xZpc2lnbmF0dXJlWDCkXN2tcvH5b+xFCzfkuJMqrZDcplfW8vDziJwzx08WOPI4rh2TIGYZ3R6dgQTF0CA=:, tree=:2dn3gwGDAktodHRwX2Fzc2V0c4MBggRYIDgtAGcz5VvevwiEwwZB9zpkt17C9LE6o/O37bEwQUawgwGDAksvaW5kZXguaHRtbIIDWCBHivuCBsoLVmp/E45iOszRafqCJgLS9tcX+2fRBF9PDYIEWCCx2L8SfJwOydBkUxjc8tKXDVUeoiw8qEYI+8b+HRWIWYIEWCAqZ+3yoFSA9s+jbLFbtcVz+wi0HF9x51Kx38qPcBhiDA==:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can extract the following data from the header value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROOT HASH: 0b2d843df534ac8ed2331fe2782deb71d23a08d9b4019a8fa695ec7fde93de36&lt;br /&gt;
TREE HASH: 594b75d308d68a7c746805b2acd122ff447b55eba16a50cc8c60c4af321b673a&lt;br /&gt;
SIGNATURE: a45cddad72f1f96fec450b37e4b8932aad90dca657d6f2f0f3889c33c74f1638f238ae1d93206619dd1e9d8104c5d020&lt;br /&gt;
CERTIFICATE TIME: 2022-02-02T08:23:24.851277509+00:00&lt;br /&gt;
CERTIFICATE TREE:&lt;br /&gt;
HashTree {&lt;br /&gt;
    root: Fork(&lt;br /&gt;
        Fork(&lt;br /&gt;
            Fork(&lt;br /&gt;
                Label(&amp;quot;canister&amp;quot;, Fork(&lt;br /&gt;
                    Fork(&lt;br /&gt;
                        Pruned(8b9d8a4a03c07d6044aeb7ee895b95484c517dc7944d038a18fc313002c46cc7),&lt;br /&gt;
                        Fork(&lt;br /&gt;
                            Pruned(c8245873c33fba0b7c1bb0bc44f61aca7fa5e2c7418fc82f168b732442e7437d),&lt;br /&gt;
                            Fork(&lt;br /&gt;
                                Pruned(35ffe50767d485ebbc38b2c8ce8be26fddc87b5903737b31a686dbaf07e443a5),&lt;br /&gt;
                                Label(0x00000000000000070101, Fork(&lt;br /&gt;
                                    Fork(&lt;br /&gt;
                                        Label(&amp;quot;certified_data&amp;quot;, Leaf(0x594b75d308d68a7c746805b2acd122ff447b55eba16a50cc8c60c4af321b673a)),&lt;br /&gt;
                                        Pruned(fd5b59459758c8afecaf7285da359e4b5adb945fb86a3c1f0efd996c21a96938),&lt;br /&gt;
                                    ),&lt;br /&gt;
                                    Pruned(4a8239252d290aeb073f89e1ea1efcd1e6ebf7ad44d25567164170cc5e6965a7),&lt;br /&gt;
                                )),&lt;br /&gt;
                            ),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                    Pruned(70a89d3c41a23e814c3d87c4c8d1ac0d16169abcb58865f41cd504a0a8480137),&lt;br /&gt;
                )),&lt;br /&gt;
                Pruned(474cdd29464e31c9b9107365e5379edd75aa6ead6002bc141b3676147e2b5ad9),&lt;br /&gt;
            ),&lt;br /&gt;
            Pruned(4e4c0970dae1d1e27d16eb49727ead87d7826ccd8a5e7968c5e77469cc6640d7),&lt;br /&gt;
        ),&lt;br /&gt;
        Fork(&lt;br /&gt;
            Pruned(3a48d1fc213d49307103104f7d72c2b5930edba8787b90631f343b3aa68a5f0a),&lt;br /&gt;
            Label(&amp;quot;time&amp;quot;, Leaf(0xc59db5ebb6cffae716)),&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
}&lt;br /&gt;
TREE:&lt;br /&gt;
HashTree {&lt;br /&gt;
    root: Fork(&lt;br /&gt;
        Label(&amp;quot;http_assets&amp;quot;, Fork(&lt;br /&gt;
            Pruned(382d006733e55bdebf0884c30641f73a64b75ec2f4b13aa3f3b7edb1304146b0),&lt;br /&gt;
            Fork(&lt;br /&gt;
                Label(&amp;quot;/index.html&amp;quot;, Leaf(0x478afb8206ca0b566a7f138e623accd169fa822602d2f6d717fb67d1045f4f0d)),&lt;br /&gt;
                Pruned(b1d8bf127c9c0ec9d0645318dcf2d2970d551ea22c3ca84608fbc6fe1d158859),&lt;br /&gt;
            ),&lt;br /&gt;
        )),&lt;br /&gt;
        Pruned(2a67edf2a05480f6cfa36cb15bb5c573fb08b41c5f71e752b1dfca8f7018620c),&lt;br /&gt;
    ),&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
* The protocol supports only one resource per path. This does not work well with content negotiation protocol.&lt;br /&gt;
* The protocol does not support certification of HTTP statuses and headers. Only resource bodies can be certified. &lt;br /&gt;
&lt;br /&gt;
== Canisters using HTTP asset certification ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/dfinity/internet-identity/blob/7ff3dd51dd98c7b1b43d83950c9f31ea7159103d/src/internet_identity/src/main.rs#L775 Internet Identity canister]&lt;br /&gt;
* [https://github.com/dfinity/nns-dapp/blob/49126394df77b9583e508277fc736eda51de47be/rs/src/assets.rs#L123 NNS frontend]&lt;br /&gt;
* [https://github.com/dfinity/certified-assets Certified assets canister]&lt;br /&gt;
&lt;br /&gt;
== Validators ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/dfinity/ic/tree/master/typescript/service-worker Certifying Service Worker]&lt;br /&gt;
* [https://github.com/dfinity/icx-proxy/blob/b0de0437fe6806a96d942465e5ee284c23b812e8/src/main.rs#L470 ICX proxy]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=HTTP_asset_certification&amp;diff=2627</id>
		<title>HTTP asset certification</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=HTTP_asset_certification&amp;diff=2627"/>
		<updated>2022-07-01T11:00:45Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HTTP asset certification is a protocol that allows canisters to certify bodies of responses to GET HTTP requests.&lt;br /&gt;
The receiver of such responses can use the IC public key to authenticate the body of the response.&lt;br /&gt;
The protocol relies on [https://smartcontracts.org/docs/interface-spec/index.html#system-api-certified-data Certified data] feature of the IC.&lt;br /&gt;
&lt;br /&gt;
== Canister protocol ==&lt;br /&gt;
&lt;br /&gt;
A canister must follow the following protocol to certify assets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Construct a [https://smartcontracts.org/docs/interface-spec/index.html#_certificate hash tree] that maps paths of HTTP resources to SHA-256 hashes of their bodies.&lt;br /&gt;
An example of such a tree:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*root*&lt;br /&gt;
└── http_assets&lt;br /&gt;
    ├── index.html -&amp;gt; SHA256(body)&lt;br /&gt;
    ├── ...&lt;br /&gt;
    └── /css/styles.css -&amp;gt; SHA256(body)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Compute the root hash of the tree and call [https://smartcontracts.org/docs/interface-spec/index.html#system-api-imports &amp;lt;code&amp;gt;ic0.certified_data_set&amp;lt;/code&amp;gt;] with the bytes of the hash as the argument.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Add a [[#IC-Certificate header]] to each certified HTTP response.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Validator protocol ==&lt;br /&gt;
&lt;br /&gt;
The validator follows the following steps to validate the certificate of resource at path &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; served by canister &amp;lt;code&amp;gt;CANISTER_ID&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Hash the body of the HTTP response, obtaining hash &amp;lt;code&amp;gt;DATA_HASH&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Check that the response contains the &amp;lt;code&amp;gt;IC-Certificate&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Decode the &amp;lt;code&amp;gt;certificate&amp;lt;/code&amp;gt; and the &amp;lt;code&amp;gt;tree&amp;lt;/code&amp;gt; from the value of the &amp;lt;code&amp;gt;IC-Certificate&amp;lt;/code&amp;gt; header.&lt;br /&gt;
* Check the validity of the certificate as described in the [https://smartcontracts.org/docs/interface-spec/index.html#certification Interface Specification: Certification]. This step requires knowing the IC root key.&lt;br /&gt;
* Check that &amp;lt;code&amp;gt;lookup(/http_assets/PATH, tree) = Found(DATA_HASH)&amp;lt;/code&amp;gt;&lt;br /&gt;
* Check that &amp;lt;code&amp;gt;lookup(/canister/CANISTER_ID/certified_data, certificate.tree) = Found(reconstruct(tree))&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== IC-Certificate header ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;IC-Certificate&amp;lt;/code&amp;gt; header is a Structure Header (as per [https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-header-structure RFC proposal]) with is a dictionary with with members &amp;lt;code&amp;gt;certificate&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;tree&amp;lt;/code&amp;gt;, both of which are Byte Sequences:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IC-Certificate: certificate=:&amp;lt;base64(c)&amp;gt;:, tree=:&amp;lt;base64(t)&amp;gt;:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt; is the a CBOR-encoded certificate (see [https://smartcontracts.org/docs/interface-spec/index.html#certification-encoding Interface Specification: Encoding of certificates]).&lt;br /&gt;
* &amp;lt;code&amp;gt;t&amp;lt;/code&amp;gt; is a Hash Tree, CBOR-encoded according the CDDL &amp;lt;code&amp;gt;#6.55799(hash-tree)&amp;lt;/code&amp;gt; where &amp;lt;code&amp;gt;hash-tree&amp;lt;/code&amp;gt; is the corresponding [https://smartcontracts.org/docs/interface-spec/index.html#api-cddl CDDL production in the Interface Specification].&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;certificate&amp;lt;/code&amp;gt; must be a valid [https://smartcontracts.org/docs/interface-spec/index.html#_certificate Internet Specification: Certificate] with&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lookup(/canister/&amp;lt;canister_id&amp;gt;/certified_data, certificate.tree)&lt;br /&gt;
    = Found (reconstruct(tree))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;tree&amp;lt;/code&amp;gt; exposes the relevant nodes in the &amp;lt;code&amp;gt;/http_assets&amp;lt;/code&amp;gt; subtree to allow the client to lookup the request path to get the expected body hash.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&lt;br /&gt;
For this example, we fetched &amp;lt;code&amp;gt;/index.html&amp;lt;/code&amp;gt; resource of the Internet Identity canister (canister id &amp;lt;code&amp;gt;rdmx6-jaaaa-aaaaa-aaadq-cai&amp;lt;/code&amp;gt;) available at https://rdmx6-jaaaa-aaaaa-aaadq-cai.raw.ic0.app/index.html.&lt;br /&gt;
The SHA-256 hash of the resource at the moment of fetching is &amp;lt;code&amp;gt;478afb8206ca0b566a7f138e623accd169fa822602d2f6d717fb67d1045f4f0d&amp;lt;/code&amp;gt;.&lt;br /&gt;
The response contained the following header:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
IC-Certificate: certificate=:2dn3omR0cmVlgwGDAYMBgwJIY2FuaXN0ZXKDAYMBggRYIIudikoDwH1gRK637olblUhMUX3HlE0Dihj8MTACxGzHgwGCBFggyCRYc8M/ugt8G7C8RPYayn+l4sdBj8gvFotzJELnQ32DAYIEWCA1/+UHZ9SF67w4ssjOi+Jv3ch7WQNzezGmhtuvB+RDpYMCSgAAAAAAAAAHAQGDAYMBgwJOY2VydGlmaWVkX2RhdGGCA1ggWUt10wjWinx0aAWyrNEi/0R7VeuhalDMjGDErzIbZzqCBFgg/VtZRZdYyK/sr3KF2jWeS1rblF+4ajwfDv2ZbCGpaTiCBFggSoI5JS0pCusHP4nh6h780ebr961E0lVnFkFwzF5pZaeCBFggcKidPEGiPoFMPYfEyNGsDRYWmry1iGX0HNUEoKhIATeCBFggR0zdKUZOMcm5EHNl5Tee3XWqbq1gArwUGzZ2FH4rWtmCBFggTkwJcNrh0eJ9FutJcn6th9eCbM2KXnloxed0acxmQNeDAYIEWCA6SNH8IT1JMHEDEE99csK1kw7bqHh7kGMfNDs6popfCoMCRHRpbWWCA0nFnbXrts/65xZpc2lnbmF0dXJlWDCkXN2tcvH5b+xFCzfkuJMqrZDcplfW8vDziJwzx08WOPI4rh2TIGYZ3R6dgQTF0CA=:, tree=:2dn3gwGDAktodHRwX2Fzc2V0c4MBggRYIDgtAGcz5VvevwiEwwZB9zpkt17C9LE6o/O37bEwQUawgwGDAksvaW5kZXguaHRtbIIDWCBHivuCBsoLVmp/E45iOszRafqCJgLS9tcX+2fRBF9PDYIEWCCx2L8SfJwOydBkUxjc8tKXDVUeoiw8qEYI+8b+HRWIWYIEWCAqZ+3yoFSA9s+jbLFbtcVz+wi0HF9x51Kx38qPcBhiDA==:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We can extract the following data from the header value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROOT HASH: 0b2d843df534ac8ed2331fe2782deb71d23a08d9b4019a8fa695ec7fde93de36&lt;br /&gt;
TREE HASH: 594b75d308d68a7c746805b2acd122ff447b55eba16a50cc8c60c4af321b673a&lt;br /&gt;
SIGNATURE: a45cddad72f1f96fec450b37e4b8932aad90dca657d6f2f0f3889c33c74f1638f238ae1d93206619dd1e9d8104c5d020&lt;br /&gt;
CERTIFICATE TIME: 2022-02-02T08:23:24.851277509+00:00&lt;br /&gt;
CERTIFICATE TREE:&lt;br /&gt;
HashTree {&lt;br /&gt;
    root: Fork(&lt;br /&gt;
        Fork(&lt;br /&gt;
            Fork(&lt;br /&gt;
                Label(&amp;quot;canister&amp;quot;, Fork(&lt;br /&gt;
                    Fork(&lt;br /&gt;
                        Pruned(8b9d8a4a03c07d6044aeb7ee895b95484c517dc7944d038a18fc313002c46cc7),&lt;br /&gt;
                        Fork(&lt;br /&gt;
                            Pruned(c8245873c33fba0b7c1bb0bc44f61aca7fa5e2c7418fc82f168b732442e7437d),&lt;br /&gt;
                            Fork(&lt;br /&gt;
                                Pruned(35ffe50767d485ebbc38b2c8ce8be26fddc87b5903737b31a686dbaf07e443a5),&lt;br /&gt;
                                Label(0x00000000000000070101, Fork(&lt;br /&gt;
                                    Fork(&lt;br /&gt;
                                        Label(&amp;quot;certified_data&amp;quot;, Leaf(0x594b75d308d68a7c746805b2acd122ff447b55eba16a50cc8c60c4af321b673a)),&lt;br /&gt;
                                        Pruned(fd5b59459758c8afecaf7285da359e4b5adb945fb86a3c1f0efd996c21a96938),&lt;br /&gt;
                                    ),&lt;br /&gt;
                                    Pruned(4a8239252d290aeb073f89e1ea1efcd1e6ebf7ad44d25567164170cc5e6965a7),&lt;br /&gt;
                                )),&lt;br /&gt;
                            ),&lt;br /&gt;
                        ),&lt;br /&gt;
                    ),&lt;br /&gt;
                    Pruned(70a89d3c41a23e814c3d87c4c8d1ac0d16169abcb58865f41cd504a0a8480137),&lt;br /&gt;
                )),&lt;br /&gt;
                Pruned(474cdd29464e31c9b9107365e5379edd75aa6ead6002bc141b3676147e2b5ad9),&lt;br /&gt;
            ),&lt;br /&gt;
            Pruned(4e4c0970dae1d1e27d16eb49727ead87d7826ccd8a5e7968c5e77469cc6640d7),&lt;br /&gt;
        ),&lt;br /&gt;
        Fork(&lt;br /&gt;
            Pruned(3a48d1fc213d49307103104f7d72c2b5930edba8787b90631f343b3aa68a5f0a),&lt;br /&gt;
            Label(&amp;quot;time&amp;quot;, Leaf(0xc59db5ebb6cffae716)),&lt;br /&gt;
        ),&lt;br /&gt;
    ),&lt;br /&gt;
}&lt;br /&gt;
TREE:&lt;br /&gt;
HashTree {&lt;br /&gt;
    root: Fork(&lt;br /&gt;
        Label(&amp;quot;http_assets&amp;quot;, Fork(&lt;br /&gt;
            Pruned(382d006733e55bdebf0884c30641f73a64b75ec2f4b13aa3f3b7edb1304146b0),&lt;br /&gt;
            Fork(&lt;br /&gt;
                Label(&amp;quot;/index.html&amp;quot;, Leaf(0x478afb8206ca0b566a7f138e623accd169fa822602d2f6d717fb67d1045f4f0d)),&lt;br /&gt;
                Pruned(b1d8bf127c9c0ec9d0645318dcf2d2970d551ea22c3ca84608fbc6fe1d158859),&lt;br /&gt;
            ),&lt;br /&gt;
        )),&lt;br /&gt;
        Pruned(2a67edf2a05480f6cfa36cb15bb5c573fb08b41c5f71e752b1dfca8f7018620c),&lt;br /&gt;
    ),&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
&lt;br /&gt;
* The protocol supports only one resource per path. This does not work well with content negotiation protocol.&lt;br /&gt;
* The protocol does not support certification of HTTP statuses and headers. Only resource bodies can be certified. &lt;br /&gt;
&lt;br /&gt;
== Canisters using HTTP asset certification ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/dfinity/internet-identity/blob/7ff3dd51dd98c7b1b43d83950c9f31ea7159103d/src/internet_identity/src/main.rs#L775 Internet Identity canister]&lt;br /&gt;
* [https://github.com/dfinity/nns-dapp/blob/49126394df77b9583e508277fc736eda51de47be/rs/src/assets.rs#L123 NNS frontend]&lt;br /&gt;
* [https://githug.com/dfinity/certified-assets Certified assets canister]&lt;br /&gt;
&lt;br /&gt;
== Validators ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/dfinity/ic/tree/master/typescript/service-worker Certifying Service Worker]&lt;br /&gt;
* [https://github.com/dfinity/icx-proxy/blob/b0de0437fe6806a96d942465e5ee284c23b812e8/src/main.rs#L470 ICX proxy]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Canister_smart_contract&amp;diff=1798</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=1798"/>
		<updated>2022-02-08T09:43:28Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Canisters are smart contracts that scale — interoperable compute units designed for internet-scale services. Software built on the Internet computer is composed of canisters. In addition to being composable, canisters support tokenization.&lt;br /&gt;
&lt;br /&gt;
Some key design features of canisters include:&lt;br /&gt;
* &#039;&#039;&#039;Higher throughput and lower latency&#039;&#039;&#039; for processing smart contract transactions.&lt;br /&gt;
* &#039;&#039;&#039;Cost effectiveness&#039;&#039;&#039; allowing applications to compute and store data at a fraction of the cost of other platforms.&lt;br /&gt;
* &#039;&#039;&#039;Scalability&#039;&#039;&#039; to process unbounded volumes of smart contract data and computation natively because it can grow in capacity by adding more nodes to the network.&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 cryptography verified inputs and produces cryptography certified results while maintaining the integrity of its internal state. For a smart contract to be trusted, it has to be run on a decentralized blockchain like Ethereum or, since its launch in May 2021, on the Internet Computer blockchain network.&lt;br /&gt;
&lt;br /&gt;
Smart contracts have huge advantages over traditional software in that they maintain 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 also other ways of looking them 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;
As mentioned above, a canister deployed on a subnetwork is tamper-proof in the sense that its state can only be modified by messages included in the subnet blockchain, and the subnet blockchain follows the Internet Computer Protocol.&lt;br /&gt;
&lt;br /&gt;
One 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 you need the entire blockchain from Genesis to verify the current state of affairs. For example, to validate the outcome of a smart contract on Ethereum, an open Ethereum client needs to download 400 gigabytes and this only increases in time.&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;
For example, on the Internet Computer, the current cost in cycles, the equivalent of &amp;quot;gas&amp;quot; on Ethereum, is around $5 per year to store 1 Gigabyte of data. Storing 1 Gigabyte of data will cost millions of dollars, but then it is of course stored indefinitely, or, as long as Ethereum exists, as it is burned into the blockchain.&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 a canister has a boundary on its linear memory that’s enforced by the subnetwork.&lt;br /&gt;
The operating system scheduler wakes up a process when there is work to be done, while the subnetwork schedules the execution of canisters.&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. In the future, 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 all nodes in a subnetwork.&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 updating the canister.&lt;br /&gt;
A canister controlling 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.&lt;br /&gt;
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 cryptographic guarantees, and it runs in a decentralized and thus trusted environment, namely on a subnet blockchain.&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 in a subnetwork 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, we expect to see 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, we make 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 (such as Ethereum). &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;
* Developer documentation on [https://smartcontracts.org/docs/quickstart/quickstart-intro.html Building smart contracts]&lt;br /&gt;
* [[Trust in canisters]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1797</id>
		<title>Internet Computer wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1797"/>
		<updated>2022-02-08T08:48:33Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome!==&lt;br /&gt;
&lt;br /&gt;
This is the wiki for the Internet Computer (IC), the world&#039;s fastest and most powerful blockchain network&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-internet-computers-transaction-speed-and-finality-outpace-other-l1-blockchains-8e7d25e4b2ef&amp;lt;/ref&amp;gt;. The goal of the wiki is to be a general source of information for and by the IC community. Topics can range as varied as cryptography, governance of the network, user experience, tokenomics, or developer-facing tutorials.&lt;br /&gt;
&lt;br /&gt;
==Introduction to the Internet Computer==&lt;br /&gt;
The Internet computer is the fastest and most scalable general-purpose blockchain. It was launched by DFINITY in May 2021 and works towards realising a blockchain singularity by hosting dapps, content, and performing computation for billions of users. In building the Internet Computer there have been a number of notable technological developments in cryptography (chain-key cryptography), programming languages (Motoko) and others. &lt;br /&gt;
&lt;br /&gt;
===Most common place to start===&lt;br /&gt;
* [https://dfinity.org/icig.pdf Internet Computer: Infographic]&lt;br /&gt;
&lt;br /&gt;
===For general audience===&lt;br /&gt;
* [[Internet Computer overview]]&lt;br /&gt;
* [[Internet Computer vision]]&lt;br /&gt;
* [https://dfinity.org/roadmap/ Internet Computer roadmap]&lt;br /&gt;
&lt;br /&gt;
===For more technical audience===&lt;br /&gt;
* [https://eprint.iacr.org/2022/087 &amp;quot;Internet Computer for Geeks&amp;quot; paper]&lt;br /&gt;
&lt;br /&gt;
==For Dapp Users ==&lt;br /&gt;
&lt;br /&gt;
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Introduction to the Internet Computer for dapp users]]&lt;br /&gt;
* [[Index of dapps on the Internet Computer]]&lt;br /&gt;
* [[Internet Identity for dapp users]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for dapp users]]&lt;br /&gt;
&lt;br /&gt;
== For ICP Token-holders, Investors and Neuron Holders==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one&#039;s ICP.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[ICP token]]&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
* [[Staking, voting and rewards]]&lt;br /&gt;
* [[Governance of the Internet Computer]]&lt;br /&gt;
* [[Network Nervous System]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer token-holders, investors and neuron holders]].&lt;br /&gt;
&lt;br /&gt;
== For Smart Contract and Dapp Developers ==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers such as links to documentation, developer forums, and relevant dashboards.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Canisters (dapps/smart contracts)]]&lt;br /&gt;
* [[Internet Identity technical overview]]&lt;br /&gt;
* [https://smartcontracts.org/ Developer documentation on smartcontract.org]&lt;br /&gt;
* [https://forum.dfinity.org/ IC community developer forum]&lt;br /&gt;
* [[Index of libraries for Internet Computer development]]&lt;br /&gt;
* [[Best practices for a high traffic dapp launch]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for smart contract and dapp developers]].&lt;br /&gt;
&lt;br /&gt;
== For the Curious, Researchers and Blockchain Enthusiasts ==&lt;br /&gt;
&lt;br /&gt;
This section is for those interested on how the Internet Computer works under the hood. This section touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [https://dfinity.org/howitworks/ How the Internet Computer Works]&lt;br /&gt;
* [https://dashboard.internetcomputer.org/ Internet Computer dashboard] &lt;br /&gt;
* [[Internet Computer performance]]&lt;br /&gt;
* [[DFINITY Foundation]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for researchers and blockchain enthusiasts]].&lt;br /&gt;
&lt;br /&gt;
== FAQs, Tutorials, and How-tos==&lt;br /&gt;
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.&lt;br /&gt;
&lt;br /&gt;
===FAQs===&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
Example:&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Tutorials]].&lt;br /&gt;
&lt;br /&gt;
=== How-tos ===&lt;br /&gt;
Example:&lt;br /&gt;
* [[How-To: Claim neurons for seed participants]]&lt;br /&gt;
* [[How-To: Create an NNS motion proposal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more in [[How-Tos]].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the Wiki==&lt;br /&gt;
&lt;br /&gt;
=== How to contribute ===&lt;br /&gt;
Anyone can read the wiki. You can also edit pages, all you need to do is [https://wiki.internetcomputer.org/wiki/Special:CreateAccount create an account]. See more in [[Contributing to the wiki]].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1796</id>
		<title>Internet Computer wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1796"/>
		<updated>2022-02-08T08:47:05Z</updated>

		<summary type="html">&lt;p&gt;Jens: Undo revision 1795 by Jens (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome!==&lt;br /&gt;
&lt;br /&gt;
This is the wiki for the Internet Computer (IC), the world&#039;s fastest and most powerful blockchain network&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-internet-computers-transaction-speed-and-finality-outpace-other-l1-blockchains-8e7d25e4b2ef&amp;lt;/ref&amp;gt;. The goal of the wiki is to be a general source of information for and by the IC community. Topics can range as varied as cryptography, governance of the network, user experience, tokenomics, or developer-facing tutorials.&lt;br /&gt;
&lt;br /&gt;
==Introduction to the Internet Computer==&lt;br /&gt;
The Internet computer is the fastest and most scalable general-purpose blockchain. It was launched by DFINITY in May 2021 and works towards realising a blockchain singularity by hosting dapps, content, and performing computation for billions of users. In building the Internet Computer there have been a number of notable technological developments in cryptography (chain-key cryptography), programming languages (Motoko) and others. &lt;br /&gt;
&lt;br /&gt;
===Most common place to start===&lt;br /&gt;
* [https://dfinity.org/icig.pdf Internet Computer: Infographic]&lt;br /&gt;
&lt;br /&gt;
===For general audience===&lt;br /&gt;
* [[Internet Computer overview]]&lt;br /&gt;
* [[Internet Computer vision]]&lt;br /&gt;
* [https://dfinity.org/roadmap/ Internet Computer roadmap]&lt;br /&gt;
&lt;br /&gt;
===For more technical audience===&lt;br /&gt;
* [https://eprint.iacr.org/2022/087 &amp;quot;Internet Computer for Geeks&amp;quot; paper]&lt;br /&gt;
&lt;br /&gt;
==For Dapp Users ==&lt;br /&gt;
&lt;br /&gt;
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Introduction to the Internet Computer for dapp users]]&lt;br /&gt;
* [[Index of dapps on the Internet Computer]]&lt;br /&gt;
* [[Internet Identity for dapp users]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for dapp users]]&lt;br /&gt;
&lt;br /&gt;
== For ICP Token-holders, Investors and Neuron Holders==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one&#039;s ICP.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[ICP token]]&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
* [[Staking and voting]]&lt;br /&gt;
* [[Governance of the Internet Computer]]&lt;br /&gt;
* [[Network Nervous System]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer token-holders, investors and neuron holders]].&lt;br /&gt;
&lt;br /&gt;
== For Smart Contract and Dapp Developers ==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers such as links to documentation, developer forums, and relevant dashboards.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Canisters (dapps/smart contracts)]]&lt;br /&gt;
* [[Internet Identity technical overview]]&lt;br /&gt;
* [https://smartcontracts.org/ Developer documentation on smartcontract.org]&lt;br /&gt;
* [https://forum.dfinity.org/ IC community developer forum]&lt;br /&gt;
* [[Index of libraries for Internet Computer development]]&lt;br /&gt;
* [[Best practices for a high traffic dapp launch]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for smart contract and dapp developers]].&lt;br /&gt;
&lt;br /&gt;
== For the Curious, Researchers and Blockchain Enthusiasts ==&lt;br /&gt;
&lt;br /&gt;
This section is for those interested on how the Internet Computer works under the hood. This section touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [https://dfinity.org/howitworks/ How the Internet Computer Works]&lt;br /&gt;
* [https://dashboard.internetcomputer.org/ Internet Computer dashboard] &lt;br /&gt;
* [[Internet Computer performance]]&lt;br /&gt;
* [[DFINITY Foundation]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for researchers and blockchain enthusiasts]].&lt;br /&gt;
&lt;br /&gt;
== FAQs, Tutorials, and How-tos==&lt;br /&gt;
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.&lt;br /&gt;
&lt;br /&gt;
===FAQs===&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
Example:&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Tutorials]].&lt;br /&gt;
&lt;br /&gt;
=== How-tos ===&lt;br /&gt;
Example:&lt;br /&gt;
* [[How-To: Claim neurons for seed participants]]&lt;br /&gt;
* [[How-To: Create an NNS motion proposal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more in [[How-Tos]].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the Wiki==&lt;br /&gt;
&lt;br /&gt;
=== How to contribute ===&lt;br /&gt;
Anyone can read the wiki. You can also edit pages, all you need to do is [https://wiki.internetcomputer.org/wiki/Special:CreateAccount create an account]. See more in [[Contributing to the wiki]].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1795</id>
		<title>Internet Computer wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1795"/>
		<updated>2022-02-08T08:42:57Z</updated>

		<summary type="html">&lt;p&gt;Jens: Removed superfluous word &amp;quot;examples&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome!==&lt;br /&gt;
&lt;br /&gt;
This is the wiki for the Internet Computer (IC), the world&#039;s fastest and most powerful blockchain network&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-internet-computers-transaction-speed-and-finality-outpace-other-l1-blockchains-8e7d25e4b2ef&amp;lt;/ref&amp;gt;. The goal of the wiki is to be a general source of information for and by the IC community. Topics can range as varied as cryptography, governance of the network, user experience, tokenomics, or developer-facing tutorials.&lt;br /&gt;
&lt;br /&gt;
==Introduction to the Internet Computer==&lt;br /&gt;
The Internet computer is the fastest and most scalable general-purpose blockchain. It was launched by DFINITY in May 2021 and works towards realising a blockchain singularity by hosting dapps, content, and performing computation for billions of users. In building the Internet Computer there have been a number of notable technological developments in cryptography (chain-key cryptography), programming languages (Motoko) and others. &lt;br /&gt;
&lt;br /&gt;
===Most common place to start===&lt;br /&gt;
* [https://dfinity.org/icig.pdf Internet Computer: Infographic]&lt;br /&gt;
&lt;br /&gt;
===For general audience===&lt;br /&gt;
* [[Internet Computer overview]]&lt;br /&gt;
* [[Internet Computer vision]]&lt;br /&gt;
* [https://dfinity.org/roadmap/ Internet Computer roadmap]&lt;br /&gt;
&lt;br /&gt;
===For more technical audience===&lt;br /&gt;
* [https://eprint.iacr.org/2022/087 &amp;quot;Internet Computer for Geeks&amp;quot; paper]&lt;br /&gt;
&lt;br /&gt;
==For Dapp Users ==&lt;br /&gt;
&lt;br /&gt;
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.&lt;br /&gt;
&lt;br /&gt;
* [[Introduction to the Internet Computer for dapp users]]&lt;br /&gt;
* [[Index of dapps on the Internet Computer]]&lt;br /&gt;
* [[Internet Identity for dapp users]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for dapp users]]&lt;br /&gt;
&lt;br /&gt;
== For ICP Token-holders, Investors and Neuron Holders==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one&#039;s ICP.&lt;br /&gt;
&lt;br /&gt;
* [[ICP token]]&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
* [[Staking, voting and rewards]]&lt;br /&gt;
* [[Governance of the Internet Computer]]&lt;br /&gt;
* [[Network Nervous System]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer token-holders, investors and neuron holders]].&lt;br /&gt;
&lt;br /&gt;
== For Smart Contract and Dapp Developers ==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers such as links to documentation, developer forums, and relevant dashboards.&lt;br /&gt;
&lt;br /&gt;
* [[Canisters (dapps/smart contracts)]]&lt;br /&gt;
* [[Internet Identity technical overview]]&lt;br /&gt;
* [https://smartcontracts.org/ Developer documentation on smartcontract.org]&lt;br /&gt;
* [https://forum.dfinity.org/ IC community developer forum]&lt;br /&gt;
* [[Index of libraries for Internet Computer development]]&lt;br /&gt;
* [[Best practices for a high traffic dapp launch]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for smart contract and dapp developers]].&lt;br /&gt;
&lt;br /&gt;
== For the Curious, Researchers and Blockchain Enthusiasts ==&lt;br /&gt;
&lt;br /&gt;
This section is for those interested on how the Internet Computer works under the hood. This section touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.&lt;br /&gt;
&lt;br /&gt;
* [https://dfinity.org/howitworks/ How the Internet Computer Works]&lt;br /&gt;
* [https://dashboard.internetcomputer.org/ Internet Computer dashboard] &lt;br /&gt;
* [[Internet Computer performance]]&lt;br /&gt;
* [[DFINITY Foundation]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for researchers and blockchain enthusiasts]].&lt;br /&gt;
&lt;br /&gt;
== FAQs, Tutorials, and How-tos==&lt;br /&gt;
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.&lt;br /&gt;
&lt;br /&gt;
===FAQs===&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Tutorials]].&lt;br /&gt;
&lt;br /&gt;
=== How-tos ===&lt;br /&gt;
&lt;br /&gt;
* [[How-To: Claim neurons for seed participants]]&lt;br /&gt;
* [[How-To: Create an NNS motion proposal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more in [[How-Tos]].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the Wiki==&lt;br /&gt;
&lt;br /&gt;
=== How to contribute ===&lt;br /&gt;
Anyone can read the wiki. You can also edit pages, all you need to do is [https://wiki.internetcomputer.org/wiki/Special:CreateAccount create an account]. See more in [[Contributing to the wiki]].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Staking,_voting_and_rewards&amp;diff=1794</id>
		<title>Staking, voting and rewards</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Staking,_voting_and_rewards&amp;diff=1794"/>
		<updated>2022-02-07T18:28:40Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Staking &amp;amp; Voting Rewards ==&lt;br /&gt;
&lt;br /&gt;
Stakeholders can earn significant returns on their staked ICP tokens in&lt;br /&gt;
the form of voting rewards. &lt;br /&gt;
&lt;br /&gt;
The Internet Computer is a decentralized&lt;br /&gt;
platform whose evolution is decided by its&lt;br /&gt;
stakeholders through voting. This means decision impacting&lt;br /&gt;
the future of the Internet Computer are made by people vested in the&lt;br /&gt;
outcome. In return for participation in governance, the Internet Computer gives out voting rewards. Voters can vote actively, or they can use the liquid democracy on the&lt;br /&gt;
Internet Computer to automatically follow other voters.&lt;br /&gt;
&lt;br /&gt;
== Key Concepts ==&lt;br /&gt;
&lt;br /&gt;
=== Neurons ===&lt;br /&gt;
&lt;br /&gt;
In order to become vested and obtain voting power, ICP tokens must first&lt;br /&gt;
be staked, and then locked up for a length of time greater than 6&lt;br /&gt;
months, to at most 8 years.&lt;br /&gt;
&lt;br /&gt;
Just as tokens are held in a user&#039;s account, stake is held in a special&lt;br /&gt;
account called a &amp;quot;neuron&amp;quot;. Each neuron has its own identifier, and&lt;br /&gt;
several attributes relating to its stake. These include:&lt;br /&gt;
&lt;br /&gt;
* the length of time it is locked for (the &amp;quot;dissolve delay&amp;quot;);&lt;br /&gt;
* whether it is currently dissolving toward liquidity;&lt;br /&gt;
* and how much reward it has accrued as a result of voting on proposals (the &amp;quot;maturity&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Once a neuron is locked for more than six months, it gains the ability&lt;br /&gt;
both to submit proposals and to vote on them. Voting in turn generates&lt;br /&gt;
voting rewards, based on how active a neuron is in voting on proposals.&lt;br /&gt;
If you vote on every open proposal, you gain the maximum reward.&lt;br /&gt;
&lt;br /&gt;
A neuron can also &amp;quot;follow&amp;quot; other neurons, which causes it to&lt;br /&gt;
automatically vote the same as the majority of the neurons that it&lt;br /&gt;
follows. All new neurons by default follow neuron 27 held by the ICA, so&lt;br /&gt;
any newly staked neuron will generate voting rewards as soon as it is&lt;br /&gt;
locked for more than six months. The default following is applied to&lt;br /&gt;
most proposal topics, except for proposals with topic Governance, where&lt;br /&gt;
neuron holders have to explicitly vote to earn rewards.&lt;br /&gt;
&lt;br /&gt;
=== Voting Power ===&lt;br /&gt;
&lt;br /&gt;
The voting power of a locked neuron is determined by several factors:&lt;br /&gt;
&lt;br /&gt;
* Principally, by its stake. 1 ICP = the power of 1 vote.&lt;br /&gt;
* Next, by its lock up duration, or dissolve delay. 6 months grants a 1.06x voting power bonus, and 8 years grants 2x. All other durations scale linearly between.&lt;br /&gt;
* Lastly, by its age, or length of time spent locked up without dissolving. 4 years grants a 1.25x bonus, multiplicative with any other bonuses. All other durations between 0 seconds and 4 years scale linearly between.&lt;br /&gt;
&lt;br /&gt;
This means that the maximum voting power, of 2.5 votes per ICP staked,&lt;br /&gt;
is only achievable by locking up your neuron for 8 years, and leaving it&lt;br /&gt;
in that locked up state for 4 years. At that time you will have the most&lt;br /&gt;
voting power for the stake committed.&lt;br /&gt;
&lt;br /&gt;
=== Maturity ===&lt;br /&gt;
&lt;br /&gt;
Maturity represents the voting rewards accumulated in a neuron. Each day&lt;br /&gt;
the network rewards participants by allocating to every voting neuron a&lt;br /&gt;
portion of the total reward, based both on its voting power at the time&lt;br /&gt;
proposals were made, and the number of proposals it voted on.&lt;br /&gt;
&lt;br /&gt;
Some look at maturity as similar to a &amp;quot;dividend&amp;quot; or &amp;quot;interest&amp;quot;, but&lt;br /&gt;
please note that different tax authorities may take different views on the&lt;br /&gt;
subject. ICP stake holders should consult appropriate professionals before deciding on&lt;br /&gt;
an interpretation of when maturity becomes income.&lt;br /&gt;
&lt;br /&gt;
For those who wish to compound the gains in their neuron, the most&lt;br /&gt;
natural activity is to &amp;quot;merge maturity&amp;quot; at intervals, which has the&lt;br /&gt;
effect of minting the neuron&#039;s maturity and adding that minted amount&lt;br /&gt;
back into the neuron&#039;s stake. If you wish to harvest income from the&lt;br /&gt;
neuron, you &amp;quot;spawn&amp;quot; maturity into a reward neuron, which mints the&lt;br /&gt;
parent neuron&#039;s, and moves this maturity into the stake of a new neuron.&lt;br /&gt;
It should be noted that if you do neither, and leave those gains in the&lt;br /&gt;
form of maturity, it will not add to the minted total of ICP, nor&lt;br /&gt;
contribute to your voting power.&lt;br /&gt;
&lt;br /&gt;
== Why Staking Matters ==&lt;br /&gt;
&lt;br /&gt;
To some, staking is seen as an income generator, a way to perform &amp;quot;yield&lt;br /&gt;
farming&amp;quot; by locking up ICP and enjoying the benefits of the accrued&lt;br /&gt;
maturity. However, staking is not intended solely as an income vehicle.&lt;br /&gt;
It is a way of allowing those who invest in the Internet Computer to&lt;br /&gt;
decide what happens next with the platform.&lt;br /&gt;
&lt;br /&gt;
When the Internet Computer first launched, all proposals required a&lt;br /&gt;
majority vote to pass. Gradually, however, this is changing. After a&lt;br /&gt;
recent update it is now possible for proposals to pass with only a&lt;br /&gt;
majority among 3% of the total voting power, meaning that proposals&lt;br /&gt;
stand a chance even if large entities abstain and the majority of the&lt;br /&gt;
network does not vote.&lt;br /&gt;
&lt;br /&gt;
== Voting Rewards ==&lt;br /&gt;
&lt;br /&gt;
Even if you stake only for the purpose of being able to participate in governance and vote on proposals, voting&lt;br /&gt;
rewards are an important aspect of neurons. At the very least,&lt;br /&gt;
such returns can be compounded to increase your total voting power. So&lt;br /&gt;
to better understand staking and reward, it may be helpful to look at&lt;br /&gt;
staking from two perspectives:&lt;br /&gt;
&lt;br /&gt;
=== Short-term: voting rewards each day ===&lt;br /&gt;
&lt;br /&gt;
Every day, rewards are granted by the network to each voting neuron. The&lt;br /&gt;
percentage of those rewards received by each neuron depend on the&lt;br /&gt;
following factors:&lt;br /&gt;
&lt;br /&gt;
* Amount of ICP staked&lt;br /&gt;
* Length of dissolve delay&lt;br /&gt;
* &amp;quot;Age&amp;quot; of the neuron (time spent in a non-dissolving state)&lt;br /&gt;
* Number of eligible proposals the neuron has voted on&lt;br /&gt;
&lt;br /&gt;
For example, if on a single day the NNS has generated 1000 ICP in total&lt;br /&gt;
rewards (see below for more on how this is computed), and there were 10&lt;br /&gt;
proposals submitted which only two neurons voted on, and:&lt;br /&gt;
&lt;br /&gt;
* Neuron A has a voting power of 20, and voted on all 10 proposals&lt;br /&gt;
* Neuron B has a voting power of 80, and voted on all 10 proposals&lt;br /&gt;
&lt;br /&gt;
Then the 1000 ICP would be divided between these two neurons by their&lt;br /&gt;
proportional voting power:&lt;br /&gt;
&lt;br /&gt;
* Neuron A with voting power of 20, gets 20% of the total = 200 ICP&lt;br /&gt;
* Neuron B with voting power of 80, gets 80% of the total = 800 ICP&lt;br /&gt;
&lt;br /&gt;
If either neuron had only voted for X% of those 10 proposals, it&#039;s&lt;br /&gt;
reward would be decreased to X% of its maximum eligibility, with the&lt;br /&gt;
remainder distributed among the other neurons.&lt;br /&gt;
&lt;br /&gt;
=== Long-term: voting rewards over years ===&lt;br /&gt;
&lt;br /&gt;
As of December 2021, here is the long-term voting rewards curve: https://dashboard.internetcomputer.org/circulation&lt;br /&gt;
&lt;br /&gt;
In the first year, the NNS allocates 10% of the total supply to generate&lt;br /&gt;
voting rewards. Note the term &amp;quot;allocates&amp;quot; rather than &amp;quot;mints&amp;quot;, because&lt;br /&gt;
rewards are not minted until they are spawn, merged or the neuron is&lt;br /&gt;
disbursed, so total supply is not automatically increased by rewards&lt;br /&gt;
alone. This allocation rate drops linearly until it reaches 5% by year&lt;br /&gt;
8. Like all parameters in the NNS, the minting rate can be changed via&lt;br /&gt;
NNS proposals, but this is the current rate schedule.&lt;br /&gt;
&lt;br /&gt;
Because the total supply of ICP is a dynamic system with deflation and&lt;br /&gt;
inflation, it is impossible to predict what voting rewards will be on any&lt;br /&gt;
given day or year in the future. It is relatively easy to predict what&lt;br /&gt;
the percentage allocation rate will be months from now, but it is much&lt;br /&gt;
harder to predict what the total supply will be both because of&lt;br /&gt;
potential changes to the rate, and how often stakeholders will mint&lt;br /&gt;
their maturity.&lt;br /&gt;
&lt;br /&gt;
=== Inflationary and Deflationary Mechanisms ===&lt;br /&gt;
&lt;br /&gt;
Deflationary mechanisms for ICP:&lt;br /&gt;
&lt;br /&gt;
* Minting cycles to pay for compute and storage burns ICP to create cycles&lt;br /&gt;
* Burning of transaction fees&lt;br /&gt;
* Burning of the 1 ICP deposit for failed proposals; note that this only happens at disbursement or merging of neurons, so accumulated fees can persist for a while before finally contributing to deflation.&lt;br /&gt;
&lt;br /&gt;
Inflationary mechanisms for ICP:&lt;br /&gt;
&lt;br /&gt;
* Node providers are paid by minting ICP&lt;br /&gt;
* Voting rewards are paid 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;
=== Network Factors Affecting Annual Percentage Yield ===&lt;br /&gt;
&lt;br /&gt;
When considering potential Annual Percentage Yield (APY) for ICP staked&lt;br /&gt;
in a voting neuron, in addition to the primary factors of the dissolve&lt;br /&gt;
delay, neuron age, and amount of stake, there are also network factors&lt;br /&gt;
that can affect potential yield. Chief among them are:&lt;br /&gt;
&lt;br /&gt;
* The amount of supply allocated each year to pay rewards;&lt;br /&gt;
* The total voting power across all neurons, since rewards are divided equally among neurons according to their voting power;&lt;br /&gt;
* Inflationary and deflationary pressures: primarily, minting to pay node providers and spawn rewards, burning to fuel canister cycles, and the other factors mentioned in the previous section.&lt;br /&gt;
&lt;br /&gt;
These factors can affect future returns significantly. Firstly, the&lt;br /&gt;
amount of supply began at 10% at genesis, but will fall to 5% after the&lt;br /&gt;
first eight years. Secondly, as staking becomes more common and there&lt;br /&gt;
are better user interfaces to do it, there will naturally be more&lt;br /&gt;
competition. If no one else were staking, returns would be astronomical;&lt;br /&gt;
but if nearly everyone is staking, returns will be lower.&lt;br /&gt;
&lt;br /&gt;
Economics are always at play, however. If staking is very popular, it&lt;br /&gt;
means the amount of liquid supply would reduce, which would drive up&lt;br /&gt;
demand and hence prices. So although returns would drop significantly,&lt;br /&gt;
price appreciation should offset the loss in income. Conversely, if most&lt;br /&gt;
people dissolve their neurons to trade on the open market, price would&lt;br /&gt;
likely drop while returns increase. It is reasonable to assume that over&lt;br /&gt;
time an equilibrium will be established, where rates and prices&lt;br /&gt;
fluctuate in sympathy based on the macro factors driving demand for ICP&lt;br /&gt;
tokens.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=DFINITY_Foundation&amp;diff=1792</id>
		<title>DFINITY Foundation</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=DFINITY_Foundation&amp;diff=1792"/>
		<updated>2022-02-07T17:40:41Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DFINITY&#039;&#039;&#039; is a name for the &#039;&#039;&#039;DFINITY Foundation&#039;&#039;&#039;, or more correctly &#039;&#039;&#039;“DFINITY Stiftung”&#039;&#039;&#039;, a not-for-profit organization headquartered in [[Zürich]], Switzerland, that was originally founded in Zug in October 2016.&lt;br /&gt;
&lt;br /&gt;
==Mission==&lt;br /&gt;
DFINITY contributes technology to the [[Internet Computer]] blockchain, provides support for its ecosystem, and advocates for its application as a technology stack. DFINITY holds an endowment of [[ICP token]] that are currently worth billions of dollars, which it sells as needed to fund its operations. While DFINITY has no shareholders or members, DFINITY has one mission: foster the advancement and adoption of the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
A stated objective of DFINITY is to create a blockchain singularity, in which over time, the majority of humanity’s systems and services are rebuilt, and reimagined, upon the [[Internet Computer]] blockchain using a new form of smart contracts called [[canisters]]. DFINITY is held to its mission, which is defined in its notarial deed, by a regulatory framework operated by the Central Switzerland BVG and Foundation Supervisory Authority (ZBSA). &lt;br /&gt;
&lt;br /&gt;
==Organization==&lt;br /&gt;
The organization can be described as Blockchain Maximalist and decentralization-forward. DFINITY runs what is arguably blockchain&#039;s largest R&amp;amp;D operation, which employs many famous [[cryptographers]], computer science researchers and senior engineers. It currently employs around 200 full-time personnel, with many working from dedicated research centers in locations including Zürich, Switzerland, and California, and from numerous remote teams. DFINITY is constantly integrating new talent into its team and scaling its R&amp;amp;D effort. By its own estimates, it will grow to employ thousands of R&amp;amp;D and operations staff in the coming years.&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
The name DFINITY derives from &#039;&#039;&#039;D&#039;&#039;&#039;ecentralized in&#039;&#039;&#039;FINITY&#039;&#039;&#039;, which was first used by its founder Dominic Williams in 2015 to refer to technical research he had performed with the hope of enabling Ethereum to become a true [[world computer]] blockchain. Once it became apparent that a large and highly specialized team would need to perform years of blue sky R&amp;amp;D to realize the [[world computer]] vision, DFINITY became a standalone project. Today, the [[Internet Computer]] incorporates a blockchain architecture that has been totally rethought from the ground up in order to provide world computer capabilities. &lt;br /&gt;
&lt;br /&gt;
DFINITY has become a go-to organization for talented individuals interested in working at the leading edge of blockchain, computer science and cryptography.&lt;br /&gt;
&lt;br /&gt;
After several years of R&amp;amp;D, which effort continues today, the Internet Computer blockchain underwent [[Genesis]] on the 10th of May 2021.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [https://dfinity.org DFINITY homepage]&lt;br /&gt;
* [https://twitter.com/dfinity DFINITY Twitter]&lt;br /&gt;
* [https://medium.com/dfinity DFINITY technical blog]&lt;br /&gt;
* [https://forum.dfinity.org/ DFINITY developer forum]&lt;br /&gt;
* [https://www.reddit.com/r/dfinity/ DFINITY subreddit]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=How_to_create_an_Internet_Identity&amp;diff=1791</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=1791"/>
		<updated>2022-02-07T17:07:12Z</updated>

		<summary type="html">&lt;p&gt;Jens: &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 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;
==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, e.g. iPhone, Laptop, Yubikey. &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, we recommend adding 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;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_vision&amp;diff=1790</id>
		<title>Internet Computer vision</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_vision&amp;diff=1790"/>
		<updated>2022-02-07T16:42:11Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;The Internet Computer&#039;&#039;&#039; blockchain is a real &amp;quot;world computer&amp;quot; that removes the traditional limitations of smart contracts using advanced new cryptography and distributed protocols. &lt;br /&gt;
&lt;br /&gt;
==Vision and Value Propositions==&lt;br /&gt;
&lt;br /&gt;
===Web speed===&lt;br /&gt;
&lt;br /&gt;
Smart Contracts are fast and performant to allow developers to build anything. The design goal is that developers can build consumer-facing experiences that are as fast as they would expect from centralized servers. Dapp developers do not need to choose between &amp;quot;smart contracts&amp;quot; and &amp;quot;fast.&amp;quot; In short, dapp users experience is so fast that users should not notice if their web experience is running on a blockchain or centralized provider.&lt;br /&gt;
&lt;br /&gt;
From a blockchain POV, [[Internet Computer Performance]] performance tests shows the IC latency at 200 milliseconds for query calls (reads) and 2 seconds for update calls (writes). As of December 1, 2021, The Internet Computer can handle 250,000 queries per second and 11,500 update calls per second.&lt;br /&gt;
&lt;br /&gt;
===Environment and cost===&lt;br /&gt;
&lt;br /&gt;
====Low direct costs====&lt;br /&gt;
Unlike most blockchains, the efficiency and costs of the Internet Computer approaches the traditional IT stack so its is economically feasible to host dapps with lots of data and content.&lt;br /&gt;
&lt;br /&gt;
For comparison:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Blockchain !! Storage Costs&lt;br /&gt;
|-&lt;br /&gt;
| Ethereum || $350,000,000 USD per GB per year&lt;br /&gt;
|-&lt;br /&gt;
| Internet Computer || $5 USD per GB per year&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Low indirect costs====&lt;br /&gt;
&lt;br /&gt;
Smart contracts as &amp;quot;secure-by-default&amp;quot; that comes with data replication removes a lot of software complexity that developers do not need to build. The design intent of the IC is to make development and deployment simple to reduce the time necessary to build and maintain software compared to traditional systems.&lt;br /&gt;
&lt;br /&gt;
===Network scales without limit===&lt;br /&gt;
&lt;br /&gt;
Most blockchains have transactions limits baked into the protocol (e.g. adding more servers to Bitcoin does not increase its transaction volume) and need cumbersome workarounds to address scaling. The Internet Computer can process unbounded volumes of smart contract data and computation natively because it can grow in capacity by adding more nodes. That is how the network went from 19 blocks per second in July 2021 to 30 blocks per second by December 2021. &lt;br /&gt;
&lt;br /&gt;
See Internet Computer Dashboard: https://dashboard.internetcomputer.org/&lt;br /&gt;
&lt;br /&gt;
===Network scaling is transparent to systems===&lt;br /&gt;
&lt;br /&gt;
Network scaling is transparent to smart contract code which means that dapp developers do not need to worry about details about the network in order for their dapps to operate or scale. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Although subnets are the fundamental building blocks of the overall Internet Computer network, they’re transparent to users and software. Users and canister software only need to know the identity of a canister to call the functions that it offers.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: https://medium.com/dfinity/a-technical-overview-of-the-internet-computer-f57c62abc20f&lt;br /&gt;
&lt;br /&gt;
===Web serving===&lt;br /&gt;
&lt;br /&gt;
====Dapp code hosted and executed on-chain====&lt;br /&gt;
Smart contracts on the Internet Computer serve web content directly to users. This is a distinguishing feature, on other blockchains a small part of the dapp logic runs in a smart contract, but the actual consumer-facing web or interface is hosted on a centralized cloud provider (e.g. AWS) instead of being served directly from the blockchain.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer serving dapps whose code is hosted and executed entirely on-chain unlocks the Web3 potential of smart contracts. &lt;br /&gt;
&lt;br /&gt;
====Reverse Gas Model (AKA &amp;quot;canister pays&amp;quot;)====&lt;br /&gt;
In dapps built on Ethereum (as an example), users require a wallet or tokens to use it. This slows down adoption of dapps because using a dapp is not as simple as clicking on a website link; it requires users to buy tokens, install browser plugins, etc. Internet Computer dapps have he &amp;quot;Reverse Gas model&amp;quot; where users can interact with a dapp without having to pay in tokens since the canister can store a certain amount of [[cycles]] and pay for the user.&lt;br /&gt;
&lt;br /&gt;
As an example, the Motoko Playground dapp is hosted and executed entirely on-chain and it does not require visitors to pay for the computation: https://m7sm4-2iaaa-aaaab-qabra-cai.raw.ic0.app/&lt;br /&gt;
&lt;br /&gt;
====Internet Identity====&lt;br /&gt;
&lt;br /&gt;
[[Internet_Identity_technical_overview|Internet Identity]] is a blockchain authentication system that enables you to sign in securely and pseudonymously to dapps on the Internet Computer. This makes logging into dapps easy and safe for consumers.&lt;br /&gt;
&lt;br /&gt;
===Network Nervous System===&lt;br /&gt;
&lt;br /&gt;
The [[Network Nervous System]] (NNS) is the control center where the Internet Computer’s nodes and subnets are organized, tracked, and managed. The NNS is an automated in-protocol governance system that makes the network self-directed. Unlike Bitcoin or Ethereum, this means the Internet Computer blockchain can update itself via community-led proposals so the community controls the network.&lt;br /&gt;
&lt;br /&gt;
Advantages of the NNS:&lt;br /&gt;
* Seamless community-driven evolution and governance without disruptive hard forks&lt;br /&gt;
* Gives control of the network to token holders as well as node providers (in Bitcoin or Ethereum, only nodes affect the upgrades of the network)&lt;br /&gt;
* Accelerates the number of improvements or updates to the network. In 2021, the Internet Computer had dozens of updates, giving the IC very fast development iterations while also being decentralized.&lt;br /&gt;
&lt;br /&gt;
===Novel “canister” smart contract framework===&lt;br /&gt;
&lt;br /&gt;
Smart contracts have proven to be powerful new types of software programs because of their tamperproof nature. They can host financial contracts and systems with billions of dollars in value. However, as the scope of smart contracts increase, performance really matters. Building an &amp;quot;airbnb clone&amp;quot; entirely with Ethereum smart contracts would be impractical due to performance bottlenecks on individual smart contracts, but it is easy with the Internet Computer&#039;s canisters (dapps/smart contracts). A rough but helpful analogy may be &amp;quot;you can build complex calculations and logic with an excel spreadsheet, but you would not build Twitter by cobbling up many spreadsheets.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Attributes that make Internet Computer smart contracts powerful ways of building dapps:&lt;br /&gt;
* Orthogonal persistence (data lives in persistent memory pages) making managing data much easier&lt;br /&gt;
* [[Actor model]] gives dapps a time-tested model for concurrency that scales (deterministic parallelism, internally and externally)&lt;br /&gt;
* Dapps get access to system APIs uncommon in Ethereum smart contracts (but common tools in centralized solutions) such as public randomness&lt;br /&gt;
* Integration with other blockchains e.g. canisters will be able to have Bitcoin addresses in the future&lt;br /&gt;
&lt;br /&gt;
===Service Nervous System (SNS) economic framework for dapps===&lt;br /&gt;
&lt;br /&gt;
The Internet Computer’s SNS feature will allow developers to create decentralized, token-based governance systems for their dapps.&lt;br /&gt;
&lt;br /&gt;
This unlocks a few possibilities: &lt;br /&gt;
* An advanced DAO can take control of a dapp&lt;br /&gt;
* Dapps run under the control of a community (full decentralization)&lt;br /&gt;
* Dapps run as extensions of the blockchain (microeconomy with macroeconomy)&lt;br /&gt;
* Dapps can raise funds into the SNS; funds controlled by community&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Staking_and_voting&amp;diff=1789</id>
		<title>Staking and voting</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Staking_and_voting&amp;diff=1789"/>
		<updated>2022-02-07T16:02:03Z</updated>

		<summary type="html">&lt;p&gt;Jens: Jens moved page Staking and voting to Staking, voting and rewards: Earning rewards is important to investors, so the page name should reflect that&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Staking, voting and rewards]]&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Staking,_voting_and_rewards&amp;diff=1788</id>
		<title>Staking, voting and rewards</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Staking,_voting_and_rewards&amp;diff=1788"/>
		<updated>2022-02-07T16:02:03Z</updated>

		<summary type="html">&lt;p&gt;Jens: Jens moved page Staking and voting to Staking, voting and rewards: Earning rewards is important to investors, so the page name should reflect that&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Staking &amp;amp; Voting Rewards ==&lt;br /&gt;
&lt;br /&gt;
Stakeholders can earn significant returns on their staked ICP tokens in&lt;br /&gt;
the form of voting rewards. The Internet Computer is a decentralized&lt;br /&gt;
platform whose evolution is decided by the voting power of its&lt;br /&gt;
stakeholders. This scheme ensures that those making decisions impacting&lt;br /&gt;
the future of the Internet Computer are personally vested in the&lt;br /&gt;
outcome. In return the Internet Computer gives out voting rewards.&lt;br /&gt;
Voters can vote actively, or they can use the liquid democracy on the&lt;br /&gt;
Internet Computer to automatically follow other voters.&lt;br /&gt;
&lt;br /&gt;
== Key Concepts ==&lt;br /&gt;
&lt;br /&gt;
=== Neurons ===&lt;br /&gt;
&lt;br /&gt;
In order to become vested and obtain voting power, ICP tokens must first&lt;br /&gt;
be staked, and then locked up for a length of time greater than 6&lt;br /&gt;
months, to at most 8 years.&lt;br /&gt;
&lt;br /&gt;
Just as tokens are held in a user&#039;s account, stake is held in a special&lt;br /&gt;
account called a &amp;quot;neuron&amp;quot;. Each neuron has its own identifier, and&lt;br /&gt;
several attributes relating to its stake. These include:&lt;br /&gt;
&lt;br /&gt;
* the length of time it is locked for (the &amp;quot;dissolve delay&amp;quot;);&lt;br /&gt;
* whether it is currently dissolving toward liquidity;&lt;br /&gt;
* and how much reward it has accrued as a result of voting on proposals (the &amp;quot;maturity&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Once a neuron is locked for more than six months, it gains the ability&lt;br /&gt;
both to submit proposals and to vote on them. Voting in turn generates&lt;br /&gt;
voting rewards, based on how active a neuron is in voting on proposals.&lt;br /&gt;
If you vote on every open proposal, you gain the maximum reward.&lt;br /&gt;
&lt;br /&gt;
A neuron can also &amp;quot;follow&amp;quot; other neurons, which causes it to&lt;br /&gt;
automatically vote the same as the majority of the neurons that it&lt;br /&gt;
follows. All new neurons by default follow neuron 27 held by the ICA, so&lt;br /&gt;
any newly staked neuron will generate voting rewards as soon as it is&lt;br /&gt;
locked for more than six months. The default following is applied to&lt;br /&gt;
most proposal topics, except for proposals with topic Governance, where&lt;br /&gt;
neuron holders have to explicitly vote to earn rewards.&lt;br /&gt;
&lt;br /&gt;
=== Voting Power ===&lt;br /&gt;
&lt;br /&gt;
The voting power of a locked neuron is determined by several factors:&lt;br /&gt;
&lt;br /&gt;
* Principally, by its stake. 1 ICP = the power of 1 vote.&lt;br /&gt;
* Next, by its lock up duration, or dissolve delay. 6 months grants a 1.06x voting power bonus, and 8 years grants 2x. All other durations scale linearly between.&lt;br /&gt;
* Lastly, by its age, or length of time spent locked up without dissolving. 4 years grants a 1.25x bonus, multiplicative with any other bonuses. All other durations between 0 seconds and 4 years scale linearly between.&lt;br /&gt;
&lt;br /&gt;
This means that the maximum voting power, of 2.5 votes per ICP staked,&lt;br /&gt;
is only achievable by locking up your neuron for 8 years, and leaving it&lt;br /&gt;
in that locked up state for 4 years. At that time you will have the most&lt;br /&gt;
voting power for the stake committed.&lt;br /&gt;
&lt;br /&gt;
=== Maturity ===&lt;br /&gt;
&lt;br /&gt;
Maturity represents the voting rewards accumulated in a neuron. Each day&lt;br /&gt;
the network rewards participants by allocating to every voting neuron a&lt;br /&gt;
portion of the total reward, based both on its voting power at the time&lt;br /&gt;
proposals were made, and the number of proposals it voted on.&lt;br /&gt;
&lt;br /&gt;
Some look at maturity as similar to a &amp;quot;dividend&amp;quot; or &amp;quot;interest&amp;quot;, but&lt;br /&gt;
please note that your tax authority may take a different view on the&lt;br /&gt;
subject. Please consult the appropriate professionals before deciding on&lt;br /&gt;
an interpretation of when maturity becomes income.&lt;br /&gt;
&lt;br /&gt;
For those who wish to compound the gains in their neuron, the most&lt;br /&gt;
natural activity is to &amp;quot;merge maturity&amp;quot; at intervals, which has the&lt;br /&gt;
effect of minting the neuron&#039;s maturity and adding that minted amount&lt;br /&gt;
back into the neuron&#039;s stake. If you wish to harvest income from the&lt;br /&gt;
neuron, you &amp;quot;spawn&amp;quot; maturity into a reward neuron, which mints the&lt;br /&gt;
parent neuron&#039;s, and moves this maturity into the stake of a new neuron.&lt;br /&gt;
It should be noted that if you do neither, and leave those gains in the&lt;br /&gt;
form of maturity, it will not add to the minted total of ICP, nor&lt;br /&gt;
contribute to your voting power.&lt;br /&gt;
&lt;br /&gt;
== Why Staking Matters ==&lt;br /&gt;
&lt;br /&gt;
To some, staking is seen as an income generator, a way to perform &amp;quot;yield&lt;br /&gt;
farming&amp;quot; by locking up ICP and enjoying the benefits of the accrued&lt;br /&gt;
maturity. However, staking is not intended solely as an income vehicle.&lt;br /&gt;
It is a way of allowing those who invest in the Internet Computer to&lt;br /&gt;
decide what happens next with the platform.&lt;br /&gt;
&lt;br /&gt;
When the Internet Computer first launched, all proposals required a&lt;br /&gt;
majority vote to pass. Gradually, however, this is changing. After a&lt;br /&gt;
recent update it is now possible for proposals to pass with only a&lt;br /&gt;
majority among 3% of the total voting power, meaning that proposals&lt;br /&gt;
stand a chance even if large entities abstain and the majority of the&lt;br /&gt;
network does not vote.&lt;br /&gt;
&lt;br /&gt;
== Staking Rewards ==&lt;br /&gt;
&lt;br /&gt;
Even if you stake only for the purpose of voting on proposals, voting&lt;br /&gt;
rewards are an important aspect of neurons. At the very least,&lt;br /&gt;
such returns can be compounded to increase your total voting power. So&lt;br /&gt;
to better understand staking and reward, it may be helpful to look at&lt;br /&gt;
staking from two perspectives:&lt;br /&gt;
&lt;br /&gt;
=== Short-term: NNS rewards each day ===&lt;br /&gt;
&lt;br /&gt;
Every day, rewards are granted by the network to each voting neuron. The&lt;br /&gt;
percentage of those rewards received by each neuron depend on the&lt;br /&gt;
following factors:&lt;br /&gt;
&lt;br /&gt;
* Amount of ICP staked&lt;br /&gt;
* Length of dissolve delay&lt;br /&gt;
* &amp;quot;Age&amp;quot; of the neuron (time spent in a non-dissolving state)&lt;br /&gt;
* Number of eligible proposals the neuron has voted on&lt;br /&gt;
&lt;br /&gt;
For example, if on a single day the NNS has generated 1000 ICP in total&lt;br /&gt;
rewards (see below for more on how this is computed), and there were 10&lt;br /&gt;
proposals submitted which only two neurons voted on, and:&lt;br /&gt;
&lt;br /&gt;
* Neuron A has a voting power of 20, and voted on all 10 proposals&lt;br /&gt;
* Neuron B has a voting power of 80, and voted on all 10 proposals&lt;br /&gt;
&lt;br /&gt;
Then the 1000 ICP would be divided between these two neurons by their&lt;br /&gt;
proportional voting power:&lt;br /&gt;
&lt;br /&gt;
* Neuron A with voting power of 20, gets 20% of the total = 200 ICP&lt;br /&gt;
* Neuron B with voting power of 80, gets 80% of the total = 800 ICP&lt;br /&gt;
&lt;br /&gt;
If either neuron had only voted for X% of those 10 proposals, it&#039;s&lt;br /&gt;
reward would be decreased to X% of its maximum eligibility, with the&lt;br /&gt;
remainder distributed among the other neurons.&lt;br /&gt;
&lt;br /&gt;
=== Long-term: NNS rewards over years ===&lt;br /&gt;
&lt;br /&gt;
As of December 2021, here is the long-term NNS rewards curve: https://dashboard.internetcomputer.org/circulation&lt;br /&gt;
&lt;br /&gt;
In the first year, the NNS allocates 10% of the total supply to generate&lt;br /&gt;
voting rewards. Note the term &amp;quot;allocates&amp;quot; rather than &amp;quot;mints&amp;quot;, because&lt;br /&gt;
rewards are not minted until they are spawn, merged or the neuron is&lt;br /&gt;
disbursed, so total supply is not automatically increased by rewards&lt;br /&gt;
alone. This allocation rate drops linearly until it reaches 5% by year&lt;br /&gt;
8. Like all parameters in the NNS, the minting rate can be changed via&lt;br /&gt;
NNS proposals, but this is the current rate schedule.&lt;br /&gt;
&lt;br /&gt;
Because the total supply of ICP is a dynamic system with deflation and&lt;br /&gt;
inflation, it is impossible to predict what voting rewards will be on any&lt;br /&gt;
given day or year in the future. It is relatively easy to predict what&lt;br /&gt;
the percentage allocation rate will be months from now, but it is much&lt;br /&gt;
harder to predict what the total supply will be both because of&lt;br /&gt;
potential changes to the rate, and how often stakeholders will mint&lt;br /&gt;
their maturity.&lt;br /&gt;
&lt;br /&gt;
=== Inflationary and Deflationary Mechanisms ===&lt;br /&gt;
&lt;br /&gt;
Deflationary mechanisms for ICP:&lt;br /&gt;
&lt;br /&gt;
* Minting cycles to pay for compute and storage burns ICP to create cycles&lt;br /&gt;
* Burning of transaction fees&lt;br /&gt;
* Burning of the 1 ICP deposit for failed proposals; note that this only happens at disbursement or merging of neurons, so accumulated fees can persist for a while before finally contributing to deflation.&lt;br /&gt;
&lt;br /&gt;
Inflationary mechanisms for ICP:&lt;br /&gt;
&lt;br /&gt;
* Node providers are paid by minting ICP&lt;br /&gt;
* Voting rewards are paid 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;
=== Network Factors Affecting Annual Percentage Yield ===&lt;br /&gt;
&lt;br /&gt;
When considering potential Annual Percentage Yield (APY) for ICP staked&lt;br /&gt;
in a voting neuron, in addition to the primary factors of the dissolve&lt;br /&gt;
delay, neuron age, and amount of stake, there are also network factors&lt;br /&gt;
that can affect potential yield. Chief among them are:&lt;br /&gt;
&lt;br /&gt;
* The amount of supply allocated each year to pay rewards;&lt;br /&gt;
* The total voting power across all neurons, since rewards are divided equally among neurons according to their voting power;&lt;br /&gt;
* Inflationary and deflationary pressures: primarily, minting to pay node providers and spawn rewards, burning to fuel canister cycles, and the other factors mentioned in the previous section.&lt;br /&gt;
&lt;br /&gt;
These factors can affect future returns significantly. Firstly, the&lt;br /&gt;
amount of supply began at 10% at genesis, but will fall to 5% after the&lt;br /&gt;
first eight years. Secondly, as staking becomes more common and there&lt;br /&gt;
are better user interfaces to do it, there will naturally be more&lt;br /&gt;
competition. If no one else were staking, returns would be astronomical;&lt;br /&gt;
but if nearly everyone is staking, returns will be lower.&lt;br /&gt;
&lt;br /&gt;
Economics are always at play, however. If staking is very popular, it&lt;br /&gt;
means the amount of liquid supply would reduce, which would drive up&lt;br /&gt;
demand and hence prices. So although returns would drop significantly,&lt;br /&gt;
price appreciation should offset the loss in income. Conversely, if most&lt;br /&gt;
people dissolve their neurons to trade on the open market, price would&lt;br /&gt;
likely drop while returns increase. It is reasonable to assume that over&lt;br /&gt;
time an equilibrium will be established, where rates and prices&lt;br /&gt;
fluctuate in sympathy based on the macro factors driving demand for ICP&lt;br /&gt;
tokens.&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1787</id>
		<title>Internet Computer wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1787"/>
		<updated>2022-02-07T15:57:22Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome!==&lt;br /&gt;
&lt;br /&gt;
This is the wiki for the Internet Computer (IC), the world&#039;s fastest and most powerful blockchain network&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-internet-computers-transaction-speed-and-finality-outpace-other-l1-blockchains-8e7d25e4b2ef&amp;lt;/ref&amp;gt;. The goal of the wiki is to be a general source of information for and by the IC community. Topics can range as varied as cryptography, governance of the network, user experience, tokenomics, or developer-facing tutorials.&lt;br /&gt;
&lt;br /&gt;
==Introduction to the Internet Computer==&lt;br /&gt;
The Internet computer is the fastest and most scalable general-purpose blockchain. It was launched by DFINITY in May 2021 and works towards realising a blockchain singularity by hosting dapps, content, and performing computation for billions of users. In building the Internet Computer there have been a number of notable technological developments in cryptography (chain-key cryptography), programming languages (Motoko) and others. &lt;br /&gt;
&lt;br /&gt;
===Most common place to start===&lt;br /&gt;
* [https://dfinity.org/icig.pdf Internet Computer: Infographic]&lt;br /&gt;
&lt;br /&gt;
===For general audience===&lt;br /&gt;
* [[Internet Computer overview]]&lt;br /&gt;
* [[Internet Computer vision]]&lt;br /&gt;
* [https://dfinity.org/roadmap/ Internet Computer roadmap]&lt;br /&gt;
&lt;br /&gt;
===For more technical audience===&lt;br /&gt;
* [https://eprint.iacr.org/2022/087 &amp;quot;Internet Computer for Geeks&amp;quot; paper]&lt;br /&gt;
&lt;br /&gt;
==For Dapp Users ==&lt;br /&gt;
&lt;br /&gt;
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Introduction to the Internet Computer for dapp users]]&lt;br /&gt;
* [[Index of dapps on the Internet Computer]]&lt;br /&gt;
* [[Internet Identity for dapp users]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for dapp users]]&lt;br /&gt;
&lt;br /&gt;
== For ICP Token-holders, Investors and Neuron Holders==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, rewards, and options for managing one&#039;s ICP.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[ICP token]]&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
* [[Staking and voting]]&lt;br /&gt;
* [[Governance of the Internet Computer]]&lt;br /&gt;
* [[Network Nervous System]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer token-holders, investors and neuron holders]].&lt;br /&gt;
&lt;br /&gt;
== For Smart Contract and Dapp Developers ==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers such as links to documentation, developer forums, and relevant dashboards.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Canisters (dapps/smart contracts)]]&lt;br /&gt;
* [[Internet Identity technical overview]]&lt;br /&gt;
* [https://smartcontracts.org/ Developer documentation on smartcontract.org]&lt;br /&gt;
* [https://forum.dfinity.org/ IC community developer forum]&lt;br /&gt;
* [[Index of libraries for Internet Computer development]]&lt;br /&gt;
* [[Best practices for a high traffic dapp launch]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for smart contract and dapp developers]].&lt;br /&gt;
&lt;br /&gt;
== For the Curious, Researchers and Blockchain Enthusiasts ==&lt;br /&gt;
&lt;br /&gt;
This section is for those interested on how the Internet Computer works under the hood. This section touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [https://dfinity.org/howitworks/ How the Internet Computer Works]&lt;br /&gt;
* [https://dashboard.internetcomputer.org/ Internet Computer dashboard] &lt;br /&gt;
* [[Internet Computer performance]]&lt;br /&gt;
* [[DFINITY Foundation]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for researchers and blockchain enthusiasts]].&lt;br /&gt;
&lt;br /&gt;
== FAQs, Tutorials, and How-tos==&lt;br /&gt;
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.&lt;br /&gt;
&lt;br /&gt;
===FAQs===&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
===Tutorials===&lt;br /&gt;
Example:&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Tutorials]].&lt;br /&gt;
&lt;br /&gt;
=== How-tos ===&lt;br /&gt;
Example:&lt;br /&gt;
* [[How-To: Claim neurons for seed participants]]&lt;br /&gt;
* [[How-To: Create an NNS motion proposal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more in [[How-Tos]].&lt;br /&gt;
&lt;br /&gt;
==Contributing to the Wiki==&lt;br /&gt;
&lt;br /&gt;
=== How to contribute ===&lt;br /&gt;
Anyone can read the wiki. You can also edit pages, all you need to do is [https://wiki.internetcomputer.org/wiki/Special:CreateAccount create an account]. See more in [[Contributing to the wiki]].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_overview&amp;diff=1784</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=1784"/>
		<updated>2022-02-07T14:40:18Z</updated>

		<summary type="html">&lt;p&gt;Jens: &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 we know 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;
* [https://www.youtube.com/watch?v=XgsOKP224Zw Overview of the Internet Computer] video on YouTube.&lt;br /&gt;
* The [https://dfinity.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>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1780</id>
		<title>Internet Computer wiki</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Internet_Computer_wiki&amp;diff=1780"/>
		<updated>2022-02-07T13:57:58Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Welcome!==&lt;br /&gt;
&lt;br /&gt;
This is the wiki for the Internet Computer (IC), the world&#039;s fastest and most powerful blockchain network&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-internet-computers-transaction-speed-and-finality-outpace-other-l1-blockchains-8e7d25e4b2ef&amp;lt;/ref&amp;gt;. The goal of the wiki is to be a general source of information for and by the IC community. Topics can range as varied as cryptography, governance of the network, user experience, tokenomics, or developer-facing tutorials.&lt;br /&gt;
&lt;br /&gt;
== Introduction to the Internet Computer==&lt;br /&gt;
The Internet computer is the fastest and most scalable general-purpose blockchain. It was launched by DFINITY in May 2021 and works towards realising a blockchain singularity by hosting dapps, content, and performing computation for billions of users. In building the Internet Computer there have been a number of notable technological developments in cryptography (chain-key cryptography), programming languages (Motoko) and others. &lt;br /&gt;
&lt;br /&gt;
===Most common place to start===&lt;br /&gt;
* [https://dfinity.org/icig.pdf Internet Computer: Infographic]&lt;br /&gt;
&lt;br /&gt;
===For general audience===&lt;br /&gt;
* [[Internet Computer overview]]&lt;br /&gt;
* [[Internet Computer vision]]&lt;br /&gt;
* [https://dfinity.org/roadmap/ Internet Computer roadmap]&lt;br /&gt;
&lt;br /&gt;
===For more technical audience===&lt;br /&gt;
* [https://eprint.iacr.org/2022/087 &amp;quot;Internet Computer for Geeks&amp;quot; paper]&lt;br /&gt;
&lt;br /&gt;
== For dapp users ==&lt;br /&gt;
&lt;br /&gt;
If you use or are interested in using dapps on the Internet Computer, this section will help you understand the user experience benefits of the IC, how to use Internet Identity, or find more IC dapps.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Introduction to the Internet Computer for dapp users]]&lt;br /&gt;
* [[Index of dapps on the Internet Computer]]&lt;br /&gt;
* [[Internet Identity for dapp users]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for dapp users]]&lt;br /&gt;
&lt;br /&gt;
== For ICP token-holders, investors and neuron holders ==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer is governed by on-chain governance system called the Network Nervous System (NNS). To participate on governance, users need to stake ICP tokens. This section will explain how the NNS works, ICP tokens, staking, voting, and options for managing one&#039;s ICP.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[ICP token]]&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
* [[Staking and voting]]&lt;br /&gt;
* [[Governance of the Internet Computer]]&lt;br /&gt;
* [[Network Nervous System]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer token-holders, investors and neuron holders]].&lt;br /&gt;
&lt;br /&gt;
== For smart contract and dapp developers ==&lt;br /&gt;
&lt;br /&gt;
The Internet Computer (IC) is a new platform for executing smart contracts. This section contains information for developers such as links to documentation, developer forums, and relevant dashboards.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [[Canisters (dapps/smart contracts)]]&lt;br /&gt;
* [[Internet Identity technical overview]]&lt;br /&gt;
* [https://smartcontracts.org/ Developer documentation on smartcontract.org]&lt;br /&gt;
* [https://forum.dfinity.org/ IC community developer forum]&lt;br /&gt;
* [[Index of libraries for Internet Computer development]]&lt;br /&gt;
* [[Best practices for a high traffic dapp launch]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for smart contract and dapp developers]].&lt;br /&gt;
&lt;br /&gt;
== For the curious, researchers and blockchain enthusiasts ==&lt;br /&gt;
&lt;br /&gt;
This section is for those interested on how the Internet Computer works under the hood. This section touches many different subject areas from cryptography, consensus protocols, virtual machines, operating systems, networking, distributed systems, etc.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* [https://dfinity.org/howitworks/ How the Internet Computer Works]&lt;br /&gt;
* [https://dashboard.internetcomputer.org/ Internet Computer dashboard] &lt;br /&gt;
* [[Internet Computer performance]]&lt;br /&gt;
* [[DFINITY Foundation]]&lt;br /&gt;
* [[Bitcoin integration]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Internet Computer for researchers and blockchain enthusiasts]].&lt;br /&gt;
&lt;br /&gt;
== FAQs, Tutorials, and How To&#039;s==&lt;br /&gt;
Tutorials are guided introductions to user stories, intended for first-time users and characterized by a shallow learning curve. How-Tos are step-by-step instructions for specific, narrow goals.&lt;br /&gt;
&lt;br /&gt;
===FAQs===&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
&lt;br /&gt;
=== Tutorials ===&lt;br /&gt;
Example:&lt;br /&gt;
* [[Managing ICP holdings]]&lt;br /&gt;
&lt;br /&gt;
See more in [[Tutorials]].&lt;br /&gt;
&lt;br /&gt;
=== How-Tos ===&lt;br /&gt;
Example:&lt;br /&gt;
* [[How-To: Claim neurons for seed participants]]&lt;br /&gt;
* [[How-To: Create an NNS motion proposal]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See more in [[How-Tos]].&lt;br /&gt;
&lt;br /&gt;
== Contributing to the wiki ==&lt;br /&gt;
&lt;br /&gt;
=== How to Contribute ===&lt;br /&gt;
Anyone can read the wiki. You can also edit pages, all you need to do is [https://wiki.internetcomputer.org/wiki/Special:CreateAccount create an account]. See more in [[Contributing to the wiki]].&lt;br /&gt;
&lt;br /&gt;
==References==&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Index_of_dapps_on_the_Internet_Computer_ecosystem&amp;diff=1779</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=1779"/>
		<updated>2022-02-06T20:26:14Z</updated>

		<summary type="html">&lt;p&gt;Jens: &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;
&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:Logo.jpg|thumb]]&lt;br /&gt;
&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. For those projects with Twitter handles, they can also be found at:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[https://twitter.com/i/lists/1443165233510436868 IC Projects - All@Twitter]&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 we 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, we want it to be 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;
* Where: https://sailfish.app/&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/CipherProxyLLC Cipher Proxy]&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: The Cake Club is a collection of 7777 Dick NFTs unique digital collectible living on the Internet computer, made by Meme Cake, which claims to be the world&#039;s first decentralized comedy platform. Think of it as a 9GAG but decentralized.&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;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
	<entry>
		<id>https://wiki.internetcomputer.org/w/index.php?title=Governance_of_the_Internet_Computer&amp;diff=1496</id>
		<title>Governance of the Internet Computer</title>
		<link rel="alternate" type="text/html" href="https://wiki.internetcomputer.org/w/index.php?title=Governance_of_the_Internet_Computer&amp;diff=1496"/>
		<updated>2022-01-24T14:31:44Z</updated>

		<summary type="html">&lt;p&gt;Jens: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Internet Computer blockchain is governed by the Network Nervous System&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-network-nervous-system-governing-the-internet-computer-1d176605d66a&amp;lt;/ref&amp;gt;. The NNS is an algorithmic governance system that oversees the network and the token economics that make it possible to build DeFi dapps, open internet services and enterprise systems.&lt;br /&gt;
&lt;br /&gt;
Holders of the Internet Computer’s ICP utility tokens can lock their tokens in &#039;&#039;neurons&#039;&#039; to participate in governance and contribute to decision-making, such as voting to determine whether or not a new collection of nodes (also called a subnet) should be added to the network. &lt;br /&gt;
&lt;br /&gt;
=== Why the Internet Computer needs a Network Nervous System&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-network-nervous-system-governing-the-internet-computer-1d176605d66a&amp;lt;/ref&amp;gt; ===&lt;br /&gt;
The Internet Computer is a distributed protocol run by a network of node machines, which are hosted in different data centers. The nodes communicate with one another over the internet to achieve a consensus on what the Internet Computer’s state should be. A collection of nodes engaging in consensus is called a subnet. On top of this underlying communication and consensus protocol, the Internet Computer hosts &#039;&#039;canisters&#039;&#039;, which are stateful programs that can also communicate with each other. The state of all of the canisters has to be replicated across all of the nodes. Therefore, to allow the Internet Computer to scale indefinitely, the network is made up of not just one subnet, but multiple subnets.&lt;br /&gt;
&lt;br /&gt;
Different subnets can communicate with one another, enabling canisters that are hosted on different subnets to also communicate with each other. For the Internet Computer to scale on-demand, the network must be able to add new subnets over time to increase compute capacity. Moreover, the robustness of the subnets can be improved by adding new nodes to them over time. Eventually, the Internet Computer will run millions of nodes at scale. This means that there needs to be a mechanism by which the nodes and subnets are organized, tracked, and managed. For example, decisions must be made about when subnets and nodes should be added or removed. In addition, the Internet Computer was launched with an initial feature set, which evolves over time. Therefore, the Internet Computer needs to be able to make decisions on how to evolve the protocol in a distributed manner.&lt;br /&gt;
&lt;br /&gt;
=Network Nervous System overview=&lt;br /&gt;
&lt;br /&gt;
The NNS is a tokenized open governance system that is responsible for managing the Internet Computer. For example, the NNS stores information about what nodes belong to which subnet and the code each replica runs. The NNS also makes decisions about how to update this information and evolve the IC.&lt;br /&gt;
&lt;br /&gt;
The NNS is realized by a set of &#039;&#039;[[canisters|canister smart contracts]]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
=== NNS canister smart contracts ===&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Ledger canister:&#039;&#039;&#039; The ledger canister stores the ICP utility &#039;&#039;token balance&#039;&#039; of each principal and the history of ICP &#039;&#039;transactions&#039;&#039;.&lt;br /&gt;
# &#039;&#039;&#039;Governance canister:&#039;&#039;&#039; The governance canister receives and stores &#039;&#039;Proposals&#039;&#039;, which are suggestions for how the Internet Computer should be changed. These proposals can then be voted on. The governance canister also tracks &#039;&#039;Neurons&#039;&#039;, which determine who is allowed to participate in governance.&lt;br /&gt;
# &#039;&#039;&#039;Registry canister:&#039;&#039;&#039; The registry canister stores the configuration of the whole Internet Computer, e.g., which nodes belong to a certain subnet and the software each node should run.&lt;br /&gt;
# &#039;&#039;&#039;Cycles minting canister&#039;&#039;&#039;: This canister is responsible for minting &#039;&#039;cycles&#039;&#039;, the fuel for canisters for computation, communication and storage. New cycles can be minted when a new canister is newly created or when an existing canister is topped up with additional cycles.&lt;br /&gt;
# &#039;&#039;&#039;Root canister&#039;&#039;&#039;: The root canister is the controller of all other NNS canisters and responsible for upgrading them.&lt;br /&gt;
# &#039;&#039;&#039;Lifeline canister&#039;&#039;&#039;: The lifeline canister is the controller of the root canister and responsible for upgrading it. &lt;br /&gt;
# &#039;&#039;&#039;Archive canisters&#039;&#039;&#039;: The canisters that store the history of the ledger transactions once there are too many transactions to keep in a single canister.&lt;br /&gt;
#&#039;&#039;&#039;Genesis token canister:&#039;&#039;&#039; This is the canister that was used to initialize the neurons that already existed during genesis.&lt;br /&gt;
&lt;br /&gt;
The canisters that users of the Internet Computer are interacting with the most are the first two: the ledger canister for making transactions, and the governance canister for staking tokens and submitting and voting on proposals.&lt;br /&gt;
&lt;br /&gt;
= Ledger canister &amp;amp; ICP utility tokens in the NNS =&lt;br /&gt;
[[ICP token|ICP utility tokens]] are managed by the ledger canister, which stores two things: accounts and transactions. An account record keeps track of how many tokens are in the possession of a given [[principal]] (i.e., an identity by which a user is authenticated on the Internet Computer). Tokens can then be sent from one account to another, and this is recorded in the transactions of the ledger canister.&lt;br /&gt;
&lt;br /&gt;
In the NNS, ICP utility tokens are used for three different things:&lt;br /&gt;
&lt;br /&gt;
# ICP tokens facilitate &#039;&#039;&#039;participation in governance&#039;&#039;&#039; (more below on how the neurons are connected with the tokens).&lt;br /&gt;
# Those who participate in governance and those who provide compute capacity by operating note machines are &#039;&#039;&#039;rewarded&#039;&#039;&#039; in ICP tokens.&lt;br /&gt;
# ICP tokens are used for &#039;&#039;&#039;conversion into cycles&#039;&#039;&#039;, which are fuel for canisters for computation, communication and storage.&lt;br /&gt;
&lt;br /&gt;
=Governance Canister=&lt;br /&gt;
&lt;br /&gt;
The governance canister is responsible for holding &#039;&#039;neurons&#039;&#039;, determining who is allowed to participate in governance. Moreover, it stores proposals, which are suggestions for changes to the Internet Computer, and the information associated with proposals that decides if these suggestions should be implemented. If a proposal is adopted, the governance canister automatically executes the decision. Finally, the governance canister distributes rewards to those neurons who participated in voting and contributed to the decision making.&lt;br /&gt;
&lt;br /&gt;
== Neurons ==&lt;br /&gt;
Neurons contain &#039;&#039;locked&#039;&#039; ICP utility tokens. These staked tokens are not liquid and cannot be transferred freely to others.&lt;br /&gt;
&lt;br /&gt;
=== Neuron Attributes ===&lt;br /&gt;
Each neuron stores a number of neuron attributes. Some of the most important ones are the following:&lt;br /&gt;
&lt;br /&gt;
* How many ICP tokens are &#039;&#039;locked&#039;&#039; in the neuron. This information is accessible both by a neuron referencing an account on the ledger canister that stores the neuron&#039;s balance and by a cached stake on the governance canister.&lt;br /&gt;
* A &#039;&#039;controller&#039;&#039; principal, which identifies who manages the neuron&#039;s actions.&lt;br /&gt;
* A unique &#039;&#039;neuron ID&#039;&#039;&lt;br /&gt;
*The neuron&#039;s &#039;&#039;dissolve delay.&#039;&#039; Intuitively, the dissolve delay defines the earliest time when the locked ICP tokens can be unlocked. This time can be increased to up to 8 years but it can only be decreased by waiting for time to pass. A neuron can either be &#039;&#039;non-dissolving&#039;&#039;, &#039;&#039;dissolving&#039;&#039;, or &#039;&#039;dissolved.&#039;&#039; If a neuron is non-dissolving, its set dissolve delay is kept stable and the timer is not running down. The neuron can then be set to dissolving, which means that the dissolve delay is decreasing with the time. Finally, if a the dissolve delay reaches 0, the neuron is dissolved and the locked tokens can be transferred out of the neuron. &lt;br /&gt;
*The &#039;&#039;age&#039;&#039;, which is between 0 and 4 years. A neuron&#039;s age determines the time since when then neuron has last entered the non-dissolving state.&lt;br /&gt;
A neuron&#039;s dissolve delay determines a neuron&#039;s &#039;&#039;eligibility&#039;&#039; to participate in voting. Namely, only those neurons with tokens locked for at least six months are eligible to participate in governance. This incentivizes neuron holders to vote such that the value of their tokens is maximized for a future date. Assuming the value of the tokens is a rough proxy for the network’s success, this incentivizes neuron holders to vote in the long-term interest of the Internet Computer.&lt;br /&gt;
&lt;br /&gt;
A neuron&#039;s &#039;&#039;voting power&#039;&#039; depends on how many tokens a neuron has locked, as well as the neuron&#039;s dissolve delay and age. Intuitively, those who are more committed to the Internet Computer, as they have locked their tokens for longer or have already staked them for a long time, have more voting power. The voting power increases with the dissolve delay and the age.&lt;br /&gt;
&lt;br /&gt;
Finally, the number of rewards that each neuron receives depends on the number of votes that the neuron participated in as well as the neuron&#039;s voting power.&lt;br /&gt;
&lt;br /&gt;
===How to lock tokens in a neuron&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-network-nervous-system-governing-the-internet-computer-1d176605d66a&amp;lt;/ref&amp;gt;===&lt;br /&gt;
&lt;br /&gt;
As a user, there are different [[ICP staking options]] to stake ICP utility tokens in a neuron. The effect of such an operation is that these ICP tokens are transferred to a ledger account that is associated with a newly created neuron. The tokens are thus locked and cannot be used freely by the neuron holder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example.&#039;&#039;&#039; &#039;&#039;Let’s assume that User B, who has an account (A1) on the ledger canister, would like to lock a hundred tokens in a neuron. To do so, User B sends a command to the NNS specifying the number of tokens and User B’s corresponding principal ID.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A transaction is then recorded on the ledger, which specifies that some tokens are sent from the original account (A1) of the user to a new account (A2), which also creates the new account (A2) that holds the locked tokens. A new neuron is created in the governance canister that specifies that User B is the one controlling this neuron and that specifies that the amount of locked tokens is defined by the new ledger account A2.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Externally, it’s not visible that the new account (A2) holds locked tokens or is in any way related to the original account (A1). Nevertheless, this account is in fact controlled by the neuron, which means that the tokens are not liquid and that User B cannot transfer the tokens or convert the tokens into cycles.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The main reason for a user to lock tokens in a neuron is to be able to participate in voting and get voting rewards. Both are described in more detail below.&lt;br /&gt;
== Proposals ==&lt;br /&gt;
A proposal is a suggestion for a change to the Internet Computer. More technically, a proposal describes a &#039;&#039;method&#039;&#039; in a canister that is called if the proposal is accepted. Moreover, it describes the &#039;&#039;parameters&#039;&#039; with which the method will be called.&lt;br /&gt;
&lt;br /&gt;
The Internet Computer supports a variety of different proposal &#039;&#039;topics&#039;&#039;. Here are some examples of topics that are supported in the NNS governance canister:&lt;br /&gt;
* #SubnetManagement Proposals: This considers topology changes. The example proposal above about whether a node should be added to a subnet falls into this category.&lt;br /&gt;
* #NodeAdmin Proposals: This concerns the administration of node machines. An example of a proposal could specify that all of the nodes in a subnet should be updated.&lt;br /&gt;
* #NetworkEconomics Proposals: This concerns the administration of network economics. For example: what rewards should be paid to the node machine providers?&lt;br /&gt;
*#Motion Proposals: These proposals do not have a direct execution of a method as a consequence but are merely there to record the opinion of the community on a specified matter.&lt;br /&gt;
&lt;br /&gt;
== Voting and proposal lifecycle ==&lt;br /&gt;
&lt;br /&gt;
=== Submitting a proposal ===&lt;br /&gt;
Any eligible neuron can make and [https://wiki.internetcomputer.org/index.php?title=Neuron_Attributes_and_Commands#Make_Proposal submit a proposal]. To avoid being inundated by useless proposals, a user submitting a proposal has to pay a fee of 1 ICP when submitting a proposal, that they will receive back if the proposal is adopted (but that they will not receive back if the proposal is rejected).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example.&#039;&#039;&#039; &#039;&#039;Let’s consider a User C who would like to suggest that a new subnet is created that initially consists of two nodes: Node 1 and Node 2. Once User C controls a neuron, they can submit a proposal by specifying their neuron ID, the type of proposal that they would like to submit, and the proposal’s parameters. In our example, the proposal specifies that a new subnet should be created and the proposal&#039;s parameters consist of the initial nodes Node 1 and Node 2. Upon the receipt of this proposal, the governance canister first checks that this user is indeed the one controlling the neuron with the given ID and that this neuron is eligible to vote. If the requirements are met, the proposal is added to the governance canister.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
After a proposal is submitted by an eligible neuron, the proposal is created and stored in the governance canister. Moreover, the governance canister computes and stores additional information with each proposal. First, the [[voting power]] of each neuron is computed and stored together with the proposal. The sum of all of these voting powers also determines the &#039;&#039;total voting power&#039;&#039; associated with a given proposal.&lt;br /&gt;
&lt;br /&gt;
When a new proposal is created, the number of “yes” votes associated with the proposal is already increased by the proposer’s voting power. This reflects that the proposal already has the support of the user submitting it.&lt;br /&gt;
&lt;br /&gt;
Moreover, each proposal has an associated &#039;&#039;voting period,&#039;&#039; which determines the period of time over which votes for this proposal are accepted.&lt;br /&gt;
&lt;br /&gt;
=== Viewing NNS Proposals ===&lt;br /&gt;
You can see all the NNS proposals on the Internet Computer dashboard: https://dashboard.internetcomputer.org/governance&lt;br /&gt;
&lt;br /&gt;
===Discussing NNS Proposals===&lt;br /&gt;
&lt;br /&gt;
Voters can freely discuss proposal anywhere they like. A lot of NNS proposals are discussed on the developer forum: https://forum.dfinity.org/c/roadmap/29.&lt;br /&gt;
&lt;br /&gt;
===Voting on a proposal===&lt;br /&gt;
After a proposal is submitted and added to the governance canister, other users who control neurons can [[ICP voting options|vote on the proposal]]. Currently, the most user-friendly way to vote on NNS proposals is via the NNS Frontend dapp: https://nns.ic0.app/. For voting, users would first learn which are the open proposals on the governance canister that they can actually vote on. This information is available, for example on Internet Computer dashboard: https://dashboard.internetcomputer.org/governance or in the [[NNS frontend dapp]]. &lt;br /&gt;
&lt;br /&gt;
If a neuron votes in favor of a proposal, the governance canister adds this neuron’s voting power, as stored with the proposal, to the “Yes”-votes associated with the proposal. Likewise, if a neuron votes against a proposal, the governance canister adds the neuron’s voting power to the “No”-votes of the proposal.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example.&#039;&#039;&#039; &#039;&#039;Assume that a given User D would like to reject the proposal that was just added by User C. To do so, User D would send their neuron ID and a “no” vote to the governance canister. The governance canister would check that the vote is coming from the correct user who controls the neuron and confirm that the neuron is eligible to vote. If the conditions are met, the governance canister would then add the voting power of User D to the “no” votes.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
====Neuron following and liquid democracy====&lt;br /&gt;
&lt;br /&gt;
Users may not have the time or knowledge to participate in all voting decisions. Therefore, instead of directly voting on proposals, neuron holders may choose to delegate their vote to other neurons that they trust with certain decisions. This concept of delegating the right to vote to other voters who then effectively vote with more voting power is called &#039;&#039;liquid democracy.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Concretely, for each proposal topic a neuron can [[How to follow neurons|specify a set of other neurons that it would like to &#039;&#039;follow&#039;&#039;]] &#039;&#039;(so-called followees)&#039;&#039;. In addition, a neuron can specify a set of followees for &amp;quot;all other topics&amp;quot; that are not covered by specific rules. The governance canister keeps track of this relation of follower and followee neurons. It then automatically casts a vote for a follower neuron based on the decision of the followees. In particular, if more than 50% of the followees vote &amp;quot;yes&amp;quot;, then a &amp;quot;yes&amp;quot; vote is cast for the follower and if at least 50% of the followees vote &amp;quot;no&amp;quot;, then a &amp;quot;no&amp;quot; vote is cast for the follower. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;. &#039;&#039;Consider neuron N1 that follows the set of neurons {N2, N3, N4, N5} on all proposal topics. Consider now that a proposal is submitted by another neuron N6. Assume in a first scenario that first N2 votes &amp;quot;No&amp;quot; and then N3 votes &amp;quot;No&amp;quot; on the proposal. In that case, the governance canister will also send a &amp;quot;No&amp;quot; vote for N1 two out of four followees voted &amp;quot;No&amp;quot; (which also means that it is not possible anymore to get more than 50% &amp;quot;Yes&amp;quot; votes). Assume a second scenario where N2 votes &amp;quot;Yes&amp;quot; and then N3 votes &amp;quot;Yes&amp;quot; on the proposal. In that case, no vote is sent yet for N1. However, if either N4 and N5 also send a &amp;quot;Yes&amp;quot; vote, a &amp;quot;Yes&amp;quot; vote is also cast for N1.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This liquid democracy has great advantages. First, it allows even neurons that do not have enough knowledge of a certain topic to nevertheless participate in governance by choosing the neurons that they trust with certain decisions and by delegating their vote to them. In particular, a neuron can choose a different set of followees for different topics. Moreover, this mechanism allows neuron holders to get voting rewards from voting participation even if they do not have time to actively participate in all voting decision.&lt;br /&gt;
&lt;br /&gt;
=== Proposal decision and wait-for-quiet ===&lt;br /&gt;
A proposal can be &#039;&#039;decided&#039;&#039; in two ways:&lt;br /&gt;
# &#039;&#039;&#039;Absolute Majority before the voting period ends&#039;&#039;&#039;: At any point, even before the voting period ends, if an absolute majority (more than half of the total voting power stored in the proposal) has voted Yes, then the proposal is adopted and if an absolute majority has voted No, then the proposal is rejected.&lt;br /&gt;
# &#039;&#039;&#039;Simple Majority at the voting period’s end&#039;&#039;&#039;: When the voting period ends, if a simple majority (more than half of the cast votes) has voted Yes and the number of these Yes-votes constitute at least 3% of the total voting power, then the proposal is adopted. Otherwise, the proposal is rejected.&lt;br /&gt;
&lt;br /&gt;
What also plays into this is the fact that the governance voting algorithm also applies &#039;&#039;wait-for-quiet&#039;&#039;. The idea of wait-for-quiet is to decide proposals quickly when all voters agree, but increase the time that neurons can vote for proposals that are controversial. That means that the voting period can be dynamically increased, depending on the neurons’ votes. In particular, each time a proposal’s outcome is turned (either a Yes-majority is turned to a No-majority or vice versa), the proposal’s deadline is increased. Currently, a proposal&#039;s initial voting period is 4 days and can be increased by at most another 4 days. That is, the voting period that is taken into account for the above rules can be between 4 and 8 days, depending on the voting activity.&lt;br /&gt;
&lt;br /&gt;
=== Proposal execution ===&lt;br /&gt;
Recall that a proposal defines a method, a canister, and some parameters. As soon as a proposal is adopted, the defined method on the specified canister is called with the given parameters. This is done fully automatically by the governance canister. &lt;br /&gt;
&lt;br /&gt;
== Voting Rewards ==&lt;br /&gt;
Contributing to decision-making is one incentive for voters to lock their neurons, but they are also &#039;&#039;rewarded&#039;&#039; for participating in network governance.&lt;br /&gt;
&lt;br /&gt;
Specifically, each day the governance canister considers which proposal can be settled. It is then considered for each neuron in how many proposals they participated and with which voting power. Depending on this, the neurons get rewarded. Concretely, rewards are added to the neuron&#039;s attribute that is called &#039;&#039;maturity.&#039;&#039; Maturity represents ICP utility token that are not yet minted. &lt;br /&gt;
&lt;br /&gt;
A neuron holder can then profit from the maturity in two ways:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Spawn maturity:&#039;&#039;&#039; A neuron holder can choose to [[How to spawn a neuron|spawn a new neuron]] to get liquid ICP utility tokens worth the voting rewards. Spawning a new neuron has the effect that a new neuron with a new associated account on the ledger will be created, which contains the amount of staked ICP utility token equivalent to the maturity of the original neuron. In fact, the new tokens are minted and transferred to the new account, which is also recorded in the ledger canister. The new neuron has a small dissolve delay of 7 days. This means that users only need to wait a short amount of time to be able to unlock the tokens and use them freely, no matter what dissolve delay the original neuron has.&lt;br /&gt;
# &#039;&#039;&#039;Merge maturity&#039;&#039;&#039;: A neuron holder can choose to [[merge maturity]] to reinvest the voting rewards in the existing neuron. This neuron operation adds the ICP utility token equivalent of the maturity to the neuron&#039;s stake and adjusts the neuron&#039;s age accordingly. Effectively this means that the maturity is reinvested in the neuron and contributes to the neuron&#039;s voting power.&lt;br /&gt;
&lt;br /&gt;
= Cycles Minting Canister and Cycles&amp;lt;ref&amp;gt;https://medium.com/dfinity/the-network-nervous-system-governing-the-internet-computer-1d176605d66a&amp;lt;/ref&amp;gt; =&lt;br /&gt;
Besides governance participation and voting rewards, tokens can also be converted into cycles, which fuel computation and storage on the Internet Computer. Each canister on the Internet Computer, except for those on the NNS, uses cycles for computations and has some cycles stored within it. While the token price may vary over time, the goal of the cycles is to keep the price of computation roughly consistent over time.&lt;br /&gt;
&lt;br /&gt;
The canister responsible for converting ICP utility tokens into cycles is the &#039;&#039;Cycles Minting Canister.&#039;&#039; To convert cycles for creating or topping-up a canister, a user needs to send ICP utility tokens to the Cycles Minting Canister. This canister then burns the tokens and mints the cycles. &lt;br /&gt;
&lt;br /&gt;
The Cycles Minting Canister only facilitates the conversion of ICP utility tokens to cycles but not the other way around. Cycles are burned in canisters when they use computation and storage over time. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example.&#039;&#039;&#039; &#039;&#039;Consider User E who runs a canister on the Internet Computer and would like to top up the cycles of this canister so that it can perform even more computations. Also assume that this canister currently has 700 trillion cycles and User E would like to increase this number by 200 trillion. To do so, the user would send a command to the NNS that specifies the action of topping up their canister. Upon receiving this command, a transaction is made from the user’s account to the Cycles Minting Canister. As a result of this transaction, the Cycles Minting Canister would burn the tokens, mint new cycles, and send these freshly minted cycles to the user’s canister, meaning the canister balance is now 900 trillion cycles.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=References=&lt;/div&gt;</summary>
		<author><name>Jens</name></author>
	</entry>
</feed>