At CeloConnect, I demoed a version of celowallet.app that used Plumo zk-SNARK proofs to sync with the chain and fetch a user’s balances in a trustless manner using merkle proofs. Huge shout out to @kobigurk and @jmrossy for working so hard ahead of CeloConnect to make this demo a reality. You can view this demo by going to this page (note the /balances path in the URL):
The demo uses a new WASM library that lets you verify plumo proofs cheaply, even inside a web application. Verifying these proofs lets you quickly validate the current epoch’s validator set, which then lets you verify the latest header. This subsequently lets you download any storage state from arbitrary full nodes on the network using the LES protocol and accompanying merkle proofs that you can verify easily. The end result is that you can built a web application that can trustlessly fetch and verify any chain state. By deploying your web app to IPFS, you can now build fully unstoppable decentralized web applications (no trusted RCP node required!). This is a complete first in the broader crypto space.
Now that the WASM library is live, I wanted to start a conversation around what exciting unstoppable dapps we can build that leverage this. The library doesn’t yet have a copy of the EVM, so it’s not possible to call arbitrary view functions just yet, though it is quite easy to query specific state at specific addresses (e.g. a user’s token balance). What unstoppable web app would you like to see built? Here are some super easy ideas just to get the juices flowing:
- Unstoppable clock
- Unstoppable randomness (using Celo’s on-chain randomness beacon)
- Unstoppable wallet
- Unstoppable your idea (let’s brainstorm together below)!
PS You can learn more about the Plumo launch from @kobigurk’s awesome tweet thread here: