You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/wallets.md
+48-31Lines changed: 48 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,20 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
6
6
7
7
# Wallets, Coldkeys and Hotkeys in Bittensor
8
8
9
-
In Bittensor (like other cryptocurrency applications), a *wallet* is a tool for proving your identity, signing transactions, accessing your TAO, and managing your stake in subnets. This page introduces the core concepts involved.
9
+
In Bittensor (like other cryptocurrency applications), a *wallet* is a tool for proving your identity, signing transactions, accessing your TAO, and managing your stake in subnets.
10
+
This page introduces the core concepts involved.
10
11
11
12
For detailed procedures for handling wallets and keys, see: [Working with keys](../working-with-keys.md)
12
13
13
14
For detailed security considerations, see: [Coldkey and Hotkey Workstation Security](./coldkey-hotkey-security.md)
14
15
15
16
## What are wallets and keys?
16
17
17
-
There are many different *wallet applications*, but the core of your wallet is one or more cryptographic key-pairs, referred to as **coldkey** and **hotkey**. Each is actually a cryptographic [key-pair](https://en.wikipedia.org/wiki/Public-key_cryptography), a private and a public key. The public key is mathematically derived from the private key, and is a closely held secret: it allows the owner to sign transactions and decrypt secrets, essentially serving as a cryptographic authentication or identity. This is a general feature of decentralized, trustless systems like distributed ledgers/blockchains: your private key *is* your identity, in that theft or loss of your key results in *unrecoverable* loss of access.
18
+
There are many different *wallet applications*, but the core of your wallet is one or more cryptographic key-pairs, referred to as **coldkey** and **hotkey**.
19
+
Each is actually a cryptographic [key-pair](https://en.wikipedia.org/wiki/Public-key_cryptography), a private and a public key.
20
+
The public key is mathematically derived from the private key.
21
+
The private key is a closely held secret: it allows the owner to sign transactions and decrypt secrets, essentially serving as a cryptographic authentication or identity.
22
+
This is a general feature of decentralized, trustless systems like distributed ledgers/blockchains: your private key *is* your identity, in that theft or loss of your key results in *unrecoverable* loss of access.
18
23
19
24
In Bittensor, the coldkey and hotkey are used for different operations. In short, the hotkey is for mining and validation, and the coldkey for everything else; if you neither mine nor validate, you have no need for a hotkey, but you will identify validators and miners by their hotkey public keys.
20
25
@@ -65,21 +70,24 @@ There are many different applications that can interact with your public and/or
65
70
66
71
### Permissionless wallet apps
67
72
68
-
You can visit [bittensor.com/scan](https://bittensor.com/scan) and enter a coldkey public key view public information about any wallet. The browser hence is able to act as a kind of permissionless wallet application to display public information about wallets.
73
+
You can visit [bittensor.com/scan](https://bittensor.com/scan) and enter a coldkey public key to view public information about any wallet.
74
+
The browser in this case is able to act as a kind of permissionless wallet application to display public information about wallets.
69
75
70
76
### Staking apps
71
77
72
-
Several applications exist that can interact securely with your coldkey, meaning essentially that you can load your coldkey into the application without having to have the key stored in unencrypted form on your disk. In theory this means that without your encryption password, it is impossible to steal your key even if someone accesses your device.
78
+
Several applications exist that can interact securely with your coldkey. This basically means that you can load your coldkey into the application without having to have the key stored in an unencrypted form on your disk.
79
+
In theory this means that without your encryption password, it is impossible to steal your key—even if someone accesses your device.
73
80
74
-
However, it must be considered that using your coldkey on a device offers other ways for attackers to steal your key, even without decrypting it. See [Coldkey workstation security](./coldkey-hotkey-security#coldkey-workstation)
81
+
However, still consider that using your coldkey on a device offers other ways for attackers to steal your key, even without decrypting it.
82
+
See [Coldkey workstation security](./coldkey-hotkey-security#coldkey-workstation).
75
83
76
-
This includes:
84
+
Secure wallet apps supported by Opentensor Foundation include:
77
85
- The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet)
78
86
-[The Chrome extension](https://chromewebstore.google.com/detail/bittensor-wallet/bdgmdoedahdcjmpmifafdhnffjinddgc), which is also compatible with use of a Ledger hardware wallet. See [Using Ledger Hardware Wallet](../staking-and-delegation/using-ledger-hw-wallet.md)
79
87
80
88
### `btcli` and the Bittensor Python SDK
81
89
82
-
The Bittensor Command Line Interface (BTCLI) and Bittensor Python SDK offer more extended functionality, and are required for advanced functionality including:
90
+
The Bittensor Command Line Interface (BTCLI) and Bittensor Python SDK offer more extended functionality and are required for advanced functionality, including:
83
91
84
92
- Scripting
85
93
- Managing hotkeys for mining and validating
@@ -88,11 +96,13 @@ The Bittensor Command Line Interface (BTCLI) and Bittensor Python SDK offer more
88
96
89
97
## Coldkey details
90
98
91
-
In `btcli`, the coldkey is equivalent to the wallet name. For example, the `--wallet.name` option in a `btcli` command always accepts only `<coldkey>` as its value and the `--wallet.hotkey` option only accepts `<hotkey>` as its value. This is because the coldkey holds the permissions and ownership over multiple hotkeys on-chain; hence, the wallet name is assigned to the coldkey.
99
+
In `btcli`, the coldkey is equivalent to the wallet name. For example, the `--wallet.name` option in a `btcli` command always accepts only `<coldkey>` as its value and the `--wallet.hotkey` option only accepts `<hotkey>` as its value.
100
+
This is because the coldkey holds the permissions and ownership over multiple hotkeys on-chain; hence, the wallet name is assigned to the coldkey.
92
101
93
-
**Relationship to hotkey**: A coldkey can exist without a hotkey or have multiple hotkeys. For example, to create a subnet, delegate stake, or simply hold balance you only need a coldkey, but if you want to validate or mine in a subnet, you need a hotkey paired with this coldkey.
102
+
**Relationship to hotkey**: A coldkey can exist without a hotkey or have multiple hotkeys. For example, to create a subnet, delegate stake, or simply hold balance you only need a coldkey. However, if you want to validate or mine in a subnet, you need a hotkey paired with this coldkey.
94
103
95
-
**Purpose**: A coldkey is required for all operations that affect balances, such as transfer of TAO, staking and unstaking. It is also required for creating and registering hotkeys, and for subnet management and governance functions.
104
+
**Purpose**: A coldkey is required for all operations that affect balances, such as transfer of TAO, staking and unstaking.
105
+
It is also required for creating and registering hotkeys, and for subnet management and governance functions.
96
106
97
107
**Encryption**: A coldkey is only stored on your disk in encrypted form, and requires an encryption password.
98
108
@@ -114,54 +124,61 @@ style={{width: 750}}
114
124
115
125
### Existential deposit
116
126
117
-
An existential deposit is the minumum required TAO in a wallet (i.e., in a coldkey). If a wallet balance goes below the existential deposit, then this wallet account is deactivated and the remaining TAO in it is destroyed. **This is set to 500 RAO for any Bittensor wallet**. Also see [What is the Existential Deposit?](https://support.polkadot.network/support/solutions/articles/65000168651-what-is-the-existential-deposit-).
127
+
An existential deposit is the minumum required TAO in a wallet (i.e., in a coldkey).
128
+
If a wallet balance goes below the existential deposit, then this wallet account is deactivated and the remaining TAO in it is destroyed.
129
+
**This is set to 500 RAO for any Bittensor wallet**.
130
+
131
+
See also [What is the Existential Deposit?](https://support.polkadot.network/support/solutions/articles/65000168651-what-is-the-existential-deposit-).
118
132
119
133
## Hotkey details
120
134
121
135
Hotkeys are used to register on a subnet as a miner or validator.
**Relationship to coldkey**: You can create multiple hotkeys paired to your single coldkey.
140
+
However, when you are validating or mining in a subnet, you are identified by a hotkey in that subnet, so that your coldkey is not exposed.
141
+
Hence, you cannot use the same hotkey for two UIDs in a given subnet.
142
+
You can, however, use the same hotkey for multiple UIDs but with each UID in a separate subnet.
125
143
126
-
**Relationship to coldkey**: You can create multiple hotkeys paired to your single coldkey. However, when you are validating or mining in a subnet, you are identified by a hotkey in that subnet, so that your coldkey is not exposed. Hence, you cannot use the same hotkey for two UIDs in a given subnet. You can, however, use the same hotkey for multiple UIDs but with each UID in a separate subnet.
127
-
128
-
**Purpose**: Used for regular operational tasks in the Bittensor network, such as described below (**Also see in the diagram in [Operational uses of keys](#operational-uses-of-keys)**):
129
-
- Signing transactions.
130
-
- Registering and running subnet miners and subnet validators.
131
-
- If you are a subnet validator, then you can nominate your own hotkey so that the TAO holders can send their TAO to the hotkey.
132
-
- If you are a TAO holder, for example, with a coldkey where your TAO is stored, you can delegate your TAO to the hotkey of the validator-delegate. See item 10 in the diagram in [Operational uses of keys](#operational-uses-of-keys).
144
+
**Purpose**: Hotkeys are used for regular operational tasks in the Bittensor network, such as those described below (**Also see in the diagram in [Operational uses of keys](#operational-uses-of-keys)**):
145
+
- Signing transactions
146
+
- Registering and running subnet miners and subnet validators
147
+
- Nominating your own hotkey (given you are a subnet validator) so that the TAO holders can send their TAO to the hotkey
148
+
- Delegating your TAO to the hotkey of the validator-delegate (given you are a TAO holder with a coldkey where your TAO is stored) (See item 10 in the diagram in [Operational uses of keys](#operational-uses-of-keys).)
133
149
134
150
## Key usage FAQ
135
151
136
152
### Can a coldkey be paired with multiple hotkeys?
137
153
138
-
Yes. A miner or validator may use a single coldkey go manage a number of hotkeys for mining or validation in different subnets.
154
+
Yes.
155
+
A miner or validator may use a single coldkey to manage a number of hotkeys for mining or validation in different subnets.
139
156
140
157
### Can I use the same hotkey for multiple UIDs in the same subnet?
141
158
142
-
No. In a given subnet, each hotkey can only be used for one UID. However, you can reuse the same hotkey for UIDs in different subnets.
159
+
No.
160
+
In a given subnet, each hotkey can only be used for one UID.
161
+
However, you can reuse the same hotkey for UIDs in different subnets.
143
162
144
163
### Can I transfer TAO to a hotkey?
145
164
146
-
Technically yes but no you should not do it! This is contrary to design, and if you try, you may irreversably lose your funds—transfer of TAO is always *to* a coldkey; the coldkey public key serves as the public address of the wallet.
165
+
Technically yes, but you shouldn't.
166
+
This is contrary to the intended design, and if you try, you may irreversably lose your funds—transfer of TAO should always be *to a coldkey*; the coldkey public key serves as the public address of the wallet.
147
167
148
168
### Is a coldkey associated with a subnet?
149
169
150
-
Yes! When a subnet is created, netuid is bound to the coldkey that pays the subnet registration fee. This coldkey is required to change subnet configuration settings (hyperparameters), and 18% portion of the subnets emissions as allocated to this coldkey.
151
-
170
+
Yes!
171
+
When a subnet is created, netuid is bound to the coldkey that pays the subnet registration fee.
172
+
This coldkey is required to change subnet configuration settings (hyperparameters), and 18% portion of the subnets emissions as allocated to this coldkey.
152
173
153
174
### Where are subnet validator and subnet miner emissions deposited?
154
175
155
-
Validator and miner emissions are received in the alpha token of the subnet in which they are validating/mining, in the form of stake to their hotkey owned by their coldkey, which can then be unstaked back into a TAO balance for that coldkey.
176
+
Validator and miner emissions are received in the alpha token of the subnet in which they are validating/mining.
177
+
This is in the form of stake to their hotkey owned by their coldkey, which can then be unstaked back into a TAO balance for that coldkey.
156
178
157
179
### How do I delegate my TAO to a validator’s hotkey?
158
180
159
-
As a TAO holder, you can stake or delegate to a validator on a subnet by exchanging your TAO for a stake balance in the subnet's alpha $\alpha$ token, which is always tied to a hotkey in the subnet, i.e. that of the validator.
160
-
161
-
See [Staking/Delegation Overview](../staking-and-delegation/delegation)
162
-
163
-
181
+
As a TAO holder, you can stake or delegate to a validator on a subnet by exchanging your TAO for a stake balance in the subnet's alpha $\alpha$ token, which is always tied to a hotkey in the subnet, i.e. that of a validator.
164
182
183
+
See [Staking/Delegation Overview](../staking-and-delegation/delegation) for more on staking.
165
184
166
-
by sending it from your own coldkey to the validator’s hotkey (the hotkey
167
-
that’s tied to their UID). This is also referred to as staking your TAO to a validator.
0 commit comments