本稿について
Origo Scalable Privacy Preserving Platform For Decentralized ApplicationsのVersion 0.1、最終更新日: 2018/5/5時点のものを対象とします。本稿では「Chapter 7. Security」の日本語訳を掲載します。
原文はこちらになります。
スポンサードサーチ
7. セキュリティ
7.1. 公正性の保証
スマートコントラクト実行の公正性を保証するために、インプットと実行は2つのステップに分けられる。コントラクトの参加者はみな、実行開始前に暗号化したインプット(お金を含む)を準備してコミットしなければならない。これらのコミットは全て暗号化されているので、他の参加者に開示したくなければあらゆるインプットを互いに秘匿できる。コミットのステップが終わると、参加者は誰もインプットを変更できなくなる。コミットステップの終了後、参加者は実行者がスマートコントラクトを処理できるようにするために実行者に対してインプットを公開する必要がある。このステップでは、全てのインプットがコミット後は変更不能であるので、任意のパーティでも他者のインプットが分かる。この設計により、参加者は実行結果に影響を与えることができなくなる。
7.2. 実行の完全性 - 参加者
この設計は参加者間の公正性を保証するので、参加者は誰も実行結果を変更できない。唯一できることは、任意の参加者が他社のインプットを知って結果を予測できる場合に(ギャンブルゲームのように)損失を防ぐためにアボートすることである。これを防ぐために保証金のメカニズムを導入する。コントラクトが中断しないようにするため、Origoはコントラクト設計者に保証金フレームワークを提供し、これにより参加前に全員が保証金を預け入れることができるようにする。従って誰かがコントラクトをアボートすると。アボートした人の保証金は他の参加者に分配される。このようにして参加者がコントラクトをアボートする動機を持たないようにする。
7.3. 実行の完全性 - 実行者
参加者のアボートと異なり、実行者に関しては保証金だけでは不十分である。通常、実行者も保証金を預け入れてコントラクトを実行する。失敗した場合、実行者の保証金は参加者全員に分配される。高い可用性を要件とするコントラクトに関しては、バックアップ実行者のメカニズムを設計している。別の実行者またはグループがおり、これらが同じコントラクトを実行して検証者の役割を果たす。通常はメイン実行者の結果をチェックするだけだが、実行者がアボートした場合はバックアップする。
(Origoホワイトペーパー日本語訳7 ←← 前)|(次 →→ Origoホワイトペーパー日本語訳9)
免責
邦訳には誤りがある場合がございます。予めご承知おき下さい。
確実な情報を知るためには冒頭に示した原文をご参照くださいますようお願いいたします。