killerstorm



Offline



Activity: 1022

Merit: 1000









LegendaryActivity: 1022Merit: 1000 [ANN] BitContracts.org March 12, 2013, 09:20:51 AM

Last edit: March 13, 2013, 12:58:40 PM by killerstorm #1



dispute mediation

instant secure payments

secure handling of users' funds

and other facilities which fall in a broad category of escrow.



Organization will develop open source software and standards, offer consultancy and host services.



In future BitContracts.org might expand its developments into adjacent areas.



Q&A:



How exactly are you going to do that? Plug-ins/add-ons for Bitcoin software (or modified versions), a web service used to communicate... Bitcoin protocol already supports everything, we just need some GUI and a little bit of code for communications and logic.



Is it related to colored coins and smart property? No. There might be some interactions with colored coin technology (e.g. for things which involve both escrow and colored coins), but colored coin software is being developed by BitcoinX.org community, which is completely independent. Some people can work on both projects, of course, but it doesn't mean that projects are same.



What is the source of funding? Currently it is uncertain. Crowdfunding is being considered. Consultancy and service fees might bring in some revenue.



What's about other initiatives and standards for signed invoices, payment protocols etc.? We'll take a pragmatic approach: we will not wait for a standard to be developed, we will aim to offer a complete solution as soon as possible. However, if standard already exist we will use it or interoperate with it. There is always a risk that BitContracts.org's solutions will be considered a ghetto of sorts, in that case we'll try to offer migration.



At this point I just want to see if there is interest. If you think your business/project might use something which is offered by BitContracts.org please comment here or send me PM.



Users are also welcome to comment on this. Do you want deposit solutions which will be actually secure? I.e. so that business won't be able to simply ran away with your money, even if it is hacked? If answer is yes, please post here, ask businesses you interact with to consider this etc.



EDIT: This post explains why I want to do this and possible use cases:



This post explains how I might do it:



Possible overlap between colored coins and escrow: BitContracts.org is a vaporware organization which develops technologies based to advanced features of Bitcoin. Particularly, BitContracts.org is going to utilize multi-signature transactions and basic forms of smart contracts to develop solutions forand other facilities which fall in a broad category of escrow.Organization will develop open source software and standards, offer consultancy and host services.In future BitContracts.org might expand its developments into adjacent areas.Q&A:Plug-ins/add-ons for Bitcoin software (or modified versions), a web service used to communicate... Bitcoin protocol already supports everything, we just need some GUI and a little bit of code for communications and logic.No. There might be some interactions with colored coin technology (e.g. for things which involve both escrow and colored coins), but colored coin software is being developed by BitcoinX.org community, which is completely independent. Some people can work on both projects, of course, but it doesn't mean that projects are same.Currently it is uncertain. Crowdfunding is being considered. Consultancy and service fees might bring in some revenue.We'll take a pragmatic approach: we will not wait for a standard to be developed, we will aim to offer a complete solution as soon as possible. However, if standard already exist we will use it or interoperate with it. There is always a risk that BitContracts.org's solutions will be considered a ghetto of sorts, in that case we'll try to offer migration.At this point I just want to see if there is interest. If you think your business/project might use something which is offered by BitContracts.org please comment here or send me PM.Users are also welcome to comment on this. Do you want deposit solutions which will be actually? I.e. so that business won't be able to simply ran away with your money, even if it is hacked? If answer is yes, please post here, ask businesses you interact with to consider this etc.EDIT: This post explains why I want to do this and possible use cases: http://www.reddit.com/r/Bitcoin/comments/1a6ewu/ive_been_waiting_for_a_usable_blockchain_escrow/c8ui49g This post explains how I might do it: https://bitcointalk.org/index.php?topic=141536.msg1507716#msg1507716 (whole thread might be relevant, by the way).Possible overlap between colored coins and escrow: http://wiki.bitcoinx.org/index.php/PredictionMarketImplementationStrategy Chromia : a better dapp platform

"There should not be any signed int. If you've found a signed int somewhere, please tell me (within the next 25 years please) and I'll change it to unsigned int." -- Satoshi vertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe,untrustworthy, or illegal inyour jurisdiction. Advertise here.

fellowtraveler



Offline



Activity: 440

Merit: 250







Sr. MemberActivity: 440Merit: 250 Re: [ANN] BitContracts.org March 13, 2013, 12:35:43 AM #2 FYI, OT is already capable of instant secure payments, and dispute mediation (see escrow smart contract.)



What OT is missing, is "secure handling of users' funds." That is, you would still have to trust the OT issuer who is holding your physical BTC.



The solution for this is to store the BTC in a voting pool (M-of-N) on the blockchain itself.



As you proceed with BitContracts.org, may I ask that your first action be the implementation of a couple of simple C functions for M-of-N blockchain transactions. I know that my own project will start using it right away.







creator, co-founder, Monetas creator, Open-Transactions

Este Nuno



Offline



Activity: 826

Merit: 1000





amarha







LegendaryActivity: 826Merit: 1000amarha Re: [ANN] BitContracts.org March 13, 2013, 08:26:13 AM #7 Regarding the subject of the post: it's about time something like this gets started. I hope this gets off the ground.

fergalish



Offline



Activity: 440

Merit: 250







Sr. MemberActivity: 440Merit: 250 Re: [ANN] BitContracts.org March 13, 2013, 11:47:41 AM #10



The outcome of some M of N contracts could be actually reduced to algorithms (e.g. betting on the value of MtGox_7day_USD which, I suppose, can be obtained programatically) - would you implement an interface where the writer of the contract can specify the algorithm which decided the outcome? I wonder which type of language that would use. I'd be interested in such a project, but I think it will be quite some time before there would be any real world example of it being necessary. I mean, bitcoin would have to take off before these complex features of bitcoins will be required, I think. I presume what you're trying to do is implement a user-friendly interface for implementing M of N transactions (which, I think, is not a trivial task). Are you thinking of going further and investigating an implementation of smart property ( http://en.bitcoin.it/wiki/Smart_Property ), or at least an interface where smart property contracts can be registered and an API the smart property itself can interact with?The outcome of some M of N contracts could be actually reduced to algorithms (e.g. betting on the value of MtGox_7day_USD which, I suppose, can be obtained programatically) - would you implement an interface where the writer of the contract can specify the algorithm which decided the outcome? I wonder which type of language that would use. I'd be interested in such a project, but I think it will be quite some time before there would be any real world example of it being necessary. I mean, bitcoin would have to take off before these complex features of bitcoins will be required, I think.

cbeast

Legendary



Offline



Activity: 1736

Merit: 1002



Let's talk governance, lipstick, and pigs.







DonatorLegendaryActivity: 1736Merit: 1002Let's talk governance, lipstick, and pigs. Re: [ANN] BitContracts.org March 13, 2013, 12:53:49 PM #12 I am exploring the possibilities of nesting m-of-n transactions using colored coins as trust levels for rehypothecating funds. I'm not certain about the usefulness of nLockTime other than mitigating trust levels of investment managers. If nLockTime is integral to each investment in an m-of-n transaction, then it could be used to even eliminate the need for trust altogether, leaving investors to classify their nested investments by worth. This concept makes my head explode. Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.

killerstorm



Offline



Activity: 1022

Merit: 1000









LegendaryActivity: 1022Merit: 1000 Re: [ANN] BitContracts.org March 13, 2013, 12:57:09 PM #13



This post explains how I might do it:



Possible overlap between colored coins and "escrow": This post explains why I want to do this and possible use cases: http://www.reddit.com/r/Bitcoin/comments/1a6ewu/ive_been_waiting_for_a_usable_blockchain_escrow/c8ui49g This post explains how I might do it: https://bitcointalk.org/index.php?topic=141536.msg1507716#msg1507716 (whole thread might be relevant, by the way).Possible overlap between colored coins and "escrow": http://wiki.bitcoinx.org/index.php/PredictionMarketImplementationStrategy Chromia : a better dapp platform

cbeast

Legendary



Offline



Activity: 1736

Merit: 1002



Let's talk governance, lipstick, and pigs.







DonatorLegendaryActivity: 1736Merit: 1002Let's talk governance, lipstick, and pigs. Re: [ANN] BitContracts.org March 13, 2013, 01:12:17 PM #15 Quote from: killerstorm on March 13, 2013, 01:03:26 PM

To be honest I don't even understand a concept of "nested investments"

To be honest I don't even understand a concept of "nested investments" A nested investment is simple. Let's say you have an 9-of-10 transaction. Within that transaction you could use some of the same keys with a 3-of-4 transaction overlapping. Giving the private key from the smaller transaction to a party with investments in the larger transaction would raise their key holdings in the larger transaction. Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.

fergalish



Offline



Activity: 440

Merit: 250







Sr. MemberActivity: 440Merit: 250 Re: [ANN] BitContracts.org March 13, 2013, 01:24:44 PM #16 Quote from: killerstorm on March 13, 2013, 12:35:05 PM Quote from: fergalish on March 13, 2013, 11:47:41 AM The outcome of some M of N contracts could be actually reduced to algorithms (e.g. betting on the value of MtGox_7day_USD which, I suppose, can be obtained programatically) - would you implement an interface where the writer of the contract can specify the algorithm which decided the outcome? I don't think it is a good model. Outcome can indeed be controlled by algorithms, but it all depends on who will run such algorithms, i.e. you need to trust the service which does this.

I don't think it is a good model. Outcome can indeed be controlled by algorithms, but it all depends on who will run such algorithms, i.e. you need to trust the service which does this.



So, this would require the scriptsig to:

a) match the text "the new pope is Alice"

b) verify the signature from cnn



This would remove any subjectivity in the decision - you'd still have to trust your news source, but in any case, the outcome of the contract is defined. The news source *could* be corrupt and publish false news in order to profit. Hmm. What if the algorithm could be contained within the transaction's scriptsig? So, suppose I'm betting on.... who the next pope will be. The contracting parties decide on their authoritative news source (e.g. cnn.com). When the next pope is decided, cnn publishes a page stating "The new pope is Alice" (yeah, revolution in the church, a female pope!) and they sign that statement with the bitcoin key which was presciently written in the original transaction. Now, since I was betting on Alice becoming pope, I simply download cnn's message and the signature, both of which match the transaction's requirements, construct a transaction with them, and redeem my winnings.So, this would require the scriptsig to:a) match the text "the new pope is Alice"b) verify the signature from cnnThis would remove any subjectivity in the decision - you'd still have to trust your news source, but in any case, the outcome of the contract is defined. The news source *could* be corrupt and publish false news in order to profit.

killerstorm



Offline



Activity: 1022

Merit: 1000









LegendaryActivity: 1022Merit: 1000 Re: [ANN] BitContracts.org March 13, 2013, 01:53:20 PM #17 Quote from: fergalish on March 13, 2013, 01:24:44 PM Hmm. What if the algorithm could be contained within the transaction's scriptsig? So, suppose I'm betting on.... who the next pope will be.

Well, then it is a bet on a fixed set of outcomes. E.g. if outcome is YES Alice gets money, if outcome is NO Bob gets money.



It is possible to associate a hash with each outcome (e.g. YES-hash, NO-hash), it needs to be done by a service which you use as a data source, then these hashes will be embedded in script.



Eventually data source service will publish either YES-unlock-hash or NO-unlock-hash and this will let Alice or Bob to get their money.



I don't think that bets which cannot be reduced to simple bet on specific outcome can be done with Bitcoin scripts anyway...



I've outlined this hash-based betting process in more detail some time ago, if you're interested I can dig it up.



Quote from: fergalish on March 13, 2013, 01:24:44 PM So, this would require the scriptsig to:

a) match the text "the new pope is Alice"

b) verify the signature from cnn



This isn't possible Bitcoin Script now (it can only verify signature for a transaction), but it is possible to do something like HMAC verification.



It is possible to make a cryptocurrency with a more expressive scripting language, but I still don't see why it would be an improvement: all you can do with it you can do now. Well, then it is a bet on a fixed set of outcomes. E.g. if outcome is YES Alice gets money, if outcome is NO Bob gets money.It is possible to associate a hash with each outcome (e.g. YES-hash, NO-hash), it needs to be done by a service which you use as a data source, then these hashes will be embedded in script.Eventually data source service will publish either YES-unlock-hash or NO-unlock-hash and this will let Alice or Bob to get their money.I don't think that bets which cannot be reduced to simple bet on specific outcome can be done with Bitcoin scripts anyway...I've outlined this hash-based betting process in more detail some time ago, if you're interested I can dig it up.This isn't possible Bitcoin Script now (it can only verify signature for a transaction), but it is possible to do something like HMAC verification.It is possible to make a cryptocurrency with a more expressive scripting language, but I still don't see why it would be an improvement: all you can do with it you can do now. Chromia : a better dapp platform

killerstorm



Offline



Activity: 1022

Merit: 1000









LegendaryActivity: 1022Merit: 1000 Re: [ANN] BitContracts.org March 13, 2013, 05:26:17 PM #19



Entities which possess reputation can issue prediction market bonds in form of colored coins like I outlined here:



In order to make it more stable, several such entities can form a consortium and put their money into n-of-m escrow. For example, 10 entities might put it into 9-of-10 escrow.



Funds will be unblocked only when they will buy back bonds on market according to the contract. If they don't do that in a timely fashion, their reputation will be lost.



Of course, we need some registry to track exposure of these entities. If one puts 10 BTC into his reputation, he shouldn't be able to issue more than 10 BTC worth of bonds. So whenever entities refer to their reputation, they should sign and publish a message. (Ideally these messages should be collected into something like a blockchain.)



So before one buys prediction market bonds, he should check this registry: Is there any problem with this issuer? Does his reputation cover bonds he have issued?



Furthermore, other reputation systems (something like web of trust, maybe) can be used to confirm that entity is reputable. Also it matters whether consortium consists of multiple independent entities; or it is just one entity performing a Sybil attack. (Sybil attack is costly in this case, of course, because reputation costs money; but there might be some obscure situation where possible gain exceeds reputation costs...) True consortium is more trustworthy because chances of collusion are lower.



Different issuer consortia can issue colored coins linked to same event (contract), and clients might use them interchangeably.



Similar mechanism can be used to implement something like non-deliverable forwards (which can be used as an replacement for futures). So, decentralized prediction market... Apparently it is possible to make reputation a tradeable commodity (see retep's fidelity bonds).Entities which possess reputation can issue prediction market bonds in form of colored coins like I outlined here: http://wiki.bitcoinx.org/index.php/PredictionMarketImplementationStrategy In order to make it more stable, several such entities can form a consortium and put their money into n-of-m escrow. For example, 10 entities might put it into 9-of-10 escrow.Funds will be unblocked only when they will buy back bonds on market according to the contract. If they don't do that in a timely fashion, their reputation will be lost.Of course, we need some registry to track exposure of these entities. If one puts 10 BTC into his reputation, he shouldn't be able to issue more than 10 BTC worth of bonds. So whenever entities refer to their reputation, they should sign and publish a message. (Ideally these messages should be collected into something like a blockchain.)So before one buys prediction market bonds, he should check this registry: Is there any problem with this issuer? Does his reputation cover bonds he have issued?Furthermore, other reputation systems (something like web of trust, maybe) can be used to confirm that entity is reputable. Also it matters whether consortium consists of multiple independent entities; or it is just one entity performing a Sybil attack. (Sybil attack is costly in this case, of course, because reputation costs money; but there might be some obscure situation where possible gain exceeds reputation costs...) True consortium is more trustworthy because chances of collusion are lower.Different issuer consortia can issue colored coins linked to same event (contract), and clients might use them interchangeably.Similar mechanism can be used to implement something like non-deliverable forwards (which can be used as an replacement for futures). Chromia : a better dapp platform