Wallet Data Availability Providers
Because only the sender and recipient need to know about a given transfer, this implies that a modular data availability solution can be specialized to senders and recipients, rather than global.
In Zcash MSPA this function is decoupled in a modular fashion from the rest of the architecture and provided by Wallet Data Availability Providers (aka WDAPs). Each wallet is responsible for ensure data availability for wallet-specific data (which also happens to be private to the wallet user).
WDAP Requirements
A WDAP must:
- provide the full history of an address to a wallet on demand,
- persistently store locally generated modifications of wallet state, especially sender-initiated transfer information,
- be highly available in order to receive transfers at any time (see Wallet Reception).
- persistently store remotely generated modifications of wallet state, especially incoming transfers including the
ZEC
transferred and associated messages, - and finally, enable users to restore this data in the event that their wallet device is destroyed or otherwise needs to be restored.