ブロックチェーンの基礎知識 - オーファンブロック
この記事では、オーファンブロック、別名ステイルブロックについて説明します。オーファンブロックは、Proof of Workブロックチェーンで発生します。では、なぜ起こるのでしょうか?そしてオーファンブロックとは何なのでしょうか?

話を進める前に、Proof of Workに関するこちらの記事をご覧いただくことをおすすめします。マイニング、特に一方向ハッシュ関数 (ハッシュ化) の基礎的な理解が深まるでしょう。
Proof of Workの概要
Proof of Workは一方向ハッシュ関数に基づいています。これは、無限のデータをハッシュと呼ばれる固定サイズの出力に「ハッシュ」または「ジップ」します。ブロックチェーンの場合、入力データはトランザクションであり、出力データはハッシュです。
マイナーが正しい出力データ (ハッシュ) を見つけると、トランザクションブロックが確認され、そのブロックがネットワークに送信されます。Proof of Workについて技術的な解説は、こちらをご覧ください。
平たく言えば、マイナーは数学的な関数を解いています。最初に問題を正しく解いた人が世界中のノードに解答をブロードキャストし、問題解決に対するブロック報酬を獲得できます。なお、ネットワーク全体に解答をブロードキャストするには、ある程度の時間がかかる場合があります。
では、2つのマイナーが同時か、ほぼ同時に解答を見つけた場合、どうなるのでしょうか?このようなときには、ブロックチェーンは2つのチェーンに分裂します。どちらかのチェーンが他方より長くなると、より短い方のチェーンはオーファンブロックからなるチェーンとなります。
オーファンブロックとは
オーファンブロックは一般的に使用される言葉ですが、技術書ではステイルブロックといわれます。オーファンブロックは、2人 (場合によってはそれ以上) のマイナーが同時に解答を見つけた時に作成されます。
それぞれのマイナーが解答をネットワークにブロードキャストしてネットワークが同期するまでには時間を要するため、短い期間ではあるものの、2つのブロックチェーンが存在することになります。どちらのブロックチェーンも、自分のブロックが最初に見つかり、主に使用すべきものであると捉えられることでしょう。実際のところその通りで、どちらの解決策も有効です。
新しいブロックチェーンがアクティブになると、両チェーン間の「競争」が始まります。どちらかのチェーンがより長くなると、そのチェーンがメインチェーンとなります。
詳細な説明
アメリカのマイナーとヨーロッパのマイナーが同時にブロックを確認する状況を想像してみてください。この時、アメリカのノードはアメリカのマイナーによって先に同期され、ヨーロッパのノードはヨーロッパのマイナーによって先に同期される可能性が高いです。そうなると、2つのブロックチェーンが同時にアクティブになります。これが下図のイメージです。アメリカのノードはアメリカのマイナーによって確認されたブロックを使用し、ヨーロッパのノードはヨーロッパのノードによって確認されたブロックを使用しています。この時点では、この2つのチェーンは互いに通信していません。

上の例で見ると、ノード上で2つのブロックチェーンが同時進行していますが、ブロックチェーンは最も長いチェーンが正しい/メインであるとルール化されています。つまり、どちらの「サイド」、チェーンで次のブロックが見つかるかが重要になります。ヨーロッパ側で次のブロックがより早く確認されればヨーロッパのチェーンが最長とみなされ、アメリカ側のブロックチェーン上のブロックはオーファンブロックとみなされます。
通常、ブロックがより見つかりやすくなるため、ハッシュレートが最も高いチェーンがメインとなります。
最長のチェーンが決まるまでは、ブロックがオーファン化するかどうか誰にもわかりません。

マイナーはオーファンブロックについて報酬を支払われるか
ブロックチェーンによっては、オーファンブロックに報酬を支払うものもあるため、ブロックチェーンによります。イーサリアムがProof of Stakeに移行する前は、マイナーはオーファンブロックに対して報酬を得ることができましたが、その報酬は通常のブロック報酬よりも低くなっていました。
ブロックチェーンはたくさんありすぎて、ここですべてを紹介することはできませんが、一般的にブロックタイムが非常に短いブロックチェーンは、何らかの形でオーファンブロックに報酬を与える傾向があります。しかし、必ずしもそうではありません。
オーファンブロック報酬がないブロックチェーンで、NiceHashのイージーマイニングで利用できる代表的なものは以下の通りです。
- Bitcoin (BTC)
- Bitcoin Cash (BCH)
- Dogecoin (DOGE)
- Litecoin (LTC)
- Zcash (ZEC)
オーファンブロックのトランザクションはどうなるのか?
オーファンブロック内のトランザクションはメインチェーン上で処理されたわけではないため、このトランザクションを含むブロックがオーファン化した場合、そのトランザクションは破棄されることになります。送金者のウォレット残高は送金前と同じになり、送金先のウォレットには入金されたません。しかし、そのトランザクションは実際には両方の競合するチェーン (両方のブロック) に含まれる可能性があります。その場合、トランザクションは処理されます。
どうぞお気軽に私たちのRedditページやDiscordサーバーにご参加ください!