Bitcoin Forum
May 21, 2024, 02:24:46 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Development & Technical Discussion / Re: Would this be a realistic BIP? on: May 07, 2020, 02:16:54 PM
CLTV == CheckLockTimeVerify

Indeed, it seems to be the closest to my idea, if I understand you can spend the funds with only one key with ntimelock to be proceed ans multisig to be instantly.

How can it be setup? is it easy to use for not power user? Once setup the single sig transaction could be braodcast from any software or hardwre wallet?
2  Bitcoin / Development & Technical Discussion / Re: Would this be a realistic BIP? on: May 07, 2020, 01:23:55 PM
I don't think the idea is silly. The thing is, you are suggesting people to store 2 seeds instead of one with this failover address.
If people lack responsibility to store one seed, they will just store 2 seeds together.

You can split your seed, use a mnemonic phrase, etc to increase security.
Like I explain in my last answer, it is pretty different from using a multisig wallet since one key is enought for most use, the second one will be only for emergency cases. For example the main one could be even use with hot wallet and the second one stored in much safer place or even escrow service.

I dont see how this is different from a CLTV setup tbh.

I am not, an expert, could you explain me what a CLTV setup is please?
3  Bitcoin / Development & Technical Discussion / Re: Would this be a realistic BIP? on: May 07, 2020, 11:17:13 AM
A more simple solution would be to use multi sig, which is basically what you are proposing, except in a round about way.

I think this is not exactly for the same purpose, multisig is not as simple to use for not power user or big entity imo, it has some pitfalls (https://medium.com/shiftcrypto/the-pitfalls-of-multisig-when-using-hardware-wallets-9b0e98e4c19c)
With my solution the user will have to carry only his main key, the failover will be use only in emergency cases.

But I already see a weakness with this that could be exploit: the bad guy could also see there is a contract and monitor the "unlock" message and could be the first to boradcast after the locktime.

That's why I imagine another better solution. The contact could remain the same but instaead of using a message to unock, any outcoming transaction will be delayed between the  broadcast to broadcast + RTL. In the same period only transactions to the failover adress will be imediatly processed.
4  Bitcoin / Development & Technical Discussion / Would this be a realistic BIP? on: May 06, 2020, 07:09:11 PM
I don't know if my idea is stupid, realistic or have already been sugested, I checked the bip list and found some related propositions like this one: BIP: 68

Motivation: Preventing unlegitimate transaction from a compromised bitcoin wallet whatever if it is cold or hot wallet

So the idea is to submit a contract with in parameters: A1:owner public address, RTL:relative time lock(probably in days) and A2:failover address (could be third party escrow or another owner address not related to the same seed)

Any outcoming transaction from A1 will be rejected by the network until an empty transaction would be brodcasted with OP_RETURN message "unlock" , any outcoming transaction between the "unlock" + RTL will also be rejected

In this lock period only transactions to A2 would be allowed


I hope you understand what I have in mind: people often write there hardware wallets mnemonic on paper and it could be compromised without they know it, adding a relative time lock will alow owner to secure there funds to another secure place once it has been compromised.

Of course I suppose it have to be part of hardfork since all the network has to implement it to be functional.

Thanks for reading, hope it wasn't so silly idea Wink
5  Bitcoin / Development & Technical Discussion / Re: Brain Wallet for BIP39 on: May 05, 2020, 04:18:42 PM
Multiple back ups and redundancy. For my main cold storage, I have my seed phrase backed up on paper in two separate places and my passphrase backed up on paper in two separate places. Add those back ups to the actual wallet itself (which is encrypted and on a permanently offline device), then I would at a minimum need to suffer complete and simultaneous data loss in at least three geographically separate and very safe/secure locations to mean I lose access. This is incredibly more robust than having everything stored in only one place, especially a place so fragile as your brain.

Yes, this are good ideas indeed, but the problem of to much redundancy is the abilty to be stolen, the places need to be really really safe and commercial safes are way to weaks. You can also have the need to get access to your funds when far from home or other place you store it.

You are wrong here. There are hundreds of reasons someone might suffer memory loss, and many of them are completely unpredictable and can happen to anybody at any time with no warning. Everything from head trauma from a simple trip or fall, through to an aneurysm in your brain you didn't know existed rupturing. Even with slow onset memory loss, many people don't realize their memory is fading until they've already forgotten significant amounts of details, by which time it would probably be too late for you to access your coins. 15 million people have a stroke each year. 70 million people suffer a traumatic brain injury each year. 10 million people develop dementia each year. That's an awful lot of people with the potential for memory loss. I don't like those odds.

You mark here some points the memory can be an issue also, there is no 100 percent magic method to have those seeds safe forever. I may part my funds in brain wallet and another one on paper with some redundancy. Imo a really long passphrase have to be test at least once a week, and of course in secure offline device.
6  Bitcoin / Development & Technical Discussion / Re: Brain Wallet for BIP39 on: May 05, 2020, 11:56:36 AM
A collision is not someone being able to guess whatever it was you have hashed... a collision is two different values that will generate the same hash result. ie. SHA256(X) == SHA256(Y) would be a collision.
Thank you, but I know what a collision is.

Given some of the stories that have been floating around (ie: https://www.reddit.com/r/Bitcoin/comments/1ptuf3/brain_wallet_disaster/ and https://www.reddit.com/r/Bitcoin/comments/1zti1p/17956_hacked_brainwallet_passwords/) There have been (and there probably currently are) a lot of people running all sorts of scripts and bots that generate/monitor various Bitcoin addresses that are generated from brainwallets (essentially SHA256(passphrase)).

Therefore, it is not out of the realms of possibility, that some users have also considered using something similar to generate BIP39 seeds the same way... after all, you thought of it!

Of course I know those stories but imo the cases are from weak passphrases, or some quote of poems, movies lyrics... And how many other stories of people loosing there keys/mnemonics???

"At christmas 2002 my oncle Joe came drunk for the dinner. My first girlfriend did not like french fries"
It is interesting to note that the fact that you are using 'proper' English sentence structure and grammar is already reducing the entropy... as there is a relationship and pattern to the words.

Compared with something like: "extra card place track tower violin slim window soul identify tray galaxy" where they are in no way related to each other and there is no defined structure.

Of course again, the grammatical structure of a phrase make it easier to guess for a well done bruteforce tool that will mix with a language AI construction. but this is the compromise of total randomness and the probability I will forget it someday... I belive evrybody have some intimate memories which are very personal and he won't forget ever. that's why my example passphrase was a mix of 2 sentences not related at all to each other. I strongly beleive that even it is in correct in english that is not the kind of passphrase that may be hacked one day.

Anyway for my real passphrase I plan to use much more intimate souvenirs and mix my 2 natives languages (how you can guess are not english)

Thanks for your answer!
7  Bitcoin / Development & Technical Discussion / Re: Brain Wallet for BIP39 on: May 05, 2020, 10:39:12 AM
I added an iteration field which will loop sha256 before generating the mnemonic to discourage bruteforce attack, in my browser  1000000 will take approx 20 seconds to compute.

that does nothing not to mention that your code has a bottleneck otherwise 1 million SHA256 of a small input (passphrase) would only take half a second to complete. even if it were 20 second it still doesn't increase the security at all because the idea of using a brainwallet is flawed on its own whether it is creating a key or a mnemonic.

Like I said, I todly understand that human brain is very weak at making entropy compaired to the randomness of computer.

But there are imo some issues of keeping the keys or random generated mnemonics, it can be stolen, loose or destroyed. How many people did already experienced that? (I did)

We know that it is pretty much impossible to find collision in SHA256, so if I use it with my passphrase there is no other way for attacker to guess it, am I wrong?

Lets assume that I use a passphrase from my memories like "At christmas 2002 my oncle Joe came drunk for the dinner. My first girlfriend did not like french fries" and use 1000000 iterations what are the chance somebody will bruteforce it ever seriously?

I can understand that in this case 1 or 1M iterations will not really mater.

Lets now assume somebody will use with something weaker like "I like pasta with chocolate" and use iteration of 5555 wont it be fair enough that no bruteforce atack will ever solve it? I think that in this case the iteration.

In conclusion, from my experience I know I have much more chance to loose a peace of paper where I wrote the mnemonic than forgetting a long personal passphrase.

How do you guys are carring your keys or mnemonics? how can you be so confident you won't loose the access to it one day?
8  Bitcoin / Development & Technical Discussion / Re: Brain Wallet for BIP39 on: May 05, 2020, 02:46:14 AM
You can then take each grouping of 11, convert it back in to decimal, and map it the relevant BIP39 word. 00110000111 in decimal is 391, which maps to "couch" at position 392 on the BIP39 word list (remembering to add one since your converted numbers will start at 0, whereas the word list starts at 1). 10000101100 in decimal is 1068, which maps to "machine" at position 1069. And so on.

Thank you this was very helpful, I added an iteration field which will loop sha256 before generating the mnemonic to discourage bruteforce attack, in my browser  1000000 will take approx 20 seconds to compute.

Code:
    	var hash = sjcl.hash.sha256.hash(DOM.longpassphrase.val());
    var hex = sjcl.codec.hex.fromBits(hash);
        for (var i = 0; i < DOM.iterations.val() - 1; i++) {
            var hash = sjcl.hash.sha256.hash(hex);
            var hex = sjcl.codec.hex.fromBits(hash);
        }
    DOM.entropy.val(hex);
    setMnemonicFromEntropy();
9  Bitcoin / Development & Technical Discussion / Re: Brain Wallet for BIP39 on: May 04, 2020, 01:20:32 PM
I strongly do not recommend use brain wallet for most users!

All modern hardware and software cryptowallets are using BIP39 backup mnemonic phrases. But what if you can’t store this key in a safe place? What if you are living in the country where authorities may confiscate all your papers? For example on December 15,  2017 agents from the Ukrainian Security Service (SSU) confiscated approximately 305 ETH from Anatoly Kaplan, CEO of the Russian bitcoin news resource ForkLog. What if you are a refugee and could be subject to illegal rummage?

Sometime the best storage for your keys is your brain. But it is very difficult to remember 12 or 24 random words. That is why I developed Brain-to-BIP converter.

https://brain2bip.com/

Using this tool you may always restore access to your cryptocurrency with any BIP39 hardware or software wallets like Ledger, Trezor, Blockchain.info, Breadwallet, Multibit, Bitcoin Core, Jaxx, etc. Moreover the external entropy from your secret phrase is increasing security of your wallet.

Just enter your long strong secret phrase and “restore” wallet using generated BIP39 mnemonic.
Don't use short passphrases as well as popular sayings, parts of songs, poems or mantras! Use only strong passphrases you can't forget.

Enjoy and be safe.
Thank you.

Hi!

I think about such a brainwallet since many time now. Thank you for making it available and opensource.

I know brainwallets have very bas reputation and that human brain entropy is known to be very bad.
But I am still convince that for people like me it could be much better than keeping my mnemonic in some paper. wrtiting the mnemonic on paper is imo a really security issue, it can be lost, destructed or even stolen, but I can generate a strong passphrase between 40 or 60 chars, that will mix my child memories and other thing that could be very very personal and that I could not forget for years...

I also like to travel(even if not the best period now Sad ) and whish to be able to get access to my crypto without carring anything on me.

So why using a brain to bip(mnemonic) and not only a standart brainwallet? it is obvious for me  I want to be able to use it one day with hardware or software bip complient wallet.

I am glad you did it, but I want to do my own for some reasons. Fisrt I need only to generate the mnemonic because I can use the bip39 for generate the seeds and if I use it on hardware or software wallet it will do it for me. And the sourcecode could be very short and understable.
Second reason if I use your tool and one day your website and git repo will be unavilable my passphrase will be useless... And if I put it on usb stick, this is also something I need to carry and could possibly be lost, destroyed...

Thats why I have some questions, what algorithm did u use to generate the mnemonic from the passphrase?

What I thaught is to do like this:

first word = sha256*10(passphrase) mod 2048
second world = sha256*10(first word) mod 2048
....
last word = hash(mnemonic)

*10 or maybe more if we want to make it harder to bruteforce...

Thank you for reading, will enjoy any feedback about this!
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!