mazaclub / encompass

BIP-0044 compliant multi-currency wallet based on Electrum. Extendable with ChainKey modules to most coins!
GNU General Public License v3.0
39 stars 20 forks source link

Multisig between Electrum and Encompass #59

Open ELM4Ever opened 9 years ago

ELM4Ever commented 9 years ago

If I try to establish a 2-2 multisig wallet between two Encompass clients. The process works well. The same addresses are generated on both clients.

However, If I try to create a 2-2 wallet between Encompass and Electrum 2.1 (latest Github), the addresses generated by both wallets, although, all starting with "3" are completely different. Furthermore, the Electrum client doesn't recognize a transaction signed by Encompass and vice-versa.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10536809-multisig-between-electrum-and-encompass?utm_campaign=plugin&utm_content=tracker%2F11867956&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F11867956&utm_medium=issues&utm_source=github).
Kefkius commented 9 years ago

Encompass uses a different key derivation path for multisignature wallets. It facilitates multisignature wallets that are also multi-coin. Without our implementation, we would not be able to create multi-coin multisignature wallets as BIP 44 makes this impossible (barring some major inconveniences to users in addition to major changes that would be required).

In short, Encompass multisig wallets and Electrum multisig wallets are incompatible. Details here

ELM4Ever commented 9 years ago

If that is the case, then Encompass will have to "advertise" it loud and clear in the release notes.

guruvan commented 9 years ago

@ELM4Ever The above is the reasoning for submission of the following BIP https://gist.github.com/Kefkius/1aa02945e532f8739023

In short, Encompass can be made to produce Encompass or Electrum compatible multisig wallets, with a fair amount of work.

A user choosing Electrum-compatible mutlisig wallets would have more complex key management as they'd need to manage separate xpriv/xpub addresses - and have to share separate xpubs for each chain with cosigners.

While it's good to have compatibility, and interoperability, with limited resources, I think it's best to start with a usable multicoin implementation that reduces the complexity for the user, even though it requires all cosigners to use Encompass.