Author

Topic: Security of a Multi-Signature Wallet in a hypothetical hacker scenario (Read 119 times)

newbie
Activity: 6
Merit: 0
NO< there is no possibility to getting access in 4th one

He obviously needs all access there is to the hack.

First of all, you should ensure privacy and passwords. We often use simple passwords rather than complicated ones.

Do not share information with anyone that comes first. A public wifi is another easy way for a hacker.

hero member
Activity: 686
Merit: 1341
✔️ CoinJoin Wallet
a)  Can the hacker steal all the coins in the wallet without access to the 4th seed and without any knowledge of which addresses belong to the wallet?

Just make sure that you yourself also have access to all the public keys.
Because essentially in a 2-of-4 scenario like you said, if you have 3 keys but don't have the 4th XPUB, it will be like knowing 3/4 keys that unlock one door, without knowing where the door is.
legendary
Activity: 2646
Merit: 6681
Self-proclaimed Genius
My expectation is that the hacker might still be able to steal coins, even without the 4th seed, because having 2 seeds is sufficient to sign transactions. They could, in theory, brute force or search the blockchain to identify wallet-related addresses and initiate transactions.

Am I missing any critical considerations here about the security of multi-signature wallets in this case?
More information about P2SH or P2WSH should help.

Some Pointers:
  • Each of your MultiSig address are just the hash of your redeem script (witness script for SegWit).
  • The Unspent Transaction Outputs (UTXO) from your "receive transactions" only contain that hash.
  • Your "Redeem Script" that contains all the cosigners' public keys (four in your case) is required to spend your UTXOs along with the signatures.
    The hash of the provided redeem script should match the hash in the to-be-spent UTXO when being verified by Bitcoin nodes to be accepted/relayed/mined.
  • Given that hash is nearly impossible to reverse to get the redeem script,
    the only way to get the missing fourth pubKey is to search it from your "send transactions" since your "receive transactions" don't have the redeem script.

Why does he have to know the address in that case, can't he just brute force and test all the transactions in the mempool, or is that impossible?
He can do that, it's not impossible and certainly doable with the right software and hardware.
He'll just need to search for P2[W]SH inputs containing a combination of the three derived pubkeys (of the same index) from the three available extended public keys.

If the amount is substantial, you must commission a mining pool or solo miner to include your transaction(s) to thier block without broadcasting it to the rest of the network.
legendary
Activity: 2380
Merit: 5213
thanks a lot for explaining this.
So if I make a transaction, and this transaction is still in the mempool, the hacker can change it and steal it, is that what you mean?
As I said, for making a transaction from a m of n multi-signature address, you need m out of n private keys and the public keys of other private keys.

In your example, the hacker has access to three out of four private keys and he needs to know the public keys assosiated with the fourth private key.
If you have already made a transaction from your addresss (whether that's still in the mempool or it has been included in the blockchain), the hacker can get the fourth public key from the transaction data and steal your fund.


Why does he have to know the address in that case, can't he just brute force and test all the transactions in the mempool, or is that impossible?
The hacker needs to know the address, so that he can check if there's any outgoing transaction from that.
If there's an outgoing transaction, the hacker can get the fourth public key and steal your fund.

And there is nothing to brute-force here.
If the hacker knows three out of four private keys, he actually knows three public keys too. He can check all bitcoin transactions made from 3 of 4 multi-signature address. If there's a one with an input using those three public keys, he can get the fourth public key from that transaction and steal your fund.
newbie
Activity: 26
Merit: 5
thanks a lot for explaining this.
So if I make a transaction, and this transaction is still in the mempool, the hacker can change it and steal it, is that what you mean?
Why does he have to know the address in that case, can't he just brute force and test all the transactions in the mempool, or is that impossible?
legendary
Activity: 2380
Merit: 5213
a)  Can the hacker steal all the coins in the wallet without access to the 4th seed and without any knowledge of which addresses belong to the wallet?
No, The hacker needs the master public key of the 4th seed phrase.


b) If the hacker knows some of the addresses associated with the wallet that hold Bitcoin, would they be able to steal coins from those specific addresses?
If the hacker knows an address and there's an outgoing transaction from that address, then the hacker can steal the fund.
If there is no outgoing transaction from the address, the hacker will not be able to steal the fund, even if the hacker knows the address.


Take note that for spending fund a from a m of n multi-signature address, you need m out of n private keys and also the public keys assosiated with other private keys.
newbie
Activity: 26
Merit: 5
Suppose you have a MultiSig wallet with 4 seeds. 2 Seeds are required for signing.

Now, consider the following scenarios where a hacker manages to obtain 3 of the 4 seeds:

a)  Can the hacker steal all the coins in the wallet without access to the 4th seed and without any knowledge of which addresses belong to the wallet?

b) If the hacker knows some of the addresses associated with the wallet that hold Bitcoin, would they be able to steal coins from those specific addresses?

My expectation is that the hacker might still be able to steal coins, even without the 4th seed, because having 2 seeds is sufficient to sign transactions. They could, in theory, brute force or search the blockchain to identify wallet-related addresses and initiate transactions.

Am I missing any critical considerations here about the security of multi-signature wallets in this case?
Jump to: