イーサリアムオラクル契約:オラクルを信頼できますか?

公開: 2022-03-11

この記事は、イーサリアムのオラクル契約の使用に関する3部構成のシリーズの最後の部分です。

  • パート1は、コードをセットアップし、実行し、truffleフレームワークでテストできるようにするための入門書でした。
  • 第2部では、コードを少し調べて、Solidityのコードと設計機能のいくつかについて議論するための出発点として使用しました。

さて、この最後の部分では、質問をしたいと思います。私たちは何をしたのか、そしてその理由は何ですか? そして、うまくいけば考えさせられる思考の道を提供するようにしてください。 陪審員は、オラクルの使用が信頼性にどのように関連しているか、そしてブロックチェーンに関連する「信頼性」という言葉が実際の使用で実際に何を意味するかについて、まだ非常に議​​論しています。 これらのアイデアのいくつかを概念的な形から実用化するにつれ、私たちはこのような質問に取り組み、合意することを余儀なくされます。 それでは始めましょう。

要約:なぜイーサリアムのオラクルが必要なのですか?

これは、ブロックチェーンでコードを実行するという性質の核心になります。 不変性と決定論の要件を満たすために、そしてコードがチェーン上のノードによって実際に実行される方法のアーティファクトとして、スマートコントラクトはブロックチェーンの外部に直接到達してうまくいくことはできません。

ほとんどのプログラマーにとって、この事実は非常に不自然な考え方をもたらします。 どこかからのデータが必要な場合、通常はどこかに接続してプルします。 天気予報データを必要とするスマートコントラクト? 天気予報フィードに接続するだけです。 しかし、違います。 ブロックチェーンスマートコントラクトは絶対にこれを行うことはできません。 一部のデータがまだブロックチェーン上にない場合、契約コードは実行時にそのデータにアクセスできません。 したがって、解決策は、契約の実行時に、必要なデータブロックチェーン上にすでに存在していることです。 これには、特に他の契約で使用するために、データをチェーンにプルするのではなく、データをチェーンにプッシュする外部の機械が必要です。 その外部の機械はオラクルです。 チェーンにプッシュされたデータはオラクル契約にプッシュされ、オラクル契約はおそらく他の契約と共有するための準備をしました。 その設定の例は、まさにこの3部作の記事の前の2つの部分で作成および調査したものです。

イーサリアムオラクルイラスト

明白なセキュリティホール

私にとって、すべてのパブリックブロックチェーンに関係する中心的な問題はTワードです:信頼。 最も純粋な場合、これらのシステムが行っていることは、当事者を盲目的に信頼する必要がないことを保証するための最善の方法です(この世界では完全な保証はありませんが、可能な限り近いです)。 賢明な読者は、ボクシングの賭けの例の明白なセキュリティホールのいくつかにすでに疑問を持っているかもしれません。 信頼性の議論にとって最も重要なものと、それがスマートコントラクトでのオラクルの使用とどのように関連しているかに焦点を当てたいと思います。

1.賭け契約の所有者/維持者が破損している可能性があります

BoxingBets.solの58行目から、次の関数があります。

 /// @notice sets the address of the boxing oracle contract to use /// @dev setting a wrong address may result in false return value, or error /// @param _oracleAddress the address of the boxing oracle /// @return true if connection to the new oracle address was successful function setOracleAddress(address _oracleAddress) external onlyOwner returns (bool) { boxingOracleAddr = _oracleAddress; boxingOracle = OracleInterface(boxingOracleAddr); return boxingOracle.testConnection(); }

これが何を可能にするかはかなり明確なはずです。 契約の所有者(および契約の所有者のみ)は、いつでも制限なしに、ボクシングの試合を提供するために使用されているオラクルを変更し、勝者を決定することができます。 なぜそれが問題なのですか? まだ明らかでない場合は、これにより、契約所有者は自分の利益のために契約を故意に悪用することができます。

例:次のボクシングの試合は、ソーダポピンスキー対グラスジョーです。 ソーダはかなりの差で明らかにお気に入りです。 誰もがソーダに賭けます。 それに乗っているたくさんのお金。 契約の所有者である私は、速いものを引っ張ることに決めました。 一致が決定する直前に、オラクルを自分の悪意のあるオラクルに変更します。これは、Glass Joeを勝者として宣言するようにハードコーディングされていることを除いて、公式のオラクルと同じです。 それはグラスジョーを宣言します、私はすべてのお金を稼ぎます、そして誰も私を止めることができません。 その後、おそらく誰も私の契約を信頼しなくなるでしょうが、私は気にしないと思います。 多分私はその強盗を引っ張るという唯一の目的のために契約書を書いて公開しました。

いくつかの選択肢は何ですか?

1.オラクルの変更を許可しない

上記で特定した問題は、契約所有者によるオラクルの変更を許可しているという事実から生じています。 したがって、Oracleアドレスをハードコーディングし、変更を許可しないと仮定しますか? まあ、私たちは実際にそれを行うことができます、それは問題外ではありません。 しかし、その後、そのオラクルが終了した場合はどうなるのかという疑問が生じます-何らかの理由でデータの提供を停止しますか? 次に、新しいオラクルを入手する必要があります。 または、最初は信頼されていたそのオラクルが破損していて、もはや信頼されていないことが判明した場合はどうなりますか? 繰り返しになりますが、新しいオラクルに変更する必要があります。 オラクルをハードコーディングした場合、オラクルを変更する唯一の方法は、別のオラクルを使用する新しいコントラクトをリリースすることです。 繰り返しますが、これを行うことができます。 それは問題外ではありません。 もちろん、スマートコントラクトは、たとえばWebサイトほど簡単には更新できないことに注意してください。 それは簡単ではないでしょうか? バグやセキュリティホールに気付いた場合は、パッチを適用するだけで、誰も賢くなりません。 スマートコントラクト展開モデルは、シュリンクラップされたソフトウェアモデルに少し近いです。 ソフトウェアがユーザーの手に渡ると、そこにあり、修正することはできません。 手動でアップグレードするようにユーザーに促す必要があります。 スマートコントラクトは少し似ています。 そのコントラクトがブロックチェーン上にあると、それを変更可能にするロジックを記述した部分を除いて、ブロックチェーンの他の部分と同様に不変になります。

ただし、これは必ずしもブロッカーではありません。 スマートコントラクトを変更可能にする方法については、現在多くのモデルと考え方があります。 このトピックはそれ自体でまともな記事になりますが、今のところ、このハッカーヌーンの記事とスマートコントラクト戦略に関するこの記事をチェックすることができます。

ユーザーの観点からはどのように見えますか? 今度のドンフラメンコの試合に賭けることを考えているとしましょう。 契約には、私がすでに知っていて信頼しているオラクルが複雑にハードコーディングされていないことがはっきりとわかります(特定のサイズの賭けをするのに十分な信頼があります)。 以上です。 ものすごく単純。 契約の所有者が新しいオラクルで新しいバージョンの契約をリリースした場合でも、私は古いものを引き続き使用する自由があります(すべきです)。 まあ、多分。 アップグレードの処理方法によって異なります。 契約が無効になったり破棄されたりした場合、私は運が悪いかもしれません。 しかし、バニラの場合、それはまだ立っているはずです。

2.オラクルを一定期間ロックインします

上記のような厄介な問題を軽減するために、コードに複雑さを加えることができます(例が複雑すぎるため、実際には望ましくありませんが、実際のソリューションでは、この複雑さがもたらすメリットが必要になる場合があります)。 非常に合理的なことは、賭けの期間中、オラクルを「ロックイン」するコードを追加することだと思います。 別の言い方をすれば、契約のロジックは、非常に明確で単純な方法で、賭けをしたときに存在していたオラクルが勝者を決定するために使用されたものと同じオラクルでなければならないことを保証できます。 そのため、オラクルがその間に変更されたとしても、他の試合、私の試合、そして私の賭けでは、それはずっと同じでなければなりません。 これは、ユーザーがオラクルが誰であるかを知ることと密接に関連しています。

これを説明する簡単な例を見てみましょう。 私はユーザーです。 今後のリトルマックの戦いに賭けることを検討しています。 契約には、この試合の勝者を決定するために使用されるオラクルを検査できる機能があります。 契約が任天堂スポーツによって提示された有名なものであることを確認します。 私はそのオラクルに十分な自信を持っています。 (もう少し複雑にするために、おそらく契約により、ユーザーは特定の一致に対して利用可能なオラクルの配列から選択することができます)。 これで、オラクルのコードを調べて、オラクルのロジックが、同じオラクルが一致の結果を決定するために使用されることを保証していることを確認できます。 ですから、私はベッターとして、少なくともその保証を持っています。 私のオラクルが悪い(つまり、破損している、または信頼できない)可能性があるという事実を排除するものではありませんが、少なくともバックグラウンドで変更できないことを保証します。

ここでのリスクは、私が賭けをしてから試合が決定されるまでの間に、オラクルが「廃業」する(維持または更新されなくなる)ことです。 お金は契約に閉じ込められ、取り返しのつかないものになる可能性があります。 そのために、(多分)契約に時間起動条項を入れることができます。そこでは、特定の時間または日付までに一致が決定されない場合(一致定義の一部である可能性があります)、それは「デッド」と見なされ、すべてのお金が内部にロックされますベッターに返されます。

3.オラクルをユーザー定義にします

さらに複雑な(しかしおそらくもっと興味深い)のは、ある意味でオラクルアドレスを「空白」のままにして、ユーザーが自分のオラクルを指定し、それらのオラクルの周りに(契約を通じて)自分の賭けプールを形成できるようにすることです。 同じオラクルを使用しているユーザーのグループは、契約のロジックに従って一緒に賭けることができます。 これにより、ユーザーは信頼できるオラクルを選択し、そのオラクルを他の志を同じくするユーザーと共有する責任を負います。 それは事実上、賭けのコミュニティを断片化するので、大規模なユーザーベースが存在する場合にのみ機能します。 そうでなければ、賭けを面白くて有益なものにするために関与する賭け手が少なすぎるでしょう。 私が私のお気に入りのオラクルに賭けている唯一の人である場合、そこにはあまりインセンティブがありません! しかしその一方で、契約者から信頼できるオラクルを選ぶ責任があり、彼はその手を洗うことができます。 一部のユーザーがオラクルを信頼できないと感じた場合、オラクルの使用をやめて別のオラクルに切り替えるだけで、契約の所有者に腹を立てることはありません。 彼は単に賭けの場を提供し、彼の奉仕を立派に遂行しました。

この戦略の複雑さに加えて、オラクルの有機的なバッチを実際に「成長」させなければならないという事実と、このソリューションにぴったり合うものが必要です。 潜在的なオラクルが従わなければならない正確なインターフェースを世界に放送する必要があり、実際にユーザーに選択肢を与えるのに十分な数のオラクルが出現することを期待しています。 たぶん、私たち自身の1つか2つでバッチをシードすることができます。 時間がかからない場合は、DAppに賭けることはできません。 しかし、もしそうなら、私は、ユーザーが選択した、有機的に成長したオラクルのアイデアが、興味深く魅力的な解決策であることを認めなければなりません。

2.オラクルの所有者/メンテナが破損している可能性があります

腐敗、つまり信頼できないという意味で。 オラクルの所有者/メンテナ/マネージャーは、自分自身を豊かにするために、試合の誤った結果を宣言する可能性が高いこと。

例:私は、賭け契約で使用するためにボクシングデータをブロックチェーンにフィードする実際のオラクルの所有者/保守者です。 私のオラクルは、賭けの配置や賭けの管理に直接関与していません。 その仕事は、賭け契約(およびおそらく他の任意の数の契約)が使用できるデータを単に提供することです。 ただし、私は自分のオラクルを使用する賭け契約を使用して個人的に賭けをすることができます。 私はとにかく匿名なので、報復を恐れません。 私がそのような契約に賭けたら、明らかに利害の対立があります。 具体的には、オラクルを真実で正確な情報で更新する正直さは、私の賭けの行動と矛盾する可能性があります。

それで、フォンカイザーが大いに弱者である次のサンドマン/フォンカイザーの試合で、私は先に進んでフォンカイザーに大規模な賭けをしたとしましょう。 フォンカイザーが予想通りに負けたとき、私は代わりに私のオラクルを使って彼に勝者を誤って宣言します! 賭けの契約は正常に実行され(この時点でそれを止める方法はありません)、私は試合で殺害を行い、頼りになることも私を罰する方法もありません、そして人生は続きます。 おそらく、その後、人々は私のオラクルの使用を拒否します。 多分私は気にしません。

どうすればこれを防ぐことができますか?

今、私たちははるかに大きな問題に直面しており、オラクルに関連するいわゆる信頼性の核心に迫っています。 オラクルは、中立的なサードパーティまたは信頼できるサードパーティであると信頼されています。 問題は、オラクルが人間によって実行されていることです。 さらに別の問題は、オラクルがクライアント契約がその義務を実行する方法を大幅に制御することです。これは、契約が作用するデータを提供するためです。 特定のオラクルを信頼できることをどうやって知ることができますか?

なぜオラクルを信頼する必要があるのですか?

ブロックチェーンスマートコントラクトの全体的なアイデアが誰かを信頼する必要をなくすことである場合、信頼できないことに直面してオラクルフライを「信頼」しなければならないという事実はありませんか? さて、私は言うでしょう:それは成長する時です、息子(または娘)! 純粋な信頼性のようなものはなく、ブロックチェーンは信頼性のない環境を提供しません。 ブロックチェーンは、人間の相互作用を促進するレイヤーです。 人間の相互作用は依然としてコアまたは最終結果であり、人間の相互作用は信頼できないものではありません。

リンク:オラクルの問題

信頼の進化

時代の幕開けに戻って、どうすれば他の人間を信頼できるでしょうか。 私がマンモスを狩っていて、その男が肉の半分と引き換えにマンモスを狩るのを手伝ってくれると言ったとしましょう。 彼は私が半分を提供することをどのように信頼できますか? 狩りが終わったら、頭にぶつかってマンモス全体を奪うことはないとどうやって信じることができますか?

当時、暴力の脅威は多くの種類の社会経済的信頼の中心にあったと思われます。 私がその男のシェアを盗もうとすると、彼が私を攻撃しようとするだろうと私は確信しています、そしてそれは私にリスクを負わせます。 彼との戦いで勝つと確信していても、私は(穴居人として)戦いについて十分に知っているので、何かが起こる可能性があることを知っており、技術的に勝ったとしても、生命を脅かす怪我を簡単に受けることができます。 それは常にリスクであり、エネルギーへの投資です。 その世界では、それは人々を正直に保つのに十分かもしれません。

一般的に、私はカンニングをしません。なぜなら、全体的に、そして平均して、カンニングをすることは私の最善の利益ではないからです。 言い換えれば、不正行為の期待される結果は、協力の期待される結果よりも少なくなります。

そうでない場合、または俳優がそうではないと認識した場合、おそらく1人または複数の人が単に参加しないことを選択します。 たとえば、他の男が9フィートの高さの巨人で、角と怪物の歯を持っていることがわかった場合、私は逃げることを選択し、何の取引もしないかもしれません。 その男は私が対処するには危険すぎるように見えます、彼は単に彼が好きなものを罰せずに盗むことができました。 私たちがほぼ等しく一致している場合、私たちはどちらの当事者も不正行為をすることが最善の利益ではなく、協力することは両方の利益であるという状況にあると認識します。したがって、両方の当事者が正気で合理的であると仮定すると、両当事者は協力します。

オラクルの契約と信頼の進化

文化が発達するにつれて、人間の相互作用も発達しました。 暗黙の力の脅威は消えませんでしたが、彼らはそれほど暴力的になりませんでした。 文化的慣習は人々に協力するためのより大きなインセンティブと不正をするためのさまざまなタイプの阻害要因を与えました。

初期の文明の時代に早送りします。 私は100ブッシェルの小麦を買うために掘り出し物を作っています。 それは一種の原始的な先物契約です。 私は今日、来月収穫されたときに受け取る穀物の代金を支払っています。 私はその男に私の銅貨を渡し、握手し、大麦ビールの飲み物を分け合い、そして契約の解決のために来月まで途中で行きます。 大丈夫そうです。

私はその男の慈悲に身を任せました。 彼は私のお金の全額を持っています、そして私はまだ何も持っていません。 それで、彼が契約を履行することを私が確信している理由は何ですか? いくつかのこと。 彼はビジネスマンです; 彼は定期的に地元の人々と取引をしています。 彼は私が知っている人々と取引をしてきました、そして彼はいつも公平にそして時間通りに配達しました。 彼は正直で評判がいい。 さらに、彼には浮気の意欲がないことを私は知っています。 彼は主に彼が正直なトレーダーであることが知られているという事実に基づいて生計を立てています。 もし彼が私をだますとしたら、私はみんなに知らせます、そしてこれは彼の評判、ひいては彼のビジネスを損なうでしょう。 彼が私をだまして稼ぐ金額は、彼の顧客基盤が彼を捨てた場合に彼が稼げないであろう将来の金額と比較して少ないでしょう。 ですから、私をだますことが必ずしも彼の最善の利益になるとは限らないことを私は知っています。

これは素晴らしい; 力や暴力の脅威は上の写真にはありません。 2つのことを除いて:

  1. 力の脅威は完全に欠如しているわけではありません。 不正行為に対するもう1つの阻害要因は、不正行為をした人が何をするかを考えることかもしれません。 私は武器を持っていて、友達は私に忠実です。 私は、怒った騙された党として、力に訴えることができました。 それがクラン戦争の始まりです!
  2. 事件の詳細を評価し、場合によっては商人に罰金を科したり、刑務所に入れたりする、ある種の統治システムもあるかもしれません。 罰金の支払いを拒否したり、刑務所に行くことを拒否したり、すべての措置を遵守することを拒否したりすることに対する根本的な罰は、最終的には力であるため、政府が支援する標準的な阻害要因は常に力の脅威に支えられています。 そしてそれは今日まで続いています。 罰金の支払いを拒否した場合、逮捕される可能性があります。 私が逮捕されることを拒否した場合、私に対して力が行使され、私は私の意志に反して刑務所に入れられたり、殺されたりする可能性があります(私の抵抗が十分に頑固な場合)。 わずかな違反でも、わずか2歩先に力の脅威が見られます。

今日の分散型トラスト

今日に早送りします。 契約を破る阻害要因は何ですか? 前のシナリオとは大きく異なりますか?

X社には、この製品を購入するための郵送による払い戻しがあります。 なぜ彼らがこれを実現すると信じているのですか? 前の例と同じです。 会社はわずかな金額で不正行為をすることで得るものはほとんどなく、評判を傷つけることで失うものはたくさんあります。 これは多くの信頼シナリオの背後にある基礎であり、長い間続いています。 繰り返しになりますが、穀物商人の例のように、力の脅威がありますが、この場合、それは実現しません。 会社は罰金を科されるか、集団訴訟によって罰せられる可能性があり、会社は罰金を支払うか、より悪い罰に直面しなければなりません。 これらの罰は政府によって支えられており、政府は経済と軍事の両方の力の脅威によって支えられていますが、経済力の脅威は軍事力、つまり暴力によって支えられていると考えることもできます。

従来のシステム

政府が認可した力の適用に裏打ちされた契約のモデルは、何千年もの間人類に役立ってきましたか? またはそれを持っていますか? まあ、それはありますが、それは自然な進歩です。 政府がない場合、人々のグループが政府を形成します。 人々が政府を形成するのを止めることはできないようです。 それらが形成されます。

では、ブロックチェーンのスマートコントラクトはどうですか? ブロックチェーンとスマートコントラクトモデルはどのようにして信頼性を保証し、不正行為を阻止しますか? 「信頼できない」とだけ言ってはいけません、それは答えではありません! 前の例では、不正行為は何らかの方法でインセンティブを失っています。

ブロックチェーンがその機能をどのように実行(または置換)するかを詳しく見てみましょう。

ブロックチェーンシステム:ビットコイン

この大きな質問を小さな質問に分解するために、ビットコインから始めましょう。 ビットコインはどのように不正行為をやめさせますか? ビットコインネットワークのプロトコルに準拠しているように見える限り、必要なビットコインノードソフトウェアを自由に実行できます。 ネットワークプロトコルを順守しながら、必要なことを実行する独自のホームスピンビットコインノードを実行することを思いとどまらせる人は誰もいません。 違法な利益のためにそれを使用できる方法はありますか?

確かに、私は承認のためにあらゆる種類のトランザクションをビットコインネットワークにリリースすることができます。 私はあなたのすべてのビットコインを私に送るトランザクションを解放し、それをネットワークに解放し、それがブロックに追加されるのを待つことができます、そしてすごい、今あなたのすべてのビットコインは私のものですか? いいえ、暗号化のためです。

私はあなたの秘密鍵を持っていません、そしてそのような取引はあなたの秘密鍵で署名されなければなりません。 だから、私はそこで暗号によってブロックされています。 それとも私ですか? そのような取引に署名する必要があると誰が言いますか? 試してみるとどうなりますか? もちろん、ビットコインネットワーク全体が私の取引を拒否することになるでしょう。 なぜ誰もがそれを受け入れるのでしょうか? それらがすべて標準ノードを実行しているという事実を除けば、手に負えない状態でそれを拒否しますが、なぜそれらは私が不正行為をするのを助けるのでしょうか? そうすることは確かにビットコインネットワークの完全性を損ない、そうすることで彼ら自身の暗号資産を損なうでしょう。 したがって、匿名の見知らぬ人である私が別の匿名の見知らぬ人をだますのを手伝うことは、彼らにとって意味がありません。 ある不合理なアクターがどういうわけか私の無効なトランザクションを受け入れたとしても、ビットコインネットワークの大部分はそれを拒否し、チャンスはありません。 今度は膨大な数で再び殴打されました。

しかし、私が強力な採掘事業である場合はどうなりますか? 確かに今、私は自分の利益のために物事をいじくり回すより多くの力を持っています。 私はそうしますが、それでも絶対的な力に近いものは何も与えられません。 強力なマイナーとしても、ネットワークの50%未満を制御していると、多くのことを実行できなくなります。 トランザクションがブロックに追加される順序を選択する力はありますが、それはコインを造ったり盗んだりする力ではありません。 私がネットワークの50%以上を制御している場合でも(ここでは、読者がビットコインのようにプルーフオブワークに関連してよく知られている51%の攻撃を認識していると仮定します)、私の主な力は二重支払いになります。 一種のクールな力ですが、ビットコインの整合性を損なうので、それを行うことが私の最善の利益になるかどうかは非常に疑わしいです。 私は自分のコントロールを使ってすべてのコインを採掘し、それによってより多くのお金を稼ぎ、その富が立っている基盤を維持するほうがよいと思われます。 したがって、私は殴打されませんが、不正行為に対する私の衝動は、プロトコルに有機的に組み込まれている阻害要因によって妨げられます。 そして、その阻害要因は基本的に数字の強さによって支えられています。 ビットコインネットワークの参加者の圧倒的なコンセンサス。

ブロックチェーンスマートコントラクトとOracleコントラクト

スマートコントラクトとは何ですか? 誤解を招くような契約を結んで、人々をだまして送金させたとしましょう。 または、私が賭け契約を展開し、前述の攻撃の1つを使用したと仮定しますか? 私はそれをすることができます、それは何人かの人々をだますかもしれません。 私は、不誠実な俳優として、そのような努力からわずかな利益を得るかもしれません。 それに対する防御は、各参加者が(どんな契約でもそうするべきであるように)彼らがパーティーになろうとしている契約とそれが悪用される可能性のある方法を注意深く検討することです。 彼らはソースも考慮する必要があります-もしあれば、彼らは契約と関連するオラクルまたは関連する契約を公開および維持する当事者について何を知っていますか。 不正な契約は、ネットワークが非公式に不正であるとフラグを立てる前に長くは続かず、参加者が自発的にそれを回避し、それを断ち切ることを望んでいます。 ネットワークは大きく、言葉はすぐに伝わります。

ある時点を除いて、あなたはまだ人間を信頼する必要があります。 賭け契約のデータは、オラクルによって提供されます。 オラクルは人間によって維持されています。 ネットワークを正直に保つためにいくつのレイヤーを追加しても、ある時点で人間に戻ってきます。 では、私たちの賭けの例を考えると、どのタイプのオラクルを信頼しますか? 私は、不正行為によって、得るよりも失う方が多いオラクルを信頼します。 例:ESPNまたは同様のネットワークがオラクルのスポンサーであったと想像してください。 ボクシングの賭けでわずかな金額を不法に勝ち取ることは、結果として生じる評判の低下によって影が薄くなるため、誰よりも彼らが正直なデータを提供することを期待するでしょう。 この場合、私たちが正直な穀物商人を信頼しているのと同じ理由で、あなたの信頼は適切に置かれています。 この種の信託契約は古く、確立されています。

では、スマートコントラクトの使用で何が得られたのでしょうか? スマートコントラクトは、ガバナンスや以前の契約維持方法とどのように異なりますか?

まとめ

要点を述べ、考えや議論の糧を与え、私の記事を締めくくるために、難しい結論の代わりに、いくつかの簡単な観察を提示します。 この複雑なトピックの場合、簡潔な結論は一種のまさしくその話のように感じられ、過度に単純化されているように感じます。 私が発表しようとしている所見(そしてそれらについて自由に議論/反論/矛盾してください)は次のとおりです。

  • 相手が不正行為よりも協力から得られるものが多いという仮定に基づく信頼は古く、実際の状況で機能し、消えることはありません。 多くの場合はおそらく排除されますが、それはブロックチェーンの世界の特定のケースでは依然として固有です。 私たちのオラクルの例の場合、それはまだ健在です。
  • 力や暴力の脅威に基づく信頼も、太古の昔から人間社会に固有のものでしたが、スマートコントラクトモデルには著しく存在せず、暗号化と多数のコンセンサスの巧妙な組み合わせによる強制に取って代わられました。

私は仲間のイーサリアム開発者に2つのことをするように挑戦します:

  1. パブリックブロックチェーン(ビットコインやイーサリアムなど)のシステムでは、暗黙的または明示的な力の脅威によって何かが強制される方法を考えてみてください。
  2. 現代の契約法または金融法における主要な規則システムについて考えてみてください。これは、明示的または暗黙的な力の脅威によって何らかの形で強制されることはありません

信頼と国家権力の図の進化

何か古いもの、何か新しいもの

そして、ここで私たちは主な違いに到達したと思います。実際、ブロックチェーンシステムが過去のシステムと比較して「革命的」であると言う本当の理由です。 私の考えでは、それはまったく信頼できないものではなく、信頼のためのより安定したプラットフォームであり、最も注目すべきは、力や暴力の脅威にまったく依存していないプラットフォームです。

一方では、不正行為に対するインセンティブが不足している状況での相互利益について、古くからの実績のある保証があります。 それは新しいことではありません。 新しいのは、暗号化を利用したコンセンサスの導入です。これは、不正行為を阻止し、システムを正直に保つのに役立ちます。 そして、これらの2つの要素の統合は、人類の歴史の中で初めて可能である、本当に注目に値する何かを生み出しました。大規模な匿名のグループに使用できるシステムであり、力の明示的または暗黙的な脅威が阻害要因または罰としてどこにも見られません。 。 そして、それが本当に素晴らしいことだと私は信じています。 その側面を見落とすと、私たちが持っているのは気の利いた新しいテクノロジーです(私が認めているのは、それなりにクールです)。 しかし、その側面を考慮すると、私たちがガバナンスの新時代に入ったことは明らかです。