暗号資産(仮想通貨)やNFTには、
特にセキュリティ(データの破壊や改変)が重要になってくる。
これらを支える技術として使用されているのが、
ブロックチェーン(Blockchain)である。
つまり、Web3.0を駆使して何かを作る上では、
ブロックチェーン技術やその理解が必須となる。
なので、その基礎を個人的理解を深めるためにアウトプットしていこう。
※今回はめちゃくちゃボリュームが多いので、特徴は別でアウトプットする。
参照元:Freshtrax「ブロックチェーン技術の仕組みが大きな影響を与える15の業界」
ブロックチェーンとはデータベース技術の1つ。
ブロックという単位でデータを管理し、
それを鎖(チェーン)のように連結してデータを保管する技術だ。
※ブロックチェーン(Blockchain)
暗号技術を使ってリンクされたブロックと呼ばれる
レコードの増大するリストである。
各ブロックには、
前のブロックの暗号化ハッシュ 、タイムスタンプ、トランザクションデータ(一般的にはマークルツリーで表される)が含まれている。wikipediaより。
データを記録・保存するという点においては
従来のデータベース(RDBMSやKVS)と同じのようだが、
その用途やアーキテクチャがまったく違うらしい。
※RDBMS
「リレーショナル・データベース・マネジメント・システム」の略でリレーショナルデータベースを管理するためのソフトウェアのこと。
「リレーショナルデータベース」とは、データベースのうちデータを表に似た構造で管理するものを指す。※KVS(Key-Value Store)
KeyとValueを組み合わせる単純な構造からなるデータストア。
Keyを指定すると、Keyに関連付けられたValueが呼び出される仕組み。
ブロックチェーンの始まりは、
2008年にsatoshi nakamoto氏の論文「Bitcoin」に初めて概念が登場した。
ネットワーク内で発生した
一定時間における取引をトランザクションとし、
そのトランザクションの履歴をブロックと呼ばれる単位にまとめる。
そのブロックは永続化する際に1つ前のリストに連結され、
不変な記録を作成する。
※トランザクション
商取引、売買、執行、取扱、議事録などの意味を持つ英単語。ITの分野では、取引記録などの意味の他に、
ソフトウェアの処理方式の一つで、互いに関連・依存する複数の処理をまとめ、一体不可分の処理単位として扱うことを指す場合が多い。
各ブロックには取引の履歴と
前のブロック内容のハッシュも格納される。
※ハッシュ(Hash)
「寄せ集め」の意味。
データを固定長のランダムに見えるハッシュ値に不可逆変換して置き換えること。 配信されたメールのメッセージが改ざんされていないか、Webサイトからダウンロードしたファイルやメディアからコピーしたファイルのデータが破損していないかを確認するために使う。
なので過去の履歴を改ざんしようとしても、
変更したブロックから算出されるハッシュ値が変わり、
その後のすべてのブロックのハッシュ値も変更する必要があるので
改ざんが非常に難しくなったというのが仕組みである。
Bitcoinの論文で登場した理論でもある、もっともメジャーな用途とされ、
暗号資産の取引履歴をブロックチェーンに保存し、
高度なセキュリティと非中央集権化を実現している。
The Web3.0!といった特徴である。
ブロックチェーンは履歴の改ざんが難しく、
そのトレースが可能という特徴からサプライチェーンの管理に利用されている。
食品の原材料をどこの誰が生産し、
それがどういう経路で店舗まで流通しているのか?
といった情報をブロックチェーン管理し、
安全性のチェックやフードロスの回避などに利用されている。
実際にIBM Food Trustという
食品の安全性とサプライチェーンの効率向上のためのサービスもあるようだ。
SDGsとの相性は非常に良いかもしれない。
スマートコントラクトとは、
第三者を介さずに契約を自動実行する仕組みのこと。
それ自体はブロックチェーン上で動作しなくても問題はない。
実際、スマートコントラクトの例としてよく自動販売機が説明されていた。
例)自動販売機は利用者が硬貨を投入し、
自動販売機のルールにしたがって自動的に取引契約を行う。
この取引契約とは、
「自動販売機の購入ボタンがおされたとき、
商品を購入できるお金が投入されており、その商品が売り切れていなければ
商品を利用者に渡し、お金を売り手に渡す」
というような取引だ。
スマートコントラクトをブロックチェーン上で実行する場合、
ブロックチェーンで規定のルールに従って
トランザクションまたは
外部の情報をトリガーにして任意のプログラムを実行する。
ブロックチェーン上でスマートコントラクトを行う利点は、
契約の透明性という部分が大きい。
また、履歴はP2Pネットワーク上で
ブロックチェーンに記録されるため、改ざんの心配もない。
さらに契約に関連する作業(契約書締結など)が不要になるため、
事務コストなどの削減も可能と言われている。
実際2015年にリリースされたEthereum(イーサリアム)では、
パブリックブロックチェーンでスマートコントラクトが
実行可能なプラットフォームを提供しているようだ。
NFTとは、Non-Fungible Tokenの略称であり、
日本語だと「非代替性トークン」と呼ばれています。
「非代替性」とは、「替えが効かない」という意味で、
唯一性が担保されるという意味が内包されている。
ここでいう「トークン」は、データやモノ、証明などを意味している。
最近はデジタルデータ(元々コピーが簡単にできる)を
「他にはない唯一のもの」として証明し、その所有権を取得する、
また希少価値の高いデータについては高額で取引されたりもしている。
(NFTマーケットプレイスは現在進行系で盛り上がっている。)
技術的な側面からいうと、
NFTとはERC721という規格のスマートコントラクトと呼ぶようだ。
(いまいちよくわからんので補足)
※スマートコントラクト(再掲)
ある契約・取引について
「特定の条件が満たされた場合に、決められた処理が自動的に実行される」
といった、契約履行管理の自動化を指す。
Ethereum(イーサリアム)
Ethereumは、スマートコントラクト機能を持つ
分散型アプリケーションプラットフォームのこと。
このプラットフォーム内で使用される仮想通貨をEther(イーサ)という。
ERC
Ethereum Request for Commentsの略で、つまりEthereumのRFCです。
ERC721というのは721番目に提案されたEthereumにおける
スマートコントラクトの規格を指す。RFC
インターネットで用いられるさまざまな技術の標準化や運用に関する事項など幅広い情報共有を行うために公開される文書シリーズのこと。
つまり、この規格を使用することで、Ethereum上で
・NFTの所有権
・NFTの取引履歴
が記録可能になるそうだ。
現状NFTはデジタルアート作品やゲームキャラクターなどの
デジタルデータを対象とすることが多いが、
現実世界の物(スニーカーとか車)を対象とする実例もあった。
参考:日本のNFT事例20選【第二弾】