「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
ブロックチェーン、ブロックチェインは、
分散型台帳技術 †
仕組み †
この分散型台帳は、
使用により、自律的に管理される。
Peer to Peerネットワーク †
- 分散型タイムスタンプ・サーバ(ノード)同士をPeer to Peerで接続するネットワーク。
- 各ノードが対等に直接通信することで、ユーザー同士のやりとりを行う。
- このため、単一障害点(SPOF)を持たない。
分散型タイムスタンプ・サーバ †
- 複数のノードから構成され、
- 多数の善良なノードの存在により、
- 悪意あるノードの攻撃から
守られる。
スマート・コントラクト †
契約行動をプログラム化し、自動的に実行しようとする仕組み
- ブロックチェーン上で動くエージェント・プログラム
- 特定の条件を満たした場合に契約を行うなど、さまざまな業務処理を記述可能
偽造防止・暗号化技術 †
公開鍵暗号技術により電子署名を用いて
を両立したり、
している。
課題 †
- ネットワークを介した各台帳情報の整合性確認に一定の時間を要する。
- リアルタイム性が求められる即時決済などの用途には向いていない。
- 適用領域を正しく見極める必要がある。
詳細 †
- ブロックチェーンは、ブロックと呼ばれる順序付けられたレコードの連続的に増加するリストを持つ。
- 各ブロックには、タイムスタンプと前のブロックへのリンクが含まれている。
コンセンサス・アルゴリズム †
これにより、悪意あるノードの攻撃からブロックチェーンのデータが守られる。
Proof-of-work(PoW) †
- オープン型のブロックチェーンで採用される。
- 計算に時間のかかる値を最初に計算した者が、
次のブロックを生成することができる。
- ハッシュ値と取引データに32bitの数値を添加し、この状態で確定前のデータのハッシュを取る。
- すると、とても小さい数になることがある。
- ターゲットの数値が決められており、それより小さくなる値(ナンス)を探す。
- 総当りで試して、かなり低い確率でその値(ナンス)が割り出される。
- 割り出せたら、その値(ナンス)を持って、ブロックを仮確定する。
Proof-of-stake(PoS) †
- オープン型のブロックチェーンで採用される。
- 最も保有をしている参加者がブロック作成権限を持つというルール。
- Proof-of-work(PoW)と比べ、マシン・リソースが少なくて済むが、
長期保有者が増えて市場の流動性が低くなることが考えられる。
Proof-of-importance(PoI) †
Byzantine Fault Tolerance(PBFT) †
- Hyperledger Fabric等に用いられる。
ブロック †
主鎖ブロック †
- 起源ブロックから現在のブロックまでの最長の一連のブロックで構成されている。
- ブロックの内容は直前のブロックのハッシュ値に依存する。
- 主鎖の同一性は、起源ブロックがもつハッシュ値を究極的な拠り所とする。
- ブロックの内容は、一度記録すると、ブロック内のデータを遡及的に変更できない。
- 直前のブロックのハッシュ値に依存するため、以降のブロックを全て破棄しない限り。
- 以降のブロックを破棄して再生成する処理は、
前述の「コンセンサス・アルゴリズム」の計算量的に実行不可能とされている。
- このため、信頼性は、ハッシュ値の衝突の頻度による。
孤児ブロック †
- 以下のケースで分岐(フォーク)が発生する。
- 同時に複数のブロックが採掘された場合
- 悪意のあるノードがネットワークを混乱させようとした場合。
- 分岐(フォーク)の解決
- 分岐(フォーク)したチェーンの中から一番長い枝(ブロックが多い枝)が主鎖ブロックになる。
- 更に、一定以上の差がついたら、孤児ブロックは捨てられインセンティブは受けられない。
(このインセンティブにより、一番長い枝に採掘者が集中するようにしている)。
信頼=参加者の選定と動機 †
- ブロックチェーンにおける、セキュリティの根幹。
- 参加者の選定と動機(コンセンサス・アルゴリズムとも関係)が、
どのように設計・構築・運用されているか?がポイントになる。
オープン / クローズド †
- クローズド
クローズドな場所から参加者を募る。
(初めから、ある程度、信頼のおける人、組織を選定して運用)
分散型台帳の場所 †
台帳(データベース)がどこにあるか?
- 全ノードが全台帳(データベース)を共有
ビットコインでは全ての参加者各ノードが台帳(データベース)を共有している。
- 一部のノードが
- 全台帳(データベース)を共有。
- 部分的に台帳(データベース)を共有
参考 †
応用 †
特徴 †
- 高い透明性や信頼性をインターネット上で確保できる。
- 決済取引以外にも、多様な用途への応用が期待されている。
医療履歴の共有 †
治療、 投薬、 検査、リハビリ等のデータを
記録・共有し、保険業者、医療機関、患者をつなぐ。
トレーサビリティー †
サプライチェーン情報を共有するトレーサビリティーの仕組み。
著作物の保護 †
著作物使用(利用, 頒布, 複製, 改変など)の認可や課金の仕組み
関連 †
認証 †
参考 †
分散型台帳技術 †
コンセンサス・アルゴリズム †
とってもやさしいビットコイン †
CIO Magazine †
NTTデータ †
- NTT DATA BLOCKCHAIN INNOVATION