<p>Copay Dev Here.</p>

<p>Copay uses Bitcore-Wallet-Service (<a href="https://github.com/bitpay/bitcore-wallet-service" rel="nofollow">https://github.com/bitpay/bitcore-wallet-service</a>) to communicate transactions proposals between copayers.  When we stated Copay (prior version 0.5 I think) we used to use webRTC to directly communicate (using P2P networking) proposals between copayers but it was: </p>

<ul>
<li>Very difficult to debug and support</li>
<li>Supported only on some devices (not IOS, for example)</li>
<li>And copayers needed to be online at the same time to communicate</li>
</ul>

<p>so we decide to create a wallet-service, that help crafting the transaction, recollect the signatures and interfase with the blockchain (using bitcore <a href="https://bitcore.io/" rel="nofollow">https://bitcore.io/</a> ).  Proposals are signed by the copayers (to prevent the server for creating or tampering the proposals) and the sensitive parts are encrypted.</p>

CC BY-SA 3.0
2016-11-05T14:26:57.953Z
hey @ematiu, if the implementation of the server part of copay wallet is **bitcore-wallet-service**, why does its README state the sentence `BWS have a extensive test suite but have not been tested on production environments yet and have been recently released, so it it is still should be considered BETA software`? thanks in advance
knocte
CC BY-SA 3.0
2016-12-05T01:57:35.830Z
Thanks @knocte. that line was really old... BWS have been using it Copay/Bitpay App for more that 1.5 years now. I just fix it.
ematiu
CC BY-SA 3.0
2016-07-11T19:08:34.943Z
2016-07-11T19:08:34.943Z
ematiu
<p>The final transaction that gets broadcast to the network, just like every other Bitcoin transaction, is public.  This is safe because signatures do not reveal any secret information.  In the case of multisig wallets, when one wallet adds its signature and then sends it to another wallet, it doesn't matter if anyone is eavesdropping.  It would be perfectly safe to send the partially-signed transaction in the clear.  After all, when subsequent signatures are added, it will all be made public anyways.</p>

<p>That said, there can be privacy implications about whether you wish to let the world know who you are doing multisig with.  In that case, establishing secure channels for communication becomes important, as well as making sure the addresses/public keys used are not somehow associated with your identities.</p>

CC BY-SA 3.0
2016-05-27T22:27:46.367Z
I am sory, I made a little mistake in question, instead of when it is done i meant before it is broadcasted to the network and then included into blockchain. Question is already edited
Comodore
CC BY-SA 3.0
2016-05-28T00:14:10.107Z
I'm talking about before it is broadcast to the network too.  Nothing sensitive is contained in a half signed transaction, so security isn't an issue.
Jestin
CC BY-SA 3.0
2016-05-28T11:00:02.423Z
Okay, but I would like to focus more on privacy implications.That's where I think could be great problems. If locations of devices are leaked it could be a significant problem for security also.
Comodore
CC BY-SA 3.0
2016-05-27T22:00:02.400Z
2016-05-27T22:00:02.400Z
Jestin
<p>I wonder how multi-signature wallets communicate with each other?</p>

<p>My favorite wallet is copay. How do they communicate with each other before payment is done? How is privacy handled between each multi-sig device?</p>

<security><multi-signature><copay>
How multi-signature wallets comunicate with each other?
Comodore
# How multi-signature wallets comunicate with each other?

(Asked by: username_0 on 2016-05-27)

I wonder how multi-signature wallets communicate with each other?

My favorite wallet is copay. How do they communicate with each other before payment is done? How is privacy handled between each multi-sig device?

**Tags:** security, multi-signature, copay


---

## 2 answers

### Answer by username_1 on 2016-07-11. Score: 1 | Accepted answer

Copay Dev Here.

Copay uses Bitcore-Wallet-Service (<https://github.com/bitpay/bitcore-wallet-service>) to communicate transactions proposals between copayers. When we stated Copay (prior version 0.5 I think) we used to use webRTC to directly communicate (using P2P networking) proposals between copayers but it was:

* Very difficult to debug and support
* Supported only on some devices (not IOS, for example)
* And copayers needed to be online at the same time to communicate

so we decide to create a wallet-service, that help crafting the transaction, recollect the signatures and interfase with the blockchain (using bitcore <https://bitcore.io/> ). Proposals are signed by the copayers (to prevent the server for creating or tampering the proposals) and the sensitive parts are encrypted.

> **Comments:**
> **username_2**: hey @username_1, if the implementation of the server part of copay wallet is **bitcore-wallet-service**, why does its README state the sentence `BWS have a extensive test suite but have not been tested on production environments yet and have been recently released, so it it is still should be considered BETA software`? thanks in advance  
> **username_1**: Thanks @username_2. that line was really old... BWS have been using it Copay/Bitpay App for more that 1.5 years now. I just fix it.  

---

### Answer by username_3 on 2016-05-27. Score: 2

The final transaction that gets broadcast to the network, just like every other Bitcoin transaction, is public. This is safe because signatures do not reveal any secret information. In the case of multisig wallets, when one wallet adds its signature and then sends it to another wallet, it doesn't matter if anyone is eavesdropping. It would be perfectly safe to send the partially-signed transaction in the clear. After all, when subsequent signatures are added, it will all be made public anyways.

That said, there can be privacy implications about whether you wish to let the world know who you are doing multisig with. In that case, establishing secure channels for communication becomes important, as well as making sure the addresses/public keys used are not somehow associated with your identities.

> **Comments:**
> **username_0**: I am sory, I made a little mistake in question, instead of when it is done i meant before it is broadcasted to the network and then included into blockchain. Question is already edited  
> **username_3**: I'm talking about before it is broadcast to the network too.  Nothing sensitive is contained in a half signed transaction, so security isn't an issue.  
> **username_0**: Okay, but I would like to focus more on privacy implications.That's where I think could be great problems. If locations of devices are leaked it could be a significant problem for security also.  

---

