トランザクション
EthereumのEIP-4844で導入されたトランザクションの一種で、メインのトランザクションデータとは別にブロブデータを保存することでトランザクション手数料を削減するように設計されています。
Ethereum Improvement Proposal(EIP)4844(Proto-Dankshardingとしても知られる)を通じて導入されたBlobトランザクションは、特にレイヤー2スケーリングソリューションのトランザクション手数料を削減することを目的とした、重要なアーキテクチャシフトを表します。データをEthereumトランザクションのメインのトランザクションcalldataに直接埋め込む従来のトランザクションとは異なり、Blobトランザクションは、オンチェーンではあるものの、個別のデータ構造である「ブロブ」を利用します。これらのブロブは、投稿コストが低く、通常のトランザクションデータとは異なるガス制限と価格設定メカニズムの対象となります。主な動機は、ロールアップのデータ可用性コストを削減することです。ロールアップはトランザクションをオフチェーンでバンドルし、圧縮された概要またはプルーフをメインのEthereumチェーン(レイヤー1)に投稿します。レイヤー1にこのデータを投稿するコストは、主要なボトルネックです。EIP-4844は、ロールアップがデータをこれらのブロブに分離することで、より大量のデータをより安価に投稿できるようにする新しいトランザクションタイプを導入します。これらのブロブは、Ethereum Virtual Machine(EVM)によって直接処理されるのではなく、KZG(Kalai-Shen-Goldwasser)多項式コミットメントスキームを通じてコミットされます。このコミットメントはブロックヘッダーに含まれており、すべてのノードが完全なブロブデータを無期限にダウンロードして保存する必要なしに、データ可用性を保証します。この分離と専門的な処理により、データ可用性に関連するガスコストが大幅に削減され、ロールアップの経済的実行可能性が高まり、Ethereum全体のスケーラビリティが向上します。
graph LR
Center["トランザクション"]:::main
Pre_digital_signature["digital-signature"]:::pre --> Center
click Pre_digital_signature "/terms/digital-signature"
Pre_private_key["private-key"]:::pre --> Center
click Pre_private_key "/terms/private-key"
Rel_block["block"]:::related -.-> Center
click Rel_block "/terms/block"
Rel_smart_contract["smart-contract"]:::related -.-> Center
click Rel_smart_contract "/terms/smart-contract"
Rel_data_availability["data-availability"]:::related -.-> Center
click Rel_data_availability "/terms/data-availability"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
以前は梱包紙(トランザクションデータ)をたくさん同梱すると送料が高かった大きな荷物(トランザクション)を送るようなものです。Blobトランザクションを使うと、その梱包紙を別送できてずっと安くなるので、全体の送料がずっと安くなります。
🤓 Expert Deep Dive
EIP-4844は、「ブロブ」とKZGコミットメントを導入することで、Ethereumのデータ可用性戦略を根本的に変更します。ブロブはブロックに添付された連続したデータチャンクであり、最大サイズとcalldataとは異なる個別のガス制限があります。重要なのは、ブロブはEVMコントラクトロジックから直接アクセスできないことであり、その主な目的はデータ可用性の検証です。ブロブデータへのコミットメントは、KZG多項式コミットメントを使用して達成されます。ここでは、ブロブデータが多項式の係数を表し、コミットメントが楕円曲線上の点となります。これにより、効率的なプルーフ生成と検証が可能になります。ノードは、検証目的で、限定された期間(例:約4096ブロックまたは約27時間)ブロブデータをダウンロードする必要があります。その後、ノードはデータを削除できるため、ステートの肥大化が軽減されます。ブロブ投稿のガスコストはcalldataよりも大幅に低く、ブロブサイズと個別の「ブロブガス価格」に基づいて計算されます。このメカニズムは、ブロブスペースが複数のシャードに拡張および分散される完全なDankshardingへの前段階です。トレードオフには、KZGコミットメントスキームの複雑さと、ノードの一時的なストレージ要件が含まれますが、主な利点はロールアップデータ投稿コストの大幅な削減です。