見出し画像

【技術解説あり】新型肺炎に警鐘を鳴らした李医師に捧げる墓碑銘がブロックチェーンに書き込まれた事例

こんにちは、スマート法律相談の勝部です。

先日、このような記事を目にしました。

データの改ざんが困難なブロックチェーン上に文書を保管しておくという実用例がありますが、イーサリアムのブロックチェーンを使えばすでに実現可能です。

実際のスマートコントラクトのソースコードは以下のように、イーサスキャンで閲覧可能です。

画像1

(Etherscanの該当コントラクトURL)
https://etherscan.io/address/0x6e46d3ab7335fffb0d14927e0b418cc08fe60505#code

そこそこ長文なのでgas代がかかっていますが、イーサリアムを使えば(イーサのブロックチェーンがなくならない限り)永久に消えないデータをインターネット上に残すことができます。

ビットコインのブロックチェーンへの書き込みはできるの?

ビットコインのブロックチェーンにも短いメッセージを残すことは可能で、有名な例ですと、ビットコインの最初のブロックのコインベースには、“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”.というメッセージが残されています。

数十バイト程度の情報量ではまったく実用的ではないので、ビットコインのブロックチェーンをデータ刻印用に利用するのは得策ではないですね。

そもそもスマートコントラクトって何?

スマートコントラクトという用語の意味は多義的ですが、ブロックチェーンの文脈で語られるときのスマートコントラクトとは、要するにブロックチェーンのデータと連動して動作する、チューリング完全なプログラミング言語を使った合意執行システムです。

Solidityで記述したプログラムコードは、コンパイルすることにより、EVM(Ethereum Virtual Machine)で実行可能な機械言語を生成できます。

例えば、スマートコントラクトのアドレスに仮想通貨を送信すると、スマートコントラクトに書かれたトークンが自動的に送られる、というような使い方が典型的です。

法律や、弁護士が作成する契約書は、ある意味if then文で書かれるプログラミングコードのようなものですし、プログラミング言語で記述する以上、曖昧な条項が入り込みにくいと言えます。

弁護士が作成する契約書のすべてがスマートコントラクトに置き換えられるのはまだまだ先だと思いますが。。。

スマートコントラクトの記述方法

solidityで記述する場合、スマートコントラクトは以下形式で記述します。

contract "コントラクト名" {
      "コントラクトの内容"
      }

上記のニュースのスマートコントラクトはコントラクト名"Monument"の関数の記述から始まり、コメント機能(動作と関係ないメモを残す機能)を使って、メッセージが書かれています。

つまり、上記のニュースのスマートコントラクトは、プログラムとしては動作しません。

コメント機能を使って、メッセージを残すためにスマートコントラクトの機能を使っているといえます。

まとめ

ブログや掲示板を使えば、インターネット上にメッセージを残すことは可能ですが、管理者がサービスをやめてしまえばデータは消えてしまいますし、残されたメッセージを管理者が削除したり改ざんしたりする可能性があります。

ブロックチェーンであれば、そのブロックチェーンが使われ続ける限り、管理者がいなくてもメッセージは残るので、消されたくない情報、改ざんされたくない情報を保存する方法としては最適です。

このようなブロックチェーンを使ったサービスは、これからいろいろ出てくるのではないかと思います。


この記事が気に入ったらサポートをしてみませんか?