on master help sign in
hd wallet generation
commit21043c08ee35569178e580a850eec171505bb49e authorsyzygyzer <jon@tlon.io> dateFri 18 Dec 2020, 12:31 (6 years ago) parent804fc87
1 file changed+30−2
tutorials/concepts/azimuth.md+30−2
tutorials/concepts/azimuth.md+30−2
@@ -24,7 +24,15 @@ A metaphor might help illustrate the relationship between these two systems: the
2424
2525Owners of Urbit identities need safeguards that allow for the use of Urbit without jeopardizing cryptographic ownership of their assets. Toward this end, we created the **Urbit Hierarchical Deterministic (HD) Wallet** for the storage of identities. The Urbit HD Wallet is not one key-pair, but a system of related key-pairs that each have distinct powers, from setting networking keys for communicating in the Arvo network to transferring ownership of identities.
2626
27−The Urbit HD Wallet's derivation paths have a hierarchical structure, so that keys with different powers can be physically separated. A \"master ticket" can re-derive the entire wallet in case of loss. The encryption and authentication keys that identities ships use to sign messages within the network are also derived from the wallet.
27+The Urbit HD Wallet's derivation paths have a hierarchical structure, so that
28+keys with different powers can be physically separated. A "master ticket" can
29+[re-derive the entire wallet](#hd-wallet-generation) in case of loss. The
30+encryption and authentication keys that identities ships use to sign messages
31+within the network are also derived from the wallet.
32+
33+Another HD wallet option you may wish to utilize to store your Urbit are hardware
34+wallets such as Trezor or Ledger. We compare this method to the Urbit HD wallet
35+[below](#hardware-hd-wallet).
2836
2937Urbit HD wallets are composed of the following items, which are each assigned to their own individual Ethereum key-pairs.
3038
@@ -54,8 +62,28 @@ Proxy addresses allow you to execute non-ownership related actions like spawning
5462
5563 For stars and galaxies only. Can create new child identities.
5664
65+### HD wallet generation
66+
67+Your Urbit HD wallet is generated from a `@q` seed called `T`, which looks
68+something like `~sampel-ticket-bucbel-sipnem`. This is the string known as your
69+"Master Ticket" that you input into Bridge to sign in. This is put through a
70+series of algorithms that ultimately generate your keys and the Ethereum addresses at which they are stored.
71+
5772![](https://media.urbit.org/fora/proposals/UP-8.jpg)
5873
74+First, your `@q` is converted into a numeric value `E` as an intermediary step
75+by adding [salt](https://en.wikipedia.org/wiki/Salt_(cryptography)). Then by
76+adding additional salts, `E` is converted into a set of BIP39 seed phrases -
77+these are 24 word mnemonic sequences used to generate Ethereum wallets. You end up
78+with one seed phrase for each proxy associated with your ship, and these seed
79+phrases are then used to generate Ethereum wallets.
80+
81+One of the wallets will store your Azimuth point, an [ERC-721](#erc-721) token,
82+which will be known as your ownership address. Bridge then automatically uses
83+your ownership address to assign the other proxies to the other wallets
84+generated.
85+
86+### ERC-721
5987
6088Most Ethereum tokens use the ERC-20 standard for smart contracts. Urbit identities
6189are, however, essentially different from most Ethereum tokens, due to identities not
@@ -67,7 +95,7 @@ The ERC-721 standard, having been made specifically to provide a smart-contract
6795interface for non-fungible assets, serves our needs well. This is the standard
6896that we use for deeding Urbit identities.
6997
70−identities, and all of their blockchain operations, are governed by the Ecliptic.
98+Identities, and all of their blockchain operations, are governed by the Ecliptic.
7199The Ecliptic is an Ethereum smart-contract that governs identity state and the
72100ownership, spawn, management, and voting rights affiliated with your identities.
73101