コンセンサスと Orphan Block @ DG Lab - Anditto Heristyo © 2017 Digital Garage. All rights reserved. Redistribution or public display not permitted without written permission from Digital Garage. Agenda 1. コンセンサス 2. Orphan Block 3. デモ 2 コンセンサス 3 目的 皆が同じブロックを持つこと。 問題点: 1. ビザンチン将軍問題 2. ネットワークの遅延 3. 悪意 4 コンセンサス どのチェーンが一番正しい? 基本的に:一番作業されたチェーン(一番長いとは限らない) 5 Orphan Block 6 Orphan Blockとは? 実は少し複雑: 1. 無効になったブロックを親としてマイニングした。 (Stale Blockとも言われる) 2. 親が見当たらないブロックをもらった。 (最近あまり無い) http://bitcoin.stackexchange.com/questions/5859/what-are-orphaned-and-stale-blocks (Peter Wuille) 7 Stale Block 実例: https://blockchain.info/orphaned-blocks 前は有効だったブロックを親として作業している間に、そのブロッ クが無効になってしまった。 8 Fork ブロックチェーンの状態が分岐し不一致となる状況 9 Soft Fork vs. Hard Fork Soft Forkの場合: もっと厳しいルールを適応する。 Hard Forkの場合: 前のルールを消す。 Soft Forkの例 例えば: アドレスは全部「q」で終わらないと有効じゃない。 「q」 「q」 なんで もOK なんで もOK Soft Fork 参加者率 10% 2つのネットワークになる。 「q」 「q」 なんで もOK なんで もOK なんで もOK Soft Fork 参加者率 > 51% 「q」 なんで もOK 1つのネットワークになる。 「q」 「q」 Soft Fork 参加者率 95% 「q」 「q」 「q」 なんで もOK 1つのネットワークになって、新しいルールは標準になる。 Hard Forkの例 例えば: ECDSAだけじゃなくてRSAの署名も可能。 RSA OK RSA OK ECDSA ECDSA のみ のみ Hard Fork 参加者率 10% RSA OK 1つのネットワークのまま。 ECDSA ECDSA ECDSA のみ のみ のみ Hard Fork 参加者率 >51% 2つのネットワークになる。 RSA OK RSA OK ECDSA ECDSA のみ のみ RSA OK Hard Fork 参加者率 70% 2つのネットワークのまま。 RSA OK RSA OK ECDSA ECDSA のみ のみ RSA OK まとめ - トランザクションが最新のブロックに取り込まれても完璧では 無い(かもしれない) - 段々とブロックを重ねるにつれ、信頼性が高くなる 19 新しいTxを作ってみよう 隣の人とアドレスを交換して、BTCを送ってください。 $ ./bitcoin-cli getnewaddress $ ./bitcoin-cli sendtoaddress <ADDRESS> 0.5 出力された TxId に注目してください。 20 デモ 21 [email protected] github.com/anditto 22
© Copyright 2025 ExpyDoc