WBD271 Audio Transcription

WBD271+-+Amiti+-+Banner.png

Becoming a Bitcoin Core Developer with Amiti Uttarwar

Interview date: Tuesday 20th October

Note: the following is a transcription of my interview with Amiti Uttarwar. I have reviewed the transcription but if you find any mistakes, please feel free to email me. You can listen to the original recording here.

In this interview, I talk to Bitcoin Core Developer Amiti Uttarwar. We discuss her residency at Chaincode Labs, contributing to Bitcoin Core, working on open source projects and the blacklist controversy.


“I think that having a global currency is inevitable at some point, whether in our lifetime or another, and I think Bitcoin is the kind of global currency I’d like to see.”

— Amiti Uttarwar

Interview Transcription

Peter McCormack: Hello, Amiti, it's good to see you again.

Amiti Uttarwar: Hi, good to see you too.

Peter McCormack: I can't remember exactly when we recorded that impromptu show in New York; it was at least a year ago, right?

Amiti Uttarwar: Yeah, it was during the residency; so last summer I think, more towards the end of it, so maybe August.

Peter McCormack: Yeah, that was good fun.  I remember leaving that thinking, that's three of the happiest people I've ever seen in my life!  The three of you sat round the table just grinning ear to ear, having the best time.  We're going to come back to that, but it's good to see you on.

It was funny, because I did that show and life goes on and then, I just started to see your name and picture pop up occasionally again and I was like, oh, she's here, she's here doing the Bitcoin thing, and it worked out, right?  So, we've got a few gaps to fill in.  But, what I thought would be a really useful show to make is that, because you're kind of new to this, right, I thought it might be good to cover a bit of your journey so people could understand what you went through to become a core developer, a Bitcoin developer, so maybe they can learn from that; how are you with that?

Amiti Uttarwar: Sure, it sounds good.

Peter McCormack: All right.  So, before Chaincode, let's talk about what was happening up until discovering the Bitcoin thing; what were you doing?  Obviously, you must have had an interest in tech or coding, or something?

Amiti Uttarwar: Yeah.  So, I basically was working in San Francisco Bay area at different start-ups, so was very much in the tech scene, but I'm not exactly sure how I first learned about blockchain and Bitcoin, etc.  Some of my earliest memories involve 1) watching a TED talk about, "What is a blockchain?", and 2) reading the Bitcoin whitepaper.  So, that was my memory of my first dabblings.

What really captured my interest was the potential for an alternate trust model because historically, we've only had direct or hierarchical trust, where I get to know you and we can make promises, do business, etc; or, I put trust in, like, if you have a friend and you go, "This person's good", and we extrapolate out, which is really the main way that human society has been able to scale to the billions of people that we are and function.

So, when I learned about this new tech concept, blockchained thingamabob, what really captured my interest and inspired my question-asking of how and what could this mean, is the idea that we have a new trust model where two strangers can come to an agreement of what happened without having to trust one another.  That really is what set me off.  I wanted to know, is this for real; how does it work; what assumptions are there, etc, and in a way, that still keeps me around because I'm still wondering, is it real; does it work; what assumptions are there, etc.

Peter McCormack: Yeah, I mean I find it all totally fascinating, but in some ways I'm also fascinated by the work that people like you do and the other developers I've spoken to, because it is way beyond me, but it is kind of fascinating.  When I came to Chaincode, I didn't know what to expect walking into the building, but I left feeling this overwhelming feeling of, wow, this is a place that's really going to help train people to confidently onboard into becoming Bitcoin developers.  I just left with this, and I'm not a coder in any way.  I mean, I know a few HTML tags, I can do a bold tag and I remember an href, I think that's a link, but I still left thinking, wow, what a place this is.

So, I think it would be great for you to talk about the process of getting to Chaincode, how you went through the application, what happened and then also, let's talk about the experience of the residency itself?

Amiti Uttarwar: Absolutely.  So, I had actually applied to a previous residency and I didn't get in.

Peter McCormack: What?!

Amiti Uttarwar: They were like, "You're not ready yet", which I can understand.  They said, "Go in, learn more and come back".  And so, I don't remember exactly what the timeline was, but when I first applied, I was working at a different start-up, and then I found my way to Coinbase on the crypto team and that was a move to try to get closer to the whole crypto scene.  I knew this thing excited me and I was really trying to figure out my footing of, what is my path to create.

I think everybody experiences the overwhelm of information and projects and excitement, etc, and I think it's really important to figure out, how do I create, not just consume.  So, in my journey of that, I applied to Coinbase; I was on the crypto team; and, I really, really loved the people I worked with and the exposure.  We were all just very excited and would deep-dive into different projects, different technologies and potential, etc.

I remember a multi-arrow conversation of, why is it a 51% attack; what does Byzantine mean?  And so, I really enjoyed that, but I wasn't very satisfied by the work I was doing.  In many ways, Coinbase is an application company and so, the technologies I was working with and the focus of trying to build quickly and deliver a lot of different assets, etc, I understand it and I don't hate on it; but for me, it's not as good of a fit as what I'm looking for.  I tend to be a deep-diver who really, really wants to understand the fundamental ideas and so, I felt like mostly I didn't have enough time and I wasn't going fast enough.

That, however, gave me exposure to different projects, how they work, and helped me get deeper and understand.  And, actually I got myself invited to an Optech dinner and there I met John Newbery, who was the focus of your last interview, and he told me, "Yeah, you can totally contribute to Bitcoin Core if you wanted to", and I did not believe him at all.  And so, he just gave me a little bit of direction of, "Go, clone the repo and build the tests, etc, and then let me know", and he said, "Look over here; here's a test to do", so I did it.  It took me a long time, but I was excited and I did it, and that really gave me the exposure to starting to work on Bitcoin Core on GitHub.

As I did that, Marco was also an early mentor in terms of giving me feedback, putting me towards other work to do, etc, and I think those contributions and demonstrating my sustained enthusiasm is really what enabled me to get accepted to the Chaincode residency the second time around.

Peter McCormack: Right, okay.  Just a second; when you clone the repo, is that basically downloading all of Bitcoin?

Amiti Uttarwar: Yeah, but it's different than getting all the blocks.  So, it's downloading the code.

Peter McCormack: Yeah.  How overwhelming is it the first time to do that and just trying to figure out how it all works, how it's all linked together?  Is it all obvious, or do you just look at it and go, "Uh huh"?

Amiti Uttarwar: Well, getting the code is not hard; there are pretty clear directions and it's a very common thing.  Once you get the code, what you do with it, that was, yeah, I was just like, "Well, all right, there's a bunch of -- is this Arabic; is this -- what do I do here?"  I was kind of aimlessly opening files going, "Hmm, cool, cool"!

Peter McCormack: Yeah, because one thing I would worry about is that, whenever you're working on something like Bitcoin Core, there are a couple of things here.  Firstly, you're dealing with a protocol that has, you know, hundreds of billions of dollars of value locked up in it and you don't want to do something that ruins something.  But within that I'd be wondering, if I'm working on here, how does that affect something over here?  And, that's me, not as a developer knowing, but did you go through anything similar like that?

Amiti Uttarwar: Absolutely, and I do on a daily basis.  There's so much nuance and complexity that I never know what I'm missing, or what I've seen, because I think that that's something that, as you get more experience, as you get more exposure, you see the bigger picture; whereas, when you're getting started, you can take on a small, specific task and figure out how to solve this exact thing, but you're completely unaware of how that might impact things downstream.

Peter McCormack: Right, okay.

Amiti Uttarwar: So, from the point of view of the codebase, trying to make things easier to isolate is the direction that we're striving for and that, in general, tech projects go for as they mature.  So, one example of this is having more automated tests.  So, if you come and you go, "Oh, I could change this", that's fine; and then, you have a test suite that's just automatically running that goes, "No you can't, because that breaks something else".  That's much better than just having to rely on, "Oh, actually, you need to know the whole system before you change one small thing".

Peter McCormack: Right, so there are active projects to kind of mature the codebase?

Amiti Uttarwar: Yeah, absolutely.

Peter McCormack: Okay.  So, let's talk about what happened at Chaincode as well; how long was the residency?

Amiti Uttarwar: Approximately a little less than three months, so I think it was 10 or 11 weeks.

Peter McCormack: And, how does it work; is it a specific programme of activity; do you get to choose a specific area you want to work on, say maybe Lightning; how does that all work?

Amiti Uttarwar: Yeah, so I think every residency that Chaincode has run so far has been slightly different; so, I'll tell you about how last year's worked.

It started with a two-and-a-half, three-week period of seminar and it was a couple of weeks of Bitcoin and a week of Lightning.  There, they really just pulled all the experts; it was incredible.  We just got so much exposure, I was really in full sponge mode like, okay, maybe I only know 50% of the words being said but maybe by the end of the week, I'll know 60%; but, getting exposure to different areas of thinking about Bitcoin, about Lightning, obit problems, design thoughts of people who are prolific contributors, etc.

Then, the majority of the summer, the two months that followed, were the project period where we were given a lot of support; we were assigned mentors; we were given help finding a project, etc, but the aim was really each person selects a project then runs at it and tries as hard as they can to further this project over the course of the summer.

Peter McCormack: What was your project?

Amiti Uttarwar: My project was about rebroadcasting and improving privacy in the dalek that was the rebroadcasting.

Peter McCormack: Okay, and was that a completed project; did that work go live into core?

Amiti Uttarwar: No, not at all, I'm still working on it!  But I have made a shade of progress and if you're interested, I can tell you what the concept is, and I think you'll be able to understand?!

Peter McCormack: Well, go on.  Woah, hold on, are you saying I'm not technical?!

Amiti Uttarwar: No, opposite; I'm ready for it.  Like, I don't care if you claim technical or not, you can get it!

Peter McCormack: Right, come on then, come on Amiti; I'll have a go.  Come on!  Is it more complicated than xPubs?

Amiti Uttarwar: I mean, I was ready for this, because I know the whole technical conversation and stuff and I think that everybody has their own superpowers and interests of areas that they want to focus on, and I suspect that there are areas in which you're very technical, like for example sports.  I don't understand sports' words!  Or marketing and content creation and etc; all of these have domain-specific logic and so I think that just because you don't want to spend your time in code, doesn't mean that you should be attacked for it!

Peter McCormack: No, it's fine, look, I get it!  But, listen, when I'm next out in the States, we'll do the offside rule and cover football, and you'll get the offside rule.  Right, come on, tell me, tell me what you did; I want to know.

Amiti Uttarwar: I think I know that one; it's where defence goes ahead of offence, or the opposite?

Peter McCormack: Basically, if you pass a ball to another player in your team and you're on the offence, the defence has to have two players behind the ball, otherwise it's offside.  A lot of people think it's one, but actually it's two, because they include the goalie generally.  But, if the goalie's not there, it has to be another player, otherwise it's offside; there you go!

Amiti Uttarwar: Gotcha!

Peter McCormack: Right, you're in!  Right, come on, explain this to me; I'm ready.

Amiti Uttarwar: Okay, so first in Bitcoin, we make transactions and if you form a transaction, you have to tell everybody about it, right?  So, that's called broadcasting, the first time you say, "Hey, here's this transaction".  And, we have a lot of techniques so it's not totally obvious when I tell you, "Here's a transaction, but it's my transaction".  You might think it's actually Jo's transaction and I'm relaying it along.

If I tell you about the transaction for a second time, we call that "rebroadcasting" and there, the existing way that we rebroadcast is kind of a huge privacy leak because 1) I only ever rebroadcast my transactions, so if you see that this is the second time that I am telling you about a transaction, you can know with quite high certainty that I was the one who created it, and that's the information we're trying to keep private; and then, 2) we're doing it quite often.  Every time there was a block we'd say, "Oh, no, my transaction wasn't in it; maybe the network doesn't know; here it is", and that was just unnecessary because maybe you weren't trying to get it into the next block; maybe you had a low fee rate and you're like, "Sure, it will be picked up the next day".

So, the goal of my project is to improve this and just have it be less obvious.  I've got part 1 merged, where I've made it less frequent, so now you'll just occasionally rebroadcast, if that makes sense.  In order to do that, it did get kind of deep in the weeds of, "Okay, how do I make sure -- what if I tried to create a transaction and send it out to the network and then actually didn't realise that my Wi-Fi was off?  I should try that pretty quickly, because there wasn't that initial success".  So, in order to implement rebroadcast less frequently, I had to make sure that there was an indicator of success for the first broadcast.

Peter McCormack: Okay.

Amiti Uttarwar: Does that make sense so far?

Peter McCormack: Yeah, I get it.

Amiti Uttarwar: So, part 2 is about, okay, now there is a rebroadcast, let's make it less obvious that it's mine.  Fundamentally this is, mix it in with other people's.  So, easier said than done because if I just told you every transaction I've ever heard of multiple times, that would just be spam, and that would be using bandwidth and other limited resources and just be terrible for the network; so, it needs to be done carefully.  That's part 2 and that's in the archive.

Peter McCormack: Has any of that got anything to do with Dandelion?

Amiti Uttarwar: Kind of.  Dandelion is a -- so, it was a paper.

Peter McCormack: Because, that's like a broadcast privacy thing, right?

Amiti Uttarwar: Yes, exactly, so in the lines around having practically perfect privacy in the initial broadcast.  So, they wrote a paper on it and there's been a lot of interest.  It's quite difficult to actually implement, but it's in the same world of broadcasting and privacy; it's just focussing on a slightly different aspect of it.

Peter McCormack: Okay, so you're part way there; part 1's merged in.  Was that your first significant piece of work that was merged in?

Amiti Uttarwar: Yeah.

Peter McCormack: It was?  Okay.  So, when you complete that piece of work, how many people have to check it to ensure it's okay?

Amiti Uttarwar: There is no explicit answer to that.  The number of ACKs, which is our lingo of, "Hey, I think this is read here; this is good", so the support being expressed really relates to what is the piece of work.  So here, because there is behaviour change in the P2P network, which is something that can have second- and third-order effects, it's pretty important that it's very, very carefully reviewed, which might be different than other parts of the code. 

So, I don't remember offhand exactly who, or how many support votes I got, but it definitely went through a lot of review and is better for it.

Peter McCormack: How nervous were you when it went live?

Amiti Uttarwar: Oh, not at all, because it's not really that way.  I mean, you merge it to master, but then every six months, the master branch is bundled up and put out as a release candidate and then, there's additional testing that's going on.  So, it's not like it's immediately, oh, users are experiencing this change; it really does take a long while.

But, after getting support from people who are much more experienced and understanding of the whole network and the whole project than I am, that was such a boost of confidence that it made me feel -- that built my confidence around the changes themselves.  So, when I was first proposing it, that was very nerve-racking, because I'd spent a lot of time on this, but maybe I'm just completely misunderstanding and missing something obvious and these are awful ideas; so, that part can be very nerve-racking.

Peter McCormack: But you get mentored through it, right?

Amiti Uttarwar: Oh, my God, absolutely.  I had amazing mentors.

Peter McCormack: Okay, so help me understand a couple of things.  So, the thing you propose there; that's not a BIP, right; or, is that part of a BIP; or, is a BIP a bigger thing; and when does something become a BIP?

Amiti Uttarwar: So, let's talk about the difference between the Bitcoin protocol and Bitcoin Core; do you have any idea of what the difference is?

Peter McCormack: So, I'm going to guess, okay, based on my limited understanding.  Bitcoin Core interacts with the protocol, right, because Bitcoin Core is an implementation; but, you can have alternative implementations, right?  That can all interact with the protocol.  But, to be honest, God, this is one of these things where people are going to listen and go, "Oh my God, Peter didn't know this".  I thought they were the same thing right up until the same thing you told me that?

Amiti Uttarwar: Yeah, and it's something hard that I think many people initially don't realise, or have a hard time wrapping their head around, so let's talk about it.

Peter McCormack: Let's do it.

Amiti Uttarwar: So, the Bitcoin protocol, what that defines essentially is, this is what a valid block is; this is what a valid transaction is --

Peter McCormack: Oh, the protocol is consensus?

Amiti Uttarwar: Consensus is a crucial part, yes, and that's defined in the protocol, and it also defines what messages look like, so how different nodes talk to one another.  So, it's pretty much consensus and the peer-to-peer messages, fundamentally.

So, anybody who implements a software that adheres to these rules, that have the same definitions of a valid transaction or they send the same format for communicating a transaction, addresses, etc, those are all able to participate in the Bitcoin network.  So, if you have a different idea of what valid is, then you can't be in the Bitcoin network.  You can be on your own network; that's cool, but that's separate.

Peter McCormack: Okay, let me just ask something firstly then.  The protocol itself; what actually is it?  Is it a separate piece of code, a separate set of files; what is the protocol?

Amiti Uttarwar: Yeah, I think that's tricky; it's kind of nebulous.  The protocol is defined via BIPs, but what exactly is it?

Peter McCormack: Yeah!

Amiti Uttarwar: It's mostly just a format, it's mostly a rule set, it's not the actual code.  So, the actual code could be Bitcoin Core, or a proprietary software company, or whatever; your fork of Bitcoin.  Those are actual codes that implement the protocol.  But, the protocol is just a set of rules that you have to adhere to.

Peter McCormack: Yes, but what I'm trying to understand it, so how does Bitcoin Core, how do we ensure that it's following the rules and if Bitcoin Core wasn't following the rules, how would that break the system?  I don't understand where the rule-checking is?

Amiti Uttarwar: Yeah, that's a good question.  Okay, so in this hypothetical world where Bitcoin Core diverges from the Bitcoin protocol, what might happen is that we could have a fork in the blockchain; we could have separation in the network.  Those could be the two main options, because other people are all agreeing, other nodes are agreeing to the rules, and then Bitcoin Core is going rogue, it's saying, "Ha ha, I'm on my own rules".  So, that would be very bad.

Peter McCormack: Okay, I get it.

Amiti Uttarwar: But, I think theoretically possibly, but seen as kind of far-fetched, but cause like a partition of the network or blockchain most likely.

Peter McCormack: It is fascinating to try, for someone like me, to try and get my head around it and try and understand how it all works.  And do you know what; sometimes, Amiti, I just think I just shouldn't; I should just like accept it works and trust people like yourself.

Let me ask you another question.  So, it's obviously your first big piece of work.  Are you also checking other people's work yourself?

Amiti Uttarwar: Absolutely.  The review process is so critical to how Bitcoin Core and the Bitcoin protocol, how changes get in, and so I spend a lot of time just -- the vast majority of my day is reading code that either somebody is proposing a change, or this has already been in the existing system, and just trying to understand, why are things this way; why is this change being proposed; what are the higher level concepts that are being impacted or considered here; and really just wrapping my head around it, because it's so, so complex and there are a lot of people who've spent a long amount of time trying to develop these clever, robust, private solutions.

I think it's really important, as a new contributor, to invest in learning and share that feedback.  So, through the review process, I can say, "Hey, I looked at the code.  This is what I learned.  Here are my open questions" and that could help nurture other people's understanding as well, or inspire deeper question-asking.  But, that's truly crucial to the way that our project works and how it's not just open source, because open source means that anybody can see this. 

But, I've been realising lately that Bitcoin Core, as a project, is quite different than most existing open-source projects and one of the ways is because it's a fairly decentralised review mechanism.  It's not just one maintainer, or a company who has a project that's open sourced; it's actually an attempt at saying, "Here, community, let's decide this together".  So, I think it's really cool.

Peter McCormack: Yeah, that is really cool.  So, what would you say the split of your time is between review and your own project; and, how do you even choose to partition your time with this?

Amiti Uttarwar: I don't have any great answers.  Some combination of my notebook and contrived urgency in my head based on hub notifications, and just excitement that day!  So, I project manage myself, which is different than companies, for example.  But, I really just try to focus on changes that I think would be impactful, and I try to kind of have some themes of, "All right, now I'm going to try to understand this area.  Are there PRs that are open that I can review that are consistent so I can piece together the big picture; or, what are the different aspects of conversation?"  I don't know, there are a lot of different factors of how I choose, but mostly it's nebulous and arbitrary.

Peter McCormack: And you said it depends on what's going on at GitHub, like something exciting might be happening.  So, I guess in the developer community, the core developer community, you have your own lines of communication, places you congregate, places you talk; whereas, whether you're like what I do, or traders, they have their own places as well and they have their own things they get excited about?  What are the things that really excite you and amongst other developers; is it just certain new releases that are coming in, like really important bits of work; is it Taproot; what goes on that excites you lot?

Amiti Uttarwar: Well, I think there are some things that are just ubiquitously exciting, right, like who isn't excited about Schnorr and Taproot?  It's awesome for sure!  But, I also think and hope that different people get excited about different things, because there are some sorts of tasks that I just think they're good, I think they're beneficial, but I have a hard time really getting into a flow state and working on; whereas, there are others that just genuinely capture my attention.

So, where I've been hanging out is in the peer-to-peer network, and I find it so interesting, because it's kind of like an intellectual play space for me.  There are these hybrid-specific decisions that you'll make in the codebase, like what kind of data structure am I going to use, or what kind of locks, that are very technical and specific.  But then, this relates to, how is the network functioning as whole?  And, having to go back and forth between this really big picture, down to these very specific nuances, is challenging and engaging and I totally love it.

So, other than spending most of my time in the P2P, I've been working full time in Bitcoin for a little over a year and I feel like I'm just starting to get the hang of it.

Peter McCormack: Well, it seems almost like there's so many different areas to it now that you can specialise in, so you've just said about …  Because to me, there's Bitcoin and the Lightning network; those are the two main things that I think about.  But, you talked about the peer-to-peer network.  So, I guess within there, there's a whole bunch of different areas that people can choose to specialise in?

Amiti Uttarwar: Yeah, totally.  There are so many options.  Even within Bitcoin Core, there's a ton; even if you want to be testing the releases, or whether you're going to review libraries that depend on -- like, for Schnorr and Taproot, there are some changes that are going on in Bitcoin Core.  But, there's also the cryptography that are bundled up in different packages that need review as well.

I wish I could see a visual of it because honestly, I don't even know all of the different options, so it's kind of an interesting ecosystem, you know.

Peter McCormack: Yeah.  So, what happened when you finished at Chaincode?  The residency ended; you were probably very sad when it was over; did you have like a graduation?

Amiti Uttarwar: Yeah, I mean we just did some social activities; did an Escape Room together, which was a cute bonding experience; hung out in a park.  I don't know, in general, the group of resies became fairly tight, so we were socialising in our last days in New York, you know?

Peter McCormack: Yeah, I love that city.  So, what happened after that, because obviously it's open source development; you obviously need to be funded to do this work; so, what was your path after Chaincode; how are you doing this?

Amiti Uttarwar: Yeah, so I was very lucky to be sponsored by Xapo.

Peter McCormack: Nice.

Amiti Uttarwar: I got to be technically there, but my job was to work on Bitcoin Core and I had the ability to decide how best to spend my time.  So, that was very, very lucky and really awesome.  My mentor through the residency was AJ Towns, and he was also sponsored by Xapo, so he was then my official manager, which was kind of ideal; it was amazing.  He's been just a wealth of information that he's shared entirely.  I can't express enough how much I've learned from him.

Peter McCormack: Amazing.  And then, Coinbase bought Xapo, so does that mean that you ended up back at Coinbase?

Amiti Uttarwar: It's not the first time I've been asked this!  Coinbase did not buy Xapo; Coinbase bought a particular part of Xapo's business, which was pretty much their big business clients, because Xapo said that they want to focus more on the everyday individual.

Peter McCormack: Right, okay.

Amiti Uttarwar: So, they don't want to develop the services for businesses, whereas Coinbase Custody, I think, it was really trying to focus on creating the suite of tools for that; so, they bought that part.

Peter McCormack: Okay.  I met Wences in Uruguay, of all places; my first time.  He was a really fascinating guy to talk to.

Amiti Uttarwar: You should get him on your pod.

Peter McCormack: Do you know, I want him on.  He's one of the gaps; he's one of the missing people on my list.  Do you talk to him often; can you tell him to come on?!

Okay, cool.  So, now you're in, you're part of this, I've got a few kind of different questions I want to ask you now, and quite a big but broad first question is, what does Bitcoin actually mean to you now?

Amiti Uttarwar: It's so many different things; there are so many facets, right.  It's like a diamond; which way am I looking at it?  I think the broadest answer I have to this is, if somebody asks me, "What is Bitcoin?", it's Bitcoin is a money and it's different than other monies we have because it's digital, global, and inclusive by design.  And so, we have different monies that are parts of these.  We have several digital currencies.  Having a digital global one; this is the first that I've seen, the only viable option I've seen.  But, things like gold; I mean, cash is fiat; so, I would say gold is a global currency.

Then, the inclusive by design is really important to me, because I think all of the digital and niche estate-backed currencies are designed on kind of the opposite principle, where there's some central authority and you have to get the stamp of approval before you're able to partake in the system.  And, I think that totally misses the point of money!  I think money is supposed to be a way to enable activity of different kinds, whether it's trade or business, future promises, and that's how money has worked for most of the past, whether gold and cash are inclusive.

If I want to hand you cash and you hand me something else, it's not just going to be a lightning bolt comes down and says, "No, you can't do that!" but that's how the digital age works right now.  With fiat, it's like you could be totally innocent and not be able to partake in a reasonable activity.  I thought a great example of this was Carla, who was one of the resies, had the hardest time getting just a stipend from the Chaincode residency, because she didn't have a permanent proof of address.  So, she didn't do anything wrong, but she wasn't able to get paid to do good work, and had to jump through all of these hoops and she's like, "Oh my God, can I just buy Bitcoin and send it back?"  And it was such a real, tangible use case.

I think that as we become more and more of a global society, Yuval Noah Harari has this metaphor where he talks about, back in the day, if there were villages, there would be a shared resource of a river and if you're upstream, it's cool, you can use the clean water and then you can clean your stuff and pollute the downstream water, but this would be terrible for village people who live downstream.  And so, they had to come together to come up with some idea of a society to agree with how to treat the water, the sharing source. 

He calls the internet the global river where we've opened up these streams of communication, but we haven't really figured out good policies or what to do with this overwhelm of resource, and I think this manifests in many different ways.  But I think one is definitely money because if, globally, you're using currency that is backed by a particular nation state, this is absolutely unfair and especially in days of money-printing, etc; and honestly, just seems unviable.

I think that having a global currency is inevitable at some point, whether in our lifetime or another, and I think Bitcoin's the kind of global currency I'd like to see because by design, it's saying that no entity should be able to keep another entity from participating; and, that's something I take very seriously because when I look at the P2P network, that's the high-level concept that I'm thinking about of, sure there's this specific, technical decision, but what does that mean for the ability to participate?  And, I want to maximise the fact that people should be able to use money.

Peter McCormack: You see, that's a brilliant answer, really powerful, but that sounds like that's a passion from you that comes from somewhere a little bit deeper for some reason?  Like, I don't know you, so I don't know why, but am I right, am I wrong?

Amiti Uttarwar: Yeah, I feel it pretty intensely.  I got chills just talking about it.

Peter McCormack: But it feels like this is, you know, a lot of people …  This is the same though, because I was going to say this is like a passion project for you, but how fortunate to get to work on a passion project?

Amiti Uttarwar: Oh, yeah, I feel lucky on a daily basis.  I feel just incredulous that I get to work on something I'm so passionate about.  And, it's not just a high-level passion; it translates into me finding a flow state and developing something, you know, creating the thing, and I really feel so lucky that I work on something that I'm just truly, truly motivated to.

Peter McCormack: Yeah, contributing to something that can make the world a better place, I guess?

Amiti Uttarwar: Yeah, absolutely.

Peter McCormack: And, when you explain it to your friends and family, do they get it?

Amiti Uttarwar: Yeah.  I mean at this point, they know all about Bitcoin; they're awesome!

Peter McCormack: They're all onboarded; they're all bitcoiners now, are they?

Amiti Uttarwar: Essentially, yeah!  I've always been impressed by the supportiveness of my family and the curiosity of both my family and friends.  They'll indulge me and engage me and be like, "Okay, but how does it really work?", and from all different fields of studies, how hard they try to understand and how curious they are.  I'm like, "Wow, I have some good people around".

Peter McCormack: Yeah.  What about, do you feel a sense of responsibility with it then?

Amiti Uttarwar: Probably, considering I struggle with having an excess of motivation and feeling like, if only I could do more, and just the challenges of how long my lists of ideas are.  So, I would imagine that there's a sense of responsibility in there, but I guess I don't personally frame it that way.

Peter McCormack: Yeah, fair enough.  I've got another question for you.  It's kind of technical, but just something that's been on my mind for a while.  It's, how does Bitcoin stay decentralised and simultaneously adapt to growing usage?

Amiti Uttarwar: [Laughing]

Peter McCormack: I cheated; I cheated.  All right, that was fantastic, by the way.  So, just to let people know who are listening, you co-wrote a piece on Medium, and it's a fascinating piece, so I'm going to put it in the show notes, because I think people should read it.  Do you want to give the tldr?

Amiti Uttarwar: Yeah.  So, this is what we were alluding to earlier where I think it's a unique project because, in addition to having this new consensus proof of work, like how that works, there's also this social consensus of, how do we make changes to the project in a decentralised way?  And, I think this is a really fascinating, but also crucially important question to be asking and aware of; because, in many ways, it's a very small team of people who are ensuring the health of Bitcoin Core and I really hope to see over time that grow, and for it to be more accessible and for more people to participate in the system of how we make decisions.

And then also, you know, in the very long term, it would be cool to see more projects having decentralised decision-making techniques.  So, in Bitcoin, it all relies on that peer review process and whether it's for the protocol, the mailing list and the review process there, or for Bitcoin Core, the other GitHub project, there are a handful of people called "maintainers", who are able to say, "Accept the changes and merge it in", and who drive the release process.  But, they are not really trying to impose the decision themselves; they're trying to look at what the community consensus is. 

And so, there are a lot of nuances and important things to attend to to make these decisions but, as a community member, if you care about Bitcoin, I think that understanding what that process is like is important and I think that a lot of people really sometimes have such strong opinions without actually understanding what that is like.  So, I hope to inspire more curiosity.

Peter McCormack: Yeah, and that leads on to then another question, because somebody listening to this might be, "I really want to do this; I really want to become a core contributor".  What advice would you give of what process they should go through, because it's not like everyone can get a residency with Chaincode, but that shouldn't be a reason not to pursue this?

Amiti Uttarwar: Absolutely.  So, yeah, a few things.  So, for all of my advice, I have a blog post for that called, Onboarding to Bitcoin Core, which you can find on my Medium account.

Peter McCormack: Okay, I didn't see that one.

Amiti Uttarwar: Yeah, it's the only blog post on my Medium, I think.

Peter McCormack: Oh, is that on a separate one from the one I read?

Amiti Uttarwar: Yeah, the one I just published was really just about OKCoin, who I collaborated with.

Peter McCormack: Okay.  What about the other one; I'll add the other one in as well, but what was the tldr for that then?

Amiti Uttarwar: Sure.  So, I think that the main thing, if you want to be an active contributor to Bitcoin Core, is recognising that all valuable contributions have been over time.  So, it's really important, and I just read this book, Working in Public, that's an amazing book about open source development, etc.

But, I think something that really emphasised it and put it into perspective to me is that, open source projects have a lot of demand of attention, because there's this kind of constant churn of people who might be asking questions, opening issues, trying to make a contribution, and these can be kind of extractive or imposing to the project, because every change requires maintenance over time.

So, if you're serious about contributing to Bitcoin Core and you're genuine about wanting to do it over time, then you should know that that is a huge value add and it's a very bandwidth constraint project and people are so welcoming and encouraging and supportive.  Everybody who -- I've helped a lot of people onboard and they've all echoed a similar sentiment to me where like, "Wow, this is an amazing community".

So, if you're interested, then just take it slow, invest in your learning and find ways that you can actually contribute value.  So, I go more into details in the blog, I'll spare you all a whole monologue, but I think that's the most important thing to keep in perspective.

Peter McCormack: It's funny; I said it at the time when I met you with John Newbery, the three of you all in that room, as I said, people might not have heard that; I'll send them back to it, the John Newbery interview.  There's 15 minutes at the end and Amiti, and I can't remember the other two people?

Amiti Uttarwar: Carla and Fabian.

Peter McCormack: Okay, that's Carla and Fabian.  And, I just asked for 15 minutes just to explain what the residency was like, and I just had three people sat with the biggest grins opposite me, just so happy, and I was like, "This is amazing".  It was really inspirational for me to even see that and I see exactly the same with you now, like you've got that same ear-to-ear grin; you're absolutely loving it, absolutely enjoying it; it's like you're on top of the world.  It's a very cool thing to see. 

It's a shame; I should probably just screen grab your smile and put it out on Twitter.  When everyone's arguing, I should just be like, "Look, let's have an Amiti moment, like, everyone just smile, let's chill out!"  No, but it's really cool to see and it's really been cool to see this leap in your journey and congratulations; that's very cool.

Amiti Uttarwar: Thank you.

Peter McCormack: Okay, so final question is, what's coming up for you?  I know you've got this second part on the peer-to-peer network that you're working on, but what else is coming up; what else do you want to work on?

Amiti Uttarwar: Well, I'm kind of taking a detour.  There are testing improvements, so we started today by talking about the value of testing in projects and trying to help scale, so that's really where my current focus has been, in introducing the mechanisms that will enable a lot more tests; so, I've been very excited about that.  Then, I hope to make my way back to part 2.

But overall, I'm just really excited to continue to deepen my understanding of the system.  I'm still focussed on P2P, but I hope as I am able to internalise a lot of what is going on, to keep expanding out and understand more and more of the system, leave better reviews, mentor in newcomers.  Lately, I've been mentoring two people who are onboarding who are both really awesome, and that's incredibly rewarding for me.

And, I'm always looking for different ways to engage the community.  It's really fun to talk to people, because I've talked to people in so many different countries in the world who identify as bitcoiners, and it's so cool to hear about how Bitcoin compels different people, how it has different use cases for different people and inspires different aspects.  And, I think that amplifying those voices is something that I'm very excited by. 

So, I started the Bitcoin Zone with Stacie Waleyko and Daz in a way to just say, "Here's a playful space for anything you want to say or paint or whatever about Bitcoin".  So, I think there are lot of avenues; we'll see what's next.

Peter McCormack: Is that Daz Dickinson?

Amiti Uttarwar: Mm hmm.

Peter McCormack: And Stacy Herbert?

Amiti Uttarwar: No, Stacie Waleyko.

Peter McCormack: Oh, okay; it's very cool.  So, there is one other thing I did just want to ask you about, and it's also the reason I ended up getting back in touch with you and saying, "Let's do a show", because obviously something happened recently that kind of became the drama for the day on Twitter, or for a couple of days. 

I understand why and I've got my own opinions, which I'll share afterwards, but when the variable change happened for blacklist to become blocklist, and I'm not sure if that's where it finished up, for some reason I saw the reviewers and I saw your name.  I was like, "I know that name", and that's when I looked into it and I realised, like, I saw it and was like, okay, I understand what you're doing now; let's get in touch and let's do another interview, by the way.  But, that's where you came back on my radar. 

Couple of questions; what went on there for you; how do you feel about what happened; did you personally get any kind of -- did you get mixed up in any people giving you a hard time; and now, how do you reflect on it?  So, there are a bunch of questions there.

Amiti Uttarwar: Yeah, totally.  So, yeah, that was my first experience coming under direct fire of very angry people on Twitter, so that was interesting. 

Peter McCormack: Directly at you?

Amiti Uttarwar: Yes.  According to some Twitter people, I was promoted to "maintainer" and was the one who merged it and my mentions were blowing up with a lot of anger.  It was kind of strange, because there were some people who were trying to complain about me; they were, "Oh my God, our beloved Amiti has ACKed this", and I was like, "What?  When was I beloved?" or things like that!  So, it was interesting to get that kind of attention.

Peter McCormack: Anything abusive; stuff overstep the mark?

Amiti Uttarwar: Yes, definitely.  So, I think there are a few takeaways.  I think one, when talking about the Bitcoin Core as a project and looking at extractive versus long-term contributions, there were a lot of people, like 100 people, who came through the GitHub project who had never been there before, to very strongly express their opinion about this one word that doesn't even get released into Bitcoin Core; it doesn't get bundled up and released; it's pretty trivial.  And, I think that that was extremely extractive and I think one of the hardest things for me was to see the people I respect and care about in the Bitcoin community feel so depleted.  And then, that just sucks, it hurts my heart; everything from the lead maintainer to my parents, etc. 

Peter McCormack: Wlad, yeah.

Amiti Uttarwar: These are people who work so hard, tend to be chronically underpaid and just day in and day out over time, just quietly heads down, just continue to work.  So, to give them the extra load of such anger around something so inconsequential I think is just totally unacceptable.  And so, based on just the interactions of the GitHub repo, I think that that is not okay.

And then, I think that there are a few different layers.  For example, one, it just aggravates me and conflicts with my idea of Bitcoin, as we were talking about what I find compelling and incredible about Bitcoin is that it's at a protocol level inclusive by design.  And so, people who are using all of this energy to be angry, to try to destroy, to not actually create anything and to say that specific things are unwelcome, I wasn't even around for SegWit, so I don't know that history; but clearly, there are leftover issues that are rising back up.  And, that is just totally not in line with what I believe in Bitcoin.

Finally, I don't think it's representative.  I think there is a small group of people who are very, very active on Twitter, who have a lot of anger, and are able to just point it one direction or another.  I think it probably has more to do with Twitter than to do with Bitcoin, and that it would be present in other niches that people feel strongly about. 

But, as I was saying, I talk to so many people in so many Bitcoin communities and I don't think that this small group of loud, angry voices represent what the Bitcoin community is, but that there's been this successful conflation of, "We are the community; this is what we care about", and I disagree with the idea of, "This is an immune response", because I've got a metaphor for it.

Peter McCormack: Okay.

Amiti Uttarwar: If we were rewinding to January of this year and then there was somebody who was caught jaywalking and then hundreds and thousands of people were like, "Oh my God, they jaywalked, let's get them!  We did it, we got them, oh my gosh, we have such an immune response", and then COVID hits.  Is that an immune response; because, in Bitcoin today, there are still attacks that are available?  Hopefully, they're very expensive and hard to do, but we're still finding things like that and this is not an immune response.

We need people who are looking critically, thinking critically, testing out the code and trying to educate people, trying to build things around in the ecosystem.  And so, I think that any attempt to dress this up as good for Bitcoin, I disagree with.  But, I don't have any great solutions other than trying to raise all of the positive voices of people who are trying to create and build things.

Peter McCormack: Yeah, so I'll give you my take, and my take also has a metaphor in it as well, similar to yours.  So, my take on it was -- there's a bit of nuance to this.  So, I did live through SegWit2x, but I was very new; I didn't know what was going on.  I was like, "Big blocks?  Oh, faster transactions because more space and cheaper; yeah, that makes sense.  Okay, I get it".  And then, somebody explained the other side, "Yeah, but you've got to maintain decentralisation".  "Oh, yeah, that makes sense".  I didn't understand it at a deep level; I was just like, "Okay, there's a trade-off here, bla bla bla.

Over time, especially now, I really understand why it was important to keep the block size down; I really get that.  And, there's definitely some PTSD from that period.  And, this conservatism around the protocol is an area that I'm really interested in right now.  I'm working on a couple of shows based on it, on conservatism versus toxicity, because toxicity seems to be this new thing that has this proud badge of honour and I'm just wondering if people really thought it through, because if you look up toxicity in the dictionary, it's malicious, it's poisonous.  I'm wondering if you need to have that as a badge of honour, or whether conservatism and tough conservatism is right.

Now, on the issue of changing the variable name, I'm in the area of saying it shouldn't have been changed for a political reason, and the reason I agree with that idea is, let's just keep politics out of Bitcoin, and I'm just with that.  I don't overly care, but I'd just rather like never have political decisions in Bitcoin.  Let's have the conservations out, but let's not do it.

But, the reaction that I saw at times, I was like, "Woah, this is kind of intense".  What I questioned is, could the same have been achieved by talking it through, being tough, without being, say, abusive?  I'm not going to guess the type of responses you see, but I might have a look and see in Twitter and see if there is anything, but I know some people can be very abusive.

I was very disheartened by Wlad's tweets and this is what interests me at the moment.  I was like, I wonder if there is this radicalisation of conservatism, where people feel like they're self-appointed defenders of Bitcoin and they are overstepping the mark; and by that, I mean that leads to unintended consequences.  Imagine Wlad was so disheartened by it that he quit?  Could the same objectives have been achieved? 

And then to throw in my metaphor, and it's not mine on my own; somebody pointed me in the direction of this, talking about Bitcoin as an immune system and thinking about the role of what white blood cells do, that the white blood cells are your immune system.  But, we also have autoimmune disease where our blood cells start killing each other, and this isn't a new concept that somebody's talked about, and I'm not sure if it's a new concept in Bitcoin, but I'm definitely thinking on it.  I'm wondering if Bitcoin is an immune system, can Bitcoin also have an autoimmune disease, which means it starts killing itself from the inside because of the way people react about situations?

I don't want to inflame anything with this, but I'm certainly interested in exploring it as an idea because for me, what Twitter doesn't do in a situation like this is deal with the nuance of this, the variations of ideas.  But, yeah, that's kind of my take on it; I don't know if you have any response to that?

Amiti Uttarwar: Yeah, I like the language you're framing of conservatism versus toxicity and I think personally, working on the Bitcoin Core project, I have an exposure to an alternative where it's extremely conservative, but it's extremely discourse-oriented and people welcome scepticism.  Scepticism is what encourages robustness over time, so you don't want to just change things to change things.  If you're not sure, keep it the way it is, but try to understand why is it that way and alternatives for can it be better.

This is such a different culture than what the platform of Twitter rewards because, yeah, Twitter doesn't reward nuance, it is more about sound bites and being loud.  So, I think the human aspects of how society revolves and coalesces around the different cultures is something that's interesting, but in general I just think that it's kind of fascinating that toxicity in Bitcoin has been like this badge of pride.  How did that happen? 

I think that's unfortunate because, especially working with people who are trying to onboard contributors to Bitcoin Core, self-doubt and fear are the biggest hindrances.  I think there are a lot of competent, intelligent people but when they're fuelled by X or more narratives saying, "You're not good enough; how dare you ask that question", those sorts of things, rather than fuelled by, "Be curious, be sceptical, ask questions", I don't think that produces a good environment.

Peter McCormack: Yeah.  It didn't knock your confidence too much, right?

Amiti Uttarwar: Sorry?

Peter McCormack: It didn't knock you too much, you know, your confidence; you rolled through it okay?

Amiti Uttarwar: Oh, thanks, and that's the thing.  There are so many people who reached out publicly, privately, to offer support and not just to me, but to other people as well.  I don't think this loud minority is representative of the bigger Bitcoin ecosystem and I think that overall, as an ecosystem, it has so many people with creative solutions who know how to inspire curiosity; who are building amazing solutions; and, offering positivity to the world.

I feel lucky to have that perspective and I feel like I hope to share that with more people and make it just very obvious that the toxic behaviour of a few is not what the ecosystem's about.

Peter McCormack: Fantastic; great answer.  Well, look, this has been lovely.  It was great to talk to you again.  Okay, so if people want to follow you, where's the Twitter and also, where's that Medium post?  I mean, I'll put it out on the show notes, but where can they follow you?

Amiti Uttarwar: I'm on Twitter, I'm on GitHub; I think that's most of where I am.

Peter McCormack: What's your address; what's your Twitter address?

Amiti Uttarwar: Oh, yeah.  I think it's @amizi, but I need to double-check.

Peter McCormack: You can't even remember?!  Well, listen, I'll put it in the show notes, I'll let people follow you.  Look, it's been great to catch up.  Glad it's gone so well for you and we should probably check in maybe in another year and see how things are going?

Amiti Uttarwar: Sounds great; thank you for having me.

Peter McCormack: No worries, you take care.