Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: JMG on January 28, 2015, 03:35:59 PM



Title: Question: Multi-Sig Instant Transfer
Post by: JMG on January 28, 2015, 03:35:59 PM
Hello,

I know that one wallet can generate multiple accounts and can transfer bitcoins instantly between those accounts(Bitcoin-QT).

Then could one wallet generate multiple multi-sig accounts that are belong to different persons(one has know accessibility of another) and transfer bitcoins instantly between those multi-sig accounts? Say one wallet generates 2 sets of 2of2 multi-sig account and each one belongs to Adam and Bob, and Adam cannot touch Bob's bitcoins and vice versa. Then could Adam instantly transfer bitcoins to Bob if multi signed?

Or is that one wallet can only generate one multi-sig account and, in order to send bitcoins, the transfer must take blockchain?

Thanks.


Title: Re: Question: Multi-Sig Instant Transfer
Post by: PRab on January 28, 2015, 05:15:08 PM
Bitcoin-QT can do this because the accounts are not actually tied to bitcoin addresses. An account is more like an entry in a DB and can just be updated arbitrarily. The downside to this is that it involves a lot of trust. If 2 people had access to the same wallet.dat, either of them could take all the money.

There are protocols that make transferring bitcoin between 2 parties instant, but they are slightly complex. These protocols also tend to rely on transaction being non-malleable (some overcome this challenge). In general, they start with party "A" sending a large transaction (T1) to a shared multisig address, then a transaction (T2) splitting that transaction between both parties.

T1 - A -> ($100 -> shared multisig)
T2a - shared multisig -> (95$ -> A, $5 -> B)
T2b - shared multisig -> (90$ -> A, $10 -> B)
T2c - shared multisig -> (85$ -> A, $15 -> B)
...

Each of these variants of T2 can be proposed by party A to party B instantly. To close the instant payment channel party B signs the last T2 transaction and broadcasts it to the network. There is also usually a fail safe using nlocktime so that if party B doesn't claim any of the transactions after a certain period of time, then party A can claim all the funds in the shared multisig.

Hopefully this is clear.


Title: Re: Question: Multi-Sig Instant Transfer
Post by: JMG on January 30, 2015, 12:30:12 AM
Bitcoin-QT can do this because the accounts are not actually tied to bitcoin addresses. An account is more like an entry in a DB and can just be updated arbitrarily. The downside to this is that it involves a lot of trust. If 2 people had access to the same wallet.dat, either of them could take all the money.

There are protocols that make transferring bitcoin between 2 parties instant, but they are slightly complex. These protocols also tend to rely on transaction being non-malleable (some overcome this challenge). In general, they start with party "A" sending a large transaction (T1) to a shared multisig address, then a transaction (T2) splitting that transaction between both parties.

T1 - A -> ($100 -> shared multisig)
T2a - shared multisig -> (95$ -> A, $5 -> B)
T2b - shared multisig -> (90$ -> A, $10 -> B)
T2c - shared multisig -> (85$ -> A, $15 -> B)
...

Each of these variants of T2 can be proposed by party A to party B instantly. To close the instant payment channel party B signs the last T2 transaction and broadcasts it to the network. There is also usually a fail safe using nlocktime so that if party B doesn't claim any of the transactions after a certain period of time, then party A can claim all the funds in the shared multisig.

Hopefully this is clear.

It's very helpful. Thanks!


Title: Re: Question: Multi-Sig Instant Transfer
Post by: hashman on January 30, 2015, 12:45:15 PM
In the off chance that you guys aren't related to this project already, you will probably be interested:

https://github.com/baleato/bitcoin-hackathon

Cheers --   


Title: Re: Question: Multi-Sig Instant Transfer
Post by: Tjopper on February 04, 2015, 03:03:31 PM
Last night the winners of our hackaton provided some updates about their project https://github.com/baleato/bitcoin-hackathon (https://github.com/baleato/bitcoin-hackathon)
After they gave their presentation there was another guy who also had a similiar idea and already had a working prototype: https://bitcointalk.org/index.php?topic=94674.0 (https://bitcointalk.org/index.php?topic=94674.0)

It is slightly off-topic though, but I think you find this very interesting.

Jop


Title: Re: Question: Multi-Sig Instant Transfer
Post by: swapcoiner on February 05, 2015, 06:41:09 PM
Check with Armory, they now use multi sig accounts.