レッスン12 — 次のティアへの橋渡し — Advanced (L1 Architect) と Expert
問い
Alloy → Revm → Reth(Staged Sync、ExEx、カスタム NodeBuilder) の階段を上ってきた。「読める」は半分、次のティアは何を教え、どこから始めるか?
原理(最小モデル)
- ゲートチェック 5 問.
popn_top!展開 /DatabasevsDatabaseRef非対称 /ExExEvent::FinishedHeight役割 /MerkleStageの位置 / Tempo のコンポーネント差し替え。4 未満なら戻る。 - Advanced ティア = L1 を architect. 5 コース(Consensus Engineering / Cross-Chain Bridges / Sequencer & Rollup / P2P Networking / Validator Operations)、難易度 ADVANCED。
- Expert ティア = 本番に出す. 2 コース(Reth Expert / Building with the Stack)、難易度 EXPERT。
- マインドセット転換. Intermediate = 構造 を教える / 次ティア = その構造の 背後にある決定 を教える。
- 「なぜ」を読む前に意見を持つ. インフラ出荷エンジニアの規律、間違っていても先に意見。
- 両ティア独立、興味と project に合うほうから.
具体例
ゲートチェック 5 問:
popn_top!は何に展開される? なぜunsafe内でunwrap_unchecked()を使うのか?DatabaseとDatabaseRefがなぜ別トレイト?auto_implリストの非対称(&mut, Boxvs&, &mut, Box, Rc, Arc)が何を語るか?ExExEvent::FinishedHeightが Reth pruner に何を伝えるか — 忘れた場合のディスク帰結は?- なぜ
MerkleStageがハッシング後で、間に挟まれていないのか? - Tempo のような purpose-built L1 を出荷するために Reth のどのコンポーネントを差し替えるか?
4 正解未満なら進まない、該当 Inside Reth レッスンに戻る。
Advanced ティア(5 コース、ADVANCED):
| コース | 焦点 |
|---|---|
| Consensus Engineering | PoS / BFT / Tendermint 内部、レイテンシ・ライブネス・finality |
| Cross-Chain Bridges | CCIP・OP Standard Bridge・light client、自分で書く |
| Sequencer & Rollup アーキテクチャ | 中央集権 sequencer → 共有 sequencer、MEV 防衛、forced inclusion |
| P2P Networking Internals | devp2p・libp2p・gossip サブプロトコル・ピアスコアリング |
| Validator Operations | 鍵管理、slashing 条件、協調アップグレード |
Expert ティア(2 コース、EXPERT):
| コース | 焦点 |
|---|---|
| Reth Expert | パフォーマンス、MDBX、Tokio 内部、手続きマクロ、カスタム precompile、MPT、本番 MEV、zkEVM、Reth フォーク運用 |
| Building with the Stack | 動くアプリ 10 本 — MEV searcher、indexer、wallet backend、cheatcode、swap aggregator、order router capstone、cross-client 検証、HTTP 402 / MPP machine-payments |
順序:
- Advanced を先に: 自分で L1 を architect したい、Hyperliquid / Tempo を理解したい
- Expert を先に: 既存 chain で本番アプリを ship したい、運用 / 性能エンジニアリングが必要
- 両方終えれば「読める + 設計できる + 出荷できる」の三拍子
マインドセット転換 — 「なぜ」を予測:
- MDBX vs RocksDB: コンパクションストールでの読み取りレイテンシ
- pop-1-write-through: ADD あたりメモリ書き込みが 1 回減る
#[track_caller]: パニックのバックトレースがトレイトメソッドではなく、バグった呼び出し元を指す- cheatcodes が precompile: バニラ EVM とのコンセンサス互換性(precompile は予約アドレス、新 Opcode ではない)
ポイントは私の言い回しと一致したかではなく: 読む前に意見があったか? 一度この なぜ を内部化すれば、Paradigm のエンジニアや Hyperliquid validator 運用者と設計判断を議論可能 = grant 応募可能な仕事への入口。
失敗例(誤解)
「ゲートで 3 問正解なら進んで良い」— 間違い。次ティアは「再調査する概念」ではなく「流暢な語彙」として前提する。4 未満で進むと密度に詰まる。
「Advanced を先に Expert を後にすべき」— 半分間違い。両ティア独立、興味と project 次第。Hyperliquid / Tempo 理解優先なら Advanced、本番アプリ出荷優先なら Expert。
「『なぜ』を予測しなくても読めば分かる」— 間違い。インフラ出荷エンジニアの規律 = 読む前に意見を持つ、間違っていても先に。「内部化」が grant 応募可能な仕事への入口。
ステップで組み立てる
Step 1: ゲートチェック 5 問
popn_top! / Database 非対称 / FinishedHeight / MerkleStage 位置 / Tempo コンポーネント差し替え。
Step 2: 4 未満なら戻る
該当 Inside Reth レッスンを再読、次ティア前提を満たす。
Step 3: Advanced or Expert を選ぶ
architect 優先 = Advanced / 出荷優先 = Expert。
Step 4: マインドセット転換
構造 → 構造の背後の決定。「なぜ」を予測してから読む。
Step 5: 両ティア完走を目指す
「読める + 設計できる + 出荷できる」三拍子。
答え合わせ
- ゲートチェック 4 未満で戻るべき理由: 次ティアは「流暢な語彙」前提、再調査する概念扱いではない。密度高 + リンクされたコード再現が必須 + デフォルトで言える状態でないと付いていけない。前提を満たすことが進む条件。
- マインドセット転換の意味: Intermediate = 構造を教える(
Stagetrait、ExEx API、NodeBuilder の形)/ 次ティア = 構造の 背後にある決定 を教える(なぜ MDBX、なぜ pop-1-write-through、なぜ#[track_caller]、なぜ cheatcodes が precompile)。意見 → 検証 → 内部化のサイクル。 - 「読める + 設計できる + 出荷できる」の三拍子の意味: Inside Reth で読める / Advanced (L1 Architect) で設計できる / Expert で出荷できる。3 つ揃って Paradigm / Hyperliquid / Tempo エンジニアと議論可能 = grant 応募可能な仕事の入口。
合格基準
- ゲートチェック 5 問に答えられる。
- Advanced ティア 5 コースと Expert ティア 2 コースを役割で言える。
- マインドセット転換(構造 → 背後の決定)を 1 文で説明できる。
- 「なぜ」を予測する規律の意味を言える。
- 「読める + 設計できる + 出荷できる」三拍子を即答できる。
まとめ(3行)
- Inside Reth 完走後 = Advanced (L1 Architect, 5 コース) / Expert (本番に出す, 2 コース) の 2 ティアに進む、両ティア独立で興味と project 次第。
- ゲートチェック 5 問で 4 未満なら戻る、次ティアは「流暢な語彙」前提で密度高 + リンクコード再現必須。
- マインドセット転換 = 構造(Intermediate)→ 構造の背後の決定(次ティア)、「なぜ」を予測してから読む規律 = grant 応募可能な仕事への入口。