Stale Blockとは何ですか?
Stale Blockはメインチェーンに追加される競争に敗れた有効なブロックです。ほぼ同時に2つのブロックが発見され、ネットワークは一方を選び、もう一方は敗者になります。たとえばレジが2つ同時に開いて、群衆が隣の列を選ぶようなものです。
Stale Blockは壊れたブロックではありません。規則に完全に適合しており、ただネットワークがメイン履歴に残さなかっただけです。取引は通常消えず、あとで別のブロックで確定されます。
Stale Blockの仕組み
短いレースの流れ、専門用語はなし:
- ステップ1:ほぼ同時に2人の マイナー が同じブロック高の有効なブロックを見つけます。
- ステップ2:各マイナーは自分のブロックを近くの ノード に伝播し、ノードは最初に受け取ったものを転送し始めます。
- ステップ3:ネットワークには一時的に2つのブランチが生じます。あなたのウォレットやエクスプローラーは一方を表示するかもしれませんし、友人はもう一方を見るかもしれません。
- ステップ4:ネットワークで次に選ばれたブロックが一方のブランチを延ばし、コンセンサスのルールではより長いまたはより重いブランチが勝ちます。
- ステップ5:敗れたブランチ上のブロックはStale Blockになります。その中の取引は保留状態に戻り、通常はすぐに別のブロックに再度含まれます。
これが流れです。短い競争で、明確な勝者が決まります。
なぜStale Blockが重要か
取引はタイミングと信頼に依存するため、注意が必要です:
- 利点:Stale Blockの発生は、システムがタイミングの衝突を混乱なく処理できることを示します。
- 見方:価値が高い取引の場合は、いくつかの確認を待って、Stale Blockによる再編成に驚かされないようにしましょう。
- 関連性:マイナーにとってStale Blockは ブロック報酬 と手数料を失うことを意味し、それがプール戦略やハードウェア選択に影響します。
大きな送金を行う際は、複数の確認を待ってください。1つのブロックがStale Blockになる可能性はありますが、さらにいくつか確認が進めば驚くようなことはほとんどなくなります。
Stale Blockの主な特徴
見たままに定義すると次の点です:
- 有効:すべてのルールを満たしており、ただ選ばれなかっただけです。
- 短命:通常、放棄されるまで数秒から数分程度です。
- 再処理:内部の取引は通常、後続のブロックで再び含まれます。
- コスト:発見者は報酬や手数料を受け取れません。
- タイミング:ブロック間隔が短いチェーンや一時的なネットワーク遅延がある場合に起きやすいです。
呼び名の違い
同じ現象でも、呼び方はいくつかあります:
- Stale:競争に敗れてメインチェーンに含まれない有効なブロック。
- Orphan:厳密には親ブロックが不明なブロックを指しますが、多くの人はStale Blockを意味してorphanと呼ぶことがあります。
- Uncle:古いEthereumのプルーフ・オブ・ワークでは、Staleに近いブロックがuncleとして部分的な報酬を得られる場合があり、現在はommerと呼ばれます。
Stale Blockは取引を永久にキャンセルするものではありません。短時間表示された確認が置き換えられただけで、取引は通常すぐに再表示されます。
例
2人のマイナーが同じ高さのブロックを公開し、ネットワークが一方のブランチを延ばすと、もう一方は数瞬でStale Blockになり、その取引は次のブロックで取り込まれます。
豆知識
一部のブロックエクスプローラーはプールごとのStale率を表示します。繁忙時は午後のうちに複数のStale Blockイベントを目にすることもあります。はい、よくあることです。
まとめ
一言で言えば:Stale Blockは人気投票に負けた有効なブロックです。つまりコインの移動は続きますが、次のブロックを待つだけです。
