Most blockchains use some form of key-pair cryptography, which often involves publicly sharing one key whilst safe-guarding the private keys. In order to generate a key-pair, the formula requires a seed as an input.
Most systems use pseudo-random approaches to create the seed in order to make it difficult for them to be re-created elsewhere. If the seed is simple, can be easily guessed or calculated with computing power, it is not secure.
Hashing can help by obfuscicating the seed input prior to its use in generating the key-pair. However, without a secure salt or pseudo-random secret; it remains infinitely less secure than a traditional key-pair.
In the example above, we use your individual browser's user agent details along with a pseudo-randomly generated number to create a new hash that is then used as a salt when hashing the input seed.
If you write down your personal salt you will be able to replace the randomly generated one from above and in-turn then be able to re-create the same key-pair anywhere. This can make the keys deterministic in nature.
By using the key-generation tools, the master private extended key will be populated below. Heirachially Deterministic extended keys can derive a seemingly endless number of child keys.
Each key has a depth that represents which generation it belongs too. The master extended key has a depth of 0, but each of its children have a depth of 1, each of their children have a depth of 2, and so on and so forth.
The number of children that each key has is represented by its index, with each key capable of having one billion keys and one billion generations the master has an almost infinite number of available keys.
We recommend that in order to create a memorable path that you can then use as a basis for testing how to derive keys that you start by entering something such as your date of birth - DD, MM, YYYY - for example.
This is what is known as a brain-wallet, which have traditionally been open to brute force attacks by guessing predicate seeds that were not salted when hashed. Instead, we use this to create a secret salt - as seen below.
In order to start using this wallet, you must first generate a secret salt (using the key generation and HD protocol examples above), which can then be stored within the browser of this device. If the browser is upgraded or the local storage is cleared the secret will be lost and can only be recovered if the required entropy was memorable or recorded somewhere.
Please note that we require a minimum number of 100 characters used between the seed and salt and a minimum of 10 generations of child keys in order to generate a secret salt, which we can then use in combination with the information below in order to provide a simple browser based wallet - allowing you to send and recieve both public and private ether, ERC20s and ERC721s.
© 2019 - Lectronym Sdn Bhd: 1325482-P