Tech

オラクル(Oracle)とは何か? ブロックチェーン

  • このエントリーをはてなブックマークに追加
  • オラクル・システムと呼ばれることもあります
  • 注意)ブロックチェーン関連のOracleで、データベースのオラクルは全く関係ありません

一言で説明

正確には違いますが、大雑把に

オラクルとは、ブロックチェーンの外部から現実世界に関するデータを、ブロックチェーン内に提供する主体(サービスやサーバ等)のこと

前提知識

詳しく幾つかの方法でオラクルを説明

  • オラクルとは、外部の状態の情報を提供するエンティティ(サーバ)
    • サインされた署名を提供するサーバ (Bitcoin wiki)
    • 暗号署名を送信する外部のシステム (Codius)
    • 世界に関するデータを提供するサーバ (Early Template)
  • オラクルは、主にSmart Contractに使う署名された情報(基本的に事実)を提供する

何に使うのか?

一言で言うと

「外部の情報を使ってスマート・コントラクトをするのに必要」

これがないと、スマートコントラクトで信頼できる外部情報を使ってプログラムを動かすことができません。

オラクル(Oracle) とは何かの説明

例えば、
・2015年1月1日になったら、ビットコインを返す
・今年の野球で◯◯チームが優勝したら、ビットコインを支払う

みたいなスマートコントラクト(契約)を動かす場合、2015年1月1日や、◯◯というチームが優勝した、という事実を外部から取ってくる必要がある。
その情報を元にプログラムを実行するので、信頼できる正しい情報でないといけない
その情報を提供するエンティティ(システム,サーバ)をオラクルと呼ぶ。

オラクルとは何か?の3つの引用元の説明

オラクルをより理解するために、3つのサイトの説明を引用

1. Bitcoin wiki での説明

An oracle is a server that has a keypair, and signs transactions on request when a user-provided expression evaluates to true.

Contracts – Bitcoin

2. Early Template での説明

Oracle
In the literature on advanced bitcoin operations, an Oracle is a server that provides data about the world to bitcoin contracts, so you can create interesting financial operations, based on real-world facts.

3. Codius によるOracleの定義

Some smart contracts systems, including the one built into Bitcoin, are strictly deterministic. In order to interact with the real world, these systems rely on cryptographic signatures submitted by outside systems called “oracles.”

Oracles are trusted entities which sign claims about the state of the world. Since the verification of signatures can be done deterministically, it allows deterministic smart contracts to react to the (non-deterministic) outside world.

4. GnosisのStefan George氏の説明

An oracle is an external actor which can provide information from the real world into the blockchain

引用元: The Father of Futarchy Has an Idea to Reshape DAO Governance – CoinDesk

オラクルの実務上の問題

  1. オラクルが、ハックされる可能性がある
  2. オラクルのプロセスが不透明 – オラクルのプログラムや、そのアウトプットに100%確証できない
  3. オラクルが、トランザクションを作成してから、完了するまでに消えてなくなる可能性がある
  4. オラクルが、賄賂を受け取って間違った結果を配信するかもしれない

一つのホストは危険なので,複数人でmultisig addressにサインする
メリットは、

  1. It would be very hard and expensive to bribe more than half of the oracles.
  2. The judgement process is transparent due to the open source nature of the project.
  3. Server hacking would be extremely difficult due to the variety of oracle hosting providers and server solutions (e.g. some oracles run on Windows, some on Linux; some on AWS, some on home laptops).
  4. The software will become secure over time with ongoing community involvement.

参考リンク

Codius(コーディアス)

オラクルなサービス

VitalikのEthereum blogでの記事

関連単語

  • 暗号通貨、ビットコイン、ブロックチェイン、ブロックチェーン
  • Cryptocurrency, Bitcoin, blockchain
  • Ethereum, Eris, Orisi
  • イーサリアム、エセリウム、エリス
  • Augur
  • オーガー
  • リップル、コーディアス
  • Ripple, Codius
  • スマートコントラクト、スマート契約
  • Smart Contract
  • Reality Keys
  • Nick Szabo, Leibniz
  • このエントリーをはてなブックマークに追加