Skip to content
This repository has been archived by the owner on Oct 3, 2020. It is now read-only.

Sign-to-contract and multisig addresses #10

Closed
afilini opened this issue Apr 13, 2018 · 1 comment
Closed

Sign-to-contract and multisig addresses #10

afilini opened this issue Apr 13, 2018 · 1 comment

Comments

@afilini
Copy link
Collaborator

afilini commented Apr 13, 2018

As stated in the protocol specification, in case of multisig addresses spending funds it's necessary that all the required signatures agree and include the same commitment.

Assuming that all the signers check the previous signatures, this allows the last signer to effectively burn all the tokens linked to the UTXO being spent by signing the transaction without the same commitment and broadcasting it to the network.

To overcome this issue my proposal is to ask the signers to sign just the proof first and add all these signatures in a "witness area" of the proof itself. Later, they will all sign the transaction and add the commitment to this proof. In this way, even if only one of the signers adds the commitment in its transaction signature, this is enough to prove that all the party agreed on the proof he owns, since he can also show all the signatures.

This will obviously increase the size of all the proofs coming from multisig addresses, but right now I don't see any other way to fix this. Any ideas?

@afilini afilini modified the milestone: On-chain Protocol Definition May 2, 2018
afilini added a commit that referenced this issue Jun 8, 2018
Update the references to a "meta-script language", to fix issue #23
Update the example to follow the concept of contract blueprints
Update the specification for multi-sig using sign-to-contract, to fix issue #10
@afilini
Copy link
Collaborator Author

afilini commented Jun 15, 2018

After working on this for a while, we came to the conclusion that it would be too hard to make sign-to-contract work with multisigs. It could still be an option for single sigs though.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant