Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Nicolas Dorier on November 21, 2014, 08:26:30 PM



Title: Ricardian Contracts made possible with Open Asset in Bitcoin 0.10
Post by: Nicolas Dorier on November 21, 2014, 08:26:30 PM
I have been very excited of Ricardian Contract, since I've seen it on OpenBazaar. (https://gist.github.com/drwasho/a5380544c170bdbbbad8 (https://gist.github.com/drwasho/a5380544c170bdbbbad8))
And read the idea around it. (http://iang.org/papers/ricardian_contract.html (http://iang.org/papers/ricardian_contract.html))

I thought about a way to emit your own Ricardian Contract on the Bitcoin network on top of Open Asset protocol easily.

I leverage the OP_DROP from smart contracts.
In summary, since an AssetId is derived from a scriptPubKey in Open Asset, it means isssuer can add the contract hash followed by OP_DROP in the RedeemScript of a P2SH.
The contract hash can be discoverable (or kept secret) by leveraging the Marker Output. (specially formatted OP_RETURN of Open Asset)

It covers all the points of a Ricardian Contract.

Quote
A Ricardian Contract can be defined as a single document that is a) a contract offered by an issuer to holders, b) for a valuable right held by holders, and managed by the issuer, c) easily readable by people (like a contract on paper), d) readable by programs (parsable like a database), e) digitally signed, f) carries the keys and server information, and g) allied with a unique and secure identifier.

I'm making a pull request for Open Asset, here is the spec,
https://github.com/NicolasDorier/open-assets-protocol/blob/RicardianContract/specification.mediawiki#Ricardian_Contract (https://github.com/NicolasDorier/open-assets-protocol/blob/RicardianContract/specification.mediawiki#Ricardian_Contract)

I am super excited about that, can't wait 0.10 for lifting the restriction of the redeem ! :))))