Making cryptocurrency work in mobile

In my previous post I explained what kind of on-ramps there are into crypto, and how one of the major bottlenecks right now is lack of mobile development in the crypto world.

There are several legitimate reasons for this:

  • For security reasons iOS and Android developers are primarily limited to HTTPS requests

  • Running and syncing light nodes on a mobile client is slow and a terrible user experience

  • Centralized solutions for companies managing keys and wallets have high security and KYC/AML costs for indie developers or small teams

As a result the promise of decentralized peer to peer applications have not been fully realized on our mobile devices yet. If one were to imagine a network enabling a world where we can easily interact with cryptocurrency on our mobile devices today, a mobile developer would need all of the issues above abstracted away.

If a mobile developer downloads an SDK to leverage any blockchain, they need -

  • Strong client side security

  • Proper wallet functionality

  • Easily construct, sign and send a transaction

  • Authentication

  • Reliable endpoints to send transactions to

The interesting problem in the above list is having reliable endpoints to send transactions to. What incentive do people or organizations have to host those endpoints? Right now, there are two major centralized services that offer endpoints to propagate Ethereum transactions - Infura.io and the SOFA protocol.

Although free for now, these services likely will act as a tax on developers wishing to use them. Not only that, these services are not flexible to what a developer may want. Since they only support Ethereum, what if another blockchain supports some sort of functionality that Ethereum doesn’t?

What if you could pay a node to relay any cryptocurrency for you? They just need to be running a node for your chosen cryptocurrency. This begs the question, what would incentivize a node to do so?

The incentive alignments with a tokenized model is perfect for this. A dynamic market where fees for a given cryptocurrency are based on how popular it is (Ethereum and Bitcoin would be the most popular). Nodes receive the token as payment for running a node in your chosen cryptocurrency.

This is powerful because it is decentralized and flexible for any cryptocurrency. A mobile developer can just pay a fee, and send any kind of transaction in simple JSON format.

By abstracting the need to hold any cryptocurrency in a centralized database these properties alone could allow a flowering of thousands of different applications leveraging the blockchain to be created. With no need for a traditional backend to write to, the developer can write to the blockchain and authenticate via the client side private key. Not only that, but such a system is blockchain agnostic - as long as there’s an endpoint running a node in your selected cryptocurrency, any can be sent.

Imagine logging into Clash of Clans and earning real tokens while playing. The developer announces a huge new release that will make the game 10X better. The next time you log on the amount you've earned has appreciated 100% or more as a result. 

Making it as simple as downloading an SDK for mobile developers would increase the surface area of entrance points into crypto, without users of their apps necessarily realizing it.