Skip to content

Commit ff191aa

Browse files
jpe442Josh EarlenbaughMichaelTrestman
authored
Copy edits and concept clarification for wallets page. (#536)
* Copy edits and concept clarification for wallets page. * Update docs/getting-started/wallets.md Co-authored-by: Michael Trestman <[email protected]> * Update docs/getting-started/wallets.md Co-authored-by: Michael Trestman <[email protected]> * Update docs/getting-started/wallets.md Co-authored-by: Michael Trestman <[email protected]> --------- Co-authored-by: Josh Earlenbaugh <[email protected]> Co-authored-by: Michael Trestman <[email protected]>
1 parent 0bb84a7 commit ff191aa

File tree

1 file changed

+48
-31
lines changed

1 file changed

+48
-31
lines changed

docs/getting-started/wallets.md

Lines changed: 48 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,20 @@ import useBaseUrl from '@docusaurus/useBaseUrl';
66

77
# Wallets, Coldkeys and Hotkeys in Bittensor
88

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.
1011

1112
For detailed procedures for handling wallets and keys, see: [Working with keys](../working-with-keys.md)
1213

1314
For detailed security considerations, see: [Coldkey and Hotkey Workstation Security](./coldkey-hotkey-security.md)
1415

1516
## What are wallets and keys?
1617

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.
1823

1924
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.
2025

@@ -65,21 +70,24 @@ There are many different applications that can interact with your public and/or
6570

6671
### Permissionless wallet apps
6772

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.
6975

7076
### Staking apps
7177

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.
7380

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).
7583

76-
This includes:
84+
Secure wallet apps supported by Opentensor Foundation include:
7785
- The Bittensor wallet app for mobile: [bittensor.com/wallet](https://bittensor.com/wallet)
7886
- [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)
7987

8088
### `btcli` and the Bittensor Python SDK
8189

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:
8391

8492
- Scripting
8593
- Managing hotkeys for mining and validating
@@ -88,11 +96,13 @@ The Bittensor Command Line Interface (BTCLI) and Bittensor Python SDK offer more
8896

8997
## Coldkey details
9098

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.
92101

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.
94103

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.
96106

97107
**Encryption**: A coldkey is only stored on your disk in encrypted form, and requires an encryption password.
98108

@@ -114,54 +124,61 @@ style={{width: 750}}
114124

115125
### Existential deposit
116126

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-).
118132

119133
## Hotkey details
120134

121135
Hotkeys are used to register on a subnet as a miner or validator.
122136

123137
[Hotkey workstation security](../getting-started/coldkey-hotkey-security#hotkey-workstation)
124138

139+
**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.
125143

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).)
133149

134150
## Key usage FAQ
135151

136152
### Can a coldkey be paired with multiple hotkeys?
137153

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.
139156

140157
### Can I use the same hotkey for multiple UIDs in the same subnet?
141158

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.
143162

144163
### Can I transfer TAO to a hotkey?
145164

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&mdash;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&mdash;transfer of TAO should always be *to a coldkey*; the coldkey public key serves as the public address of the wallet.
147167

148168
### Is a coldkey associated with a subnet?
149169

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.
152173

153174
### Where are subnet validator and subnet miner emissions deposited?
154175

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.
156178

157179
### How do I delegate my TAO to a validator’s hotkey?
158180

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.
164182

183+
See [Staking/Delegation Overview](../staking-and-delegation/delegation) for more on staking.
165184

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

Comments
 (0)