Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: U2 on November 01, 2016, 08:26:03 PM



Title: How do I use timed transactions, escrow transactions and multi-signature trans?
Post by: U2 on November 01, 2016, 08:26:03 PM
I just saw this instead of an advertisement on bitcointalk.

"The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future."

How would I go about sending any of these within the bitcoin protocol? I thought escrow was just something people had to come up with on their own and I didn't know about timed transactions at all. I've heard of multi-signature transactions but how do I make an address that needs 2 keys? Or is it 2 of 3 or do I chose that somehow? I understand that the bitcoin address will start with 3 but that means no thing to me!:)

Thanks


Title: Re: [Moved]How do I use timed transactions, escrow transactions and multi-signature trans?
Post by: achow101 on November 01, 2016, 08:34:43 PM
All of these transactions use scripts. These scripts can be encoded as a script hash and used in a Pay-to-script-hash (P2SH) output which corresponds to a Bitcoin address beginning with a '3'.

Multisignature addresses have scripts of the format
Code:
OP_0 <pubkey 1> ... <pubkey n> OP_n OP_CHECKMULTISIG
where n is less than 15. The OP_n indicates how many of the previous public keys are required in order to spend from that address.

Escrow transactions are basically smart contracts. Bitcoin doesn't really support this well yet. These smart contracts are really just complex scripts.

Timed transactions are transactions that use the nLocktime field of the transaction. This field prevents the transaction from being confirmed until a certain time. They can also be used in scripts for P2SH addresses which use OP_CHECKLOCKTIMEVERIFY which will ensure that Bitcoin cannot be spent from that address until the nLocktime has passed.


Title: Re: [Moved]How do I use timed transactions, escrow transactions and multi-signature trans?
Post by: U2 on November 01, 2016, 08:46:00 PM
All of these transactions use scripts. These scripts can be encoded as a script hash and used in a Pay-to-script-hash (P2SH) output which corresponds to a Bitcoin address beginning with a '3'.

Multisignature addresses have scripts of the format
Code:
OP_0 <pubkey 1> ... <pubkey n> OP_n OP_CHECKMULTISIG
where n is less than 15. The OP_n indicates how many of the previous public keys are required in order to spend from that address.

Escrow transactions are basically smart contracts. Bitcoin doesn't really support this well yet. These smart contracts are really just complex scripts.

Timed transactions are transactions that use the nLocktime field of the transaction. This field prevents the transaction from being confirmed until a certain time. They can also be used in scripts for P2SH addresses which use OP_CHECKLOCKTIMEVERIFY which will ensure that Bitcoin cannot be spent from that address until the nLocktime has passed.

Ok but is there any way that the end user (so someone with no bitcoin expertise) can use these in any wallet? Or is this something only for the very gifted bitcoiner that's been here for years and knows what they're doing? Honestly I barely understood a word you said there and was just wondering if I was actually able to go about using these in a simple way.


Title: Re: [Moved]How do I use timed transactions, escrow transactions and multi-signature trans?
Post by: Abdussamad on November 01, 2016, 10:05:02 PM
All of these transactions use scripts. These scripts can be encoded as a script hash and used in a Pay-to-script-hash (P2SH) output which corresponds to a Bitcoin address beginning with a '3'.

Multisignature addresses have scripts of the format
Code:
OP_0 <pubkey 1> ... <pubkey n> OP_n OP_CHECKMULTISIG
where n is less than 15. The OP_n indicates how many of the previous public keys are required in order to spend from that address.

Escrow transactions are basically smart contracts. Bitcoin doesn't really support this well yet. These smart contracts are really just complex scripts.

Timed transactions are transactions that use the nLocktime field of the transaction. This field prevents the transaction from being confirmed until a certain time. They can also be used in scripts for P2SH addresses which use OP_CHECKLOCKTIMEVERIFY which will ensure that Bitcoin cannot be spent from that address until the nLocktime has passed.

Ok but is there any way that the end user (so someone with no bitcoin expertise) can use these in any wallet? Or is this something only for the very gifted bitcoiner that's been here for years and knows what they're doing? Honestly I barely understood a word you said there and was just wondering if I was actually able to go about using these in a simple way.

- An end user can't do time locked transactions (CLTV) at the moment because no wallet provides a user friendly interface for that.

- Lots of wallet support multisig addresses. Copay and electrum are examples.

- As far as escrow transactions are concerned an end user can't do smart contracts yet because no wallet provides an interface for that. However you can do escrow transactions of another sort via bit2factor.com:

https://bit2factor.com/bitscrow/