Post
Topic
Board Armory
Re: Please Help Test Armory 0.91-beta!
by
etotheipi
on 20/03/2014, 15:54:11 UTC
But while we're on the subject of multisig, do you mind commenting on the feasibility of a wallet recognizing strange outputs as spendable? That's a pretty broad question, but I didn't want to narrow it down so far as to only be applicable to the multisig example I provided. The reason I ask is largely due to mastercoin. Mastercoin uses 1-of-n multisig outputs as a method of storing data in the blockchain without creating unspendable outputs. The catch is that there isn't a wallet that will recognize or spend those outputs. As far as I'm concerned, they are unspendable by the average user. Anyway, do you find reason or incentive to recognize and support fringe case outputs such as the one in the example? If so, would you consider pursuing a wallet model that aims to recognize and spend all outputs that can be spent? Please note, this isn't a request - I'm just curious what a developer's thoughts are.

The answer to your question is basically:  determining spendability of an arbitrary script is an intractible problem.  I'm sure it's related to the halting problem.  Either way, the only way to do this is to simply identify a set of scripts templates and conditions that we know are spendable, and code those directly into the app.  When we have a multi-sig solution in Armory, it would be easy to automatically recognize such 1-of-N scripts as spendable.   But tying that into the interface may be complex:  do we really show those tx as spendable money the same as all the regular single-sig money?  It's in a 1-of-N for a reason, maybe it should be identified separately, in which case we need to show that in a different interface or in a different way.  Etc.

On that note, do you have a watching-only wallet that I could use to test the multi-sig thing.  I went to go fix it, and then realized I don't have a good way to get multisig address into any of my wallets.  Once i have one, I can fix the display problem pretty fast.