お困りですか?

ブロックチェーンの基礎知識 - オーファンブロック

この記事では、オーファンブロック、別名ステイルブロックについて説明します。オーファンブロックは、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サーバーにご参加ください!

執筆:
Marko Tarman
MarkoはNiceHashのマイニングマネージャーであり、コンテンツ・クリエーターです。彼は最初のASICがリリースされる前の2012年にマイニングを始め、GPUでBTC・LTC・VTCからDOGEまでもマイニングするようになりました。彼の座右の銘は「問題が99個あったとしても、ライザーの不具合がすべての原因だ」です。