Nitya Subramanian: Products and Protocol
1 Mar 2023 · 17:28
Celo product manager Nitya Subramanian, speaking at a16z crypto's Startup School, discusses how building products differs in blockchain versus centralized platforms. She contrasts full-stack approaches for consumer-facing products like crypto wallets against developer-focused products like lending protocols, and closes with Celo's own stack, from its Ethereum-forked blockchain and stablecoin smart contracts up through its wallet and developer SDK.
Speakers
Topics
Transcript
[Music] thank you [Music] um yeah so hey everyone um today I'll be talking a little bit about building protocols building products and how some of the approaches to doing so might be different in the blockchain space versus building more kind of traditional like centralized products so a bit about me um I'm nitya I work on consumer and developer product at on a project called
cello so before doing product I was actually a protocol engineer working on stability and before that I was leading product engineering at a fintech startup overall I came to the blockchain space first out of technical interest for consensus protocols and scalability and then over time got really excited about kind of the ability for consumers to Steward their own data some of the really cool topics that others have been exploring earlier and that was ultimately when I decided to come and work in the space full-time time so you'll be hearing more about Solo in the context of how products get built in
different ways and what some of those different approaches look like but overall Cello's gold goal is to build a more open and accessible Financial system so um what kind of the motivation for this and the problem size to give you a sense is over 1.7 billion people worldwide are unbanked so no banking access but over two-thirds of that group has access to a mobile phone and so if you think about that market size there's well over a billion people globally who have access to everything on the internet but can't send ten dollars to a family member overseas and so what makes a successful product um this image right here is one of my
favorite products it's a low end Android device so for forty dollars you can have access to everything on the internet so you can talk to your family you can get access to more information and this is a really interesting Innovation to me because it took something that there was a gap in Access in namely internet services and Innovation on the technical level namely open source mobile operating systems like Android and Android go and put it all together and bridge that Gap at a price point that made it accessible to a large group of people and so as we're kind of thinking about products thinking about a need and how we might build something to address
that need So today we're going to talk about building products but not necessarily in the traditional centralized sense we're going to be really focused on what are the difference between building um building in the blockchain space versus in a more traditional context there's lots of resources online for how you can find product Market fit for how you can plan iterations and how you can build a product iteratively but this is going to be really focused on the the differences and how you might want to build with a new paradigm so one thing that doesn't change is uh where you start right with any product you want to start with what is the need I'm meeting and for who so in the
blockchain space there's really two right if I'm building a wallet um my user is an end user consumer if I'm building say a um decentralized lending protocol my user is Developers so there's some big differences in that when traditionally you build for an end user you have maybe your own database you have a back-end service or several services and you have a front end or you have an application layer and you own all the layers of the stack and so as you find um find out different things about your users you find out different features you want to build you can
change every layer of the stack to meet that need and to build new build new use cases and better find product Market fit whereas what's a little bit different about the blockchain space is that you may build a Dap on top of already existing infrastructure and so what's interesting about this is you may have a blockchain that you can't maybe make as many changes to as your back end so one thing that's really important to think about here is this idea of flexibility and control so as you're thinking about products that you want to build thinking about what the most important features are to meet those needs of your users and then thinking on a really detailed level of okay what infrastructure might I need to either build myself or might I
pick to use that exists already that'll help me best meet those needs of users and thinking about what will offer you the widest range of flexibility as well as control in terms of building something that um in terms of building and continuing to meet needs and then with developers it's a little bit different so some of the kind of some examples we already have there's um ethereum which had the initial thesis of building Unstoppable programs we see that compound has a thesis of earning interest overall some of the best developer platforms have started with a range of objectives and what I mean by
that is there's a sense of okay why would developers come to my platform and having that really strong strong sense of why people would use what you're building um a flip side of this is that um in order in addition to having a sense of what the range of different uses are this is helpful because you can build abstractions that make those common use cases really easy there's also a sense of because you don't know exactly what developers are going to build and if there's one thing we know about devs is that they have a great ability to take what is defined and really expand on it and push it forward you don't want to stop people from continuing to innovate on your platform so having the flexibility to do kind of more custom things with what you're
building is something that is also really important to consider so I think a really cool example of this is with ethereum where a really clear abstraction that one might want to build on top of a generalized computer is a programming language right we have solidity at programming language what's cool about solidity is there's also the flexibility to even write um right assembly if you need to and write instruction level instruction level code if something isn't quite supported or something doesn't quite do exactly what you want it to so these two things honor to to each other where with end users we talk about like control and wanting to build almost in this very focused on One Singular goal kind of way
whereas with developers we want to build things that are modular and build clean abstractions but one thing that they both have in common is really this idea of having needs in mind so understanding on a as rigorous level as you can what is bringing people to the product that you're building and really avoiding that mentality of like build and they will come so across the board you just want to be rigorous about why would people use what you're building so some examples of this across the space so so far the space is still really early but there are a few different
interesting products that I'm going to kind of talk a little bit about and and talk about how they fit into this framework of developer Focus versus user Focus so Bitcoin as a refresher Bitcoin is the native asset of the Bitcoin blockchain and so Bitcoin initially started as a peer-to-peer money monetary system over time it's evolved to more of a store of value but the important thing to keep in mind is that it had an initial purpose and so if we look at Bitcoin today we see that both the native asset and the protocol serve to reinforce and enable each other where the asset gets its
value from its utility and from its degree of widespread acceptance and the protocol value comes from the degree of security and decentralization that exists so there's a huge Community around Bitcoin and the blockchain itself has withstood a long period of time and there's therefore a lot of faith in its security one thing that's interesting to note here as well is that um the Bitcoin itself had a need and created a whole technology namely blockchain to enable that need and so that's kind of an interesting interplay with the the previous framework and then ethereum is a an equally
successful or yeah also very successful and interesting like uh kind of example of the alternate approach where ethereum started as a generalized computer and as a result was from the start has been really appealing to developers and so it was really cool to see is that as balji mentioned earlier in 2017 with the Ico craze it became a really great place to raise to do crowdfunding and to put a new asset out there and as a result what we see is that ethereum has a ton of value today derived from this Rich developer ecosystem and the composability that exists between different assets and so if we take a look at again
Building Products what the next set of products might look like we see that we've had two really successful products to date we see that they've met different needs overall if we kind of think about what the future looks like it's clear that there is a huge amount of open space out there and in terms of kind of building a great product there's still so much left to do so this just shows the market cap of all crypto assets and how they compare to other kind of markets that exist and so we see that there is about 4X between crypto and and apple and then another 7x between Apple and gold so again huge potential and even if we look at popular
adapts some of the most popular applications still have on the order of like tens of thousands of weekly users and so huge amount of room ahead and so next going to talk a bit about what an approach might look like that takes this user need focused approach and builds in a way that controls the whole stack to kind of meet that user need and so building with one kind of core purpose in mind and the goal here is to like illustrate one way that this might be possible and so a little bit about Sello um so cello started out as a fork of ethereum it's a layer one as well as a
set of smart contracts and an application layer built on top so the blockchain itself is proof of stake based and as I mentioned the fork of ethereum and so the analog to eat is Sello gold that's a native asset on top of this there's a set of native smart contracts encoding um cello dollar which is a stable value Asset pegged to the US dollar and a lightweight identity system and then a set of applications so on the cello wallet as well as a developer SDK so you might be asking um we were talking about users versus developers and like how do those two kind of play together in um in the approach here so from the start cello was really focused on a wallet and end
users and building to that need as a result what's come to be is a kind of a broader sense of what those users might need and as a result the definition of what a developer ecosystem might want to set out to build and so the initial approach being building for an end user and then becoming the first consumers of an SDK and then building that SDK to meet a range of different use cases and another thing that's important to understand is though all these occur within one project there are pretty separate kind of road maps and decisions about like the direction to take these two and so um they they definitely play with each other in the sense that one will kind of
take insights from the from the kind of successes and learnings of others but it they ultimately are kind of two separate layers of the stack and so the first case study here is just about the the way that we kind of think about mobile clients and clientsync and so one thing that is really interesting about about kind of the solar wallet is that it runs a light client that syncs blockchain State and this allows for a user to both sign transactions as well as send them from their device itself and so one thing that the team and kind of noticed was as uh kind of initially
when we would have a network running up running for a long period of time it would take a long time for this light client to sync all of the headers that were part of the chain state to that point we realized this was going to be a really bad experience for users to start up this app get really excited about you know using a wallet and sending money to their friends and then see this loading screen that took forever so what came out of this was a really focused effort on reducing the time of that sink as much as possible and so due to a variety of features that we prioritized and service to this now the sink is only a few kilobytes per week which is pretty cool and it also means that that first time experience is
really fast a second example is around gas currencies and usability so as I mentioned being a fork of ethereum um one thing that's interesting about the ethereum blockchain is that no matter what asset you're transacting you need that asset as well as some eat to have a transaction go through so if I'm sending someone 20 die I need dye as well as a little bit of eth to make that transaction go through one thing that's really interesting about taking a full stack approach here is that as our team had noticed we were going to do a pilot in Argentina and have a bunch of users use cello dollars and see kind of what people did with it and get some
learnings from that one thing we noticed was that we're going to have to give people both Sello dollars as well as Sello gold in order to perform transactions like say even buying a sandwich and so if we think about what that means for a second if we're talking about mainstream usability having people use two different assets just to transact in one as a comparable to cash or even like a debit type system it seems like a bit of a regression in user experience where it seemed that way to us and in addition to that if you think about kind of some of the more marginalized people who may need access to a financial system and may find Value in something like cello needing to hold a volatile asset and have risk exposure
in order to just transact in a stable value Asset didn't really seem right and so one Innovation that came out of that was allowing for gas to be paid in a stable asset so namely cello dollar so so those are just a couple of examples and I would say that as you're kind of thinking about building and as you're thinking about your products thinking about ways that you can get these learnings higher up in the stack as quickly as possible so that you can make changes lower down because again one thing that's really different about the space is that changes at the most fundamental and lower levels are a lot harder to make and so trying to get as many insights as you can early on so key takeaways one starting with the
biggest need so rather than kind of starting with technology and kind of seeing what fits think about what is the biggest possible problem that you can solve and how might you use the toolkit that you have at your disposal with blockchain to solve that problem best and then two thinking about how at every single layer of the stack you can maybe build a bit up or build a bit more full stack or at least think in a more full-stack way in order to build something that meets a more cohesive need okay all right thanks Mitchell [Applause] [Music]