Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Balloon on July 29, 2014, 06:53:41 PM



Title: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: Balloon on July 29, 2014, 06:53:41 PM
All features and new functionalities described in https://en.bitcoin.it/wiki/Contracts are very fascinating. But when would these features be enabled in Bitcoin? When would these complex transactions become "standard" transactions? When would such features be included in a BIP?


Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: gmaxwell on July 29, 2014, 07:02:16 PM
All features and new functionalities described in https://en.bitcoin.it/wiki/Contracts are very fascinating. But when would these features be enabled in Bitcoin? When would these complex transactions become "standard" transactions? When would such features be included in a BIP?
They're already included since day one. Many of them have long been standard transactions, but for those who are not they don't need to be standard transactions to use them, develop tools for them, or experiment with them. Since a month ago in Master, practically any script encoded as P2SH IsStandard in any case.

Sadly there seems to be fairly little true interest in doing anything advanced or at least in building tools to make things usable to laymen.

There is no need to create a BIP for features that already part of the protocol, though if some transaction form becomes common and people might want to make interoperable implementations and at that point writing up a specification to help front end implementations interop might make sense, but it wouldn't be a bitcoin protocol thing.


Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: Balloon on July 29, 2014, 09:31:38 PM
All features and new functionalities described in https://en.bitcoin.it/wiki/Contracts are very fascinating. But when would these features be enabled in Bitcoin? When would these complex transactions become "standard" transactions? When would such features be included in a BIP?
They're already included since day one. Many of them have long been standard transactions, but for those who are not they don't need to be standard transactions to use them, develop tools for them, or experiment with them. Since a month ago in Master, practically any script encoded as P2SH IsStandard in any case.

Sadly there seems to be fairly little true interest in doing anything advanced or at least in building tools to make things usable to laymen.

There is no need to create a BIP for features that already part of the protocol, though if some transaction form becomes common and people might want to make interoperable implementations and at that point writing up a specification to help front end implementations interop might make sense, but it wouldn't be a bitcoin protocol thing.

Got it! Most things mentioned by Mike, nLockTime, Oracle, SIGHASH, are already implemented. So the problem is just not so many people are using them? And also not many miners accept these transactions?



Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: kolinko on August 01, 2014, 09:02:55 PM
As for miners accepting the transaction - right now it's basically Eligius. As for the oracles - check out our whitepaper: https://github.com/orisi/wiki/wiki/Orisi-White-Paper and our repo: https://github.com/orisi/orisi . We have a framework for delivering external inputs to the transactions, and an example timelock transaction ready + working on new contract kinds.

Also, Gavin pushed a commit recently that will make virtually all scripts standard within a couple of months.


Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: Saitteld on August 06, 2014, 08:20:51 PM
Escrow, assurance contract (kickstarter) and a decentralized lottery are already possible to execute. Block chain contains transactions for all these contracts. For details see https://curiosity-driven.org/bitcoin-contracts

Quote
Also, Gavin pushed a commit recently that will make virtually all scripts standard within a couple of months.

Is it about P2SH scripts or standard output scripts? Could you point the exact commit that changes this (I'm not seeing it on github)?


Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: Charles Hope on August 07, 2014, 02:13:32 AM
There are a few oracles around. I created one, called Early Temple (http://earlytemple.com), which handles conditional payments based on a phrase appearing on a given webpage. I ship a custom client as well, because typical clients can't handle the protocol required.

I think the lack of client support is really the major stumbling block for the field.


Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: kolinko on August 07, 2014, 09:12:52 AM
Is it about P2SH scripts or standard output scripts? Could you point the exact commit that changes this (I'm not seeing it on github)?

Here's the commit:
https://github.com/gavinandresen/bitcoin-git/commit/7f3b4e95695d50a4970e6eb91faa956ab276f161


Title: Re: When would Contract and more complicated transactions be enabled in Bitcoin?
Post by: Saitteld on August 07, 2014, 05:02:09 PM
Thanks kolinko!