ブロックチェーンと、Solidityを始めた理由
月1でスマホアプリをつくっている、一橋大学25卒のでんのです。
最近、ブロックチェーンやスマートコントラクト、イーサリアムなどよく聞きませんか?
今回はそういった言葉にも軽く触れつつ、Flutter(スマホアプリをつくれるフレームワーク)一筋だったでんのが「なぜ、最近Solidity(スマートコントラクトを開発できる言語)を始めたのか?」について書きます。
ブロックチェーンとEthereum、スマートコントラクトについて
それぞれを簡単に紹介します。技術的なお話はしません。わかりやすさを重視しているため、厳密には事実と異なる場合があります。
ブロックチェーン
ブロックチェーンとは「参加者同士が、最初から今までのデータを共有、管理することで、データの改ざんを極めて難しくする仕組み」です。
データを手紙、ブロックを収納ボックスとすると、新しい手紙がある程度集まるたびに新しい収納ボックスを出現させ、手紙を中に収納、その収納ボックスが一つ前の収納ボックスとマジックテープでくっつく。それが最初の手紙、収納ボックスからずっと続いているイメージです。
今までの手紙のうち、どれか一つでも改ざんしようとすると、その手紙が入っている収納ボックスを新しく作り直し、さらにその収納ボックス以降の全ての収納ボックスを作り直さないといけません。(とても大変)
しかも、今までの収納ボックスと中の手紙はコピーされ、参加者たちが共有しています。なので、辻褄が少しでも合わないと検知され弾かれます。
この仕組みによって、データの管理は、中央の組織を必要としなくなり、参加者同士で完結します。
Ethereum(イーサリアム)
Ethereumとは「ブロックチェーンをベースに、非中央集権的なサービスを構築、ユーザーへ提供するためのプラットフォーム」です。
つまり、GAFAに代表されるような”中央で管理する組織”を必要とせずに、同様のサービスを実現する基盤をEthereumは提供します。
中央集権的なサービスでは、ユーザーにとって以下のような不利益があります。
プライバシー
取引を行う当事者たちのデータは、中央の組織に握られ、データの不正利用や漏洩の危険性があります。可用性
全ての取引が中央の組織に依存しているため、中央の組織次第でサービスが停止する恐れがあります。検閲
各種データが、中央の組織の判断で、たとえ公序良俗に反していないものでも、制限される可能性があります。
Ethereumを通して提供されるサービスは、非中央集権的なので、こういった不利益を回避できるのです。
スマートコントラクト
スマートコントラクトとは「実行条件と契約内容をブロックチェーン上に登録することで、以降実行条件に合致したイベントが発生するたびに自動実行される契約」です。基本的に書き換え不可能。自動販売機 on ブロックチェーン的なイメージです。一度登録されれば、年中無休。
特にSolidityは、Ethereum上で働くスマートコントラクトを開発できます。
なぜ、でんのは最近Solidityを始めたのか?
「全ての人が自分の意志(will)と能力(can)で輝ける、公平で優しいアプリ」をつくりたいと考えており、このアプリを支える基盤として、スマートコントラクトが必要だからです。
具体的には、「ブロックチェーンをベースとしたDAO*」のプラットフォームアプリです。
・国籍を問わず、全てのユーザーは、自分の「やりたいこと」と「できること」に合ったプロジェクトを発見、参加可能
・報酬が発生した場合は、貢献度に応じて公平に分配
・ソーシャルな要素はありつつも、組織が看板となるため、個人への誹謗中傷はない優しいアプリ
僕の夢は、このアプリでユーザーの『自己実現』を支え、『自己超越』に至る人の数を増やし、貧困や地球温暖化といった、空間と時間に依存した環境の不平等をなくすこと。
そして、誰もが『成長欲求』を追求できる世界を実現したい。
僕はこのためだけに、初心者からプログラミングに取り組んできました。今は技術力と経験値を上げるため、月1アプリ開発を行なっていますが、実はそろそろこのアプリを本格的につくり始めたいと思っています。
*DAO:「Decentralized Autonomous Organization」の略。日本語では自律分散型組織と訳される。中央にリーダーや代表といった管理者はおらず、それぞれのメンバーが組織のミッション実現へ向けて自律的に活動する。長所は、その透明性と公平性。ブロックチェーンベースのDAOでは、スマートコントラクトがルールとして、機械的かつ分散的、自律的に実行される。このため、誰かが不正を働いたり、中央集権的な組織が介在し不当に利益を得たりすることがない。
さいごに
ここまで読んでいただけて、ありがとうございます。
お礼と言ってはなんですが、僕的におすすめのサイトを貼っておきます。
ブロックチェーンについてもう少し知りたい方へ
NFTやWeb3を理解するために、ブロックチェーンについてさらに知りたい方へ(本)
プログラミング全然わからないけど、Solidityを少し触ってみたい方へ
この記事が気に入ったらサポートをしてみませんか?