Author

Topic: [bounty]Multisignature m-n address : get recipients private keys (Read 628 times)

newbie
Activity: 5
Merit: 0
I have a related issue here: https://bitcointalk.org/index.php?topic=2049157.new#new
The difference is that the multi sigs were generated by Coinbase instead of Electrum. Maybe you can help? There is also a bounty.
legendary
Activity: 1260
Merit: 1168
If you send me your signatures in a private message, I can check this for you. You are not disclosing anything secret.
legendary
Activity: 1092
Merit: 1001
Well, I agree that there is some room for improvement. The script is just as good as a human being can do in one day Wink I hope people will improve this over time.

But ... great news, it recovered 2 of 3 keys and this is all you need.

1. Did you make sure, that you copied the "to be signed" messages over to the sign tool without any leading or trailing spaces?
2. Did you paste them in this form here? Concatenated with "-", (minus sign). No spaces, no new lines at the end, at the beginning or in between the signatures?



Pretty sure I am providing them correctly, I tried both orders but it still gives me You have to provide exactly 2 correct signatures
legendary
Activity: 1260
Merit: 1168
Well, I agree that there is some room for improvement. The script is just as good as a human being can do in one day Wink I hope people will improve this over time.

But ... great news, it recovered 2 of 3 keys and this is all you need.

1. Did you make sure, that you copied the "to be signed" messages over to the sign tool without any leading or trailing spaces?
2. Did you paste them in this form here? Concatenated with "-", (minus sign). No spaces, no new lines at the end, at the beginning or in between the signatures?

legendary
Activity: 1092
Merit: 1001
LOL! Don't do that, people will take it seriously.

Yes, you can recover the private key but it might not finish before the Universe collapses. Especially when written in pure python. Smiley


What? This script should find all private keys in less than 2 minutes.
cut

Ok, I managed to run it properly but installing the missing modules however it finds me 2 of 3 private keys.
When it tries keystore #3 it fails saying

 
Code:
Traceback (most recent call last):
  File "supersaver.py", line 62, in
    dx = did.get_private_key([0, x], password)
  File "/home/user/Downloads/electrum-key-rescue-master/electrum/keystore.py", line 333, in get_private_key
    xprv = self.get_master_private_key(password)
  File "/home/user/Downloads/electrum-key-rescue-master/electrum/keystore.py", line 299, in get_master_private_key
    return pw_decode(self.xprv, password)
  File "/home/user/Downloads/electrum-key-rescue-master/electrum/bitcoin.py", line 154, in pw_decode
raise InvalidPassword()
electrum.util.InvalidPassword: Incorrect password

Very weird isn't it?
Anyway I am trying to reedem the XEL but I receive this error:
You have to provide exactly 2 correct signatures
Althought I am providing 2 signatures, any hint?
legendary
Activity: 1092
Merit: 1001
LOL! Don't do that, people will take it seriously.

Yes, you can recover the private key but it might not finish before the Universe collapses. Especially when written in pure python. Smiley


What? This script should find all private keys in less than 2 minutes.

Woah, thank you for the super effort, I am really impressed for you devotion to the community.
However I cannot launch it (I only launch "python ./supersaver.py" without any argument):

Code:
Traceback (most recent call last):
  File "./supersaver.py", line 9, in
    from electrum.storage import WalletStorage, FINAL_SEED_VERSION
  File "/home/user/Downloads/electrum-key-rescue-master/electrum/__init__.py", line 3, in
    from wallet import Synchronizer, Wallet, Imported_Wallet
  File "/home/user/Downloads/electrum-key-rescue-master/electrum/wallet.py", line 50, in
    from bitcoin import *
  File "/home/user/Downloads/electrum-key-rescue-master/electrum/bitcoin.py", line 37, in
    import pyaes
ImportError: No module named pyaes
legendary
Activity: 1260
Merit: 1168
LOL! Don't do that, people will take it seriously.

Yes, you can recover the private key but it might not finish before the Universe collapses. Especially when written in pure python. Smiley


What? This script should find all private keys in less than 2 minutes.
legendary
Activity: 1260
Merit: 1168
Spent a day for you ;-)

First of all: DO BACKUPS!!!

Here you go. Check out this peace of software:
https://github.com/OrdinaryDude/electrum-key-rescue

Start it (python ./supersaver.py), type in your wallet path, your password and (one after the other) all addresses that you want to rescue the private keys for.
It will take a while but eventually recover them all. Tell me please if it worked ;-)

This is how it looks like:


legendary
Activity: 1092
Merit: 1001
Hello there, I am having troubles in proving the ownership of a multisignature address I own (I can send funds and everything from it).
I generated the addresses through a seed (it looks like it is a 2fa seed type, and I have a copy of it).
I've used https://chainquery.com/bitcoin-api/decodescript to decode the set of addresses associated with the multisignature address.

Quote
{
   "result": {
      "asm": "2 034996b456e8a742e4144231e2737841ddd6a61d6a064e2bf10a9501fe4f670bbc 03b3311cb449f05fa6d80d969ae698f289af45298625d31e925f1b2185ccd43874 03d2fc8e9bd197b4a5e1b6fcc15492a87be89ef98897bc2ebcbbe7070cada7df55 3 OP_CHECKMULTISIG",
      "reqSigs": 2,
      "type": "multisig",
      "addresses": [
         "1MgJG1Lan1f5gz9S1MZFfL7AmkKjCyDjcP",
         "1KjUMwz1GAXRzzQMEjUEJEbqsHR5TkQjDV",
         "1PFZvwoszumZi6cYqYjJxAJbY7nRhP6q8H"
      ],
      "p2sh": "3Gg6jdT85BeWTmy2nJ7J7cKBHohx96fYxS"
   },
   "error": null,
   "id": null
}

So the recipient addresses are:
1MgJG1Lan1f5gz9S1MZFfL7AmkKjCyDjcP",
 1KjUMwz1GAXRzzQMEjUEJEbqsHR5TkQjDV
1PFZvwoszumZi6cYqYjJxAJbY7nRhP6q8H


However, If I try to use the command getprivatekeys through electrum terminal it says that none of this set of addresses are on the addresses list.
The only thing I can do is to dump the private key of the multisig address and import it into an electrum simple wallet type. It works and adds me only one address of the three.
So I have only one private key and I need one more to prove the ownership of the multisig address.
Any hint to how to get one of the other private keys?

Thank you in advance, I will throw a tip to anyone able to make me manage how to do it.
Cheers
Jump to: