(Photo by Frame Harirak)

One Year Later: Walletless Stellar Applications Are Finally Coming

Mister Ticot
Cosmic.plus
Published in
4 min readJan 23, 2019

--

Exactly one year ago, I wrote an article called “A Standardized Way Of Handling Stellar Transactions”. It was the synthesis of several ideas floating around in the community & described a secure way for independent applications to interact with Stellar wallets. You can think about it as a way to give Metamask-like capabilities to any Stellar wallet.

I think now is a good time to sum up & give a hint about what’s coming.

What Happened Since A Year?

Back when I wrote that article, I hoped that someone would take on the job. Some interested developers helped me to refine the concept, which was great. However, no one showed up to code that thing. I decided to put myself at work. One month later I released the Stellar Authenticator wallet & the Cosmic Link transaction request protocol. At first, it was a simple proof-of-concept, but it won a prize in Stellar Build Challenge #6 that gave me room to go ahead improving it.

It was not a trivial task, mainly because I had to teach myself JavaScript first (v_v). Fortunately, I’m a seasoned coder and all went perfectly fine after dozens of hours of research and a few complete rewrites :).

The definitive design is a bit different from what I proposed in the original article, mainly on two points:

  • Query strings & real URLs (https://example.org/?payment...) are used instead of custom URI scheme (stellar:payment?…); This is a general trend in web technologies. It is more secure, decentralized and allows to support web wallets as well as native ones.
  • The idea of a unique ultra-secure wallet has been abandoned for an implementation that allows any existing wallet to implement the protocol; Trying to compete against existing wallets would have raised too much friction, while the priority was to make walletless applications available as soon as possible.

I released a fully functional beta version for both software that summer and I earned another SBC prize. While I initially planned to publish the stable versions by the end of 2018, I’m not there yet because I had to delay the few last missing pieces to focus on… Well, I guess we’ll talk about it later.

In practice, however, everything is already stable since several months. Signing into Lumenaut inflation pool with a compatible wallet needs no voodoo:

https://cosmic.link/?setOptions&inflationDest=GCCD6AJOYZCUAQLX32ZJF2MKFFAUJ53PVCFQI3RHWKL3V47QYE2BNAUT

Alternatives

As I said ideas that led me there were already floating around. Even while nobody initially showed up to implement them, a few alternatives popped out later that year. I think some of them are worth mentioning here:

SEP-0007 is a CosmicLink alternative that has been proposed shortly after SBC#6 by Nikhil Saraf from Inter/stellar (ex lightyear.io). I think that this happened mostly because back then CosmicLink was perceived as a centralized (= under control) protocol. In fact, this is not the case but the way the whole thing would work was not so clear yet.

SEP means Stellar Ecosystem Proposal, and it is a kind of official standard. This is definitely something we need here. However, this alternative suffers from consequent drawbacks. The more obvious one being that is can’t properly support web wallets. Hopefully, that’s going to get solved in a new iteration.

Stellar Expert ID is a wallet by OrbitLens that pushed the challenge further by implementing login & message signing capabilities. While being a proof-of-concept, it won an impressive prize at SBC#7. I think there are a few ideas there that are going to make a long way, and I guess you’ll hear about it before long…

Non-Competitive Strategy

I figured out that if I wanted my marathon to success, I had to go for a non-competitive strategy. The goal of all this work is to enable users to access different Stellar applications without putting their funds at risk. In the end, it doesn’t really matter if they do so using this or that wallet or protocol.

That’s why the Cosmic Link website and the underlying library can support any wallet that comes to accept arbitrary transaction requests. In case it requires an alternative protocol, I’ll get you covered. In fact, full compatibility with Ledger Wallet, SEP-0007 and Stellar Laboratory is already achieved.

All the software I released are under the MIT permissive license, which makes it possible for everybody to read, copy, edit and distribute. When it comes to improving the whole “ecosystem”, I think cooperation is the key.

Today’s Challenge: Bootstrapping Adoption

Initially, I expected the developer community to add CosmicLink support as soon as it would become stable enough and documented. After all, this is a unique piece of code that brings a level of safety that no other blockchain project proposes.

However, a protocol such as Cosmic Link is subject to the famous network effect − nobody has the incentive to use it as long as nobody uses it. Walletless Stellar services are now possible, but there’s a missing piece: a first application that demonstrates it.

Hence this is my duty to provide you with such software. This is called Equilibre.io. This is a portfolio balancer for the Stellar DEX. This is going to be beta-released for the birthday of Cosmic Link’s proof of concept, February the 16th.

And I hope you’ll find it awesome :)

--

--