Nano How 1: Seeds and Keys

Nano Education
Nano
Published in
4 min readNov 23, 2019

--

Tl;dr — Nano uses a private/public key system to sign send and receive blocks, therefore ‘Your Keys, Your Nano. Not Your Keys, Not Your Nano’. A seed is a long string of letters and numbers which can be used to generate lots of different private keys (the same keys each time). ‘Nano’ account addresses are just a public key and a checksum and are linked to the original private key.

What are private and public keys?

Private and Public keys are a vital part of cryptocurrencies and provide a method of ownership of the coins/tokens/assets. They are simply unique, unpredictable large numbers (though often displayed in different formats) which act as ‘keys’ and give access to the user. There is a misconception that your Nano is stored in your wallet; your Nano only exists on the network and your wallet contains the keys allowing you to ‘manipulate’ them.

Nano uses a well established standard design of private and public keys. A private key is used to ‘sign’ transactions in the block lattice; this private key has a corresponding public key which is linked directly to an account address (or nano_…, more on this later). The only way to create a transaction on an account’s chain is to sign this block with the private key (see image below) — in Nano this can be to send or receive.

Signing blocks with a private key

As the private key is unique, when combined with the block itself it creates a unique signature. The linked public key can be used to check that the signature is correct — therefore if you try and create a signed block with the wrong private key it is easy for the network to reject the block. This design means that users don’t need to give out their private key for blocks to be validated, only the corresponding public keys.

Validating a block with a public key

What is a seed?

A seed is just an easy way to create and manage lots of private keys. Instead of having lots and lots of private keys you have a single long number called a seed and wallets automatically run this through another algorithm which generates unique private keys (and the corresponding public keys). The private keys are generated in a deterministic sequence so the 1st will always be 1st, 2nd always be 2nd and so on — this is how you can recover your keys and therefore your Nano with a single seed. You can also generate a specific private key at any time if you know its index, also known as its account number.

The seed always produces the same private keys in order

How are nano account addresses generated?

Your Nano account addresses are simply your public keys (with a different format) and a checksum. The checksum makes it easy to check that the account address is valid. It is possible to go from a public key to an account address and vice-versa. An account address is linked via the public key to the original private key. On the Nano block lattice, each account has its own blockchain. This is in contrast to some other cryptocurrencies and is the reason why you can reuse your address.

Your Nano only exists on the network, your wallet contains the keys allowing you to ‘control’ them

Any opinions expressed by the Guest writer are their’s alone, and do not necessarily reflect the views of the Nano Foundation (NF), its officers or employees. Any links to third party sites are for information only, and may offer commercial or financial services or products which may: be subject to additional regulation; or, not lawfully be promoted to you in your jurisdiction. The inclusion of any such link is not an approval, endorsement or guarantee of that website, any information you may obtain from it, or the site’s owner (or their products/services), nor certification that the site is suitable or lawful for you to view or use. NF disclaims any and all liability for the acts, omissions and conduct of any such third parties and Guest writer. YOUR ACCESS TO AND USE OF ANY EXTERNAL SITE IS ENTIRELY AT YOUR OWN RISK.

--

--