0

Im interested in the application of multisignature, for example in a business context.

I see clear and simple instructions on creating a multisig address, and sending to the address seems fairly obvious. However the process to send from multisig, seems sparsely documented and often many versions old.

Is it practical to use multisig on a Core wallet?

If so, in simple two of two scenario, what is the process of generating a transaction?

Can a third party holding neither of the private keys, propose a transaction for the two signers?

Do they all need to use the same terminal?

How does a signer know a transaction is waiting?

If there are multiple transactions proposed, how would a signer sign some but not others?

Thanks.

  • Please check out this sending example from bitcoin.org it's really helpful bitcoin.org/en/developer-examples#p2sh-multisig – Adam Jan 4 '18 at 16:58
  • That just tells me how to create a raw transaction to make a spend, which is partially useful but doesn't answer a lot of my questions. It does appear to say that any change from the transaction goes back into single signature address, which seems especially pointless. If I put a hundred BTC onto a multi-sig address or security reasons, when I spend 1, the 99 change goes back to a single sig address in whoever is hosting the wallet. – Scalextrix Jan 5 '18 at 7:50
  • With my experience I can't give you an accurate answer, but when the third party decides which one should spend the Bitcoins. the third party will get 1% or less and the rest goes to the chosen key holder. – Adam Jan 5 '18 at 9:06
1

Is it practical to use multisig on a Core wallet?

yes, but for sure it depends on your level of comfort. It's not (yet) plug'nplay :-) See also the example from Gavin at the end.

If so, in simple two of two scenario, what is the process of generating a transaction?

see example.

Can a third party holding neither of the private keys, propose a transaction for the two signers?

yes, a third party can create the transaction, and post it to the network (he would need to have the bitcoin addresses of the other participants, to create the redeem script).

Do they all need to use the same terminal?

no, not at all. I have done creation of the funding tx on my online system, and signing of the spending tx on an offline system (cold storage).

How does a signer know a transaction is waiting? there is no protocol inside bitcoin for "notification". When you prepare a multisig, you need to have a different communication channel than the bitcoin network, to inform on necessary signing.

Example: https://gist.githubusercontent.com/gavinandresen/3966071/raw/1f6cfa4208bc82ee5039876b4f065a705ce64df7/TwoOfThree.sh

btw: next to the examples to bitcoin.org, Andreas book "Mastering Bitcoins" (2nd edition) has many references to multisig, and it's wortwhile to read. It can even be found online.

  • Thanks, I will review it in more detail over the coming days, so essentially we are into raw transaction territory which most users are warned not to use, and its certainly not really practical in a business context, as is. Prima facie, it does seem feasible to write a small script that would handle most of the inputs and outputs, and make this more suitable for business users; though the fact such things are not implemented in Core leads me to believe it may be more complex than Im giving credit for. Thanks. – Scalextrix Jan 6 '18 at 10:35
  • probably right. One could think of a PHP or HTML wrapper around it, asking for the two or more keys that are involved. Then another webpage or interface for creating a funding transaction. I agree, its still a bit of fuzzing around. A UI designer could do great things! – pebwindkraft Jan 6 '18 at 10:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.