ブロックチェーンのスマートコントラクトとは何ですか?それらはどのように機能しますか?
スマートコントラクトとは何ですか?

スマートコントラクトは、基本的に、契約の作成者と受信者の間の自動化された契約です。コードで記述されたこの合意は、ブロックチェーンに組み込まれているため、不変であると同時に不可逆的です。これらは通常、契約の実行を自動化するために使用されるため、すべての関係者は、仲介者を必要とせずに、すぐに結論を確認できます。また、特定の状況が満たされたときに開始して、ワークフローを自動化することもできます。

では、実行された契約とは何ですか? 2つ以上の当事者間の契約上の接続を確立する署名された契約は、実行済み契約と呼ばれます。各当事者は、契約が適切に署名された後、書面による合意で合意した法的義務を守ることを約束します。世界で2番目に人気のあるブロックチェーンであるイーサリアム(ETH)によって普及したスマートコントラクトは、ネットワークの分散型アプリケーション(DApp)やその他のユースケースの配列につながりました。

ブロックチェーンネットワークの主な利点の1つは、従来はサードパーティの仲介者を必要としていたタスクの自動化です。たとえば、クライアントからフリーランサーへの資金移動を承認するために銀行を必要とする代わりに、スマートコントラクトのおかげでプロセスを自動的に行うことができます。必要なのは、2つの当事者が1つの概念について合意することだけです。

別の例としては、規制グループとそれが法の議論を代表する市民が挙げられます。これらの2つの当事者がブロックチェーンベースのシステムで合意に達した場合、法律は実行された合意を介して施行されます。たぶん、ユーザーは合法的なDAppを介して新しい法律について読んだり、別のブロックチェーンベースの方法でそれと対話したりすることができます。

この記事では、スマートコントラクトの歴史、スマートコントラクトの仕組み、スマートコントラクトが重要である理由について読者に説明します。

スマートコントラクトはどのように機能しますか?

スマートコントラクトは、2つ(またはそれ以上)の当事者間のデジタル「if-then」ステートメントと考えてください。 1つのグループのニーズが満たされている場合、契約は尊重され、契約は完了したと見なされます。

市場が農家に100穂のトウモロコシを求めているとしましょう。前者は資金をスマートコントラクトに固定し、後者が配信されたときに承認することができます。農民が義務を果たすと、資金はすぐに解放されます(つまり、法的契約の履行後)。ただし、農家が期限を過ぎた場合、契約はキャンセルされ、資金はクライアントに戻されます。

もちろん、上記は小さなユースケースです。スマートコントラクトは、他の利点の中でもとりわけ、大衆のために機能するようにプログラムすることができ、政府の義務や小売システムに取って代わります。さらに、スマートコントラクトは、特定の意見の不一致を法廷に持ち込む必要をなくし、当事者の時間とお金の両方を節約する可能性があります。

このセキュリティは、主に基盤となるスマートコントラクトコードによるものです。たとえば、イーサリアムでは、契約はチューリング完全なSolidityプログラミング言語で記述されています。これは、スマートコントラクトのルールと制限がネットワークのコードに組み込まれており、悪意のある人物がそのようなルールを操作できないことを意味します。理想的には、これらの制限は詐欺や隠れた契約変更を軽減するでしょう。暗号スマートコントラクトは、すべての参加者が同意して問題に署名した場合にのみ有効になります。そして、それは人生の準備ができています。

より技術的な用語では、スマートコントラクトのアイデアはいくつかのステップに分けることができます。まず、スマートコントラクトには、2つ以上の当事者間の合意が必要です。確立されると、2人はスマートコントラクトが完了したと見なされる条件について合意できます。決定はスマートコントラクトに書き込まれ、スマートコントラクトは暗号化されて、ブロックチェーンネットワークに保存されます。

契約が完了すると、他の場合と同様に、トランザクションがブロックチェーンに記録されます。次に、すべてのノードがこのトランザクションでブロックチェーンのコピーを更新し、ネットワークの新しい「状態」を更新します。

さて、ビットコイン(BTC)や他のネットワークがスマートコントラクトを利用できるかどうか疑問に思われるかもしれません。ある意味では、そうです。すべてのBTCトランザクションは、技術的にはスマートコントラクトの簡略化されたバージョンであり、ライトニングネットワークなどのレイヤー2ソリューションは、ネットワークの機能を拡張するために開発されました。とはいえ、イーサリアムによるスマートコントラクトの使用は特別な場合です。

分散型台帳として説明されているほとんどのブロックチェーンネットワークとは異なり、イーサリアムは分散型ステートマシンと見なされるものであり、イーサリアム仮想マシン(EVM)と呼ばれるものが含まれています。すべてのイーサリアムノードがコピーを保持することに同意するこのマシン状態には、スマートコントラクトコードと、これらのコントラクトが従う必要のあるルールが格納されます。すべてのノードにはコードを介して組み込まれたルールがあるため、すべてのイーサリアムスマートコントラクトには同じ制限があります。

上記に加えて、2021年9月にカルダノ(ADA)ブロックチェーンエクスプローラーに200を超えるスマートコントラクトがリストされました。ADAスマートコントラクトは、Marlowe、Plutus、Glowと呼ばれるプログラミング言語を使用して展開されます。

以下の表で説明するように、スマートコントラクトは多くの点で書面による契約とは異なることに注意することも重要です。

スマートコントラクトの歴史的背景

信じられないかもしれませんが、スマートコントラクトはブロックチェーンテクノロジーよりもずっと前から存在しています。 2014年に導入されたEthereumはプロトコルの最も人気のある実装ですが、暗号学者のNickSzaboは1990年代にこのアイデアを確立しました。

当時、Szaboはビットゴールドと呼ばれるデジタル通貨を概念化していました。資産が実際にローンチされることはありませんでしたが、このビットコインの前身は、スマートコントラクトのユースケース、つまりインターネット上での信頼できないトランザクションを浮き彫りにしました。 Web 1.0自体がインターネットであり、Web 2.0が一元化されたプラットフォームの存在である場合、Web 3.0は、信頼できない、自動化された、ユーザーによるデジタル空間のバージョンです。

イーサリアムのウェブサイト自体を含む多くの人が、スマートコントラクトを自動販売機と比較しています。自動販売機は、実際の人がお金を受け取って商品を渡す必要なしに、ユーザーに商品を提供するベンダーの目的を果たします。スマートコントラクトは同じ目的を果たしますが、はるかに用途が広いです。

スマートコントラクトは時間の経過とともにかなり進歩しました。それらは、プログラマーが作成および実装できる単純なif-thenステートメントとして始まりました。ただし、プログラミングの知識がある人は限られており、これらの「信頼できない」契約を一元化します。幸い、同じ開発者がアクセシビリティの問題の解決に取り組んでいます。

開発者は創業以来、コーディングの知識がなくてもスマートコントラクトを作成できるようにしています。さまざまなプログラミング言語でセキュリティを強化し、秘密の契約などの代替手段を作成し、スマートコントラクトの履歴を人間が読める形式で自動的に保存する方法を設計しています。ブロックチェーンを使用して読み取るよりもはるかに簡単です。

スマートコントラクトのメリット

スマートコントラクトブロックチェーンは、以下のセクションで説明するように、速度、効率、正確性、信頼性、透明性、セキュリティ、節約など、さまざまなメリットを提供します。

スマートコントラクトは、コンピュータープロトコルを使用してアクションを自動化し、さまざまな商取引プロセスの時間を節約します。自動化された契約は、ブローカーやその他の仲介業者がすでに署名された法的契約を批准する必要をなくすことにより、第三者による操作の可能性を減らします。

さらに、スマートコントラクトに仲介者がいないため、コストを節約できます。また、すべての関係者は、これらの契約の条件を完全に可視化し、アクセスできます。したがって、契約が締結された後は取り消す方法はありません。これにより、トランザクションは関係するすべての関係者に対して完全に透過的になります。

さらに、ブロックチェーンに保持されているすべてのドキュメントが何度も複製されるため、データが失われた場合に元のドキュメントを復元できます。スマートコントラクトは暗号化されており、暗号化によってすべてのドキュメントが改ざんされるのを防ぎます。最後に、スマートコントラクトは、いくつかのフォームへの手動入力によって発生するエラーも排除します。

スマートコントラクトはどこに適用されますか?

上記の支払いの例とは別に、世界を自動化し、住みやすい場所にすることができるスマートコントラクトのさまざまな潜在的な実装があります。スマートコントラクトのユースケースのいくつかの顕著な例を次に示します。

デジタルID

インターネットでは、情報は通貨です。企業はすべての人の利益を知ることで利益を得ており、人々はそのデータの取得方法を常に管理しているわけではなく、データから利益を得ているわけでもありません。スマートコントラクトを使用すると、人々が管理できます。

ブロックチェーンベースの将来では、IDはトークン化されます。理想的には、これは、各個人のIDが分散型ブロックチェーン上に存在し、悪意のある人物から安全に保護されていることを意味します。現在、ユーザーがソーシャルメディアに参加したり、ローンの目的で銀行に書類を提出したりする場合、ユーザーは前者から利益を得て、後者の取引プロセスを管理できます。

ソーシャルメディアの場合、ネットワークを制御する仲介者はありません。代わりに、ユーザーは公開する情報と非公開にする情報を選択します。承認などの情報交換に参加したい場合は、単にユーザーに関するすべてを取得するのではなく、スマートコントラクトを作成して、処理するデータを選択できます。第三者が資金の一部を受け取ったり、そのデータを密かに保存して販売したりすることはありません。ユーザーが利益を得るだけです。

銀行やその他の金融機関との取引についても、同じことが言えます。コミュニケーションには、必要なドキュメントと重要な情報を送信するだけです。ローングループがあなたのメールアドレスを保存して他のクレジット会社に販売するリスクはありません。その情報は完全にユーザーの管理下にあります。

不動産

伝統的な世界では、不動産ブローカーは必要悪です。家を売るという行為は長くて複雑なことであると考えると、所有者は仲介業者を雇って、事務処理や購入者の検索など、彼らの紛らわしい部分を管理します。それは売り手にとって理想的なように聞こえますが、ブローカーは家の売り価格にかなりの料金を払うことを忘れないでください。

スマートコントラクトはブローカーの代わりになり、仲介業者と同じように安全を確保しながら、住宅移転プロセスを合理化できます。ここで「信頼できない」モニカが登場します。

あなたの家への証書がイーサリアムブロックチェーンでトークン化されていると想像してみてください。販売する準備ができたら、購入者とスマートコントラクトを作成します。その契約は、購入者の資金が適切に提出されるまで、証書をエスクローに保持します。その後、そしてその時だけ、それはリリースされます。

誰もが勝ちます。売り手は仲介業者に支払う必要がないのでお金を節約し、買い手はそうでない場合よりもはるかに早く家を手に入れます。

保険

保険契約は、スマートコントラクトから簡単に恩恵を受けることができます。基本的に、ポリシーにサインアップすると、ユーザーはプロバイダーとスマートコントラクトを締結します。すべてのポリシー要件はスマートコントラクトに書き込まれ、ユーザーが同意した場合はそれを読んで署名します。

その契約は、責任者が必要とするまで開いたままになります。次に、保険金の支払いが必要であることを証明する必要なフォームをアップロードするだけで、資金が解放されます。このタイプの契約により、保険グループや個人とのコミュニケーションが不要になります。ユーザーは要件を証明するための事務処理が必要ですが、その後の提出と資金調達のプロセスはほぼ瞬時に行われます。

身元の面では、すべてのドライバーが事故報告やその他の重要な保険情報の記録を持っていることを覚えておく価値があります。このアクセシビリティは、運転履歴に影響を与えない優れたドライバーの低料金を考慮に入れる可能性があります。

サプライチェーン

間違いなく、特にブロックチェーンテクノロジーとスマートコントラクトの最も人気のある実装の1つは、サプライチェーン内にあります。

食料品店、オフィスウェアハウス、農家などはすべて、サプライチェーンの中で特定の場所にあります。しかし、これらのネットワークがますます複雑になるにつれ、企業は、とりわけ、製品の保管を追跡し、支払いを追跡することがますます困難になっていることに気づいています。スマートコントラクトは、サプライチェーンのすべての部分を自動化してインセンティブを与え、説明責任を高めることができます。

たとえば、食料品店が別の大陸からのリンゴの配達を待っているとします。それは一定量のリンゴの代金を支払い、回収時にその正確な数または量を期待しています。ただし、ヒューマンエラーが発生する可能性があります。途中のどこかで、労働者はいくつかのリンゴを置き忘れたり、ラインからそれらを盗んだり、あるいは単にそれらすべてについて嘘をついて目的地に到着した可能性があります。これを行っている一方の当事者がチェーンの残りの部分を台無しにし、食料品店が荷物を受け取るまでに、どこが間違っていたかを知っています。

スマートコントラクトを使用すると、食料品店はプロセスの各ステップで自動チェックインを設定できます。これらのチェックインはすでに通常のサプライチェーンに存在しますが、手動で実行する必要があります。人はオブジェクトを数え、到着したものを提出しなければならない場合があります。彼らは嘘をついて製品の一部を手に入れることができ、途中で一部が失われたと主張しました。サプライチェーンの盗難は大きな問題であり、アメリカ人は年間350億ドルの費用がかかります。

スマートコントラクトとの違いは、信頼できない側面です。店はそれを設定して、すべてのリンゴが説明されるまで支払いが解放されないようにすることができます。このシステムを誤解させる方法はないので、供給に関しては当事者ははるかに注意を払うでしょう。さらに、支払いは受領者に即座にリリースされます。これは、それ自体が大きなインセンティブです。

また、ストアは、どのスマートコントラクトが履行されていないかを追跡し、それらの当事者と協力しないことを選択する可能性があります。最終的には、協力するのに最適なクライアントとそうでないクライアントの全体的な評価ネットワークが存在する可能性があり、長期的にはすべての人の時間とお金を節約できます。

スマートコントラクトが直面する主な課題は何ですか?

スマートコントラクトは概念的には優れていますが、完全ではありません。 1つは、スマートコントラクトとブロックチェーンネットワークが手動でプログラムされていることを覚えておく価値があります。ヒューマンエラーは常に発生する可能性があり、そのエラーは悪用につながる可能性があります。これはまさに2016年のイーサリアムの分散型自律組織(DAO)への攻撃で起こったことです。ハッカーはDAOの資金調達スマートコントラクトの脆弱性を悪用し、それを使用してプロジェクトから資金を秘密にしました。

これらの自律的な合意に関しては、規制の明確さが欠如していることは言うまでもありません。安全で合理化された送金プロセスのアイデアは紙の上では素晴らしいように聞こえますが、課税やその他の政府の関与を検討する必要があります。ユーザーは自分のデータを完全に制御したいと思うかもしれませんが、政府機関はどのようにして必要なものを入手するのでしょうか?

また、スマートコントラクトは、それらが存在するネットワークの外部に情報を引き出すことはできません。少なくとも、現在の状態ではありません。つまり、既存のWebサイトからEthereumのスマートコントラクトにデータをアップロードすることはできません。とはいえ、オラクルには回避策があります。インターネットから情報を引き出し、ブロックチェーンネットワークと互換性を持たせるオフチェーンノードです。最終的に、データベースがブロックチェーンに移行すると、オラクルが介入してそれを実現する役割を果たす可能性があります。

さらに、長年にわたるスケーラビリティの問題があります。開始以来、ブロックチェーンネットワークは大規模に苦労する傾向があります。つまり、アクティビティに基づいて、トランザクションには数分(数時間ではないにしても)かかる可能性があります。これは最初は問題になる可能性がありますが、Ethereum2.0などのプロジェクトが解決しようとしている問題です。さらに、数時間かかる取引は、従来の資金を移動するのにかかる日数よりもはるかに高速です。

スマートコントラクトの将来

スマートな要件に基づく契約は、住宅輸送などの前提条件が満たされたときに自動的に作成および実行できる比較的基本的な契約の前進であることに疑いの余地はありません。契約が締結されているため。

さまざまなスマートコントラクトプラットフォームは、世界中の企業の時間とお金を節約すると同時に、サプライチェーンや顧客とのやり取りに革命をもたらします。その結果、最小限の人間の関与により、個人や重要な意思決定者が日常的な管理や官僚的形式主義に対処する必要がなくなり、日常業務に集中できるようになります。スマートコントラクトが緩みを引き継ぐからです。

スマートコントラクトは、すでに多くの銀行や保険会社の日常業務で使用されています。その結果、スマートコントラクトはすでにここにあり、実際のシナリオでテストされており、それらが私たちの日常生活や日常業務の一部になるまで長くはかかりません。前述の議論に関係なく、すべてがスマートコントラクトによって管理されるまでにはまだ長い道のりがあります。


イーサリアム
  1. ブロックチェーン
  2. ビットコイン
  3. イーサリアム
  4. デジタル通貨交換
  5. 鉱業