Bitcoin Forum
June 21, 2024, 03:02:01 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Electrum / Re: [How Electrum Works] Why you should be careful with your private keys. on: June 20, 2014, 10:51:08 PM
What about create 1000 receive and change addresses and not give public key to auditor ?


I suppose you could do this. As long as the accounts all balanced with the keys provided.

The problem with this is the current structure of the client. You can easily obtain the Master Public Key from it without having to input your encryption password. The MPK is required in order to create a watch-only wallet. So the level of safety a watch-only wallet could provide would be completely eliminated, as any wallet you created would become a hot wallet.

In the scenario provided, where single private keys are given to department heads, it would require the Master Public Key be treated with the same level of attention and security as you would a private key. And it's not.. it's a public key. I feel like it is intended to be made public, so you can leverage it for services like watch-only service providers and POS systems. So having to treat it like a private key would mitigate it's usefulness.

2  Bitcoin / Electrum / Re: [How Electrum Works] Why you should be careful with your private keys. on: June 20, 2014, 01:35:24 PM
I was referring to the quote from Vitalik. I don't see the point to implement a complex scheme like that just to allow an auditor to search the blockchain when you could set up a watch only wallet.  Doesn't make sense, maybe I'm missing something.

Right so there is a weakness in the internal control structure if a department head, who controls a single private key related to the funds of his department, colludes with the auditor, who holds the master public key.





The idea is that if you give the auditor the watch only wallet, he could conspire with one of the holders of the private keys below it to create the master private key and run away with all the money.

M = master public key
m = master private key

m/ = CEO holds it

M/ = Auditor holds it. With it, they can view all company funds, but not spend.

m/m1 = Department A head holds it, and can generate further chains with it.
m/m2 = Department B head holds it, and can generate further chains with it.
m/m3 = Department C head holds it, and can generate further chains with it.

combining M/ with m/mx would give me m/ ... so an auditor would have to conspire with one corrupt department head to run away with the company's entire finances.


With the solution provided says that the CEO would make

m1/
m2/
m3/

Then

Dept A:
m1/m1
m2/m1
m3/m1

Dept B:
m1/m2
m2/m2
m3/m2

Dept C:
m1/m3
m2/m3
m3/m3

Each dept using the three public keys generated by those chains to generate deterministic 2of3 chains.

The Auditor would ONLY receive:

M1/

Then they could check the blockchain for redeemscripts that included
M1/M1
M1/M2
M1/M3

Then they would know how much money each department SPENT without being able to collude to get 2 private keys.

Downside: They could only find SPENT funds, as the redeemscript is only revealed on the blockchain when funds are spent from the multi-sig address.

imo, the best way to do an audit for business would be to use a dual-key Stealth Address, and give the scan_privkey to the auditor... but this is a topic slightly unrelated to BIP32.

You could set up so your company's stealth addresses are generate on a per-department basis, but that all scan_keypairs are generated by a separate BIP32 chain.

Give that master private key to the auditor, as that keypair is only used to generate shared secrets to discover funds, not to spend it.

Great explanation. Finding what was spent is useful for transaction reconciliations, although a lot of what auditors do is reconciliation of balances as well, so not having that ability is definitely a pretty big downside.

I am not too familiar with stealth addresses yet, I am reading up on this.
3  Bitcoin / Electrum / Re: [How Electrum Works] Why you should be careful with your private keys. on: June 20, 2014, 03:34:08 AM
The solution to a more secure internal control structure, so you can leverage the utility of the master public key.
4  Bitcoin / Electrum / Re: [How Electrum Works] Why you should be careful with your private keys. on: June 19, 2014, 09:24:18 PM
Quote
There is one clever way in which this might be bypassed: making three hierarchical BIP32 wallets, with every address being a 2-of-3 multisignature address between the three wallets down some particular child key derivation path. Then, an auditor can have one of the three master public keys, and search the blockchain for transactions whose script contains public keys generated from that master public key. The solution is complex, not supported by any existing client, and far from perfect, but something like it seems to be the only way to get around the issue.
-Vitalik Buterin

What do you guys think of this solution? How feasible is this?
5  Bitcoin / Electrum / Re: Electrum Seed Recovery Stand-alone Python Script on: June 18, 2014, 10:42:25 PM
This is really cool man. I was having a discussion with you a few bitcoiners the other day about the most secure way to store your bitcoin.

When I talked about electrum, they kept saying that if the servers went down you would never have any way to get your bitcoin from your seed.

Now I have a rebuttal. Nice work dude!

Thanks!

Actually, electrum isn't dependent on the servers for that.

The server are used to broadcast transactions and check your
balances.  You can still generate addresses and keys using electrum
while you are offline without any of the servers.

I wrote this script as sort of a due dilligence to fully understand
what it does and in the (hopefully unlikely) scenario where
electrum developers disregard backward compatibility.  

For me, it is peace of mind knowing I have one simple script I
can use to recover my coins from seed regardless of what happens
to the Electrum code.

 

I'm really glad you cleared this up. At an Ethereum meetup the other day a couple guys explained it to me differently, saying that the seed is tied to your private keys which are encrypted on the electrum servers.

I was actually disappointed to hear that, so this is awesome news. So the servers only broadcast transactions and check balances, while the seed and corresponding private keys are held locally. So even if there were no servers available, and the new electrum client did not support old seeds, you can still gain access to your bitcoin by using this script to derive the private keys. (Correct me if I have anything wrong)
6  Bitcoin / Electrum / Re: [How Electrum Works] Why you should be careful with your private keys. on: June 18, 2014, 10:17:39 PM
Thanks for the explanation.

I've seen you mention this topic many times around here lately, so it's great to finally be able to be able to quantify why this occurs.

I feel like keys simply should never be exported because of this, why would anyone ever want to take this risk?
7  Economy / Trading Discussion / Re: Poll : do you trust an exchange to hold your bitcoins ? on: June 18, 2014, 03:26:34 PM
I trust Coinbase and Bistamp to deliver my coins, but I would never hold them there. I move them to cold storage as soon as I have the ability.
8  Bitcoin / Electrum / Re: Electrum Seed Recovery Stand-alone Python Script on: June 18, 2014, 01:39:31 PM
This is really cool man. I was having a discussion with you a few bitcoiners the other day about the most secure way to store your bitcoin.

When I talked about electrum, they kept saying that if the servers went down you would never have any way to get your bitcoin from your seed.

Now I have a rebuttal. Nice work dude!
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!