「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
ブロックチェーン、ブロックチェイン
分散型台帳技術 †
分散型ネットワークのデータベース
仕組み †
このデータベースは、
使用により、自律的に管理される。
Peer to Peerネットワーク †
分散型タイムスタンプ・サーバ(ノード)同士をPeer to Peerで接続するネットワーク。
分散型タイムスタンプ・サーバ †
- 複数のノードから構成され、
- 多数の善良なノードの存在により、
- 悪意あるノードの攻撃から
守られる。
詳細 †
- ブロックチェーンは、ブロックと呼ばれる順序付けられたレコードの連続的に増加するリストを持つ。
- 各ブロックには、タイムスタンプと前のブロックへのリンクが含まれている。
合意形成アルゴリズム †
- これにより、悪意あるノードの攻撃からブロックチェーンのデータが守られる。
- ブロックチェーンにおける、セキュリティの根幹。
Proof-of-work(PoW) †
計算に時間のかかる値を最初に計算した者が、次のブロックを生成することができる。
- ハッシュ値と取引データに32bitの数値を添加し、この状態で確定前のデータのハッシュを取る。
- すると、とても小さい数になることがある。
- ターゲットの数値が決められており、それより小さくなる値(ナンス)を探す。
- 総当りで試して、かなり低い確率でその値(ナンス)が割り出される。
- 割り出せたら、その値(ナンス)を持って、ブロックを仮確定する。
Proof-of-stake(PoS) †
Proof-of-work(PoW)の欠点を克服させた「合意形成アルゴリズム」。
ブロック †
主鎖ブロック †
- 起源ブロックから現在のブロックまでの最長の一連のブロックで構成されている。
- ブロックの内容は直前のブロックのハッシュ値に依存する。
- 主鎖の同一性は、起源ブロックがもつハッシュ値を究極的な拠り所とする。
- ブロックの内容は、一度記録すると、ブロック内のデータを遡及的に変更できない。
- 直前のブロックのハッシュ値に依存するため、以降のブロックを全て破棄しない限り。
- 以降のブロックを破棄して再生成する処理は、
前述の「合意形成アルゴリズム」の計算量的に実行不可能とされている。
- このため、信頼性は、ハッシュ値の衝突の頻度による。
孤児ブロック †
- 以下のケースで分岐(フォーク)が発生する。
- 同時に複数のブロックが採掘された場合
- 悪意のあるノードがネットワークを混乱させようとした場合。
- 分岐(フォーク)の解決
- 分岐(フォーク)したチェーンの中から一番長い枝(ブロックが多い枝)が主鎖ブロックになる。
- 更に、一定以上の差がついたら、孤児ブロックは捨てられインセンティブは受けられない。
(このインセンティブにより、一番長い枝に採掘者が集中するようにしている)。
認証 †
応用 †
参考 †