Open JonPizza opened 5 years ago
@JonPizza This is a pretty cool idea. Our focus will be however, to get multisig addresses working first with assets. Then we can look at something like this.
Starting with raven-qt v4.7, assets can now be locked into P2SH contract addresses, including N-of-M multisignature addresses. That asset could be the owner asset (NAME!).
Doing privileged operations like an asset reissue transaction always require that the owner asset be used as an input of that transaction (as an authorization) and it is returned back to you as an ouput of the same transaction.
If the owner asset is in a P2SH multisig address, then it will take N-of-M signatures to use that owner asset for that privileged transaction, and it can be returned to another (or the same) P2SH address.
There is a bit of complexity in how the P2SH address is set up and spent, but a scheme with multiple asset owner tokens would be even more complex.
Note that the security problem with multisig which you described does not exist for P2SH multisig transactions because nobody ever has access to all the private keys. Setting up and letting everyone agree to the P2SH address only requires all the parties to know each other's public keys. For the spending transaction, someone builds the raw transaction, signs it with their private key, and passes to the next signer. Each signer makes sure that they agree with what that transaction does, and then signs it. The last person to sign then submits it to the Ravencoin network, but nobody in the sequence has access to anyone else's private key or has the ability to change the transaction without invalidating it. Even if any PC along the way has malware, it cannot alter the transaction to do something different without invalidating it.
A Multisig asset would work with multiple "!" assets, with a certain number of users specified by the creator. The creator also would specify how many of the users are needed to issue an action upon the asset, like reissue/create subs or uniques.
The people with the "!"s could initiate requests to do an action through the messaging protocol for a small amount of RVN.
If you were to proceed with this process, if possible I would recommend storing the above suggested data within the space for the IPFS. One functionality for another, but this will encourage more use of subs and uniques. One more thing to consider is we would use an extra 1 byte per asset, for a hasMulti bool.
The main reason that we should be using this is do we really expect one person to be controlling the entire stock market?
Obviously, there is already the Multisig addresses, but I believe the extra byte will help convence. It will eliminate the need for a real-world meetup as I see it. Also, there is a security problem with a Multisig unlocking in the real world, the owner of the computer could have a script running in the background to flush out the wallet of all it's contents upon opening and unlocking the qt.
I am interested to hear your thoughts, JonPizza (UserJonPizza#4510)