Difference between revisions of "ICP custody with NNS frontend dapp"

From Internet Computer Wiki
Jump to: navigation, search
 
(37 intermediate revisions by 3 users not shown)
Line 2: Line 2:
 
Currently, the easiest custody option is via the NNS Frontend Dapp.
 
Currently, the easiest custody option is via the NNS Frontend Dapp.
  
=Custody within NNS Frontend dapp=
+
==Custody using the NNS Frontend dapp==
  
In **networked smartphone** or **networked computer**, do the following:
+
On a '''networked smartphone''' or '''networked computer''', do the following:
  
1. Log into [https://nns.ic0.app/ NNS Frontend Dapp]
+
===1. Log into [https://nns.ic0.app/ NNS Frontend Dapp]===
   
 
    a. Make an [https://identity.ic0.app/ Internet Identity if you do not already have one
 
    b. Highly recommend you add multiple devices
 
  
2. Within NNS Frontend dapp, navigate to the `ICP` tab. Send ICP to your unique account.
+
[[File:nns-frontend-dapp-login.png|256px|nns frontend dapp login]]
   
 
    a. Account should look something like this `723cd441238da744a097c3a20f8f4050d8355afb46fe12a1428a63996c37d918`
 
  
3. That's it.
+
===2. Log in with Internet Identity===
  
 +
You can make an [https://identity.ic0.app/ Internet Identity] if you do not already have one, find instructions [[How_to_create_an_Internet_Identity|here]]
  
 +
===3. Add multiple devices===
 +
 +
Strictly speaking, you do not need to add multiple devices, but it is highly recommended so you do not lose your ICP in case you lose your device.
 +
 +
===4. Send ICP to your unique account===
 +
 +
Within NNS Frontend dapp, navigate to the '''ICP''' tab
 +
 +
[[File:nns-frontend-dapp.png|512px|nns frontend dapp]]
 +
 +
Account should look something like this
 +
 +
<code>723cd441238da744a097c3a20f8f4050d8355afb46fe12a1428a63996c37d918</code>
 +
 +
The NNS frontend dapp is now your custody solution.
  
 
==Decisions user needs to make ==
 
==Decisions user needs to make ==
Line 23: Line 34:
 
===How do you authenticate to Internet Identity?===
 
===How do you authenticate to Internet Identity?===
  
[https://identity.ic0.app/ Internet Identity] does **not** use passwords and usernames to log in. [Internet Identity](https://identity.ic0.app/) takes advantage of the Web Authentication (WebAuthn) API to provide secure cryptographic authentication. This means that you authenticate by "something you have" (e.g a phone, yuibkey, etc...) instead of "something you know" (e.g. a password).
+
[https://identity.ic0.app/ Internet Identity] does '''not''' use passwords and usernames to log in. Internet Identity takes advantage of the Web Authentication (WebAuthn) API to provide secure cryptographic authentication. This means that you authenticate by "something you have" (e.g a phone, yuibkey, etc...) instead of "something you know" (e.g. a password).
  
 
From the point of view of the user, a user would use the following methods to authenticate:
 
From the point of view of the user, a user would use the following methods to authenticate:
  
 
#Computers
 
#Computers
 +
##Yubikey (with computers with USB ports)
 +
##Thumbprint (with computers with electronic fingerprint recognition features like [https://en.wikipedia.org/wiki/Touch_ID Touch ID])
 +
#Smartphones
 +
##Face ID (for smartphones with facial recognition systems)
 +
##Thumbprint (for  computers with electronic fingerprint recognition features like [https://en.wikipedia.org/wiki/Touch_ID Touch ID])
  
##Yubikey
+
===2. If I lose my device, can I still use Internet Identity?===
* with computers with USB ports
 
  
##Thumbprint
+
If you have an Identity Anchor tied to only one device and you lose that one device, you will be locked out. As a best practice, it is recommended [https://support.dfinity.org/hc/en-us/articles/4403351925140 adding multiple devices and recovery mechanisms] to each Identity Anchor.
* with computers with electronic fingerprint recognition features like [Touch ID](https://en.wikipedia.org/wiki/Touch_ID)
 
  
#Smartphones
+
===3. How do I add more devices to my Identity Anchor?===
  
##Face ID
+
To add more devices to an existing Identity Anchor, [https://support.dfinity.org/hc/en-us/articles/4403351925140 please see the guide here].
* for smartphones with facial recognition systems
 
  
##Thumbprint
+
==Features==
* for  computers with electronic fingerprint recognition features like [Touch ID](https://en.wikipedia.org/wiki/Touch_ID)
 
  
===2. If I lose my device, can I still use Internet Identity?===
+
The dapp supports the following actions:
  
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](https://sdk.dfinity.org/docs/ic-identity-guide/auth-how-to.html) to each Identity Anchor.
+
* Receive/send ICP
 +
* Stake a neuron
 +
* View neurons
 +
* Add neurons as hotkeys
 +
* Dissolve neurons
 +
* Disburse neurons
 +
* Increase dissolve delay of neurons
 +
* View NNS proposals
 +
* Vote on NNS proposals
 +
* Choose neurons to follow for voting
 +
* Connect hardware wallet such as for [[ICP custody with Ledger Nano]]
  
===3. How do I add more devices to my Identity Anchor?===
+
==Benefits==
  
To add more devices to an existing Identity Anchor, [please see the guide here](https://sdk.dfinity.org/docs/ic-identity-guide/auth-how-to.html#_add_a_device).
+
* Very convenient. Entirely web-based. No need to download or install anything.
 +
* Has all the functionality one needs for custody, staking, voting.
 +
* This is a very common method in the ecosystem so lots of of support
 +
* Ideal for people who want to want the easiest path to control their ICP
  
 
==Trade-offs and risks==
 
==Trade-offs and risks==
Line 55: Line 80:
 
If you use this combination, you are accepting the following trade-offs:
 
If you use this combination, you are accepting the following trade-offs:
  
* If you only have 1 device tied to your [Internet Identity](https://identity.ic0.app/), and you lose that device, you lose all access. You should add multiple devices in case one of them malfunctions. For example, if you have only one iPhone attached as a device to your Internet Identity, you are risking your ICP on that iPhone's Face Id always recognizing you. If it cannot, then you lost access to your ICP. Similarly, if you lose your phone, you would lose your ICP.
+
* '''Risk of losing access''' - If you only have 1 device tied to your [https://identity.ic0.app/ Internet Identity], and you lose that device, you lose all access. You should add multiple devices in case one of them malfunctions. For example, if you have only one iPhone attached as a device to your Internet Identity, you are risking your ICP on that iPhone's Face Id always recognizing you. If it cannot, then you lost access to your ICP. Similarly, if you lose your phone, you would lose your ICP.
* Not all devices and browsers support WebAuthn, so this option is sometimes not available.
+
 
* You are accepting the risk that the [community-vetted NNS Frontend dapp](https://github.com/dfinity/nns-dapp) is not compromised
+
* '''Risk your devices do not support it''' - Not all devices and browsers support WebAuthn, so this option is sometimes not available.
* You are accepting the risk that the [community-vetted Internet Identity canister](https://medium.com/dfinity/verifying-the-internet-identity-code-a-walkthrough-c1dd7a53f883) is not compromised
+
 
 +
* '''Risk of browser or NNS dapp or II being compromised'''- You are accepting the risk that the browser used (e.g. Chrome, Firefox, Explorer, Opera, Safari, Brave, etc...) or the [https://github.com/dfinity/nns-dapp community-vetted NNS Frontend dapp] or [https://medium.com/dfinity/verifying-the-internet-identity-code-a-walkthrough-c1dd7a53f883) community-vetted Internet Identity canister] are not compromised
 +
 
 +
==See Also==
 +
* See more info about [https://support.dfinity.org/hc/en-us/sections/8730553238932-Staking Staking Support]
 +
* [[Managing ICP holdings]]
 +
* [[ICP custody options]]

Latest revision as of 17:58, 12 January 2024

Currently, the easiest custody option is via the NNS Frontend Dapp.

Custody using the NNS Frontend dapp

On a networked smartphone or networked computer, do the following:

1. Log into NNS Frontend Dapp

nns frontend dapp login

2. Log in with Internet Identity

You can make an Internet Identity if you do not already have one, find instructions here

3. Add multiple devices

Strictly speaking, you do not need to add multiple devices, but it is highly recommended so you do not lose your ICP in case you lose your device.

4. Send ICP to your unique account

Within NNS Frontend dapp, navigate to the ICP tab

nns frontend dapp

Account should look something like this

723cd441238da744a097c3a20f8f4050d8355afb46fe12a1428a63996c37d918

The NNS frontend dapp is now your custody solution.

Decisions user needs to make

How do you authenticate to Internet Identity?

Internet Identity does not use passwords and usernames to log in. Internet Identity takes advantage of the Web Authentication (WebAuthn) API to provide secure cryptographic authentication. This means that you authenticate by "something you have" (e.g a phone, yuibkey, etc...) instead of "something you know" (e.g. a password).

From the point of view of the user, a user would use the following methods to authenticate:

  1. Computers
    1. Yubikey (with computers with USB ports)
    2. Thumbprint (with computers with electronic fingerprint recognition features like Touch ID)
  2. Smartphones
    1. Face ID (for smartphones with facial recognition systems)
    2. Thumbprint (for computers with electronic fingerprint recognition features like Touch ID)

2. If I lose my device, can I still use Internet Identity?

If you have an Identity Anchor tied to only one device and you lose that one device, you will be locked out. As a best practice, it is recommended adding multiple devices and recovery mechanisms to each Identity Anchor.

3. How do I add more devices to my Identity Anchor?

To add more devices to an existing Identity Anchor, please see the guide here.

Features

The dapp supports the following actions:

  • Receive/send ICP
  • Stake a neuron
  • View neurons
  • Add neurons as hotkeys
  • Dissolve neurons
  • Disburse neurons
  • Increase dissolve delay of neurons
  • View NNS proposals
  • Vote on NNS proposals
  • Choose neurons to follow for voting
  • Connect hardware wallet such as for ICP custody with Ledger Nano

Benefits

  • Very convenient. Entirely web-based. No need to download or install anything.
  • Has all the functionality one needs for custody, staking, voting.
  • This is a very common method in the ecosystem so lots of of support
  • Ideal for people who want to want the easiest path to control their ICP

Trade-offs and risks

If you use this combination, you are accepting the following trade-offs:

  • Risk of losing access - If you only have 1 device tied to your Internet Identity, and you lose that device, you lose all access. You should add multiple devices in case one of them malfunctions. For example, if you have only one iPhone attached as a device to your Internet Identity, you are risking your ICP on that iPhone's Face Id always recognizing you. If it cannot, then you lost access to your ICP. Similarly, if you lose your phone, you would lose your ICP.
  • Risk your devices do not support it - Not all devices and browsers support WebAuthn, so this option is sometimes not available.

See Also