More Related Content More from Masanori Saito (20) LiBRA 07.2021 / ブロックチェーン5. NFT: Non Fungible Token/非代替性トークン
5
コンテンツのタイトル
コンテンツに関する説明
発行する数量
コンテンツの作成日やアーティスト名
価格
紐付けられたコンテンツ
NFT
交換所でNFTを発行
NFT
NFTを購入
海外
OpenSea
Rarible
Makersplace
GhostMarket
SuperRare
Valuables など
国内
Coincheck NFT(β版)
Nanakusa など
仮想通貨で支払い
特定のデジタルデータに付与される偽造不可な鑑定書あるいは証明書
「このトークンを誰が保有しているのか」を明確にすることができ、権利を明確にすることができる
10. 取引 a
取引 b
取引 c
・・・
ブロック
ブロックチェーンの仕組み
10
ブロックA
ブロックB
ブロックC
①「ブロックC」を追加する権利を持つ
ノードが、全ノードに「ブロックC」を
ブロードキャスト*
*同時通報、不特定多数に同じ情報を同時に送ること
②「ブロックC」が正しいことを検証して追加
③全体が「ブロックCが最新である状態に遷移
全ノードはP2Pネットワークで対等な関係で接続される
全ノードが同じ内容を同時に共有= 共有台帳>分散台帳
検証可能なデータ構造を有し全員で正しさを保証し合う
P2P/Peer to Peerネットワークとは、複数の端末間で通信を行う際のアーキテクチャのひとつで、対等の者(Peer)同士が通信をすることを特徴とする通信方式。
権限や信頼性を保証された
特定の管理者を不要にする
12. ブロック・チェーンの構造 / Proof of Work
12
取引履歴
ハッシュ値
ナンス値
取引履歴
ハッシュ値
ナンス値
ハッシュ
関数
ブロック#100 ブロック#101
Proof of Work
1. 「ハッシュ値」の頭を”000”にする「ナンス値」を見つける作業が「マイニング」
2. マイニングをする人たち(マイナー)が、一番速く「ナンス値」を見つける競争を行う
3. 勝者は、がブロックを追加でき、その報酬として、一定額の仮想通貨が支払われる
ブロック
追加
マイナー
13. ブロック・チェーンの構造 / 改竄が困難な理由
13
取引履歴
ハッシュ値
ナンス値
特定の取引を改竄しようとしても、以降のブロックのハッシュ計算を全ての参加ノードでやり直す
必要がある。
新たなブロックが追加されるよりも早く、この計算を行わなくてはならない。
論理的には「改竄可能」だが、それだけの計算能力を確保できず、実質的には「改竄不能」となる。
改竄したブロックから分岐させ、こちらを正当化しようとしても、ブロックが長くチェーンされて
いるほうが正当と見做され、短い方は、ブロックチェーンから排除されてしまう。
正当なブロックチェーンもブロックが追加されてゆくため、これを追い越して、追加することは、
計算資源を確保できず、実質的に難しい。
14. ブロックチェーンのメリットとデメリット
14
中央集権的な仲介者を排除できる
膨大な管理コストがかからない
特定の権威や権力に支配されない
取引コストが限りなくゼロになる
取引履歴の改ざんが実質的に不可能
取引内容は全て公開されており透明性が高い
但し、個人情報とは結びついていないためプライ
バシーが守られる
取引内容が改ざんされておらず正しいかどうかは、
分散した多数の管理主体によって検証される
単一の中央管理者を信頼する必要がない
単一障害点がないので、システム全体が停止
するリスクは低い
スループット(処理時間や応答速度)を上げ
ることは難しい
改竄できないので、修正や変更もできない
システム全体のアップグレードは、参加者全
員の合意が必要になる
メリット デメリット
取引相手や仲介者が信頼できない場合の取引
一旦登録したら一切の改竄ができないことがメリットになる取引
膨大なシステム投資ができない場合でのシステム構築
17. 送金決済 :Ripple
著作権管理 :Binded
第三者証明 :Factom
電力売買 :TransActive Grid
貿易金融 :National Trade Platform
鑑定書管理 :Everledger
選挙投票 :Flux
仮想通貨 :BitCoine
*事例(リンクしています)
ブロックチェーン
送金決済
仮想通貨
電力売買
選挙投票
第三者証明
貿易金融
著作権管理
鑑定書管理
様々な取引や価値交換における
信頼性を確保するための汎用的な技術
〜現 在
ブロックチェーンの適用範囲の拡大
17
ブロックチェーン
ビットコイン
Bit Coin
ビットコインにおける取引の
信頼性を実現するための技術
2008年〜
21. 従来取引の基本的な仕組み
21
取引
取
引
情
報
承
認
情
報
1. 利用者(A)は、中央管理者に取引申請を送る
2. 中央管理者は、申請者と内容を確認し不正があれば排除する
3. 中央管理者は、自己のデータベースに取引情報を書き込む
4. 中央管理者は、取引相手(B)に取引情報を通知する
5. データベースの直接の参照権限は管理者のみ(管理者に改竄されると外部からは分からない)
A B 取引:
AとBの間での約束事を誰もが参照できるように記録に残すことで、
両者の約束事が成立したとみなす行為
AがBへ送金する
AがBへ権利を譲渡する
AがBに約束する など
記憶内容は中央管理者によって管理される
取引の公平性と正当性は中央管理者が保証する
一度記録されたことを改竄しないルールを持つ
中央管理者が取引記録を持ち・管理する
中央管理者が信頼できるので改竄はしない(はず)
可用性や信頼性を担保するために膨大な仕組みを持つ
長年の実績と資金力・保証力によって信頼する
中央管理者
公正・公平な信頼できる組織
銀行・証券取引所社 など
取引台帳
集中データベース
23. ブロックチェーンの基本的な仕組み
23
取引
取
引
情
報
承
認
情
報
1. 取引は取引情報を利用者(A)が発信することで始まる
2. 利用者(A)は取引情報に暗号署名し、ネットワークに参加する他の分散データベースに送られる
3. 各分散データベースは、受け取った取引情報を自己のデータベースへ書き込む
4. 合意形成の仕組み(コンセンサス・アルゴリズム)により、データベース間の整合性を保証する
5. 合意形成により取引が承認され取引情報は過去履歴を含め参照可能となる(参照権限は設定可能)
6. ネットワーク参加者の一人である取引相手(B)も取引が承認されたことを知る。
A B
オープン型 :ネットワークへの参加が自由
クローズド型:ネットワークの参加を制限・許可
コンセンサス・アルゴリズムにより
各データベースの整合性を保証する
取引:
AとBの間での約束事を誰もが参照できるように記録に残すことで、
両者の約束事が成立したとみなす行為
AがBへ送金する
AがBへ権利を譲渡する
AがBに約束する など
記憶内容が参照可能であること
公平な合意形成の仕組みがあること
一度記録されたことが改竄できないこと
分散されたデータベースで同じ取引記録を持つ
分散化されているので改竄が困難
暗号化されているので、計算に膨大なコストがかかる
参加者数が増るほど計算困難となり実質不可能となる
取引台帳
分散データベース
24. 取引のオープン化とはどういうことか
24
口座 A
口座 B
口座 C
Aから出金
Bに入金
Cに入金
Aに入金
・
・
・
12:01
12:02
12:04
12:18
マスターファイル トランザクション・データ
・
・
・
Aから出金
Bに入金
Cに入金
Aに入金
12:01
12:02
12:04
12:18
取引に関わる人が対等な関係
管理・制御の権限をだれも持たない
トランザクションの合計を都度結果を計算
取引に
関わる人
・
・
・
取引マスターを管理・入力を制御する
権威や権限を与えられている企業や機関
銀行や保険会社などの金融機関、証券取引所や役所などの公的機関
25. 取引 a
取引 b
取引 c
・・・
ブロックB
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
ブロックC ブロックD ブロックE
なぜブロック・チェーンというのか、なぜ改竄できないのか
25
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
ブロックA
前ブロックの
ハッシュ値
ある取引を改竄しようとすると膨大な計算が必要となり実際上は不可能=改竄できない。
特定の取引を改竄する。
その取引を含むブロック以降の全てのブロックのハッシュ値を計算し直す必要がある。
一連のブロックの繋がりを全ノードで同時に改竄しなければならない。
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
前ブロックの
ハッシュ値
取引 a
取引 b
取引 c
・・・
ブロックB ブロックC ブロックD ブロックE
改竄
改竄された取引以降の全ブロックのハッシュ値を計算し直し、改めて以降の全ブロックを全てのノードに追加し直す必要がある。
前ブロックをハッシュ値に変換し次ブロックの中に組み入れ。これを繋げてゆく。
ハッシュ値とはハッシュ関数によって生成される固定長の数字
同じデータからは必ず同じ文字列が生成される。
ハッシュ値から元のデータを復元できない。
29. ブロックチェーンの3つの特徴/用途
29
秘匿性は求められないが
偽造されては困るもの
第三者による
確認・検証が求められるもの
不動産や動産の登記情報
建築工事中の建物データ
自動車の試験データ
契約内容
決算内容 など
所有者と資産との関係が
明確でなくてはならないもの
取引履歴が失われることなく
保持されるもの
不動産や動産の登記情報
株取引やレンタルの情報
動画や音楽などの著作権
個人の履歴や資格、与信
IoTデバイス など
万が一でも停止すると
影響の大きいシステム
特定の組織や権力に
支配・統制されると困るもの
航空機や鉄道の発券予約
マーケットプレイス
クラウド・ソーシング
ライドシェア
電力や農産物の取引 など
データの連結・連続
情報資産と資産所有者
との紐付け
中央管理者なしで
データと運用を維持・管理
コストをかけずに
取引の正当性・信頼性・公平性を
保証する
DAO(自律分散型組織)
Decentralized Autonomous Organization
33. ブロック追加の仕組み
33
コンセンサス・アルゴリズムによってブロックを生成した参加者には、そのブロックを追加できる
権利が与えられる。
ブロックチェーン・ネットワークの過半数の参加者によって、そのブロックが最初に生成されたと
承認されれば、それが正当なブロックとみなされブロックが追加される。
仮に最初にブロックを生成しても、間違った取引を含んでいた場合には、そのブロックは他のノー
ドから承認されず、次にブロックを生成したマイナーがブロックを生成し、それを他のノードが承
認する。
ビットコインなどのパブリック型ブロック・チェーンでは、自分の生成したブロックの追加を承認
されたマイナーは報酬を受け取ることで、ブロック生成の動機付けが与えられる。
このようにして生成されたブロックを参加者が多数決で承認しながら、常に正しいブロックが同期
されるような合意形成(コンセンサス)を行うことで台帳への記録作業が継続して行われている。
マイナー
(採掘者)
ブロック
太郎
マイナー
(採掘者)
コンセンサス・アルゴリズム
Proof of Work:ハッシュ計算の勝者にブロックを作る権
利が与えられる。但し、その計算のために大量の電力が消
費される。
Proof of Stake:コインの所有量の割合によってブロック
を作る権利が与えられる。
Proof of Importance:各アカウントに(コインの量や送
信回数などで決まる)重要度スコアが割り当てられ、重要度
スコアが高いほどブロックを生成できる可能性が高まる。
PBFT(Practical Bizantine Fault Tolelance):パブ
リック型ではなく管理者がいるプライベート型で、合議制
によりトランザクションを承認する。現実的な処理可能な
参加者(ノード)数は15程度。
40. スマート・コントラクト
40
自動実行:代金支払い+商品送付
1.商品を注文
スマート
コントラクト
スマート・コントラクト = 自動実行される契約
契約の条件確認や履行までを自動的に実行させる仕組み
例:自動販売機
予め定められた契約条件
利用者が必要な金額を投入する
特定の飲料のボタンを押す
上記条件が満たされたとき
自動的に特定の飲料を利用者に提
供するという契約が実行される
契約の
事前定義
イベント
発生
契約実行
価値移転
決 済
プログラムにより自動実行
管理者
が定義
契約条件をプログラムとして記述して
おき、ある条件が満たされたときに自
動的に決められた処理がおこなわれる。
Ethereum
Hyperledger Fabric
R3 Corda
ブロックチェーン・プラットフォームとして
スマートコントラクトを用いた活用例
DApps(自律分散型アプリケーション):スマートコントラクトを用い全てをコードに
従って自動的に処理するアプリケーション。仲介コストの低下や中央管理者によるコントロー
ルの排除、内部での改ざんや外部からの攻撃リスクの抑制などの様々なメリットが期待される。
DAO(自律分散型組織):組織の意思決定やその実行などのガバナンスを全てスマート・
コントラクトに従って行う企業や組織。通常の企業では取締役会など中央管理者によって意志
決定されているのに対し、中央管理者が存在せず給与からマネジメントに至るまで全てがス
マート・コントラクトによって実行される。
41. ブロックチェーンが役立つ6つの要件
1. 一貫し、共有されたデータストア(データを保存するソフトウェア)が必要か?
ブロックチェーンは、過去から一貫したデータストアを提供するものだ。それが不要なら、ブロック
チェーンは要らない。 電子メールやスプレッドシートを検討すべき。
2. 二つ以上の実体がデータを提供する必要があるか?
ブロックチェーンは複数の提供者からのデータに用いられるのが一般的。単一の実体からのデータの場合
は、データベースを検討すべき。
3. 一度書き込まれたデータ記録は、決して更新も削除もされないか?
ブロックチェーンは過去のデータの変更を許さない。それゆえ、データを強力に監査できる。 更新や削除
がされる場合、データベースを検討すべき。
4. 機密の識別子がデータストアに書き込まれることはないか?
個人情報のように長期的な守秘を必要とする機密のデータは、たとえ暗号化されていてもブロックチェー
ンには書き込むべきではない。 暗号化機能の高いデータベースを検討するべき。
5. 書き込みアクセス権のある実体が、データストアを誰がコントロールすべきか決めるのは
難しいか?
データストアを誰が運用するかについて、信用やコントロールの問題がなければ、従来型のデータベー
ス・ソリューションで十分だ。マネージドデータベースを検討すべき。
6. データストアへのすべての書き込みの、改ざん防止されたログが欲しいか?
何がいつ起こったか監査する必要がなければ、ブロックチェーンは要らない。 データベースを検討すべき。
Blockchain Technology Overview (NIST)より