In this week’s episode I had the pleasure to interview Amiti Uttarwar. She is one of the first female engineers contributing to the Bitcoin Core software. Amiti is working full time as a Core developer, focusing on the peer to peer aspect of the protocol. Her latest contribution is a pull request that improves wallet privacy. I enjoyed our chat a lot, because Amiti has a clear and concise way to communicate which had even a calming effect on me. Maybe her daily meditation practice is the reason for that.
“I definitely hope that we move towards a Bitcoin ecosystem that involves more women. I think it’s kind of absurd how few there currently are that I know about, in Bitcoin Core specifically. When I made my first contributions I didn’t know of any women contributors. And I just think that that’s ridiculous.” – Amiti Uttarwar
“I definitely don’t think right now, a particular group of people or a particular business entity has the ability to really have a disproportionate amount of influence on Bitcoin Core. But I also think, it would take a really big change that I can’t really imagine how it would happen in order for that to be occurring in the future.” – Amiti Uttarwar
We talk about
- How different forms of money form expectations
- The gift economy
- Why she chose bitcoin and not another “crypto” project
- Censorship resistance
- Why privacy is important
- What a PR is
- Influencing the direction of Bitcoin development
- Bitcoin Core releases
- Her educational comics
- How Bitcoin developers are getting paid
- Her message to women in Bitcoin
- Diversity in Bitcoin
Ask a question
Support the podcast
ShownotesRecording Date: June 9, 2020
- Mastering Bitcoin by Andreas M. Antonopoulos
- Grokking Bitcoin by Kalle Rosenbaum
- Programming Bitcoin by Jimmy Song
- Sacred Economics: Money, Gift, and Society in the Age of Transition by Charles Eisenstein
Anita Posch [00:04:13] Hello, today's guest is Amity Uttarwar. She's a Bitcoin core developer at Xapo. Hi, Amiti, thanks for doing this interview.
Amiti Uttarwar [00:04:24] Hi, thank you for having me.
Anita Posch [00:04:26] Yeah, it's a pleasure to have you. I always love to talk with Bitcoin core developers because I think it's a fascinating space.
Amiti Uttarwar [00:04:33] I agree.
Anita Posch [00:04:36] Amiti, please tell us your story. How did you come into this place to be a Bitcoin core developer? Now what's your education and what have you been doing before?
Amiti Uttarwar [00:04:48] I studied a computer related field called information systems in college. And the focus of that was really how do you build effective technical systems? so I didn't actually learn a ton about computers in college, but I did graduate, and then work at some various startups in the Bay area, which is where I'm originally from.
And as you might've heard has a thriving startup scene. And so most of my computer science background comes from my professional experience. And one of the companies that I worked for was called Cimby, which is a marketplace for bartering and trading services primarily. And there, I found it a very interesting experience.
There was a thriving ecosystem of people who would offer each other services for, currency that was not Fiat because there was an internal currency called Simbi. And so pretty much that currency hadn't taken off or anything like that. It was just a random coin on a website. So it was pretty much for free.
I got massages. I taught people yoga. I learn how to make new recipes. I'm made friends who were interested in meditation and learned about keto , all sorts of various things. And it was so cool to see people just excited to share what they've learned about. And to learn about something new from someone else.
And it really made me reflect on what our current societal systems work on, because, well, for one, if you go out to hanging out with friends, usually you're consuming something. Maybe it's food, maybe it's drink. Maybe it's a movie, but it's very difficult to create situations where you're teaching or learning or creating.
And secondly, the role of the monetary system in this, the idea of the monetary system is so that we can trade services, trade goods, et cetera, do commerce. But what it has become in this day and age is something that is kind of a subset of possibilities. And one aspect of that I really, realized is that in our current system, if you're going to pay for something, then you want it to be with an expert.
And so the society has, there's a focus on expertise. And so one of the things I realized with Cimby is that I have a lot to offer. In my knowledge of yoga, even though I'm very, very far from an expert, I haven't been professionally trained as a yoga teacher, but if someone's just trying to get started.
It's something that I've been passionate about for many, many years, and I have enough information to help them explore their body or learn, you know, one phrase of movement that can help them become more comfortable and start developing their own practice. And so how do you, how do you bridge that gap into.
The same money that pays rent and pays food and always making the decision of is this the best use of my money. And it really just showed to me different possibilities of what economic systems could be, because there was an entire alternative economy that was occurring on this platform. Simbi. And so I, I was primed.
when I, when I was there, I started learning about Bitcoin and cryptocurrency and I never really used it. I, one of my first steps was actually reading the Bitcoin white paper. I don't remember quite how, but one thing that blew my mind was this introduction of a new trust model, fundamentally. so historically we've only ever had two trust models.
One is direct. I get to know you, we build trust and that is how we can conduct ourselves and make agreements and have promises about future actions. And the other is hierarchical, which is what's predominant in our society. And what has allowed humans to scale to the size of human interaction that we're currently at.
So this is, this is everywhere. What we see hierarchical is a, whether it's an app that is Airbnb or Amazon or anything where you're looking at ratings of reputation, it could be schools, it could be banks and governments. It could be smaller organizations that you opt into. really, once you start looking, you realize that the main trust models that we're working in is a hierarchical one, and that works quite well.
Right. That's why our society has scaled so massively, but there are also problems of it. And being in tech, being in the Bay area. I think one problem with it, that's very apparent is that the people who are able to monopolize that trust are able to disproportionately profit on it. So all of the apps that are currently really thriving, the main thing that they're offering is a little bit of trust.
I'd rather use Airbnb than go directly to some random person that I met on the internet, because I believe that if something goes wrong, Airbnb's policy, might be able to help me out. Or maybe even before something goes wrong, that the reputation system will indicate to me whether or not it's a good idea, rather than having to make that judgment based on a conversation with a stranger.
Similarly, Amazon is sits in the middle of people selling other people, their goods. I mean, even Google is, they're just a connection for people who want information and places that provide information. So in the Silicon Valley, that disproportionate amount of ability to profit. Is has been really in my face.
And so the idea of a new trust model and a possible different way where the focus is more decentralization and having this protocol that's coded in that can really take away some of that necessity of trust. For the first time we have a mechanism that says. Two people can come to an agreement of what is going to happen without them having to actually trust each other.
So I was very captivated by the idea of the possibilities. And, as I read the white paper, I also became deeply curious about how the technology works. So that's kind of paved my path of. Just trying to learn more and dig in. I think initially it was very, very exciting and I went through a phase of, you know, explosive, how do I read everything?
How do I learn everything? How do I understand what every project is about? But then I realized that there's just too much going on and I need to focus on what is important to me. And I think that out of all of the crypto projects, Bitcoin is the only one that I see having a very, very clear idea of what it's trying to achieve.
And I think that's a very compelling for me because I still see it as a very far out timeline. I think we're just in the baby baby stages, you know, we're trying to build a fully functional global money and it's only 10 years old. So we have a long way to go before we can really, of course, people are already using it.
But, the vision that I see for Bitcoin is one that is more globally accessible and just used more, more ubiquitous. So I think we still have a long way to go. And I really enjoy on a daily basis thinking about all of the small problems, all of the possibilities of issues and trying to design for the system that makes the most sense to me.
Anita Posch [00:13:43] I find very interesting. What you said about this currency called Simbi, which was used in between peers for, like actually sharing personal knowledge. It sounded rather like being a, kind of a gift economy that is supported by a currency or a token, that is enabling this exchange in between people without having expectations.
As you said, that this should be a, very professional, expert or something like that, it sounded very freeing in a way.
Amiti Uttarwar [00:14:17] Yeah. Yeah, I agree. And I like that language of a gift economy. I think that it was a very early stage, so it had a small but loyal user base. And so there was no kind of pegging it to, okay. If I get, you know, 15 Simbi, then I can afford X, Y, Z. It was so all over the place that it really was more of a gift economy and people would only offer what they were excited to share and to give, because you know, the currency itself.
Was, I mean, it had no real backing. I was God, by being a developer on it, I could just create as many as I wanted and stimulate the economy.
Anita Posch [00:15:08] So you played central bank.
Amiti Uttarwar [00:15:11] Yeah.
Anita Posch [00:15:14] I'm reading a very, very interesting book at the moment about gift economy it's called, sacred economics. It's by Charles Einstein and this is a very interesting book. This guy also has written an article about Bitcoin, I think already in 2013, where he states that Bitcoin is a great idea, but he has some ideas about it like that. It would need a kind of a demurrage. I don't know how you say it in English. So, basically I understand that he thinks that a problem with Bitcoin is the hoarding. You know, that people will not spend it because they want to use it as a store of value. But. I know that's a complete other discussion.
I just wanted to tell you about the book, which, also explains, I think in a very well written manner, what the problem today is he wrote that book in 2008 or no, in sorry in 2010 after the last crisis. And basically he says, there is nothing left to be commoditized. As you said before, with money, we have this, thinking that there has to be some kind of special value, you know, everything, the whole world has been commoditized now nothing is left and now we have this crisis.
It's very interesting.
Amiti Uttarwar [00:16:38] Sounds fascinating. I will check that out.
Anita Posch [00:16:42] Yeah. So, When you found Bitcoin, what was your next decision you decided then? Oh, I would like to work on that. Or how, how did this take place?
Amiti Uttarwar [00:16:54] I think that mostly I was just trying to learn more and get closer. I think it's easy to feel like very on the outside. All right. Easy to feel. Oh, I'm too late. but I just wanted to learn everything I could. I think as I was, I think it was around 2017, early, mid 2017 that I started learning. So that was when there was a huge hype cycle around crypto and the price of Bitcoin and all of these other tokens, especially in San Francisco, there was a very strange phenomena where.
I learned about, crypto and then a few months later was at a house party and somehow 50% of the people at this party suddenly worked in the "crypto" scene. It was a strange time with a lot of failed ICOs, but I was just curious to keep digging into like where the fundamental differentiating aspects are.
And so I, my next job was at Coinbase and I worked on the crypto engineering team there. And that was some really great exposure, especially to people who are interested in the same technological underpinnings. I had a great team that I worked with and, you know, some long extended conversations about different ideas, whether it's Byzantine fault tolerance or privacy mechanisms and different coins.
and so I was working at Coinbase and excited about that possibility, but I also found myself not fully satisfied. Coinbase is a place that's an exchange and trying to integrate many different assets. And I just didn't find that I'm fully scratching the itch that I was looking for. And so I tried to explore different aspects, attend conferences, exploit different projects.
and I never really thought that I would have the potential to contribute to Bitcoin core. It's such a, just legit project. It's intimidating, you know? but I attended a Optech, meetup through. Through Coinbase and there I met, John Newbery who introduced me and he said, yeah, absolutely. If you'd like to, I'd be happy to help you get started.
And he exposed, he gave me work to do basically in Bitcoin. And so I slowly started. Making my first PR and when that got merged, that was so exciting. And I just spent my nights and weekends trying to learn more about Bitcoin and Bitcoin core and the code base and everything I could possibly get my hands on and slowly just ramped up.
I made more PRs. I started reviewing PRs. And then over the summer chain codelabs, I don't know if you've heard of them, but they're basically, research and Bitcoin development center based in New York. And one of the programs that they do is to have residencies to onboard new protocol contributors.
And so last summer they had a three month residency. One of the biggest one that they've done so far, and I got the opportunity to participate in it. So I got to work full time, learn all about Bitcoin, hanging out with Bitcoin people, bitcoin and lightning, but just be exposed work full time, take on a project, get a mentor and really dig in.
And that was just so incredible. It was quite an opportunity and I just had so much fun. So after the summer, I said, I want to continue doing this. And I got really lucky. Xapo offered to sponsor me to work on it full time. So I've been working on Bitcoin core ever since,
Anita Posch [00:21:17] And so your position at Xapo is basically a sponsored Bitcoin core position. So you're only working on Bitcoin core.
Amiti Uttarwar [00:21:27] Correct? Yeah. I have a lot of freedom.
Anita Posch [00:21:30] Okay. Well, that's great, but let's get back a little bit to the basic underpinnings of Bitcoin. Why in your perspective, is Bitcoin so important or what's the most important feature or characteristic of Bitcoin for you?
Amiti Uttarwar [00:21:46] For me, what makes Bitcoin really important is the idea that anyone can use it. And there's a few different aspects of this. One of them is censorship resistance. That means that an entity cannot prevent another entity from making transactions and participating in the currency.
Another aspect is having access. For example, it's really important that people are able to run their own full nodes at a low cost. So I'm not one of those people that says every single person has to run a full node. That would be amazing if we got there, but I don't see that as a necessity for success, but I do see that every person being able to run a full node, if they desire.
As important as part of the success. And that's because maybe you have a system that works for you, but if that system that changes or is taken away, it's really important that you have the ability to have an alternative that's in your own power. So in addition to censorship resistance, the ability to voluntarily participate in the network by having your own hardware and running your nodes, whatever that entails is another aspect.
And I think there are a few more subtle things that could grow over time. For example with privacy, if it is not private, if everything was just public, what the transactions are then over time that can really have a very negative consequence for different sorts of people, because that might reveal information that you don't want to reveal around what your money is being spent on or, sensitive matters.
Whether it be medical expenses or, I don't know, family things, anything, whatever could be sensitive. I think privacy is really important because the people that you're engaging with might misunderstand actions that aren't even negative or disingenuous. And so you should have the ability to reveal what is public information, especially when it comes to something as personal as what you're spending your money on.
And so over time, if there is a lack of privacy, there could be a lack of accessibility because there could be a reason if your government doesn't agree with what you're doing, then you're not able to participate because you could be punished for things that are reasonable. So I think all of these come together in the fundamental idea of what makes Bitcoin important to me and what version of Bitcoin, what I consider successful.
It's the idea that everyone has the ability to access it. And that is at a global level. It's not like Fiat currencies where there's a nation state, and then there might be other nations that use the currency of elsewhere, but then don't have the same abilities, right? If places are using the U S dollar, They don't have the ability to print the U S dollar.
And so there's totally different economic repercussions for them. and so I don't look as much at the financial monetary policy side, but I think that I. I think about this a lot from a technical viewpoint of how do we make sure that we have censorship resistance. We have the ability for everybody to access the network and stay on the network that we have privacy.
And those sorts of fundamental values are things that I think about on a daily basis.
Anita Posch [00:25:51] Think that financial inclusion is one of the core parts of Bitcoin, which are very, very important. Yeah. I read that you recently merged a Bitcoin core PR, and it's about wallet privacy. Can you explain to our listeners what a PR what it means and what it is?
Amiti Uttarwar [00:26:12] Yeah. So the letters P R are short for pull request. And basically Bitcoin is an open source project. So Bitcoin core, if you go to github.com/bitcoin/bitcoin, you see a website and that is the code that is Bitcoin core. And there are a bunch of contributors who are constantly trying to improve it and make changes.
So there's a whole process for how changes are able to be accepted so that, you know, they're thoughtful and that there's consensus around them. A PR a pull request is a way that a contributor can offer a set of changes for review, to be considered, to be incorporated into the main Bitcoin core client that is, then it goes through a release cycle and gets bundled up into software.
That's distributed in. more streamlined fashion.
Anita Posch [00:27:15] So Bitcoin core is basically the software. the full nodes are running. Is that right?
Amiti Uttarwar [00:27:21] Bitcoin core is the reference implementation of the Bitcoin protocol. So it is the, I believe it's the main one that full nodes are running. But you could also run your own patch or somebody else's fork of Bitcoin core and participate in the same network, running a slightly different version of the software.
As long as you're adhering to the Bitcoin protocol.
Anita Posch [00:27:52] So basically in the Bitcoin protocol, all the ways, how transactions are formed, how they are validated, sent, and received or saved to the blockchain. This is all part of the Bitcoin protocol, right?
Amiti Uttarwar [00:28:05] Yeah, absolutely. And that's a really good description of what I call consensus, which is basically the idea of what is a valid block, what is a valid transaction and all of the nodes should be checking this for themselves. If you're running Bitcoin core, you're good. Your software is definitely going to check it, but you could be running an alternative patch that should also be verifying this.
There's an aspect of the protocol, which is the one that I focus on the most, which is P2P short for peer to peer. And that is how do messages get sent between the different nodes? What, what is the structure for communicating that information? all of the messages that are passed around so this is also quite fundamental because the consensus and validation talks about ok I have a transaction
how do I know it's a valid transaction, but the peer to peer layer says, how do I make sure I get the transaction? How do I make sure I get the block?
Anita Posch [00:29:18] Also what I would be interested in is how does the protocol or the system arrange that in that way, that everything is synchronized all the time.
Amiti Uttarwar [00:29:28] Whew. I'm still learning. There is so much complexity to that.
Anita Posch [00:29:36] Well, I learned from your comic about the mempool is that, I also thought that there is like a big cloud, a big mempool, but I learned that every node has its own mempool.
Amiti Uttarwar [00:29:48] Yeah. So this is something that's really hard to wrap your head around, working in a distributed system. And so whatever level of engagement, every node has its own mempool. Every node has its own copy of the blockchain with the blockchain, they really should match up quite closely, but it is possible that there are, small forks.
That's very natural this is why it's important to wait a few confirmations before you spend transactions, because it is possible, but when building or when setting your expectations of great, I got some Bitcoin. Can I spend it? You do have to understand that.
What I'm seeing is just this one impression of the state of the network. But every single entity on this network is going to have a slightly different impression. And so how do we, how do we reconcile that and how do we use it in a way that is okay. So the mempool absolutely every, every node has different transactions in their mempool.
And, hopefully they're pretty close, but there are abilities to configure. So that they're quite different. I could just say, I don't want to see any transactions that have less than a hundred Satoshis per byte as of a fee rate. And then I might not get many transactions at all, but that, that could be okay.
I could be fine with an empty mempool, whereas somebody else could say, Oh, I'm a miner. And I want to never expire transactions because maybe I'll get to them later. And maybe I can make a few more Satoshis of a fee because a transaction that would have been expired in the default circumstances is actually still around in my mempool.
And so there's all these second and third order effects of if you're forming a transaction and you think that it gets dropped from the mempool, it might just be dropped from your mempool. And actually it might be in somebody else's mempool. And then if you try to spend those same inputs, it's actually rejected from that other mempool, because it looks like a double spend.
Anita Posch [00:32:04] Okay. That's almost too deep now for me and for our listeners, but it's, it's fascinating how many different angles Bitcoin has and there's one thing I hear very often from people who are new in this space or others who just might want to troll. I'm not quite sure, but many people say that Blockstream is too influential and that the Bitcoin development is influenced by them.
It sounds as if it would be possible for entities to shift Bitcoin in certain directions. Is this true? Is it just really an attempt to discredit Bitcoin?
Amiti Uttarwar [00:32:46] Yeah. I just heard a little bit of the same sort of line of questioning. I don't really buy into it at all. I think that the Bitcoin core developers that are working on it full time, or have sponsorship come from a really wide variety of, financial sponsors, but also there's a huge ethos of critical thinking for like individual skepticism and, really trying to spread ideas based on the contents of the ideas, welcoming, thoughtful criticism, and question asking around them and getting consensus that's in proportion to the size of the decision.
So the Schnorr and taproot proposal is one of the bigger changes that's gone on since SegWit. And there's a huge process of iterating to try to make the solution robust of trying to spread the understanding around how it works on every level, whatever level you'd like to engage in at, to try to understand better what is going on and if possible analyze, if these are good changes and give that feedback. so it's really not one entity who's working on it, or one entity who has the ability to, decide that these changes are going to happen because there's a really strong community in Bitcoin. And it's kind of, maybe you could think about it as rings of influence.
And I think that. There's a lot of power in, if people think something fishy is up. So, one of the central rings is how do those changes in the code get accepted into the main branch of Bitcoin. So we call that master. So how do the changes get accepted into master and the people who have the ability to do this are called maintainers.
And there's currently six Bitcoin core maintainers. but as you see there, even in the terminology, they're maintainers, they're trying to be a gatekeeper of the system, not trying to make the decisions and the way the decisions are made are through a process of consensus. So you might've heard the terminology ack, concept ack, knack. this is a way that reviewers come and look at proposed change, sets those PRs and decide whether or not this is a good idea and they want to endorse the change. Then they can leave an ack. Or maybe that is a good idea, but still needs some work. So they can say ack the concept, but say, all right, but that these details here, the code needs some change.
And so that's another ring and that's how the maintainers make the decision of whether or not code is ready. They look, if it's gotten enough review and enough, agreement, and then it can be merged, but even still, even if it gets merged, it's not finalized. The release process is a approximately every six months, the changes of those six months get bundled up.
Translations are made. It's a candidate for release, additional testing is done and all along the way, there's a lot of visibility. Every time a PR gets merged into Bitcoin. You know, you can find out about it on Twitter. I think there's bots that, that post, or like you were saying, you found, you found out about the PR I had, that was merged, or, and there's a lot of initiatives that are trying to further spread information like Bitcoin Optech is a really wonderful one that I subscribe to the weekly newsletter and they highlight, okay, here are some bigger PRs or some interesting PR is that were merged every week. And so there's a wider community of Bitcoin supporters who are able to see the activity that's happening.
And it is possible to revert a change that has happened. If someone says, Hey, okay, this got merged, but it doesn't make sense. It wasn't ready. There was a problem. whatever there there's the possibility to revert it before it gets bundled up and released as, Hey, here's the new version of Bitcoin. If you're interested in upgrading.
And then, I mean, even every single person who is running a node has the option of upgrading and that's something that's very different in Bitcoin than any other software development project that I've been familiar with. The idea that you don't have to upgrade. So, this is very difficult from a software development point of view, because that means we have to support all of these different historic versions and make sure that any new changes are able to work for those older versions as well, which is where the idea of soft forks come from.
but it's something that's very unique because. In the ethos of Bitcoin core development, there's this huge, a huge priority on making sure that all participants in the system are able to have a vote. So if you're running a full node and there are changes in the new software versions that you're not a fan of.
You don't have to upgrade your software and the agreements that you had previously should continue to work. And that's a huge vote. That's unlike anything I've ever seen in a monetary system. And it's not quite like the normal in software systems either. There's a deep rooted. Ethos of saying that all participants should have the ability to speak up and influence the way that they want to use the system.
And I think that, that really carries through the whole ecosystem up and down the development stack, the user stack, et cetera, et cetera. So I, I don't think that. I definitely don't think right now, a particular group of people or a particular, business entity has the ability to really have a disproportionate amount of influence on, Bitcoin core.
But I also think it would take a really big change that I can't really imagine how it would happen in order for that to be occurring in the future.
Anita Posch [00:39:36] So basically a soft fork is a software change that is backwards compatible and the hard fork is not backwards compatible.
Amiti Uttarwar [00:39:45] that's correct.
Anita Posch [00:39:46] And, there has been a new Bitcoin core release in the last days or weeks. I think now we have version 0.20.0. You've been working on that too. Have you.
Amiti Uttarwar [00:39:56] Yeah, I am not super involved in the release process. So mainly what I do is I focus on the master branch on reviewing PRs that are currently being made and working on whatever projects I think would help improve the code base. So the PR that I recently gotten merged will be, if everything goes well, if testing goes well, et cetera, it will be part of a 0.21.
I did have some changes that went into 0.20. but the way that those bundles happen are something that I'm not paying super close attention to. I mean, I do, I do pay attention like
a slightly bigger change in P to P behavior. And wallet behavior, it's better to have that early in the cycle. So there's longer for it to be tested and reviewed and I wouldn't want to have that at the very end. But, it's not something that like 0.20 versus 0.21 is not something I'm thinking about too heavily.
Anita Posch [00:41:02] When is this coming the next six months? again, or, okay. So we could say two versions per year.
Amiti Uttarwar [00:41:10] Yeah. That's what the target is.
Anita Posch [00:41:12] Oh, that's a target. Okay. Interesting. With your work, the wallet privacy can be, or could be improved. What did you improve here from a user perspective?
Amiti Uttarwar [00:41:22] So this is part of a project around improving transaction privacy. And let me explain what I mean when I say transaction privacy, the idea is that you want your on chain transactions to not be linked with your real life identity. When we're looking at the software, one way to make that link is if a spy can identify that this IP address, this node is the first one to announce a transaction, because then you can make the jump between the Bitcoin addresses and your IP address as the source.
So usually the way this happens is you broadcast a transaction, which means that you're announcing it for the first time. And there's a way that all of the, all of the nodes that find out about a transaction also broadcast it to its peers. And you can add a little bit of logic around timing to make it hard, to identify from a peer receiving a transaction.
Okay. Are you the origin or are you actually just relaying it from your neighbor or from your neighbor's neighbor? So the idea of privacy is not revealing who is the origin needing source of a transaction. One way that this information is leaked is through transaction rebroadcasting. So rebroadcasting is the idea that I've announced my transaction to the network once, but now I'm going to announce it again.
And the reason you would do this is because there's ways that your transaction might have been forgotten about it might not have made it out to the network. It, for whatever reason, it might not actually be able to be mined right now. So you give everyone a friendly nudge. Okay. Here's this transaction and say it had gotten evicted or expired from their mempool.
They'd say. Cool, great. Here's a new transaction. Or if they already have it, they'd say, no, thanks I already have it. So rebroadcasting is important for a guarantee that your transaction can get mined. The existing way that rebroadcast has worked is not very good for privacy. And the main reason is because the only node that will rebroadcast it is the originating source wallet.
So if there's a spy that has many connections open and sees that, okay, this node has already told me about this transaction on this other connection. And at a later point in time is now announcing that same transaction then that spy can know with certainty that that transaction originated from that node.
Thus less privacy. So I'm working on a project to improve that. And the PR that I recently got merged was a big step in that direction. And it's interesting because this was, a realization as I was iterating through the design of how the software is intended versus how it's being used. So basically that rebroadcast functionality was instead of always being the second time it's broadcasted sometimes for users who might have formed a transaction offline, that they were relying on the rebroadcast to make their first announcement of the transaction.
So I needed to develop a way that could guarantee that if you make a transaction and you form it in your mempool even if you're not connected to the network at the time, and you later connect, how can you make sure that that transaction will get out for the first time? So that was the PR that I developed.
And by adding that guarantee, I was able to reduce the frequency of the rebroadcast. Previously it was once every approximately 15 minutes and after my PR it's once approximately every day. So even though every time it runs, there is a possibility of being a quite significant privacy leak. Now, instead of there being that possibility, every 15 minutes, There will be that possibility every day.
So this is much better for privacy guarantees. I'm still working on a grander project, so that even when we do rebroadcast, we're not leaking privacy, but this was a big, first step in the right direction.
Anita Posch [00:46:31] Yeah, and I think it's great. And, it's very important that these steps are taken because I think one of the most important things about Bitcoin is really being cash. Like, yeah, a digital version of real cash, so it has to be fungible and private. And so I really think that these are very important steps also, thinking about, Coinbase and its acquisition of neutrino and, they are new service for blockchain analysis I think this is very important.
Amiti Uttarwar [00:47:03] Yeah, I agree. And I think that there's a lot of work to be done on all the different levels. I think about privacy on the protocol layer and how we can improve that. But there's also a lot to be done in terms of what is already possible and how users are using it. And what software is encouraging you to do, right?
The, the protocol can be however private, but if a users are signing up and KYCing and using Bitcoin through exchanges that are explicitly tied with their identity, then it doesn't really matter what's going on on the protocol level. so I think that there's a lot of work and, and there's a lot of people who are working on it, whether it's education, whether it's, developing, easier coinjoins or different wallets that have privacy as first class citizens.
I think there's a ton of really exciting, amazing work that's going on. And a lot of people who are learning about it so that they can use Bitcoin better. but I agree that privacy is pretty fundamental in my idea of a successful version of Bitcoin. And making sure that it's inclusive of a financial system.
And so I hope that we are as a group of people who support Bitcoin, moving towards systems that support privacy, overall.
Anita Posch [00:48:33] Another question about Bitcoin core developers and contributors. I mean, many of them work free, like, being, entrepreneurs or freelancers. How are Bitcoin core developers paid? I mean, what do they live from?
Amiti Uttarwar [00:48:50] Yeah, the ecosystem of supporting Bitcoin core development is quite interesting. And this is another aspect in which the decentralization ethos is manifest in the Bitcoin space not just in the protocol, but also in the, in the process around it. So I think there's a huge variety of people who contribute to Bitcoin core in different capacities.
There are a group of people who are supported to work on it full time, like myself, and there are different companies that are offering sponsorships or employment, to different people. And so I think it's really important that. I hope that trend increases of companies that are willing to financially support core development.
And I think it's amazing the companies that are currently doing it and there's a handful there's chaincode, Blockstream, Xapo, Bitmex, OKcoin have grants announced. There's a lot of various private grants. Oh, Square crypto and there's a lot that we're seeing in diversity of funding resources.
And I think that it's really important that we have both. The resources to fund as well as a diversity so that, so that we don't have that central entity, that's the only one, that Bitcoin core development is, dependent on.
Anita Posch [00:50:16] How many Bitcoin Core developers are needed. I mean, is there a need for new ones?
Amiti Uttarwar [00:50:22] I, I would say yes, I think that it's a software project and there is so much more improvement to do. One of the indicators of lack of bandwidth is that the biggest bottleneck is reviews on PRs. But in general, I think that there is a lot of complexity in the Bitcoin core code base. And there are not a ton of people who are familiar with that complexity and the nuance.
And I think that it's been really amazing to see. I made my first contributions to Bitcoin core in January of 2019. So I'm quite new, in comparison to the people who, like spend all of their time on Bitcoin, I'm still ramping up, but it's been an incredible journey to see that I, I'm able to contribute.
And I think a lot of it has to do with the fact that there are low hanging fruit. There are a lot of improvements that can be made that would make this software more robust, that would make it more private, that would make it more accessible. And, and another aspect of that is educational. I think it's not enough that it's just, Oh though, the code currently works that way.
People need to understand the code in order to leave reviews, but also the code is a client it's meant to be used. So if there are these different sorts of features that have interactions, then there should be educational material that lets node operators, understand the capacities of their nodes.
And I think this goes all the way up, right. There's education. Every person needs a different level of information to, advance their understanding at the time. And I think that having educational materials is really important and that it should be underpinned by fundamentals that make sense. And so, or like that are accurate.
I see a huge need for more attention on almost every layer of Bitcoin, because it just in general, we're so small and we're so new. We have a niched community of believers and some big ideas and some big vision, but for Bitcoin to be successful, it needs to be everywhere. It needs to be something that people are able to easily use.
So I do think. What you were asking. I do think that the code base would benefit from more developers from more critical attention, but I also think the ecosystem would benefit from more people contributing in whatever ways are available to them.
Anita Posch [00:53:22] Do you have any messages for people who want to start as developers or in any other form to work on Bitcoin? And maybe a message also afterwards, especially to women, because you said diversity two times before. I know you meant it in another way, but that's a word for me to jump in and to ask you, I mean, you, as a female developer, do you see yourself a little bit as a role model for others to come in?
Because I think there would be space, but I don't know where they are.
Amiti Uttarwar [00:53:54] Yeah. Okay. So I'll start with the first question. And the first question is, what's my message for people who are interested in the space are contributing. I think that if you're interested in making a contribution. Then stick with that and stay focused and identify where can you have a unique contribution wherever you are along your learning curve.
You don't need to be the most technical. You don't need to be the most knowledgeable because there's always going to be someone who knows more or the project that you don't know about or an aspect that you could learn about. But identify how you can create something that's useful because that's also, what's fun when you create things it's rewarding.
And so wherever you are on your learning journey, how can you stay focused and make something that has utility? And that's easier said than done because we're in a space that's rapidly developing has a ton of excitement and has so many directions you could be pulled in. So, how do you stay focused?
That's the biggest question.
Anita Posch [00:55:02] How do you stay motivated, too.
Amiti Uttarwar [00:55:05] Yeah, that's a true sustaining motivation. Well, I mean, maybe that's actually a better message than, staying focused because maybe if you sustain motivation, the focus will come. I don't know.
Anita Posch [00:55:19] Oh, I don't think so. I think you need both.
Amiti Uttarwar [00:55:21] That's true.
Anita Posch [00:55:23] Yeah. And what would be your second message.
Amiti Uttarwar [00:55:25] I definitely hope that we move towards a Bitcoin ecosystem that involves more women. I think it's kind of absurd how few there currently are that I know about, in Bitcoin core specifically when I made my first contributions, A little more than a year ago. I didn't know of any women contributors.
So I think that might've been the first, but I mean, maybe there are other women who have made some, but there are definitely not any other like active female contributors. And I just think that that's ridiculous. And so I have been starting with myself and trying to establish my ability to think critically about the system.
And I definitely would love to see more. It's been really exciting. There've been a few others, who are now getting involved and contributing to the code base. I'm currently mentoring two women who are making some awesome contributions as they're ramping up in the past few months. And that's super exciting.
But I definitely would love to see more women contributing to the protocol. And I think that, it's not just at the protocol level. The Bitcoin space tends to be dominated by men.
But I think that, we would all benefit if there were more women and not just women, but people from different backgrounds. Another imbalance in the current set of Bitcoin core engineers is that there tends to be more people from like Western countries. And I just think that if we're trying to make a global money, then we need people from different walks of life to be represented.
And there's certain ways in which we can look at different sorts of communities or the core community, et cetera, and identify imbalances. but I think that everyone benefits because if the money can be more accessible to different groups of people, then that's how we get a global censorship resistant, accessible monetary system.
Anita Posch [00:57:41] I also think it's a tool for financial inclusion. Yeah. For many women around the world. So, yeah, I would also be happy if we see more women coming in and being interested in Bitcoin. So, we're coming to an end now, do you have any recommendations for our listeners to get to know more about Bitcoin, maybe books or websites, videos?
Amiti Uttarwar [00:58:06] Ooh, there's so many good ones. I would say, I think that if you really are interested in learning about Bitcoin, I would choose one of the books, Mastering Bitcoin, Grokking Bitcoin, or Programming Bitcoin, according to whatever level of familiarity you're currently at and interested in getting to, because this will really give you the fundamentals that allow you to engage with the developments in the ecosystem.
And provide kind of a bigger picture that allows you to choose what you want to focus on.
Anita Posch [00:58:41] And I mean, I would recommend your comics, where can people find those? And will you do new ones?
Amiti Uttarwar [00:58:47] Yeah. I definitely am interested in making some more. Let me know if you have any topics that you're particularly interested in learning about. I, for the comics, I have them on a Github repo. Maybe I can share them with you so that you could share in the show notes. I think, cause I have, so I'll, I'll post it on Twitter and when there's a new one, I have them hosted on a Github repo.
That's called like Bitcoin bytes under my personal GitHub. And I started a little newsletter so that you can just get emailed when I make a new one. and so I'm happy to share all of these links.
Anita Posch [00:59:27] I'll put them in the show notes. You also wrote a medium article about how to onboard to Bitcoin Core. I read it and I will also put it in the show notes. And where can people follow you and your work?
Amiti Uttarwar [00:59:40] Yeah, you can find me on Twitter @amizi and that's probably the best way to kind of follow me, but you know, if, if you're ever interested in figuring out how to contribute to Bitcoin core specifically, or how to further your learning journey, my DMs are open or you can email me.
I'm always willing to help people who are interested, carve out a path.
Anita Posch [01:00:08] Amiti, last question are you meditating on a daily basis? Because I think I read that you're interested in yoga and meditating.
Amiti Uttarwar [01:00:16] I do. Yeah. I meditate on a daily basis.
Anita Posch [01:00:19] When did you start with it?
Amiti Uttarwar [01:00:21] When did I start meditation? Oh, 2013.
Anita Posch [01:00:25] what has it changed in you or what has it done for you?
Amiti Uttarwar [01:00:30] I love meditating. It's just genuinely so nice. It puts me in a better mood and it makes me feel more sane. I, I think there has been a lot of deep shifts in the way that I interact with the world and my ability to stay calm and, stay constructive is influenced by my meditation
I mean, it's hard to, it's hard to specify exactly because it's such an integral part of my life. And, even if I'm not doing a sitting practice, I think that bringing awareness to breath and bringing attention to the sensations of the body and trying to be present in the present moment. are values that I hold highly in different activities.
Like I also enjoy, adventuring into the mountains and doing some fairly intense mountaineering. And I think that it's for a similar set of reasons where it really demands my attention and it demands that I integrate my body, my mind, my spirit, my attention, et cetera. And that I find just so fulfilling.
Anita Posch [01:01:50] I think you'll have a very clear way and focused way to communicate. I have the feeling that, that it resulted in something good for you. Yeah.
Amiti Uttarwar [01:02:00] Oh, thank you so much.
Anita Posch [01:02:02] So, thank you very much for this interview and for your time, I appreciate that a lot and I wish you all the best for your next PRs and everything you do in Bitcoin.
Thank you very much. And, yeah, I hope to see you in the next couple of months or years maybe. And, thank you.
Amiti Uttarwar [01:02:22] you so much for having me. It's been a pleasure to chat.