Bitcoin Forum
May 24, 2024, 05:18:49 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: [TEASER] Multi-Sig Lockboxes! (Now with Simulfunding!)  (Read 4432 times)
TimS
Sr. Member
****
Offline Offline

Activity: 250
Merit: 253


View Profile WWW
September 06, 2014, 02:54:16 AM
Last edit: September 06, 2014, 03:08:32 AM by TimS
 #21

I have a question about Simulfunding.

What exactly is being transmitted when a user sends the signed TXSIGCOLLECT back to the organizer? I guess it's my signature to allow sending my specified amount from my specified wallet. But what's to prevent the organizer to use my signed transaction twice?
What if the organizer doesn't sign and broadcast their part of the transaction until, let's say, 2018? Perhaps there should be a time limit. Do we currently have to manually empty the wallet if the transaction isn't made or you could get the funds sent sometime in the future when it might come as a surprise?
When you sign a simulfund transaction, you're signing a plain old Bitcoin transaction. The UI doesn't make it obvious, but this means that the outputs you're spending are fixed by that time.

In the time between when you issue your promissory note and when the final, signed transaction is broadcast (whether that's minutes or, as in your case, years), you spend your money/outputs that are inputs to that simulfund transaction (e.g. by sending everything in a wallet to that same wallet), the simulfund transaction becomes invalid, since it now refers to outputs that have already been spent.

Basically, the signature is not "You can take money from my wallet" that can be respent or spent any time, it's the standard "I authorize the following transaction: [...]" that cannot be respent and refers to specific outputs you own.

It seems the last signer (or organizer) has the advantage of choosing when the transaction takes place and the money is withdrawn from all others' wallets. What if this person waits one week, one month or one year?
Then they increase the probability that the transaction will never go through. If there is any lack of trust, all parties should wait until the simulfund transaction enters the blockchain to a suitable depth, or cancel the simulfund by spending at least one output that they signed into the transaction.
plethora
Member
**
Offline Offline

Activity: 113
Merit: 10



View Profile
September 06, 2014, 05:49:25 PM
 #22

Thanks for the explanation Tim. now it makes sense Smiley

Perhaps Armory should warn the user not to use the wallet until after the simulfunding is complete or the promissory note will be invalidated.
Perhaps there should be some kind of note or icon on the wallet that there's a valid promissory note "out there" that's waiting for other user's signatures. The icon is removed if the simulfund is canceled by spending an output.
Perhaps even add a button to cancel the simulfund by sending everything in a wallet to that same wallet  Smiley
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!