Toshi — Live Ethereum Dapp

CoachB
Old School
19 min readMay 29, 2018

--

This is a series of posts, covering Dapps (Decentralized Apps) that are Live and can be used right now. 2018 in my opinion is the year we will for the first time see regular users use Blockchain based products. I want to support this progress by showing the products that are actually Live today. Instead of HODL we now entered the phase of BUIDL! Using a questionnaire as the template I am interviewing the people working on these projects, hoping that this format will make it easier to understand the projects and their contribution to the Ethereum Ecosystem.

Toshi is a WEB3 Browser that features a lot of Dapps that can be used today. I conducted an interview with Siddharth Coelho-Prabhu, the Product Lead of Toshi.

Welcome Sid, please spend a few words on yourself and definitely explain to us, what is Toshi about?
I am the product lead on Toshi, where I am responsible for what we should be building and what the product should be doing. We have a strong team of engineers and we just acquired Cipher browser. The founder of Cipher is an incredible builder and is the head of engineering at Toshi now.

In essence Toshi is a Mobile Crypto Wallet and also a Dapp Browser. It allows you to store your tokens and collectibles in the wallet. In combination with the Browser it interacts with Web3 Dapps on your mobile device.

There is a very strong play between the two (Wallet and Browser) and we provide one platform for that.

As there is no Mobile Metamask, you provide the basic functionality that Metamask provides on a computer. People can access all the Dapps on their mobile phone through your browser, is that correct?
Exactly and by providing it in one package it gives the User a much more seamless experience.

coinbase.com

Your project is closely related to Coinbase. Can you explain what it is exactly, a joint venture or a product of coinbase?
We are a fully owned project of Coinbase. The reason you don’t see Coinbase branding is that Toshi is an open source product used around the world. If you look at the existing Coinbase product, it is a highly regulated licensed exchange and we wanted Toshi to be different as it should simply be a software that can be used by anyone and anywhere in the world. Our brand positioning may evolve over time of course.

Part of the Coinbase vision is to create this very open financial system. That is where Toshi comes in. It can be used also outside of the core Coinbase markets and you can access the decentralized web.

As you explained your browser also includes a wallet. Can you explain how this wallet works and how it interacts with the products that a User visits through the Toshi Browser?
First of all you can visit any website with our browser. If you are visiting a Dapp, it will be looking for the Web3 Components. What we do is we inject the Web3 API into the Java Script context of that webpage, so the website knows that the Web3 provider is now Toshi. The Dapp now knows the address of the User, so the Dapp can see all the tokens or collectibles in the Users Wallet. If there is any interaction between the wallet and the Dapp it is already clear what the user owns. When the Dapp creates a transaction Toshi will recognize and show it to the user who then signs off the transaction. The wallet is reading the blockchain and so any transaction will be reflected in the wallet. So if you go to a decentralized exchange and you exchange 1 Eth for 500 DAI the Toshi Wallet will also recognize that change and will show it in the wallet.

Very nice, so it is a deep implementation of the wallet. To use Toshi, or have access to it, I don’t need a Token?
No we did not create a token. We did not feel the need to create one.

Interesting, so we can skip the part of talking about your token functionality. But the question that remains is, where does the funding for Toshi come from. Did Coinbase acquire the product or was it built within Coinbase from day one?
Actually the initial idea was the brainchild of our CEO Brian Armstrong. It is part of the “Secret Coinbase Masterplan” in which we see 4 phases of evolution for the digital currency ecosystem. The first phase was the creation of the blockchain protocol layer (Bitcoin, Ethereum etc.).

The second phase is where Coinbase comes into play, it is about creating the infrastructure and onramps. Giving people the ability to use Fiat to buy Crypto.

The next phase was a utility phase. Users should have a consumer interface for digital currency apps. This phase is not about investments, its not about speculation, it’s all about using crypto. Brian knew that this would come one year and a half ago and that was his idea to create a browser that gives people access to all of the projects that have been built in this space.

I understand, so the funding is coming from Coinbase. They cover the salary and development costs. Is there any revenue generated through Toshi, do you have a business model?
No, we don’t have a business model. The analogy that would apply is the Chrome Browser for Google. There is no business model integrated in a browser. But it is important if you play a leadership role in the space to create a gateway for users to have all these great experiences. Crypto is so core to Coinbase that we want to create the best user experience also in using Cryptocurrencies. Especially since we already act as the gateway for people that are brand new to crypto. We want to bring that ethos to the next generation of products, which is all about utility.

This makes total sense for an exchange, as you want people to use these cryptocurrencies. It fosters the ecosystem and creates more usage and transactions.
For how long is your product Live already?
We went live on the mainnet in September 2017.

What is the status of your product, is it an MVP or a Beta version?
I would call it a Version 1. We already have a lot of users and we have very positive feedback. Right now it has all the basic features that you would need to have a great experience in the decentralized web.

That said we still have a full fledged roadmap for the next six months. Which will double and triple the features set that we offer today and also integrates a lot of new technologies.
As we stand today it is already a very good standalone product.

You mentioned your users. Can you tell us how many users you have and how many products are integrated?
As a policy we don’t reveal numbers on our products.

OK that’s fine. You mentioned the roadmap and it covers the next 6 months. Is there a larger roadmap or is there a rational behind only planing half a year ahead?
We definitely have a vision for Toshi, which is to be the consumer gateway for the decentralized web.

This space is so new. When we launched it was not even clear that Web3 and Dapps would be the default way for developers to create experiences. So we created our own chatbot for example and then realized the community is moving in another direction and we shifted there as well. One has to recognize that the space is moving quickly the technology is still evolving a lot and we want to be part of that.

I am also asking these questions so others can learn from the way you develop and what you focus and prioritize on. Imagine there is a hard fork and this changes the dynamics of a blockchain a lot, this needs to reflect in fast change of the products on top of this blockchain.
From my own experience I always compare Crypto Years with Dog Years. So one man year is 6 Dog years, or every 2 months in Crypto feels like one full year as a human.
When did you start this project and how long did it take you to actually onboard the first user?
Brian Armstrong was actually the first “product manager” on Toshi and he started in the beginning of 2017. He began by building the chat and the wallet and later on we started the Dapp browser functionality. I joined the project in November when Brian thought it was time now for the product to have a full time owner. He was seeing traction and he was seeing excitement and we saw a lot of movement in the space.

So it took you around 6 months from the idea to actually have users on the product?
Yes, and in between we also launched on the testnet. This was important to get first user feedback globally and see how people were using it. And after thorough testing we decide to go live on the mainnet.

How many people are working on Toshi?
We have around 10 people that work on Toshi. I am on the product side, Pete is the head of engineering, and we have a team of 7–8 engineers and designers.

Do you spend any time yet on marketing or are you more focused on the products that you integrate?
Actually we spend most time on the product, because that is where the value is being created. We want to show developers that Toshi is a great place to build their products. There is a natural outcome that if developers create great Dapps that can be used on Toshi, they will put the word out for Toshi. A browser is only as good as the Dapps you can browse to. That’s why we engage a lot with the developers community and help them get their products to market.

Can you explain what needs to be done to be integrated in Toshi. Lets assume I already have a Dapp created which is working on desktop browsers and now I realize there is this great Mobile Browser that I can use. What do they need to do?
It’s fairly simple. The first step is that your UI has to be mobile responsive. That is something that most developers would do anyways but we still make people aware of this step.

The second part is to make sure you should use standard Web3 calls and standard Web3 APIs. We rely on the standard Web3.js and that’s what we inject. Some Dapps have used Metamask specific language and that stops them from working with other Dapp browsers. As long as they use the standards they will work on Toshi as well.

If it doesn’t work out of the box, you can contact us and we can help you find a solution.

I think it is really important to have a product that works on mobile. Especially if you look at the changing demographics around the world. In many countries the first experience people have nowadays is on mobile. The number of hours spent on a mobile device is 5–7 hours per day. That where they get their entertainment and their digital life happens. Building a Dapp that is mobile responsive is absolutely essential.

You said you are open source, I could therefore create a chatbot and what else do you foresee that people can contribute to your product.
I would say we are open source in the fact that we want people to understand what the product is and if someone wants to create their own version of Toshi, we are very open in that sense. We believe that this helps innovation.

We have a fully staffed team building the product and we get feedback from the community and we are happy to build it ourselves. In some cases we do get some pull requests from developers that have built their own features, but generally speaking we always say, if you want to contribute to the ecosystem, build a great Dapp! And we will be happy to feature it on our platform.

You stressed the point decentralized. Would you also allow centralized products in your browser. Is there any kind of due diligence that products have to go through to be integrated in your browser?
We technically don’t integrate anything. We are a regular browser that allows you to go to any website you want to by simply typing in the URL of the website. What we do though, we feature Dapps. For example if you go to State of the Dapps, you will see a large number of Dapps. But not all of them are live or have a good user experience or some have even been abandoned. What we do is we talk to people that are very actively building and that have built great experiences and those are the Dapps we try to feature. Because we want users to have a great first experience. If you look at the large number of Dapps, like 1500 or so, Toshi will have around 40–50 Dapps. Because we think those guys have done a really good job and it it is worth featuring this for our users.

But still you can browse on Toshi to any other Dapp available.

Do you also limit the number of Dapps that you feature per category or is it more adding the Dapps that are useful and usable no matter which category?
We are happy to talk to anyone in the space. We don’t have a limit but maybe over time as the space evolves we might have to create a better way to search for Dapps. Right now we have a very basic implementation of search, we just categorize Dapps and you browse through the categories. But again we will talk to anyone creating a Dapp and help in building a platform for them.

Are you focusing on the Ethereum Blockchain only, or will you also open up in maybe two years from now to include Dapps from other Blockchains? How will do deal with that? Is it a Blockchain agnostic browser?
Our vision is to be a platform for the decentralized web. As of where we stand today the vast majority of developers are building on ethereum. Thousands of developers are building on ethereum. The level of commitment to this space is amazing, both at the application level as well as at the core development layer. We find that a very strong signal from the ecosystem and its community. Over time hypothetically if ethereum would not be able to scale to keep up with the demand and another Blockchain emerges as an competitor we would be happy to support that. We are not ideologically driven, if we see developers build on a new platform we will go there as well.

Is it technically possible to have an ethereum Dapp and lets say an eos Dapp in the same browser?
It’s a matter of how we integrate it. We need to do a great job of hiding the complexity and abstracting that away and from a User perspective they just have a wallet and a browser and they use whatever they want to use, whether it is an Ethereum Dapp or any other Blockchain based Dapp. The experience should not change for that and that is the measure of success if we are able to hide away that complexity.

Let’s say there are about 2 million Dapp users out there today. If we want to take it to one billion we have to take out the complexity of the system for anyone to create value out of it without needing to understand how it works.

Since you feature these Dapps are you also thinking of creating a single sign on. Making it even more easy for users of your browser to access and use any Dapp within the browser. I assume your wallet is that kind of connector, right?
Yes, so there are different stages for that roll-out. The first step is what many Dapps already have today. When you open a Dapp with a Web3 Browser it already knows your address. That’s one way to log you in. So if you use CryptoKitties, for example they already know who you are and show you how much you own.

Another way to log in is for example used in Peepeth. Upon logging in with Peepeth you sign some data and that proves that you are the owner, because only someone in possession of the private key can sign the data.

This is a second and more advanced type of authentication.

And what I see over the course of this year emerge is a decentralized identity for authentication. And that’s obviously the space we are watching there are several players there already and this is really exciting. It’s more complicated and ideas are still being formed. I don’t see a solution yet but I predict that we will see something here over the course of the next six months.

This really is a very interesting topic and I could probably talk to you about this for hours. But I will try to focus more on the Dapps and Browser solution you offer.
Are you in some way tracking the activity or usage of the Dapps within your browser? Could you give a ranking of the most used Dapp?
We don’t do client side tracking too much, because of privacy concerns. But I know that there are dedicated services in the space for tracking Dapp activity. Like Dappradar.com or Dappboard.com. I use those services for getting a feel for who is doing what in the space and what’s doing well. And they just look at the smart contract activity not depending on any individual browser, simply looking at the transaction volume, the Eth Volume. And when I look at that, the most popular apps are games and collectibles, lots of gambling of course, lot of decentralized exchanges. What I am hoping is to see more financial services. Whether it is lending or insurance. What I am hoping we see is more advanced forms of collectibles being used in actual games. Identity of course. I hope to see more proliferation and more diversification over the next year.

I was not aware of these Dapp tracking services. I will need to have a look to see what kind of data they use.
Does your product have any scalability problems like a Dapp itself would have?
I don’t believe so, but we are very much tied to the underlying Ethereum Blockchain. To give you an example, when CryptoKitties blew up in December, clogging up the network, all services within the browser have been affected. People not able to send money inside the chat, not able to use some Dapps properly. Transaction fees went up, time for settlement went up as well. At the end we are affected indirectly because of the Dapps, but not directly.

I understand, so this is not your main issue you need to solve for yourself. I noticed that whenever I interview other Dapps it seems that they are all now focusing on solving the scaling issue and actually have put the development of their core product aside. The scaling issue is too big of a bottleneck for all of them.
Let me put it this way. For a Dapp it is more important, especially if it can only exist if a certain scaling issue has been solved. But let’s say Dapp developers start to use side-chains or payment channels in order to scale. Then we need to incorporate these technologies as well, as we want to be a neutral developer platform that does a good job for any developer that wants to build.

We will definitely try to support those scaling improvements and projects as well.

Sure, your wallet has to be able to interact with these products. How can people get in touch with you
There are two ways to reach us. Either contact us at Toshi.org or message me through Toshi, so anyone can contact me through the chat. Toshi is available in the App Stores and I am Sid on the chat.

Is there anything you want to add or talk about?
I would like to talk about a few Dapps that I am really excited about.

Sure great, go ahead.
There are a few that I find really interesting, mainly because they really do something innovative with decentralized technology and also do a good job on the User Experience and the Design. The first set of Dapps that came out just wanted to demonstrate the technology but did not spend much time on the User Experience. Now what you are seeing is that people are doing both. Being great at the technology and being great at the User experience. One example that went live a few weeks ago and which i am using again and again, is Peepeth.com. Which is a decentralized Twitter. All of your tweets are stored on the Blockchain and they did something really innovative as they batch transactions. So instead of using gas for each post, you can batch up to fifteen posts and then put them up all at one time. They also use IPFS, so the vast majority of data is stored on IPFS, which is also much cheaper, but the hash is stored on the blockchain so you can still verify the data.

These are two great innovations that improve the experience for the user. I really like that project. It also got a lot of early crypto adopters there, so I really recommend using that.

https://www.youtube.com/watch?v=XYPtNYb_X1c

Another one is Oasis.direct which has done a great job of reducing the complexity associated with decentralized exchanges. So the first decentralized exchanges we took live where hard for users to use on a mobile device. But if you look at oasis.direct they made it really simple to exchange any Cryptocurrency. Especially for someone new to the space.

Than of course CryptoKitties. They were pioneers in bringing a very creative concept and user experience to the space. I love what they have done. They actually allowed people not only to create and own a collectible on their website, but allow the user to have it in his own wallet and make it tradeable on the decentralized web.
They opened up the collectible community to the decentralized space.

cryptogoods.co

Another Dapp we recently took up in Toshi is Cryptogoods.co This is another really great use case. If you go to the Dapp and open it, they will see the collectible in your wallet and allow you to buy a real world item like a coffee mug, or a T-Shirt that has your collectible on it. So it’s a real good blender, between the virtual world and tangible objects. Having a Coffee mug with your CryptoKittie on it is really cool.

Oh, yes this makes it even more useful than just having the item sitting in your wallet. Now you can show it to anyone. I need to have a look at that myself.
As you mention all this I have a few more questions if you don’t mind. Would you actually say that Toshi itself is a decentralized app?
That’s one way of thinking about it, because the fact that the private key resides on the mobile client means that all control is in the hands of the user. The user signs every transaction, we only provide a backend service and transmit that transaction to the blockchain. But we have no way of modifying that transaction. The magic happens on the phone itself.

So you have most of the functions are based client side. How do you see the relationship to the App Store. You are providing a native app that is offered through app stores. This also means that the App Store can deny updates or even the continuation of your product. This is where a lot of Blockchain Devs see the centralized point of failure and we actually have seen this happen with some other Dapps. What is your take on that?
Do you see any other way of distributing your solution in the future?
Theoretically even today you could download our software. We are an open source product, so you can compile an APK and use it on your phone. We are not completely relying on a centralized service for distribution. You can build it yourself. The App Store just makes it easy for the vast majority of users to install it quickly. In a world where we might face challenges with this model, there are other ways to distribute the product.

The infrastructure that you run is based on your own servers. Would you be able to decentralize that part as well?
Some of the services that we provide are a token database, we have a collectible database and a Dapp database, we have nodes that are running (Geth and Parity nodes) that help users transmit transactions to the blockchain. Over time I think hopefully we will see open source community driven databases of popular token and popular collectibles. Over time the node technology improves and you can have a light client running on your phone. As of today we dont think its there. But when it happens we are happy to embrace that technology. We are for decentralization but the technology has to get there.

Does your roadmap have the lightclient on it? Is that a goal you want to build or solve?
You know we cannot build a light client ourselves. We are reliant on the core devs who work on the light client to build a great light client.

The day the light client is in a position where it does not require a large amount of daily data usage, where it doesn’t require constant processing power and a large amount of resource on the phone itself, we are happy to embrace it. But as it is today I would not be happy to offer a product where a user would need to download 17 Megabytes of data every day. Especially in developing countries this would not work. This would cost the daily wage of the user in some countries.

That is why we design our infrastructure as it is today, but will embrace a light client as soon as it is available.

The chat function or communication of your browser, what is that based on?
We use the signal protocol, end to end encryption, the same as Whatsapp. So we can’t read any of these messages and it is fully encrypted.

The underlying signal protocol is open source and we use those libraries.

It was a strategic decision we made. When you have a wallet, apart from using a Dapp, another really interesting use case is to send money from user to another all across the world, and crypto enables that. Let’s make it easy but of course it needs to be secure, so lets use an encrypted chat.

Great, thank you very much Sid. It was great talking to you and I learned a lot about Toshi but also about Dapps and your take on the future of the space and decentralization in general.

“This series will continue. If you want me to cover any specific Live Dapp, please leave a comment.”

About the Author:
I am a former Advisory Board Member of the Ethereum Foundation, the CEO of Old School GmbH, Business Hive in Swarm City and Advisor to a few Blockchain based Projects.

I like to simplify things. Nothing written in my blog posts is scientifically researched. I use naive logic and have come quite far doing so.

If you like my posts, please feel free to follow me here or on Twitter or LinkedIn.

Place your spare Ether or ERC20 tokens here if you like: 0xfc394e19c45370b57b157DEc58674CbFd77A9bee

--

--

CoachB
Old School

I am a Business Developer helping Blockchain products to find customers. I was on the Advisory Board of the Ethereum Foundation and am founder of https://ava.do