So far we’ve discussed features for a full node, but many users will want to interact with this system using a web browser or a phone. For Ethereum one of the more popular examples of a Light Client is Metamask, which is a web browser extension that does no heavy lifting of its own and relies entirely on a third party service provider to sync and process blocks as well as propagate messages. Infura is one of the largest such providers that powers Metamask and countless phone apps. For privacy coins, implementing a similar system is more difficult because since account details are private a light client cannot simply ask a full node on the details of their own account.
We’ve observed the latest efforts of Zcash and Monero to provide offerings for mobile devices and have seen significant compromises on privacy in order to offer any support. Zcash’s light client proposal compromises on privacy and decentralization as light clients are treamoundly dependent on that light client server which pre-processes blocks before sending them to the light client device. It also compromises on convenience as the mobile device is still required to download all the blocks (albeit in their compact form) which takes a long time.
Our approach is a straightforward one – to be explicitly transparent with the user that they will compromise on privacy for the convenience of having a seamless app on their mobile device. Just like Infura supports light clients like Metamask, we plan on releasing full node software that can support mobile devices through the use of view keys. A user will give their view key to a third party service provider that will supply their light client device with all the information it needs to send / receive funds and view transaction history. Remember that view keys have no spending power, and so the mobile device itself is still responsible for generating transactions (and the appropriate zero knowledge proofs) to spend funds.