6.6 スマートコントラクトとは?
無料エアドロップシーズン7開催中! 楽しいクイズに答えたり、簡単なタスクをこなして、3万ドルのBitDegree賞金プールから報酬を獲得! 今すぐ参加 ! 🔥
オンラインのスロットマシンで遊んだことがありますか?お金を賭けてボタンを押すだけでプレーできます。画面に表示される画像の結果が有利なものであれば、すぐに報酬を獲得することができます。
つまり、スロットマシンを起動すれば、自動的に処理が行われ、その結果に応じて、報酬も自動的に支払われる仕組みです。これは、実はスマートコントラクトの機能そのものでもあるのです。
本記事では、スマートコントラクトについて取り上げていきます。具体的には、スマートコントラクトとは何か、どのように機能するのか、どのような用途に使われるのかについて解説します。
それでは、早速始めましょう!

ビデオ解説
動画解説: スマートコントラクトとは?
読書が苦手ですか?「スマートコントラクトとは?」の動画解説を見てみてください。
What is a Smart Contract? (Explained with Animations)

スマートコントラクトとは?
仮想通貨における、スマートコントラクトとは、公式には、第三者の介入なしにブロックチェーン上で何らかのアクションを開始する、事前にコード化されたルールのセットです。ある状況で物事がどのように動くべきかという独自の感覚を備えたプログラム、または単にブロックチェーンアプリと呼ぶこともできます。スマートコントラクトは、開発者によって構築され、人々の行動に論理性を持たせるためにブロックチェーン上で起動します。つまり、ブロックチェーンがよりスマートに、設定された条件に従って動くようにするものです。
では、スマートコントラクトとは、具体的にどのようなものなのでしょうか。
その名の通り、何か行動を起こすときに必要な契約上の義務ということです。例えば、友人と「数学の宿題を手伝ってくれたら芝生を刈ってあげる」という約束をした場合、これは契約とみなすことができます。
そして、「スマートコントラクト」という用語の「スマート」の部分が重要です。簡単に言うと、契約は人間の介入なしに自動的に実行され、一度設定されると変更することはできないことを意味します。
この考え方に近い例として、ローンを組むことを挙げてみましょう。あなたは銀行と詳細を話し合い、契約書にサインをする必要があります。そして契約完了後、銀行から口座にお金が振り込まれます。
ただし、この状況では、こういったプロセスは人間によって実行されます。誰かがあなたの情報をチェックし、ローンの審査を通すかどうかを決定します。スマートコントラクトでは、仲介者は存在しません。設定された基準に従って情報が自動的に検証され、人間の介入なしにお金が支払われます。
スマートコントラクトは、人間が介入することなく、あるプロセスを自動的に行うことを可能にするものです。コーヒーメーカーを例に挙げてみましょう。お湯を沸かし、マグカップにコーヒーの粉とお湯を入れる代わりに、コーヒーメーカーはボタンを押して、待つだけで、全プロセスを自動的に行ってくれます!そう、コーヒーメーカーはスマートと言えます。第三者を介さずに、最初にプログラムされたロジックに基づいて動作するからスマートなのです。スマートコントラクトについても、まったく同じことが言えます。
便利で、早く、効果的ですが、もし途中で「コーヒーではなく、紅茶が飲みたい!」と気分が変わったらどうでしょう?ボタンを1つ押せば、その工程をキャンセルすることができるでしょう。
これは、スマートコントラクトの核心的な特徴でもありますが、一度実行されると、プロセスをキャンセルすることはできません。何が起こっても、スマートコントラクトは一度開始すると、実行されてしまいます。
ちょっと怖そうですが、これは良いことだと断言することができます!
スマートコントラクトの実行が厳密であるため、いったん契約が実行され出すと、ユーザーは騙されることはないのです。コーヒーメーカーの例に戻りましょう。どうしてもコーヒーが飲みたくなり、コーヒーメーカーでお気に入りのラテを作るよう設定し、その間に他のことをしようとします。しかし、他の人がコーヒーメーカーの前を通りかかり、あなたが自分のためにコーヒーを作っていることに気づき、いたずらで「停止」ボタンを押しました。
戻ってきたら、マシンの電源が切れていて、コーヒーが入れられない状態に...ムカつきますよね?
確かに、コーヒーであれば、些細な不便にすぎません。ただし、スマート コントラクトには通常、金銭 (多額の!) が関与するため、リスクははるかに悲惨で、取り返しのつかないことになります。
つまり、悪意のある人は、何か素晴らしいことを約束し、その資金を持ち逃げすることで、投資家から資金を騙し取ることができるのです。スマートコントラクトは、詳細をチェックし、一度開始した契約が変更されないということを確約することで、潜在的な投資家がこういったトラブルを防止できるようにしています。
それでは、どのようにして?コーヒーマシンのロジックと違って、スマートコントラクトは一般公開されているので、正確なロジックが設定されているか、ある行動をした後に いつ、どのように進行するのかを確認し見ることが誰でもできます。そして、これは間違いなく透明性の問題なのです!あるブロックチェーンの活動が数百人、数千人を巻き込むものであれば、その活動のために開始されたスマートコントラクトに基づいて、何が起っているのか、コミュニティは常に確認することができます。
スマートコントラクトの仕組みとは?
スマートコントラクトがどのように機能するかを詳しく見てみましょう。
スマートコントラクトの大部分は、スマートネットワーク、具体的にはイーサリアムネットワーク上で構築(そして発行)されています。そしてこれが、イーサリアムベースのブロックチェーンとビットコインの重要な違いです。
イーサリアムは、暗号を利用した「スマートな」ネットワーク、いわば分散型 (単一の権限を持たない) コンピューターのグローバルノードです。その上で、人々はスマートコントラクトを含むさまざまなアプリケーションを作成することができます。ビットコインのブロックチェーン ネットワークは、スマートな機能が欠けているため、ここでは、「おバカさん」と呼ぶことにましょう。そのため、ビットコインネットワーク上にはスマートコントラクトは存在しないのです。
すなわち、イーサリアム上のスマートコントラクトは、Solidity(イーサリアムネットワークで働く開発者のために特別に設計されたプログラミング言語)の助けを借りて作られます。開発者たちは、スマートコントラクトの条件(例えば、「サムが私に10ドル払えば、サムに記事を送る」)を受け取り、Solidityを使って作成します。基本的にスマートコントラクトは、「何かが起きたら、何かをする」という機能です。
スマートコントラクトを作成したら、ネットワーク上で展開する必要があります。それが完了すると、契約が有効になり、契約条件を実行できるようになります。
前にも述べたように、スマート コントラクトは自動的に機能します。つまり、展開後は、開発者は何も追加したり変更したりする必要がなく、契約条件が満たされていれば、意図した機能が実行されます。
さらに、スマートコントラクトは不変であること、つまり変更することができないことも改めてお伝えします。そのため、展開されたときの条件が公正であることが確認されている限り、安全で信頼性の高いものとなります。
そうは言っても、どうしてスマートコントラクトは改ざんできないのか、疑問に思われるかもしれません。具体的には、どのようにして確保されているのでしょう?
これは、ブロックチェーン技術のおかげです。その仕組みに関する技術的なことは、別の記事で説明するのであまり深入りしませんが、要するに、一度展開したスマートコントラクトの条件を変更するには、その契約が基づいているブロックチェーンの少なくとも51%の指揮権を持つ必要があり、これは現実的に不可能なことといえます。
また、ブロックチェーンの仕組みについて詳しく知りたい場合は、このトピックに関する記事も是非ご覧ください。
スマートコントラクトは何に使えるのか?
ここまで、スマートコントラクトとは何か、そしてスマートコントラクトがどのような処理を行うのかについて解説してきました。最後に、この技術がどのような用途に使われるのか、いくつかの例を見てみましょう。
まず、あなたが農家で、今年の干ばつに備えて農作物に保険をかけたいと考えているとしましょう。保険会社は、あなたの保険にスマートコントラクトを使い、次のような条件で契約します:
「A月とB月の間の気温が少なくともC日連続で32度を超えた場合、農家にX円を支払う。」
保険会社は、スマートコントラクトに、信頼性の高い天気予報サイトを追跡させるのです。こうして、プロセス全体が自動化され、その年に干ばつがあれば、自動的に保険金が支払われるようになるということです!
そして、最も重要なことは、農家であるあなたが同意したルールを、誰も絶対に変えることができないということです。
例えば、あなたが仕事で1年に1度のボーナスをもらいたいと思い、上司と交渉しているところを想像してみてください。上司は、あなたがボーナスを受け取るために満たすべき条件を提示し、期限を告げます。そして上司は、次のようなスマートコントラクトを作成します:
「2023年12月31日まで、AがB、C、Dの業務を遂行した場合、AはX円のボーナスを受け取る。」
このような場合、年末までにすべての条件を満たせば、必ずボーナスがもらえるということがわかります!そして、あなたの意地悪上司は、天候が悪いからといって意見を変えることはないでしょう!
これらは、スマートコントラクト技術の可能性を示すほんの一例に過ぎません。実のところ、スマートコントラクトを応用できる機会は膨大で、この技術は実にさまざまな分野に組み込むことができ、スマートコントラクトが主要になりつつあるのです!
本記事では、スマートコントラクトとは何か、その仕組みについて、利用方法など、スマートコントラクトについて知っておくべき重要な情報をすべて網羅しました。仮想通貨に関する様々なトピックについて学びたい方は、NFTに関する記事も是非ご覧ください。