I have gleaned more details from asking on the all core devs gitter channel.
The Q&A is summarized in Discussion about “eviction archive” nodes.
TLDR:
- The restoring user must restore their state in a series of steps, calling the proposed RESTORETO opcode within a contract.
- RESTORETO accepts 1. addr of the hash stump left on eviction, and 2. addr of a contract from which code is taken.
- This user needs to have the evicted state data, or needs to get this data from some eviction archive service. This data is used in the contract.
- RESTORETO is not burdensome on any nodes, but is burdensome on the user depending on the size of state being restored.