[並列制御シリーズ] #2 楽観的並列制御 vs. 悲観的並列制御 安全な並列実行を実現するため、高性能ブロックチェーンは、悲観的または楽観的実行という2つの主要な並列制御モデルのいずれかを採用しています。両者は状態の競合を防ぐことを目的としていますが、実行タイミングと計算リスクへのアプローチは対照的です。 1. 悲観的実行:まず競合を防止する 悲観的並列制御は、実行前にトランザクションの状態アクセス要件を分析します。 - 2つのトランザクションが同じアカウントまたはストレージスロットを対象とする場合、システムは一方のトランザクションをキューに待機させます。 - 競合するトランザクションは、競合のないシーケンシャルなバッチにグループ化され、再実行のオーバーヘッドを排除します。 - 負荷:リソースの予測可能性が高く、トランザクションの再試行がゼロですが、状態競合が激しい場合、遅延(待機モード)が増加します。 2. 楽観的実行:まず実行し、後で検証する 楽観的並列制御は、競合が稀であると仮定し、すべてのトランザクションを即座に並列で実行します。 - トランザクションは遅延なく並列に実行されますが、状態更新はレジャーへの最終コミット前に検証されます。 - 重複する書き込みによって古い状態を読み取ったトランザクションは中止され、再実行のためにマークされます(再実行モード)。 - 負荷:低競合ワークロードでは最大のハードウェア利用率とサブ秒単位の遅延を実現しますが、高混雑時の状態衝突では計算リソースの無駄と再試行が発生します。 3. 核心的なエンジニアリング課題 悲観的事前ソーティングと楽観的推定実行の選択は、ネットワークが市場の変動率に対してどのように動作するかを決定します。これらのメカニズムを理解することは、耐障害性のある実行レイヤーを設計するために不可欠です。 @RialoHQ @RialoKorea



