Smart Oraclesとはなにか?



スマート・オラクル(Smart Oracles) とは何か?の説明です。
Ripple Labs の コーディアス(Codius)を念頭に置いています。


## ざっくりな要約

例えば、ビットコインの外部の情報を使ってスマートコントラクトをしたい場合、その信頼できる情報を提供するサーバ(Oracle)をプログラミングできるようにしたサーバ
* Contract Host/Smart Oracles: Smart Contractを実行するホスト。プログラミングできるOracle


## 前提知識

以下のことを大雑把にでも知っていること

* オラクルとは何か?
 * 知らない方はこちら→ [オラクル(Oracle)とは何か?](http://qiita.com/hshimo/items/1bf8996c41eade6f22e7)
* Bitcoin (multi signature)
* Smart Contract (スマート契約)
* Pull payment
* Codius: Ripple Labsが作っているSmart Contract用ソフトウェア
 * [Codius とは何か? - Qiita](http://qiita.com/hshimo/items/d9eb36b06dcd63674e58 "Ripple - Codius とは何か? - Qiita")


## Smart Oracles とは何かの説明

### Codius

* スマートコントラクト、私達の実装ではCodiusは、スマートコントラクトを動かす簡単で強力なシステムです。
* スマートオラクルは、現実世界に関する情報を提供するオラクルのアイディアをサンドボックスでコードを環境として融合しました。
* スマート・オラクルは、外部世界の情報を提供し、契約者間で合意したコードを実行する、信頼できる、またはやや信頼できるエンティティです。


## 用語

* Single (Trusted) Host Model
* Multiple (Untrusted) Host Model


## Bit-thereum (Gavin Andresenのアイディア)

大雑把に言うと、一つのホストじゃなくて、M-of-N multisig でやるのはどう?って話

Bitcoin上に"Bit-thereum"を作れるか?という話

```
The answer is "yes," if we're willing to replace "verified by the entire network" with "verified by a set of semi-trusted 'oracles'."
```

```
ethereum doesn't have some magic solution to the "data outside the blockchain" issue: as their whitepaper says, "a trusted source is still needed to provide the price ticker."  And there is already at least one startup working on a solution to the "data outside the Bitcoin blockchain" problem (Reality Keys).
```

```
Moving from one trusted source to M-of-N semi-trusted sources would be an improvement.
```

```
1. Whoever is involved in the contract gives the contract code to each of the N oracles and gets back N public keys.
2. The oracles would store the contract code and the private key, and should be willing to give out the public key to anybody who knows the contract code.
3. Anybody can then add funds to the contract by sending bitcoins into the M-of-N multisig made up of the public keys. And maybe associate some data with the escrowed funds by hashing it and include a prune-able OP_RETURN output with the hash.
```

[Bit-thereum](http://gavintech.blogspot.jp/2014/06/bit-thereum.html)

## Radio (Let's talk Bitcoin)

[Beyond Bitcoin - 20 - Codius | Lets Talk Bitcoin](http://letstalkbitcoin.com/blog/post/beyond-bitcoin-20-codius "Beyond Bitcoin - 20 - Codius | Lets Talk Bitcoin")



## 日本語情報

### 技術情報

* [Ripple - Codius のコントラクトの作り方の例 - Qiita](http://qiita.com/hshimo/items/a330db47f006ff3a231a)

### 翻訳

* [スマートコントラクト - RippleWikiの要所を日本語訳](http://smile.wiki.fc2.com/wiki/%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%AF%E3%83%88)

* [リップルの「スマートコントラクト」記事の翻訳（COINDESK） | ビットコイン、リップル等の仮想通貨SNSサイト](http://cryptpark.com/coindesk%E3%81%AE%E3%83%AA%E3%83%83%E3%83%97%E3%83%AB%E3%81%AE%E3%80%8C%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%AF%E3%83%88%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84/)

### 記事

ふわっとしかわかりません。

* 色々間違っているけど、CoinDeskの日本語への翻訳 [リップルの「スマートコントラクト」記事の翻訳（COINDESK） | ビットコイン、リップル等の仮想通貨SNSサイト](http://cryptpark.com/coindesk%E3%81%AE%E3%83%AA%E3%83%83%E3%83%97%E3%83%AB%E3%81%AE%E3%80%8C%E3%82%B9%E3%83%9E%E3%83%BC%E3%83%88%E3%82%B3%E3%83%B3%E3%83%88%E3%83%A9%E3%82%AF%E3%83%88%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84/)
* [Ripple Labsが新たなsmart contractシステムの構築計画を明らかにした。 | BitAntenna](http://bitantenna.com/2014/07/21/ripple-labs-unveils-proposal-for-new-smart-contract-system/)

## 検索用語

* ビットコイン, bitcoin
* リップル, Ripple
* Codius, コーディアス
* 暗号通貨
* スマートコントラクト, smart contract
* Contract Host
* Smart Oracle
* Ethereum, Eris, Counterparty, Orisi,