スマートコントラクトとは何ですか?

これは、最近、バーファイトのデジタル版を開始せずに答えることが不可能になっている質問です。その言葉が会話の中で投げ出された瞬間、ほとんどの人はすぐに「イーサリアム」、「ソラナ」、「トロン」、または開始以来何年にもわたって出現した名前のみの分散型(DINO)プロジェクトのいずれかを考えますビットコインの。

このエコシステムのほとんどの新規または知識のない人々は、おそらく「スマートコントラクト」という用語はイーサリアムのようなプロジェクトによって造られたものであり、これらのプロジェクトは文字通りそれらを発明したと考えています。

彼らが「スマートコントラクト」と彼らはおそらくすぐに分散型自律組織(DAO)、分散型取引所、自動市場メーカー、およびイーサリアム上の他のそのようなチューリング完全アプリケーションについて考え始めます。概念的には、そのレベルの複雑さに近づかないものは、スマートコントラクトではないため、ほとんどの人がすぐに却下する可能性があります。しかし、真実から離れることはできません。

スマートコントラクトの誕生

用語としての「スマートコントラクト」は、ブロックチェーンのアイデアが生まれる前の1996年にニックサボによって造られました。聡の目にはきらめきさえ。彼らは、DAO、分散型取引所、または人々がこの用語を聞いたときに考えがちなこれらのタイプの構成要素とは何の関係もありませんでした。

コンセプトは、イーサリアムのようなプラットフォーム上に構築されたこれらのシステムのどれよりも大幅にシンプルで基本的でした。スマートコントラクトは、単に従来の法的契約を採用し、それらの施行を政府の管轄外に、可能な限りソフトウェアとハ​​ードウェアを介して施行の領域に移す方法を見つけることでした。

Szabo自身を引用する:

「新しい機関、およびこれらの機関を構成する関係を形式化する新しい方法は、デジタル革命によって可能になりました。これらの新しい契約は、無生物の紙ベースの祖先よりもはるかに機能的であるため、「スマート」と呼んでいます。人工知能の使用は暗示されていません。スマートコントラクトは、当事者がこれらの約束を実行するプロトコルを含む、デジタル形式で指定された一連の約束です。」

この定義のどこにも、「チューリング完全性」または「分散型自律組織」またはスマートコントラクトと見なされるために最低限の複雑さが必要であることを意味するもの。 Szaboがスマートコントラクトの先駆けとして挙げた例のいくつか、または私が定義するように、「プロトスマートコントラクト」は、自動販売機やPOSシステムなどの非常に基本的なものです。

自動販売機の場合、これはハードウェアに組み込まれた「プロトスマートコントラクト」です。それが実装する「契約」は非常に単純です。ユーザーがコインをマシンに挿入し、マシンがユーザーが購入した食品を分配します。全体として、マシンのセキュリティは実際の物理ハードウェアに要約されます。自動販売機を開けてお金を払わずに食べ物を取り除くのは非常に時間がかかり、難しいので、ほとんどの場合、犯人が法執行機関やその場所で何人かの従業員に捕まることなくできることはほとんどありません。自動販売機があります。

もう1つの重要な詳細は、契約には通常、関係者間の複数のステップが含まれることです。ごくまれに、契約上の取り決めを伴う何かが単一のステップで促進されることはありません。ユーザーは自動販売機にコインを入力します。これにより、ユーザーは購入するものを選択でき、ユーザーは選択を行い、マシンが商品を分配します。これは4つのステップのプロセスです。1つはお金を挿入することです。 2つ目は、適切な選択プロセスに進むマシンです。 3つ目は、ユーザーが選択することです。 4、ユーザーの選択を分配するマシン。

ここで、考慮すべき重要なポイントがあります。契約のダイナミクスには、自動販売機と顧客の2者が関与します。これは、上記で定義された4つのステップで達成される非常に単純な句をインスタンス化します。自動販売機にお金を与え、自動販売機が食べ物を与えます。

しかし、自動販売機にお金を入れて、食べ物が適切に分配されなかった場合はどうなりますか?誰がこの問題に対処しますか?それがそれ自体でそうしなかった後、それを解決し、「契約」を適切に解決するために、あなたは誰に行きますか?この実行の失敗を解決するには、自動販売機が置かれている会社の従業員を見つけるか、所有者のサポートラインに連絡する必要があります。誰かが介入して、契約の不適切な実行を実際に修正する必要があります。

これは私に非常に重要なポイントをもたらします。「スマートコントラクト」は、定義上、サードパーティへの信頼がないことを意味するものではありません。実際、 Szaboの言葉で、「スマートコントラクトには、パフォーマンスに関与する仲介者や、パフォーマンスに起因する紛争を解決するために呼び出される仲裁人など、信頼できるサードパーティが関与することがよくあります。その)。」

本当に考えてみてください。どのような種類の契約でも、いずれかの当事者が不正行為を行い、契約の終了時に利益を上げることを拒否する可能性があります。契約が適切に実行されない可能性は常にあります。誰かまたは何か、つまり定義上は第三者が、不適切な実行の場合に介入し、それを修正して適切な実行を強制し、適切な場合は最初の不適切な実行に対してペナルティを強制する可能性があります。

ほとんどのプロトスマートコントラクト、さらには完全にスマートなコントラクトも信頼できません。ほとんどは、両側で自動化することさえできません。誰かがガソリンスタンドのPOSマシンでデビットカード付きのタバコのパックを購入した場合を考えてみてください。その顧客は、POSシステムが支払い完了のフラグを立てた後、実際にはレジスターの反対側にいる人間を信頼してタバコを渡す必要があります。店員がそうすることを拒否した場合、顧客は彼らが支払ったものを受け取らなかったので、彼らの銀行またはカード処理業者に支払いを払い戻すことを信頼しなければなりません。

スマートコントラクトの目標

これで、プロトスマートコントラクトの概念的な信頼モデルが確立されたので、コントラクトを設計する4つの重要な目的について説明します Szabo

可観測性:契約に関与する人(または物)は、相手方が契約の条件を正しく実行していることを確認でき、次のことができる必要があります。彼ら自身が相手に対して正しく機能していることを証明します。

検証可能性:契約のすべての当事者は、契約が正しく実行されたこと、または1つまたは複数の当事者が違反したことを契約の選択された仲裁人に証明する能力を必要とします契約における彼らの義務。

プライバシー:契約は可能な限り非公開で構成する必要があります。契約または関係者に関する個人情報のうち、それを超えて一般の人々または他の第三者に配布される量は、契約の履行に必要な最小限に抑える必要があります。

強制力:契約条件に基づく義務に違反する当事者が1人以上いる場合でも、物事が正しく実行されるようにするための何らかのメカニズムが必要です。まあ、契約は、執行が必要になる可能性が非常に低くなるように構成する必要があります。契約は、当事者が条件に基づく義務を自主的に遵守することを奨励する必要があります。

上記の設計目標は、契約が大多数の場合に正しく実行される可能性を最大限に高めると同時に、契約の詳細を一般の人々の詮索好きな目から保護するために効果的に存在します。契約が条件の適切な実行で終了する可能性が最も高いことを契約に与えるために絶対に必要です。

スマートコントラクトのプリミティブ

暗号化プロトコルは、スマートコントラクトの定義コンポーネントです。 Szabo それらを「スマートコントラクトにおける可観測性、検証可能性、プライバシー、および強制力の間の改善されたトレードオフを実装する基本的な構成要素」と呼びました。

では、暗号化プロトコルを実装するために必要な基本的なプリミティブは何ですか?もちろん、暗号化キーのペア。

スマートコントラクトを行うには、主要な参加者と仲裁人がそれぞれ秘密鍵を生成し、そこから公開鍵を取得して、それぞれと対話する手段として他の参加者と共有する必要があります。その他、スマートコントラクトのプロセスを通じて。また、参加者がスマートコントラクトの条件と実行を承認するためのデジタル署名スキームが必要です。また、必要に応じて、それらの署名の形式で、最初の条件への同意を示す証拠をアービターに提供する必要があります。契約、およびそれらの条件で定義されているように契約が適切に実行されたかどうか。

これにより、スマートコントラクトの作成と実行に関与するすべての関係者に、秘密鍵の保護という基本的な要件が導入されます。これは2つの理由で非常に重要です。

まず、スマートコントラクトに関係する秘密鍵が侵害されて盗まれた場合、泥棒はあなたがコントラクトを不適切に実行しようとしたように見せかける可能性があります。第二に、そうすることで、スマートコントラクトの他の参加者に、あなたが信頼できない相手であるという認識が生まれます(そして潜在的には一般の人々にも)。それはあなたに悪い評判を与えます。

最低限、そのような事態が発生すると、そのスマートコントラクトのカウンターパーティは、あなたがカウンターパーティである契約に関与することを望まない可能性があります。それを超えて、契約違反が公に発生したか、何らかの形で一般に公開された場合、あなたとのスマートコントラクトに参加することへの躊躇は、より多くの人々にも広がる可能性があります。レピュテーションは、法的アイデンティティまたは単なる仮名に結びつく可能性があるため、レピュテーションの損傷の程度は、レピュテーションが何に結び付けられているかによって異なりますが、それでもレピュテーションの損傷は発生する可能性があります。違いは、事後に評判が損なわれたアイデンティティから自分自身を分離することの難しさだけです(つまり、インターネット上の仮名と本名)。

ここで、スマートコントラクトの非常に基本的な例を見てみましょう。

1990年代、Szaboが最初にこの用語を作り出したとき、当時最もエキサイティングな暗号化ツールの1つは、David Chaumのデジタルe-cashでした(ここで詳しく説明します)。ただし、簡単に要約すると、e-cashは、中央当局(契約の仲裁人)によって発行されたデジタルノートと考えてください。これらのメモは、それらが有効であることを証明する当局からの暗号署名が付いた、単純に大きな乱数です。それを使うために、あなたはあなたが支払っている人にそれを与えます、そして彼らはそれを中央当局と引き換えて、そして新しいものを発行されます。また、署名プロセスがどのように機能するかにより、当局は誰が誰に支払うのかを把握できないため、非常にプライベートです。

このスマートコントラクトには、支出者と受領者、および支出者と受領者の間の転送が発生したかどうかを調停する中央当局があります。さて、当時のこの設計の一部は、そのようなスマートコントラクトを使用する2つのモードに基づいていました。1つは、アクティブなインターネット接続を使用して、デジタルノートを受け取った瞬間に利用します。または2つ、償還プロセスを遅らせ、デジタルノートをバッチで償還します。

最初の方法を使用する場合、正直な中央当局で、当局によってすでに償還されたメモでだまされるリスクはありません。オフラインで使用する場合、受信者は、顧客がデジタルメモを複数の場所で使用するリスクを負います。つまり、それらの受信者のうち1つだけが実際に当局でそれを引き換えることができます。他の誰もがお金を失います。

不正行為を行った当事者(または複数の当事者)は、将来のやり取りで不正行為を行った人物の評判を評価する以外に選択肢はありません。合理的には、その時点から、将来的に顧客との取引にさえ従事する場合でも、中央当局からのデジタルメモの引き換えに成功するまで、その顧客への商品やサービスの提供を拒否します。

Chaumian e-cashシステムの中心的な機関は執行機関であり、ユーザーはその機関にデータを提供して結果を執行するオラクルです。デジタルノートの受信者がそれを引き換えに行くとき、それらはオラクルとして機能しています(何かを主張する人または物、そして可能であれば、何かが真実であるという証拠を提供します)。彼らは、当局へのオラクルとして、誰かからデジタルノートを支払われたと述べています。その声明の彼らの証拠はデジタルノート自体であり、オラクルが行った声明が有効であると当局が判断した場合にのみ、当局によって新しいものが発行されます。

後で指摘する価値があるのは、トランザクションにサードパーティのオラクルが関与する可能性があることです。つまり、2人がデジタルノートをサードパーティのオラクルに転送し、すべてのノートがフットボールの試合の結果に基づいて、いずれかの参加者に転送されます。ここでの基本的なトランザクションの単純な例との唯一の本当の違いは、基本的なメモの転送を許可する暗号化と同じように、自動化されたコンピューターではオラクルのステートメントの真実性を検証できないことです。オラクルが行うことができる多くの種類のステートメントを検証できるのは人間だけです。

では、これはこのスマートコントラクトの性質に関して最終的に何を示していますか?両方の当事者が正直に行動するインセンティブが十分であるか(つまり、あなたが彼らをだました場合、商人は将来あなたに食べ物を売らないでしょう)、または彼らは仲裁人を信頼して契約を適切に執行し、顧客に余裕がないようにする必要があります不誠実に行動する。したがって、双方が正直に行動するためにお互いを信頼する必要があるだけでなく、参加者が不正に行動しようとする場合、他の参加者は仲裁人が彼らを保護するために正直に行動することを信頼する必要があります。それを逃れる方法はありません。

スマートコントラクトプラットフォームとしてのビットコイン

では、このすべてをビットコインに持ち帰りましょう。ビットコインは文字通りスマートな契約プラットフォームです。それが何であるか、それが常に何であったか、それがどのように設計されたかです。

ビットコインネットワークは、単一の中央機関に依存することなく、スマートコントラクトの適切な実行を強制する巨大な分散型アービトレーターとして機能します。これは、契約が観察可能、検証可能、および強制可能であるためのメカニズムを提供します。歴史的に不足している契約の唯一の品質はプライバシーです—ビットコインスマートコントラクトのすべての条件はすべての人に公開されています。ただし、少なくとも契約に従事している人の本当の身元を保護します。Taprootの最近のアクティブ化は、契約の条項を強制する必要がない限り、契約の条項を非表示にするという点で大幅に改善されています。

ビットコイン取引が発生するたびに、送信者はオラクルとして機能し、お金を使う能力を主張し、デジタル署名の形で証拠を提供します。受信者、およびネットワーク上のすべての参加者は、ネットワークを介して伝播するトランザクションを監視し、デジタル署名が正しいことを確認します。次に、マイナーが次のブロックを正常に見つけた場合は、中央機関に代わり、トランザクションをブロックに含めてネットワークを介して伝播することにより、スマートコントラクトを「実行」します。そして最後に、受信者とネットワーク全体が、ブロック内のすべての署名と契約証人の正確さを検証します。

最終的に、ビットコインで実行される契約は、適切に実行するためにアービトレーターへの信頼を必要としますが、アービトレーターは、他のすべての人をクロスチェックするすべての人の分散ネットワークです。そのネットワークの相互チェックに参加する人が多ければ多いほど、ネットワークは常に適切に実行することが信頼されます。これはビットコインの最大の成果ですが、ビットコイン(および実際の分散化の断片を含むブロックチェーン)の最大の制限でもあります。

ブロックチェーン(またはネットワークに参加しているすべてのノードがそのコピーを検証する)は、トランザクションを承認するデジタル署名が正しい場合にのみ処理されるなど、あらゆる種類のルールを独自に適用できます。 、または一定の期限が切れるまでコインが移動しないようにするタイムロックの後など。オラクルは100%検証可能な暗号化データをネットワークに直接公開するか、公開しないため、暗号化データの入力のみを必要とする契約を自動的に実施できます。 NS。ただし、暗号化で表現できない検証可能な正しいデータの入力を必要とする契約を自動的に適切に実施することはできません。つまり、ビットコインは、フットボールの試合への賭けが正しく実行されることを自動的に実施することはできません。オラクルが正しいと主張するゲーム終了時のスコアをブロックチェーンが検証する方法はありません。

したがって、ビットコインは基本的なトランザクション、または比較的単純な暗号化条件のトランザクションの実行を信頼できないものにすることができますが、任意の契約の実行を信頼できないものにすることはできません。ブロックチェーンで公開できるデータで100%正しいことが証明できる契約のみが、信頼できない形で実施できます。

現在、さまざまなブロックチェーンアーキテクチャにより、さまざまな程度の複雑なものを純粋にオンチェーンデータで証明できますが、これには、この部分の範囲外のセキュリティのトレードオフについて説明する必要があります。チェーン上でデータを公開することによって100%証明できない条件を含む契約には、必然的に信頼を導入する必要がありますが、前述のように、第三者が関与することは、スマートコントラクトであることから何かを排除するものではありません。

では、「スマートコントラクトとは何ですか?」という質問に答えるために。文字通り、ブロックチェーンで発生するすべてのもの。

これはShinobiによるゲスト投稿です。表明された意見は完全に独自のものであり、必ずしもBTCIncやBitcoinMagazineの意見を反映しているわけではありません。

Categories: IT Info