スマートコントラクトとは?
スマートコントラクトは、日本語で言うと「自動契約」です。
もし何かが起こったら、何かをするというプログラムになっています。
最も一般的なスマートコントラクトは,Solidityという開発言語を使って書かれています。
例としては、NFTアーティストへのロイヤリティがあります。
ロイヤリティはOpenSeaなどのマーケットプレイスなどで、リセール時の売上の一部がNFTの作成者に還元されるしくみのことです。
このロイヤリティもスマートコントラクトを活用しています。
スマートコントラクトの特徴
1,不変性
スマートコントラクトは変更ができません。
基本的には、ブロックチェーン上にコードが登録されると変更ができません。つまり、コントラクトのコードを改ざんすることはできません。
不変性は、欠点にもなりえると考える人もいるかもしれません。
もしコードが非効率、バグであったりすると永遠に非効率なってしまいます。
しかし、新しいスマートコントラクトを作って、古いものを使わないようにすることもできます。実際、これはよくあることです。
2,分散されている点
スマートコントラクトはブロックチェーンに保存されているので、すべてが完全に分散化されています。
この手法を使えば、誰もお金を管理することはできません。
仮に弁護士を雇っても、「その契約は私たちの合意ではなかった」と言うことができません。
スマートコントラクトは、オンライン上の複数の当事者間で一定の条件を満たすと自動的に実行されるものです。
スマートコントラクトは、人為的なミスや問題を排除するように設計されたコードで、実際に弁護士を雇いたくても雇えません。
コントラクトの結果はネットワーク上の全員によって検証されます。そのため、一人の人間がコントラクトを強制的に解除することはできません。つまり一人で強制的に資金を放出させることはできません。
誰でも見ようと思えば、自分のスマートコントラクトとその参加方法を見ることができます。スマートコントラクトはコードであるため誰も議論が出来ず、誰もがアクセスできるようになりました。
スマートコントラクトの活用例
フラッシュローン
借入と返済の処理を同一のトランザクション内で完了するというスマートコントラクトを書けば、
コードの書き方さえ分かれば、イーサリアムのネットワーク上で何かをするために何百万ドルも借りることができます。
実際に貸し手に返済できるかどうかを確認し、コードを実行して、その資金を借りて、あなたのやりたいことにお金を使うことができます。
従来の金融では決してできなかったことが、ブロックチェーンではできます。
保険
数個のスマートコントラクトだけで、保険会社全体の仕組みを作成することができます。
オラクルというサービスを使えば、保険の支払い対象になるかを判定できます。
オラクルは、基本的には実世界の情報を提供する信頼できるソースです。
ブロックチェーン上で要求されものに現実世界の情報を提供します。気温や降水量など指定した、現実世界のデータをスマートコントラクトに送ります。
トークンスイッチング
2つの異なるトークンでお金のプールが作ることができます。
トークンを別のトークンに交換できるようにスマートコントラクトを作成し、一方のトークンの取引量が増えると、もう一方の取引量を減らします。
このようにして、プールの安定した価値を維持します。
これが分散型取引場の仕組みになっています。