What is Snowmo.io
Snowmo.io received huge attention from the Crypto Twitter community after being released by its creator Noah, as it projects some of the most fundamental necessities a digital wallet must have. It involves a secure identity feature ERC1484 or Snowflake, and a secure p2p payment (Tide) protocol using the blockchain technology. Snowmo.io is on the Rinkeyby Testnet that gives us a preview of how Snowflake coupled with Tide work hand in hand.
Snowmo is a demo and a proof of concept (PoC) of the Tide protocol and Snowflake protocol of Project Hydro. In short, Tide is the P2P or payment protocol while Snowflake is the identity protocol of Project Hydro. ERC1484 has already been proposed and recognized by the Ethereum Community. In Snowmo.io, the Tide protocol is coupled with Snowflake (EIN) giving us a look of how multiple smart contracts will run in the ecosystem of Hydro.
Snowmo was designed by Noah, the previous blockchain engineer of Hydrogen (parent company and creator of the Project Hydro). Noah's purpose of creating Snowmo was to create awareness of the blockchain technology as seen from this tweet.
A look into Snowmo.io
Now let's look at the app snowmo.io. First, you are tasked to create your own Snowflake Avatar. Note that all the features of your avatar or identicon generated are randomized. The codes used for this creation are taken by Noah from this repository.
Once you've finalized your choice, you will be tasked to add funds. Since this is all happening on the Rinkeyby network, you will be gifted with 10,000 HYDRO and your very own test-net EIN.
The main dashboard of Snowmo is simple with a few functionalities - Send, secret message, and Store. A simple replica of the Snowflake Dashboard, store being the dAppstore.
Firstly, you are able to send HYDRO tokens and craft a secret message to any EIN number of your choice. The secret message is encrypted and sent to the blockchain making it secure and hidden from the public, again these codes are found in Noah's repository on snowflake-demo-frontend here. I experimented with this function by opening 2 different browsers (Laptop's Google Chrome and my phone's browser), then I sent multiple transactions (6 different readings, 10 HYDRO worth, and both with and without message) and observed an average of time of sending + confirmation of 16.20 seconds. It might take longer or shorter in the Ethereum mainnet. Now my screen looks like this, you should try for yourself!
Next, we move over to the Store to find yourself inside a digital store 'Dai-llar General' and an exclusive digital couch for sale. Some comical community members referred to this couch as Pornhub's 'Casting Couch'.
On the description, you're allowed to buy a 1 DAI Couch using Hydro with the help of UNISWAP, an exchange protocol that allows swapping of ERC-20 Tokens. Again, I experimented with the function of buy and took 6 readings and it took an average of 20.5 seconds to complete the transaction. Compared to sending, we require to go through Uniswap smart contracts and APIs to transfer the Hydro used into DAI to complete the transaction - making the overall transaction slightly longer. Now your screen should look like this,
All of these transactions are recorded on the blockchain and are traceable via the transaction link provided on the last column of the table. Finally, we look at the settings options on the dashboard located at the top right.
For reference -
"Thank you for taking part in this demo! If you're curious about the specifics of how it all works, you're in the right place. Your Snowflake avatar is derived from a public Ethereum address, the private key to which was generated by the site and is saved in local storage (for an idea of why this might not be the best idea outside of a demo setting, see this talk by MyCrypto founder Taylor Monahan). Drawbacks aside, this pattern makes it easy to use a meta-transaction to create a persistent, on-chain user identity while abstracting away gas costs. User identities are created using the ERC1484 framework, which is where your EIN, or Ethereum Identification Number, comes from. All ongoing transactions are funneled through a Resolver built specifically for this demo. To enable secret messages, ECDH is used to establish unique shared secrets between senders, which are run through a KDF (scrypt) and then used to encrypt messages with AES. The code for this front-end is available on Github. If you'd like to give us feedback on this demo, you may do so here."
Most of the content written is tech specifics on how it works. Noah also mentioned about the drawbacks of saving private keys generated into your own local storage which is not optimal outside of a demo. Nevertheless, Snowmo has proved itself a viable demo to get a closer look at what Snowflake, Tide, and dAppstore can potentially reach. With this short demo, it is exciting to see what's in store for the Hydro Ecosystem.