Web3.0用語辞典
これはなに?
Web3.0やブロックチェーン関連の用語をまとめたもの
はじめに
この用語集は、Web3.0のプロダクト開発を行っていくにあたって、エンジニアやデザイナー、ビジネスサイドの人などが知っておくべき用語を理解が捗る順に並べたものである。Web3.0の文脈においては前提知識を有していないと理解できない用語が多く、それが全体の理解を難しくしている。そのため、この用語集においては「この順番で理解していけば良さそう」という順番で用語を並べ解説している。
あくまでもプロダクト開発に必要な知識という目線で解説しており、説明の都合上省略した部分は多い。また、仮想通貨の取引を行いたい人などにとっては余分な内容が多い点などはご了承いただきたい。
なお、技術的な細かい点は省略しているので、詳しく知りたい方は各々調べてほしい。
※ 内容の間違いや不備等あれば遠慮なくご指摘いただきたい
基礎編
まずは、Web3.0という分野で何かを行う際に知っておくべき基礎知識ともいえる部分を説明する。この部分は概念的な話や抽象的な話が多いが、ここを理解しておくことで全体を理解しやすくなる。
Web3.0
この用語については今のところ定義が固まっていない。
Web3.0の概念が最初に出てきたのは、後述するEthereumの共同設立者であるギャヴィン・ウッド博士が2014年に書いたこのブログである。
https://gavwood.com/dappsweb3.html
このブログでは、スノーデン(映画にもなったので調べてみてほしい)以後、Webは信頼できるものではなくなってしまったことをアンチテーゼとして、中央集権型(後述)ではなく分散型のアプローチによって構築されたWebアプリケーションの世界に突入していくべきだといったことが語られている。そしてこの分散型のアプローチによって構築されたWebの世界をギャヴィン氏はWeb3.0と呼んでいる。
現在はもう少しふわっとしたニュアンスで語られることが多く、Web3.0という言葉はバズワードのように用いられるようになってしまっている。とはいえとてもざっくりな理解をするならば、分散型で作られたWebの世界といった理解でよい。
中央集権型
現在のWebサービスの多くは中央集権型で作られている。
例えばGoogleは、Googleが運営するサーバーの上で動作するアプリケーションを主軸としたアプリケーションであり、ユーザーはGoogleを使うためにはGoogleのルールに則って利用するしかない。このようなことを中央集権的と表現する。他の多くのWebサービスも同様の構成をとっており、Amazonにせよメルカリにせよ、プラットフォーマーと呼ばれるサービス提供主体が中央集権的にサービスを提供している。
中央集権的であること自体に大きな問題はない。なぜなら、私たちはプラットフォーマーから無数の恩恵を受けているからだ。そのひとつが、信頼の代行だ。プラットフォーマーが信頼できる第三者として機能するからこそ、私たちは安全にWeb上で取引ができる。たとえばメルカリで中古品の売買取引を行う際、メルカリというプラットフォーマーがいるからこそ代金未払いのリスクを避けることができ、安心して取引ができる。メルカリという第三者がいなければ、私たちは取引の度に相手の与信状況を調べたり、お金が払われないかもしれないというリスクと向き合い続けなければならない。
しかし、これらはプラットフォーマーが悪ではないという暗黙の了解の上で成り立っている。例えば金融機関の利用者は、金融機関が利用者のお金を不正利用することはないということを「信頼」して金融機関にお金を委ねている。とはいえプラットフォーマーは本当に信じられるのだろうか。
この状況が危険であることを示唆したのが上述のスノーデンの告発を発端とする流れである。つまり、ある状況下においては中央集権型のプラットフォーマーは信頼できなくなる。そこで、中央集権型ではない形でのWebの未来を考える必要が出てきた。
分散型
中央集権型には上述のような問題があり、それに対するアンチテーゼとして考えられたのが分散型のアプローチである。
その名の通り、中央集権的なサービス提供者を持たず、各々が自立分散的に動いていくことでサービスを実現していこうという考え方である。つまり、分散型のアプローチにおいては、個人対個人が基本となる。そのことにより、プラットフォーマーが存在するがゆえの問題を解決しようとしている。
とはいえ、例えば中央集権的な運営者のいない状況でのWeb上の取引は本当に成立するのだろうか。つまり、信頼できる第三者がいない状況で、どのようにして取引の安全を実現するかという問いが残されたのである。この問いの解決手段として作られたのが、後述するブロックチェーン技術である。
とはいえ、現時点のブロックチェーン技術は発展途上であり、ゆえに分散型のアプローチ自体も発展途上だといえる。これらの分散型のアプローチをどのように実現していくかが、Web3.0の実装だといえ、現在進行系で進められている。
トラストレス
中央集権型のアプローチにおいて、プラットフォーマーが信頼を代行していると述べた。そして分散型のアプローチにおいては、信頼できる第三者がいなくとも取引が成立することを目指している。
つまり、トラストレス(信頼不要)な状況においても取引の安全が担保されるかという話であり、Web3.0ではトラストレスな状況の実現を目指しているといえる。
ブロックチェーン
信頼できる第三者による取引の安全の担保という形ではなく、個人対個人において取引の安全を担保するために生み出されたのがブロックチェーン技術である。
通常、取引は一対一で行われる。その際、どちらかが取引の無効を主張した場合、どのように対処すべきだろうか。つまるところ、言った言わない問題でしかなく、決定的な証拠がない限りは有効無効の証明はとても難しい。また、証明が難しくなくともそれらの証明にはコストがかかる。つまり、信頼できる第三者を挟まない取引においては、偽証という手段がとても有効であり、偽証がないことの証明には莫大なコストがかかる。
とはいえ、その一対一の取引現場を100人の人が見ていたらどうなるだろうか。つまり、証人が100人いるのである。100人だけでなく、そのコミュニティに所属するすべての人が見ていたらどうなるだろうか。この場合、誰にとってもその取引が存在したことは自明となる。
ブロックチェーン技術ではこのようなアプローチをとっており、「全員が取引を閲覧できるならば偽証は出来ない」といった考えをベースに、取引台帳をオープンにし、誰もがその取引の存在を証明できる仕組みを作ることで、トラストレスな状況においても取引の安全性を担保することを可能とした。
ブロックチェーンという呼び名の意味を理解するためには技術的な理解が少し必要となるので、技術系ではない人は上記程度の概念が理解できていれば十分だと思う。
トランザクション
ブロックチェーン技術における、ひとつひとつの取引のことを指す。そして、この取引内容は誰に対しても公開されたものとなる。
利用するブロックチェーンの種類によってトランザクションの中身は多少異なるが、トランザクション≒取引と理解できていれば十分である。
秘密鍵
ブロックチェーン上での取引が行われた場合、その取引を行った人が自分であることをどのように証明すれば良いだろうか。
一番簡単に考えられるアプローチは、実名で取引を行うという方法である。とはいえこれは、誰が幾らの取引を行ったかがすべて公開されてしまうということであり、あまり良い状況ではない。とすると、取引のデータは何らかの形で暗号化しておくことが望ましい。
とはいえ、この取引は「私が行った取引だ」ということを証明できなければ、証人に対して取引の存在を対抗することが出来ない。
そこで利用されるのが秘密鍵や公開鍵、そしてデジタル署名という仕組みである。
秘密鍵は、自分だけが利用可能な「暗号化のためのパスコード」である。後述する公開鍵とセットで用いることで、自身が行った取引であることを証明できるようになる。
なお、この秘密鍵はとても大切なものであり、絶対に他人に知られてはならない。例えるならば銀行のキャッシュカードとその暗証番号がセットになったようなものであって、秘密鍵を知っているだけでブロックチェーン上の資産をすべて引き出せてしまう。取り扱いには細心の注意が必要である。
公開鍵
公開鍵は、秘密鍵によって暗号化された内容を解読するためのコードである。
日常的に利用する鍵であれば施錠と解錠は同じ鍵を利用するが、ブロックチェーンの世界においては施錠と解錠は別の鍵を利用する。そして、公開鍵はその名の通り、自分以外の人に公開しておくことを前提としている。
この「公開」という仕組みを利用することで、自分が取引を行ったことを証明できるようになる。具体的には下記のような流れである。
・取引内容を自身の秘密鍵で暗号化し、公開鍵とセットで世の中に公開する
・その公開鍵によって取引内容が解読できることがわかる
・公開鍵で解読できるので、公開鍵に対応する秘密鍵を持っている人が取引を暗号化したことが証明される
・その結果、取引を行ったのは秘密鍵を持つ本人であることが証明される
デジタル署名
秘密鍵と公開鍵を利用して行われる上述の流れそのものがデジタル署名となる。
自身が行った行為であることが公開鍵と秘密鍵によって証明できる。つまりは現実世界における署名と同等の意味合いを持つと考えられ、デジタル署名と呼ばれている。
このデジタル署名を取引に付与することによって、取引が本人によって作成されたことを保証する。
マイニング/マイナー
ブロックチェーンの世界において、取引が行われたことを証明する人は誰なのだろうか。当然ながら、取引の証明には何らかのコストがかかる。そのようなコストをかけてまで、取引の証明をすることに何かのメリットはあるのだろうか。
この役割を担う人がマイナーと呼ばれ、この役割のことをマイニングと呼んでいる。
具体的には、取引に記載されたデジタル署名の内容や取引内容が正しいことを検証する役割を担う。そして、一番最初にその取引内容が正しいことを証明できた人には、ブロックチェーン自体からの報酬を受け取ることが出来る。誰から受け取るわけでもなく生まれるこの報酬は、ブロックチェーン上の新しい通貨発行と同義と捉えることが出来る。
としたときに、報酬目的で沢山のマイナーが生まれてくる。そのマイナーの中で、誰が報酬を受け取るべきかを決めるために後述のPoWという仕組みが考えられた。
なお、これらの行為は金の採掘と似ていると捉えられ、マイニング(採掘)と言われるようになった。
ノード
ブロックチェーンに接続されているコンピューターのこと。ブロックチェーン上の過去全てのデータを保持しているフルノードと、一部のデータのみを保持している軽量ノードがある。
PoW(Proof of Work)
沢山のマイナーの中で、検証を行う人および報酬を受け取るべき人を定める方法として、PoWという方法が用いられている。これはいわばとても難しい計算問題のようなものであって、その問題を解くのに途方も無い時間がかかる。そして、その問題を最初に解いた人に権利が付与される。
概念的な話だけでいえば、とても難しい計算問題を一番最初に解いた人が報酬をもらえる、くらいの理解で良い。そして、PoWの難易度をコントロールすることで、ブロックチェーンにおける新しい通貨発行のスピードをコントロールすることが出来る。
なお、途方も無い計算問題を解くことは労働(Work)に例えられるため、Proof of Workとよばれる。
(補足)
このPoWは途方も無い電気代がかかってしまうため、環境への悪影響等が強く、別の方法が日々検討されている。Proof of Stakeなどが代表。
ブロック
ブロックチェーンでは、いくつかの取引(トランザクション)をまとめて「ブロック」という形で管理していく。そして上述のPoWはブロックの単位で行っていく。つまり、PoWはそのブロック内の取引が正しいことを証明する行為と取ることができる。そして、この証明が終わった場合のみ、新しくブロックを作ることができ、ブロック作成の報酬として前述の報酬をもらうことが出来る。そして新しく作成されたブロックは、ブロックの管理台帳の末尾に追加される。
このブロックの仕組みは二重支払いを防ぐ役割を担う。同じ支払い元のトランザクションが複数作られてしまった場合、どのトランザクションが有効かを決めるルールがなければ容易に二重支払いが出来てしまう。そこで、ブロックチェーンではトランザクションを整列し、それ以降の競合するトランザクションを無効にするというアプローチを取っている。つまり、先に積まれたトランザクションが有効になるというルールを取っている。
この目的だけであればわざわざブロック単位で管理する必要はないが、トランザクション単位で管理してしまうとPoWの対象数が増えてしまい非効率と考えられる。また、一日単位でトランザクションを処理するとなると、決済のタイミングが1日1回となってしまい使い勝手が悪い。そこで一定時間ごとにトランザクションのまとまりであるブロックを作り、ブロック単位でPoWを行うという方法が取られるようになった。
チェーン
PoWの結果として報酬をもらう権利を得たマイナーがブロックを作成することになるが、マイナーが悪意を持ってブロックの内容を改竄した場合はどうなるのだろうか。つまるところ、マイナーの不正を防止する仕組みが必要となる。
そこで考えられたのが、前後のブロックの整合性が取れる場合のみ、そのブロックの内容が正しいとするという考え方である。つまり、ひとつのブロックに不正をするためにはその前のブロックとも整合性を取らなければならず、ブロックの長さが長くなればなるほど整合性を保たなければならない範囲が増え、マイナーによる改竄が事実上不可能になるのである。(あくまで事実上であり、相当な労力をかければ改竄自体は可能である)
つまり、個々の取引内容についてはデジタル署名で真正性を保証し、取引を管理する台帳についてはチェーンという仕掛けを利用することで改竄されないことを保証し、これまでのすべての取引が正しいことを保証していくしくみがブロックチェーンだといえる。
そして、この前後のブロックが繋がっていく様を「チェーン」と呼んでいる。
P2P(peer-to-peer network)
ところで、上述の「取引を管理する台帳」はどこで管理されるのだろうか。中央集権的なサーバーで管理されるのであれば、サーバー管理者による改竄を避けることができない。としたときに、分散型で台帳を管理していくことが望ましい。
とはいえ、分散型で管理される個々の台帳の整合性はどのようにして取ればよいだろうか。その方法がP2Pと呼ばれる相互通信の仕組みである。
技術的に難解な部分が多いため詳細は省略するが、台帳を管理する分散された個々のコンピューターが相互に接続し合う仕組み、とでも理解しておけば問題ない。
なお、P2Pネットワークへ参加していることと、そのブロックチェーンに参加しているということは結果的にほぼイコールとなる。
コンセンサス/コンセンサスアルゴリズム
PoWなどを利用して、取引内容の検証を行って報酬を受け取るべき人を決めることを指す。この行為はそのブロックチェーンの参加者の合意によって成立するため、コンセンサス(合意)と呼ばれている。
また、それらを決めていく方法をコンセンサスアルゴリズムと呼ぶ。
ビットコイン
ブロックチェーンの仕組みを利用して作り出された初めてのサービス。ブロックチェーンとビットコインは表裏一体であり、ブロックチェーン技術を通貨として実現したのがビットコインといえる。
サトシナカモト
ブロックチェーン技術およびビットコインの生みの親。
正体不明のサトシナカモトによって投稿された論文により、ブロックチェーン技術が本格的に開発されていくようになった。
サトシナカモトが投稿した論文は下記より読むことが出来る。
https://bitcoin.org/ja/bitcoin-paper
暗号通貨(仮想通貨 / Crypto Currency)
ビットコインを含む、ブロックチェーン技術を利用して生み出された通貨の総称。単にクリプト(Crypto)と呼ばれたり、「コイン」や「トークン」と呼ばれたりする。
暗号通貨はビットコイン以外にも様々なものがあり、それぞれ特徴や用途が異なる。
なお、日本において当初は仮想通貨という呼び名が一般的であったが、資金決済に関する法律の改定に伴い「暗号資産」「暗号通貨」という名前で呼ばれるようになった。
(参考;資金決済に関する法律)
https://elaws.e-gov.go.jp/document?lawid=421AC0000000059
アルトコイン(オルトコイン)
ビットコインと同じ原理原則で実装された、異なるブロックチェーン上で運用される暗号通貨を指す。雑な言い方をすれば、ビットコインの亜種という捉え方で良く、大きく下記の3つの特徴がある。
・通貨発行のポリシーが異なる
・PoWの仕組みが異なる。もしくは別の仕組みでPoWを代替する
・ビットコインとは異なる特徴
上述のように、これらはビットコインとは別のブロックチェーンで運用される。そのため、ビットコインとアルトコインを同じブロックチェーン上で直接交換することは出来ない。
販売所
ビットコインなどの暗号通貨が欲しいとなった場合、どのように入手すればよいだろうか。入手方法は大きく3つある。
・持っている人からもらう/売ってもらう
・マイニングする
・販売所で購入する
要するに、コンビニで物を買うように暗号通貨を購入できる場所が販売所と呼ばれている。
とはいえこの手数料はとても高い。なぜなら、販売所の運営者が暗号通貨を仕入れ、マージンを乗せた上で販売するからだ。このあたりは通常の小売店と同じである。
取引所
もしあなたがビットコインを持っている状態で、他の暗号通貨を欲しくなったらどうするだろうか。他の誰かと交換するのではないだろうか。
この暗号通貨の交換をサポートする場所が取引所である。販売所とは異なりあくまでもユーザー同士の交換取引であるため、販売所と比べると手数料はとても低い。すでに何らかの暗号通貨を持っているならば、販売所ではなく取引所を利用するほうが良い。
フォーク
フォークという用語には幾つかの使われ方があるが、アルトコインの文脈では「ビットコインの実装内容をベースとして新しい暗号通貨を生み出すこと」という意味で使われる。
食事で利用するフォークのように、先の部分が分岐しているように見えるためそう呼ばれる。
プロトコル
プロコトルという用語にも幾つかの意味があるが、アルトコインの文脈においては「アルトコイン独自のルール」程度の捉え方で良い。つまるところ、独自のルール(=プロトコル)が違うからこそ別の暗号通貨ということである。
ウォレット
ブロックチェーンにおいては、上述したデジタル署名の仕組みを利用して本人性を証明していくこととなるが、毎回同じデジタル署名が利用されていたらどうなるだろうか。取引台帳が公開されていることを鑑みると、同じデジタル署名を利用している人を取引台帳上でサマリすれば、誰が幾らの暗号通貨を持っているかが一目瞭然になってしまう。当然ながらこれはよろしくない。
これらの問題を防ぐための方法として、取引の都度、秘密鍵と公開鍵を作成するというアプローチが取られるようになった。とした時に問題になるのが秘密鍵の管理であり、それを簡易にするための方法がウォレットというアプリケーションである。
なお、ウォレットと呼ばれているが、キーホルダーのほうが実態に近いというのはご愛嬌らしい。
PoS(Proof of Stake)
PoWは多大な計算量を処理するための電力消費の激しさゆえの環境への悪影響等が問題視されており、より少ない計算量で済むコンセンサスアルゴリズムが求められている。そのひとつがPoSである。
PoWのように難しい計算を解くのではなく、そのブロックチェーン上に保有する暗号通貨をロックする、つまり賭けのようにステーク(Stake)することで信頼を担保しようという考え方。
stake/staking(ステーク/ステーキング)
PoSをコンセンサスアルゴリズムに採用しているブロックチェーンにおいて、自身が保持する暗号通貨をステークすることで報酬を受け取ること。
結果的に、これらは定期預金のような役割を果たしている。
トークンエコノミー
上述のようなブロックチェーンの仕組みを利用することで、分散型の仕組みにおいても取引の安全を担保することは可能となった。とはいえ、この仕組みで担保されたのは取引の内容の真正姓だけであって、ブロックチェーンにおけるコインの価値ではない。スプレッドシートに記載された取引データと同様のものでしかなく、本来的には何ら価値がない。
とはいえ現実にはbitcoinをはじめとする暗号通貨の多くに価値がついている。これは何故かといえば、暗号通貨の価値を高める活動をしてきた先人のおかげである。つまり、本来的には価値がなかったものに対して「価値を認めていく」活動が積もった結果として、実際に価値が創造されたといえる。トレーディングカードにプレミアがつくようなイメージだ。
トークンエコノミーというものには明確な定義があるわけではないが、暗号通貨を利用して行われる経済活動全般とでも広く理解しておけば良いと思われる。
応用編
ここから先は、基礎的な部分を前提とした用語となり、多少難易度が上がる。
その用語に関連する具体的なサービス名などもあわせて紹介していく。
パブリックチェーン/プライベートチェーン
ブロックチェーンには、誰でも自由にネットワークに参加することの出来るパブリックチェーンと、参加できるユーザーが限られているプライベートチェーンがある。
bitcoinは当然ながらパブリックチェーンであり、プライベートチェーンの例としては、特定の企業内ネットワークのみで利用されるブロックチェーンなどがあげられる。
プライベートチェーンは、従来型のリレーショナル・データベースからの置き換えにより耐障害性の高いシステムを構築できるなどのメリットはあるが、システム管理者によるデータ改竄の可能性がパブリックチェーンより高まるため、利用用途は限られている(と考えられている)。
Ethereum(イーサリアム)
暗号通貨の一種であるが、ある程度複雑な(チューリング完全な)プログラムを実行できるという点でbitcoinなどとは異なる。(bitcoinにおいても簡易なプログラムの実行は可能)
Ethereumを利用することによって、従来型の中央集権的なサーバーが何らかのプログラムを処理するのではなく、世界各地に分散されたコンピューターによってプログラムを処理出来るようになる。とはいえ当然ながら制約は多く、全てのプログラムを好き勝手実行できるわけではない。
プログラマー向けのイメージとしては、AWS LambdaやGCPのCloud Functionsのようなサーバレスで実行可能なプログラムを記載可能な暗号通貨であって、その上でシステムの状態変化が永続的に記録される、といったものである。とはいえ、中央集権的な強力なサーバーを使えるわけではないため制約は多く、ブロックチェーンに状態を保存する関係上、処理速度も高くはない。
スマートコントラクト
狭義には、Ethereumで実行可能なプログラムのことを指す。
現在はブロックチェーン上で実行可能なプログラムといった使われ方をすることが多い。
ガス(ガス代)
Ethereum上でスマートコントラクトを実行するために支払うコストをガス(ガス代)という。
このガス代はスマートコントラクトの処理の難しさ等によって都度変化する。
ガス代の予測は出来るものの、車での移動におけるガソリン消費量が目的地に着くまでわからないように、スマートコントラクトの実行におけるガス代も処理が完了するまでは確定しない。
そのため、スマートコントラクト実行前に予測されるガス代よりも少し多い額を予めデポジットしておき、処理完了後に余ったガス代が返却されるという運用となっている。なお、予測に反してデポジットしたガス代が足りなかった場合、処理は途中で終了する。
(プログラマー向け)
ガス代は大きく2つの理由から導入されている。ひとつは、誰かのコンピューター上で処理をするための手数料。もうひとつは、リソースの無駄遣いを防ぐためである。例えば無限ループの処理があった場合、その処理のためにブロックチェーン全体が停止してしまう恐れがある。それを防ぐため、デポジットしたガス代以上の処理を行ってしまった場合は処理が強制的に停止するようになっている。この機構によりリソースの無駄遣いを制限することができる。
Ether
Ethereum上で利用される暗号通貨で、スマートコントラクトを実行する際のガス代をカバーする。
DApp/DApps(Decentralized Application)
非中央集権型アプリケーションのこと。
狭義には、スマートコントラクトを利用して実現されるアプリケーションというイメージで良い。とはいえスマートコントラクトだけではユーザーインターフェースが存在しないため、いわゆるWeb技術を利用してWebユーザーインターフェースもセットで構築される。
オンチェーン
ブロックチェーンを使った処理を指す。bitcoinの取引などはその典型。
ブロックチェーン上に記録するために改竄などが難しくなる反面、処理に時間がかかる。そのため、後述するオフチェーンでの処理も合わせて利用されることが多い。
オフチェーン
(特にDAppにおいて)ブロックチェーンを使わない処理を指す。
DAppにおいてはすべての処理をオンチェーンで処理してしまうと、処理速度の問題によってアプリケーションの体験が悪くなってしまう。また、例えば動画データなどの大きなサイズのものはブロックチェーンに保持することに向かない。
そのため、ブロックチェーンを使わずに従来型のリレーショナル・データベースなどを用いて一時的にデータを保存し、ある程度まとまったタイミングでブロックチェーン上に保存するといった処理が一般的になっている。このように、現状のDAppの多くはオンチェーンとオフチェーンの処理を組み合わせて構築されている。
なお、後述するサイドチェーンのように、メインのブロックチェーン以外のブロックチェーンで処理を行うことを指すこともある。
NFT(Non Fungible Token)
代替不可能なトークン、という定義ではあるが具体的に何を指すかは難しい。
当然ながら対義語は「代替可能トークン」となるのだが、これはいわば通貨をイメージすると良い。銀行振込で誰かに1000円を送金したとしたら、受け取った人は当然その1000円を使うことが出来る。とはいえこれは送信者が持っていた1000円札とは当然に異なる。それにも関わらず、1000円の価値は変わらない。暗号通貨も基本的にはこの考え方で作られており、価値は移転するものの、そのトークンと全く同じものが移転するわけではない。
他方、NFTにおいては、そのトークンと全く同じものが移転する。いわば、モノを誰かにあげたのと同じ形になる。そのため、デジタルデータであるにも関わらず、所有権のようなものを持つことが出来るようになる。とはいえ、正確には日本の民法上の所有権ではないため、扱いが難しい概念といえる。
mint
NFTを新たに作成・発行すること。Minting(鋳造)から派生した言葉。
mintすることによってブロックチェーン上にNFTの情報が保存される。
OpenSea
NFTのマーケットプレイス。
https://opensea.io/
誰でも簡単にNFTを出品したり購入できたりする。
つまるところ、mintを簡単に行えるプラットフォームといえる。
DAO(Decentralized Autonomous Organization)
自律分散型組織といわれているが、正確な定義は無い。
従来型の株式会社のアンチテーゼとして作られた概念と捉えることが出来、ブロックチェーン技術を利用して株式に代わるトークンを発行することで、より柔軟かつ公平な組織形態を目指している。
とてもざっくりな言い方をしてしまえば、柔軟に発行・移転可能な株式(のようなもの)を保持した組織であって、従来の会社組織のように特定のリーダーに依らず、自律分散的に運営されている。
このような形での組織形態での運営には従来型の思考では違和感があるが、bitcoinやEthereumはDAOの形式で生み出されたプロダクトであり、今後もDAOの形式を利用した組織は増えてくると考えられている。とはいえ現時点の日本では法律上の課題等もあり、「DAOっぽい組織」として運営されることが多い。
なお、どのような組織形態が良いのかは日々実験が繰り広げられており、全世界的に最適解を探し求めているような状況である。
発展編
応用編の内容をベースに、より発展した事象及び、個別のサービス等をみていく。
サイドチェーン
ブロックチェーン上で沢山の取引が発生すると、そのブロックチェーンの処理速度が低下してしまう。混雑している場所に行くとスマートフォンの通信速度が落ちてしまうような状況と近しい事象をイメージすれば良い。
これらの問題を解消するために考えられたのが、サイドチェーンという技術である。つまり、メインのブロックチェーンとは異なる「利用者の少ないブロックチェーン」を構築し、そのブロックチェーン上で処理を行うことで、全体としての処理速度を向上させようとしている。
なおこのサイドチェーンは、メインのチェーンとは独立して存在することも出来る。
Layer2
例えばEthereumに存在しない機能を少しだけ追加したブロックチェーンを作りたいとなった場合、どうすればよいだろうか。独自のブロックチェーンとして提供することは勿論可能だが、利用者が増えないことが考えられる。とした時に問題になるのが、コンセンサスアルゴリズムが乗っ取られてしまうというケースである。
利用者が少ないため、コンセンサスを取る手段に虚偽があったとしても、虚偽がある状態でのコンセンサスが成立してしまうというケースがある。つまり、ブロックチェーンのセキュリティは参加者が増えれば増えるほど高まる反面、参加者が少なければそのセキュリティは脆いものとなる。
としたときに、Ethereumのような参加者の多いブロックチェーンをベースとして必要な機能だけを拡張することができれば、Ethereumのセキュリティを利用しつつ独自機能の提供が可能となる。そのような考え方をベースに考えられたのが、Layer2ソリューションという考え方である。
サイドチェーンと似たような概念ではあるが、サイドチェーンはメインのブロックチェーンとは独立したものとして存在できるが、Layer2ソリューションはあくまでもEthereum(など)のメイン(=Layer1)のブロックチェーンの存在を前提としている点で異なる。
Layer1
Layer2ソリューションが依存する先のブロックチェーン。狭義ではEthereumのことを指す。
トラストミニマム
Layer1のEthereumブロックチェーンに対しての信頼がある場合、それらをベースにして作られたLayer2ソリューションに対しても、同様の信頼が持てるという考え方。
つまり、利用者においては、Layer2ソリューションの運営者を信頼すること無くそのブロックチェーンを利用できるようになる。
Polygon
ブロックチェーンのLayer2ソリューションのひとつ。現在はEthereumのみがサポートされているが、将来的には他のブロックチェーンのサポートも予定している。
Ethereum上に構築するよりもスケーリングの面で優れており、Ethereumよりも安価なガス代で利用できる。また、Polygonには様々なソリューションが含まれており、ブロックチェーンにおけるFirebaseみたいな状態になりつつある。
https://polygon.technology/
https://docs.polygon.technology/docs/home/new-to-polygon
Avalanche(AVAX)
DAppを作るためのオープンソースのプラットフォーム。また、それらを動かすエコシステム全体を指す。AvalancheではAVAXというネイティブトークンが使われておりり、コンセンサスアルゴリズムのスピードに特徴がある。
https://www.avax.network/
https://docs.avax.network/
Polkadot
複数のブロックチェーンを繋げていくためのプラットフォーム。
現在のブロックチェーンはそれぞれが独立しており、例えばbitcoinを利用してEthereumで作られたサービスを使うことが出来ない。これを行うためには、現在はbitcoinをEthereumに交換した上でEthereum上のサービスを使う必要がなる。この部分の摩擦をなくし、ブロックチェーン同士のやりとりをより行いやすくしていくことを目的に作られている。
なお、PolkadotはEthereumの共同創設者であるギャヴィン・ウッド氏を中心に作られている。
https://polkadot.network/ja/
パラチェーン
Polkadotにおいて、後述するリレーチェーンに接続しているチェーン。パラチェーンはリレーチェーンに接続しているが、それぞれが独立したブロックチェーンとなる。そのため、各チェーンの中で独自のトークンを発行したり、独自の経済圏を構築していくことができる。つまるところ、実際のアプリケーションが利用するブロックチェーンを指す。
その一方でパラチェーンにおいてはリレーチェーンのセキュリティを利用することができるため、独自のトークンを発行しつつ、高いセキュリティを維持できる。
なお、リレーチェーンに接続できるパラチェーンの数は有限であり、オークションのような形式で枠を獲得していく。
リレーチェーン
Polkadotのコアな部分であり、パラチェーンと接続することだけに特化しているチェーン。
接続のみに特化しているため、スマートコントラクトを使うことが出来ない。
Kusama
Polkadotに類似した構造をもつ実験的なネットワーク。実際のPolkadotよりも安いガス代で利用することができ、機能の実験等をPolkadotとほぼ同様の環境で行うことができる。雑にいえばPolkadotのテスト環境。
AsterNetwork
Polkadotのパラチェーンとして接続された、日本発のブロックチェーン。Polkadot上でのDAppハブとして機能させることを目的として作られている。また、Ethereumとも接続している。開発者向けのサービスを提供していたり、AsterNetwork上でのアプリケーション開発時にAsterトークンが貰えたりと、開発者にとってのインセンティブの大きなプラットフォームといえる。
https://astar.network/
DeFi(Decentralized Finance)
ブロックチェーン上で構築される金融サービスを指す。
DEX(Decentralized Exchange)
金融機関のような中央集権的な形ではなく、スマートコントラクトで管理・運用されている暗号通貨の取引所の総称。DEXを利用することで、ウォレットを通じてユーザー同士で暗号通貨の直接取引が可能になる。従来型の金融機関と異なり、ほぼ全自動化されており非常に安価で利用できる。
Compound
DeFiの代表的なプロダクトのひとつ。Ethereum上に構築された、暗号通貨の貸し出しプラットフォーム。
暗号通貨を貸し出した場合には金利を得ることが出来、借りる側の目的としては仮想通貨の運用や空売りなどがあげられる。また、貸借のどちらを行ったとしてもCOMPトークンが付与される。
また、Compoundのプロトコルを利用したプロダクトが複数作られており、DeFiのプラットフォームとして成立しつつある。
https://compound.finance/
MakerDAO
分散型ステーブルコイン「DAI」を作った最初のコミュニティ。こちらもDeFiの代表的なプロダクトのひとつ。Maker Foundationが開発を主導しているが、Maker Foundation は解散し、MakerDAOコミュニティによる運営への移行が予定されている。
https://blog.makerdao.com/foundation_dissolution/
DAIにおいては、1DAI ≒ $1 を維持するような仕組みで作られており(これをステーブルコインと呼ぶ)、価格が安定していることもあって支払手段として用いられることが多い。また、DeFiにおいてはDAIの保持が前提となっているケースも多い。
https://makerdao.com/ja/
DeSci(Decentralized Science)
サイエンス分野における、分散型のサイエンスシステムの構築および実践を指す。
現状のサイエンス分野においては論文が主な成果物となるが、論文発表時における査読は無償で行われていたり、雑誌論文などにおいてすら出版費用を研究者等が負担することが通例となっている。科学は公共財と呼べるものにも関わらず、結果的には出版社にのみ富が集まる構造となってしまっており、この部分の課題解決のアプローチとしてDeSciという仕組みが考えられはじめている。
具体的には、査読を行った際や論文が引用された際に何らかのトークンを受け取れる仕組みなどが考えられている。
https://descifoundation.org/
オラクル
スマートコントラクトでは、「とある条件を満たした時に資金を移動する」といった条件を設定することができる。とはいえ、「明日の天気が晴れだったら」という条件を設定した場合、スマートコントラクトだけでは条件の成否を判断できず、処理の執行を行うことが出来ない。
そのため、信頼のおける情報源から情報を取得してくるというアプローチを取らざるを得ない。そして、その情報源の内容を検証し、ブロックチェーンとの間でデータの橋渡しをする役割が求められる。この役割のことをオラクルと呼ぶ。
とはいえオラクルの情報源のデータの改竄や、オラクルとスマートコントラクトのデータのやり取りの改竄などの可能性は否めず、常に信頼できるものではないという矛盾を抱えているが、現状ではやむを得なく利用されている。
ブリッジ
異なるブロックチェーンを接続するための仕組み全般を指す。
上述したPolkadotなどもブリッジの機能を提供している。
IPFS(InterPlanetary File System)
ブロックチェーン技術においては、過去全てのデータを全てのフルノードで保持する必要があるためデータ量が膨大になる。そのため、画像や動画などのサイズが大きいデータまでブロックチェーン上で保持してしまうと実運用が不可能になるレベルでストレージが圧迫されてしまう。そこで、サイズの大きいデータについては外部ストレージに保存するという運用が取られている。
そのファイル保存時に使われることが多いのがIPFSと呼ばれるプロトコルである。インターネットで主に使われるHTTPとは異なり、IPFSではコンテンツのハッシュ値を利用してコンテンツのデータを取得する。つまり、コンテンツを保持しているオリジナルなサーバーがダウンしていたとしても、同じハッシュ値をもつデータを別のサーバーから取得することが出来る。この点から、コンテンツ指向形プロトコルと呼ばれる。
IPFSではP2Pネットワークがコンテンツをシェアしあいながら保存する形式を取っているため、コンテンツの保持者とコンテンツを元に収益を得る人が一致しない。そのため、コンテンツの保持に何らかのインセンティブをもたせる必要がある。このインセンティブがFilecoinであり、IPFS上にストレージを提供した時間や量に応じてこのFilecoinが与えられる。
NFT Storageなどが実装例。
https://nft.storage/
Filecoin
https://filecoin.io/
開発ツール類
EVM(Ethereum Virtual Machine)
Ethereumのブロックチェーン上でスマートコントラクトを実行するために作られたプログラムの実行環境。
JavaでいうJVMのEthereum版といったところ。
Solidity
Ethereumのスマートコントラクトを書く場合に利用されることの多い開発言語。
Truffle
Ethereumのスマートコントラクト開発時に利用可能なフレームワーク。
テストツールやデプロイ支援ツールなどが含まれている。
https://truffleframework.com
Infura
ブロックチェーン上にデプロイしたスマートコントラクトを、WebAPIから扱うことが出来るサービス。JSON-RPCでAPIとして定義されたメソッドを呼び出し、ブロックチェーン上のデータ取得などが出来る。また、IPFSのファイル追加・取得などにも対応している。
https://infura.io/
https://blog.infura.io/getting-started-with-infura-28e41844cc89/
Rinkeby
Ethereumの開発ネットワーク
他に Ropsten や Kovan などが利用されている。
スマートコントラクト開発時のデプロイ等に利用するトークンは、利用するネットワークごとに発行が必要。Rinkeby の場合は下記より発行できる。
https://faucet.rinkeby.io/
今後も適宜追加していきます。
Web3.0についてワイワイ話せる人を探しているので、適当に声をかけていただけると嬉しいです。
まいにちのご飯代として、よろしくお願いします。