-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add multisig transactions. #123
Comments
IMO this does not need to be implemented as a protocol change and generally it violates the "we have the no features" maxim to an unnecessary extent; all of its functionality can be achieved through the tools given by #86. |
I hadn't considered that implementing this feature would violate a general principle of the Ethereum Project. Furthermore, if you and others are convinced that the feature set for the user I described will be available after #86 (e.g. cancelling transactions, invoicing, making some transactions only valid after both ends sign, etc.), then this issue can be closed. |
The #86 solution to "invoicing" would be for users to individually create user account contracts whose validation code specifies a restriction that for transactions with a particular big flag turned on, they must contain a second signature that satisfies the validation code of the recipient. The #86 solution for cancellation would be to use a multisig similar to the current standard multisig contract as the validation code, but allowing an |
@vbuterin, I keep forgetting that Ether is not a cryptocurrency. And since this functionality can be implemented without changing Ethereum, I see no reason to keep this issue open. Thanks for clarifying. |
I would like to propose that Ethereum add the concept of multi-signature transactions (in addition to multisig wallet contracts). A multi-signature transaction would be a transaction that requires the valid signature of all parties involved before it is actually committed to the blockchain as a valid transaction. A requester or recipient could be any valid address, not just multi-signature wallet contracts. The transaction can be initiated by either the payer or the payee.
Requests for payment can be initiated by party A with a valid signature (or all required signatures if initiated by a multisig contract) & when party B also signs the request, the actual transfer of funds from B to A will occur like a normal transaction. This will add invoicing as an intrinsic feature to Ethereum.
Outgoing payments to a third-party can also be multisig. In that case, the request is for acceptance of payment, and the transfer is completed when the recipient signs the transaction. Since the transfer is not valid until all parties sign, this allows the funds for the transaction not to be committed until the recipient accepts the payment. If funds are not available when the transaction is adequately signed, it will be rejected by the blockchain due to insufficient funds. A signatory can also rescind their signature before the transaction is accepted by all parties. This allows a fund transfer to be cancelled before payment is accepted. This is a feature that is missing from all major cryptocurrencies.
The text was updated successfully, but these errors were encountered: