保存データの読み替えは、コントラクトの実装を差し替えたとき、保存されたデータそのものは変えずに、新しいコードがそのデータに別の意味を読み取るようになることを指す。本Wikiのリサーチで、アップグレード可能なスマートコントラクトを読むために立てた言葉である。
プロキシ型のアップグレードでは、データはプロキシの側に残り、処理を持つ実装だけが替わる(ethereum.org)。保存されているのは意味を持たないビットの並びで、それを残高と読むか、印と読むかは、そのとき参照されている実装が決める。そのため、差し替えの前には誰も気にかけなかったビットが、差し替えの後から意味を持ちはじめることがある。データの側から見れば、後の読み方は最初から含まれていたとも言える。
事例
荒川零一《upgradeTo(Leviathan)》(2026)は、展示の解説によれば、100個の citizen が持つデータを、切り替えの前のコードは星として、後のコードはホッブズ『リヴァイアサン』口絵に拠る身体の断片として読む。解説は、データは最初から星空とリヴァイアサンの両方を含んでいたと書く。2026年10月の「自己破壊芸術展」(NEORT++)に出品された(コードは未確認)。
作品が素材にしたというステーブルコインの側にも同じ構造がある。USDCは2024年1月8日の実装の差し替え(FiatTokenV2_1→V2_2)で、残高を保存していた256ビットの数値の最上位ビットを、ブラックリストに載っていることの印として読むように変えた。残高の数値は差し替えの前後で変わらず、206件のアカウントが古いブラックリストから新しい持ち方に移された。