中級者用語を調べる
カルデータとは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 4 分
結論
カルデータは、取引に添付してコントラクトへ渡す入力データの領域です。どの関数をどの引数で呼ぶかがここに入り、書き込んだ内容はチェーンに永続的に残ります。バイト数に応じてガスがかかるため、ロールアップにとっては長くコストの中心でした。
要点
- 取引に添付してコントラクトへ渡す入力データ領域
- 呼び出す関数と引数がここに入る
- 書き込んだ内容はチェーンに永続的に残る
- バイト単位でガスがかかり、ゼロバイトは安い
定義
取引に含めてコントラクトに渡される読み取り専用の入力データ領域。呼び出す関数の識別子と引数が符号化されて格納される。
トークンを送るときの取引には、受取アドレスと数量が符号化されてカルデータに入っています。ブロックエクスプローラーで取引の詳細を開くと、0xで始まる長い16進数の列が表示されますが、これがカルデータです。先頭の4バイトが関数の識別子、その後ろが引数です。
料金はバイト数で決まり、値がゼロのバイトは非ゼロのバイトより安く設定されています。データを詰めるときに無駄なゼロ埋めを避けたり、符号化を工夫したりするのは、この価格差が理由です。呼び出し方が同じでも、データの詰め方でガス代は変わります。
ロールアップは、EIP-4844以前は取引データをこのカルデータとして投稿していました。カルデータは全ノードが永続的に保持する領域で、実行用のガスと同じ市場で価格が決まるため、ロールアップの手数料はレイヤー1の混雑にそのまま引きずられていました。
注意点
- · カルデータに書いた内容は公開され、後から消せない
- · 承認や送金の引数はカルデータで確認できるため、署名前に中身を読む習慣を持つ
- · 同じ操作でもデータの詰め方でガス代が変わり、見積もりと実際がずれることがある