Take the 2-minute tour ×
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

What are the specific parts of a transaction(s) that need to be signed in the "inheritance scripting sample". Specifically, can someone provide more detail on what exactly is signed of the transactions?

I'm assuming there are approximately 3 transactions, but unsure of what is signed by whom, and the portion of the Tx that is/isn't signed.

1) The tx that is sent to a new address with the exact amount (published)

2) The tx that is created but with a time of 10 years (not published)

3) The tx that is created but pending some oracle logic (not published)

What I'm interested in is #3 and what does the oracle specifically sign? What does that Tx look like?

share|improve this question

1 Answer 1

There are two ways to do that. First one is that you create a multisig transaction, and send it to an oracle/oracles, along with a request for them to sign the transaction when they discover that an event occured. After the time comes, the oracle(s) sign the transaction and release it to you. This is the way Orisi works

Another way is to send to the oracle(s) a request to look for an event. Then they give you a public key, and you use that public key to lock the transaction. When the time comes, the oracles publish a private key to that public one, and you use it to unlock the transaction. This is the way RealityKeys work. (although their code is closed source)

The second option is relatively easy to implement, although I'm not sure if there are any open source implementations available at this time.

The first option (signing happening on the oracle's side) is a bit more complicated, but on the other hand it allows for greater granularity of contracts. E.g. you may ask oracles to send 2030-(year-of-event) BTC once the event happens, and return the rest to the sender. The oracles may also manage the funds for the time being - e.g. you can tell them to send funds to a new multisig address if one of the oracles dies / loses it's keys. And there's a code ready to handle all that on Orisi's github repo.

For more info you might want to check out Orisi / Distributed Oracles whitepaper which deals with example implementation, and Bitcoin Wiki entry on Contracts

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.