Post
Topic
Board Development & Technical Discussion
Re: Brainwallet
by
curiosity81
on 31/12/2017, 09:00:31 UTC
Hi guys,

during christmas I was thinking about a way to produce my own brainwallets. You find the code below

https://github.com/curiosity81/brainwallet.

Clearly, code can also be used to produce more secure brainwallets. E.g. hashing a string more than once and a brute force approach is virtually useless.

A Brain Wallet is the one when user remembers their mnemonic phrase or the private key and never writes it down. That is, all is stored in the brain only for security reasons.

So why have a brain wallet and still write you private key or mnemonic phrase down on a piece of paper?

To me brain wallet is not good because it is difficult to manage in case the user forgets his/her mnemonic paraphrase or private key due to any mishap such as  accidents, brain diseases/ damage or even mental stress, he /she will lose his/her crypto-coins and funds.

The idea is actually, that you need no backup!

With a brainwallet in the worst case, you must write the passphrase down. Clearly, you should write it down several times and hide the passphrase at different places. You can even cut the paper into two or more pieces and hide the pieces at different places so that it is unlikely for an attacker to have access to the full passphrase. There are variations of this method which seem more elegant. But everyone can make his/her own thoughts.

It is a pain in the ass to get access to the master key in core. Imho it is much too complex for a simple but secure brainwallet. And if you do not use an HD-Wallet, you have to backup your wallet anyway. But hardware can be lost (on a dump) or the hardware breaks one day. Moreover, one can lose the passphrase for the hardware.

With a brainwallet, the danger of breaking or losing hardware is not existent. Provided the passphrase for the brainwallet is good enough, for a cold wallet, this method seems more secure to me.

There are more passphrases built by 20 words from a dictionary with more than 10.000 words than ECDSA private keys, and assuming that hashing those passphrases several times (> 10.000), distributes the resulting values evenly between 0 and 2^256, this should be secure enough. Especially, since there are only 2^160 adresses, that is many private keys map to the same address anyway.