TFTC: A Bitcoin Podcast - Tales from the Crypt #78: Lawrence Nahum

Episode Date: June 11, 2019

Join Marty as he sits down with Lawrence Nahum, Founder of GreenAddress + Chief Architect at Blockstream, to discuss approaching Bitcoin development, the history of GreenAddress, what he's working on ...at Blockstream, helping to make it so everyone can run a node with ABCore, and much more. Checkout GreenAddress' GitHub and contribute to ABCore if you can: https://github.com/greenaddress Follow Lawrence on Twitter: https://twitter.com/LarryBitcoin Follow Marty on Twitter: https://twitter.com/MartyBent Shoutout to our sponsor: Cash App. Head over to the App Store or Google Play Store, download cash.app and start #stackingsats today.

Transcript
Discussion (0)
Starting point is 00:00:00 Well, hey there, freaks. It's your boy, Marty, here to introduce this week's sponsor. I'm not sure if you heard of them yet. They've been around for a bit, though. The Cash App, this week's episode of Tales from the Crypt, is sponsored by the Cash App, the number one finance app in the App Store for the last two years. You freaks already know, the first P2P payments app to allow you freaks to buy Bitcoin, one of the best UX flows in the Bitcoin buying world in my opinion right now on top of this they have their boost program which allows you to get a boost card and that's tied up with a bunch of merchants you get your card you get your personalized signature on it and you go to places like whole foods taco bell chipotle your
Starting point is 00:00:42 local coffee shop the list goes on i believe they added more merchants earlier this week i got a notification um you go there you use your boost card you get a little savings and you can use saving stack some sats maybe one day they'll have sats back who knows so go to the uh app store the apple app store or the google play store today and download the cash app what is up freaks welcome back to tales from the crypt we're chugging along here on hell week in new york city blockchain week sitting down with a very special man uh a man of many skills open source uh software advocate uh creator of green address and now uh the chief architect at block stream i'd like to introduce you freaks to lawrence nahom hi welcome to the podcast i just butchered
Starting point is 00:01:38 your name after you told me how to say thank you well pleasure to be here well it's a pleasure to have you. I was just fanboying. I've been a big fan of Larry Bitcoin on Twitter for a while. I've been putting out good information. And it's been cool sitting here for the last five minutes hearing your story of how you came to Bitcoin. Let's jump into that. So how did you find Bitcoin? What were you doing before you found Bitcoin? And sort of what drew your attention towards this? Right. So my background is computer science. And after I finished university, I mostly worked in finance. OTC, electronic confirmations and that sort of thing. I think I heard of
Starting point is 00:02:17 Bitcoin maybe even in 2011 or beginning of 2012 on Slashdot and I sort of ignored it because it sounded, you know, better than, you know, overselling and most comments on that were very negative but then at some point later um 2012 i heard about silk road and i was surprised that drug dealers would accept bitcoin because usually you know they like hard cash and so i started investigating bitcoin a little bit more i got i finally got to read the white paper and that made the whole difference once i read the white paper i was like okay i don't understand everything but i understand enough to know that this is truly different and it makes sense too and so I started you know going down the rabbit hole of reading reading more reading
Starting point is 00:03:08 more reading more and you know I know that key management is really a tough issue and I know that it's trivial to get malware on your computer whether it's a game or something else that you install and so when I understood that you could do multi-sig on bitcoin I was really excited and And, you know, I thought, how can I take advantage of multi-sig, you know, to make a more secure wallet and maybe even offer more advanced functionality on top of it? And that's where Green Address comes from. Green Address has been around for a while. Yeah. One of the first multi-sig solutions or mass multi-sig solutions that's easy for people to use.
Starting point is 00:03:51 So what was it about multi-sig solutions that lured you in specifically? Was it something about the clearing products you were working on before, or was it simply... Oh, the fact that I simply don't trust one single device, especially a generic computer, an online generic computer. And so I thought, you know, if I have two, then you really have to compromise both, which really makes it harder. Nowadays, I think, you know, that's not the hard... You know, it's easier to just lose your coins than get hacked, to be honest. but at some point you know and and already today people get targeted uh and so you know the more security the better yeah no that's uh the five dollar wrench attack that's an existential fear
Starting point is 00:04:36 that's on the top of every bitcoin bitcoin is mine but i do think losing your coins is probably more likely than yes especially for average end user right they forget where they wrote the piece of paper with their backup words and maybe they lose their device and uh you know yeah it's it's not it's a sad story that we hear every so often i don't know if i want to live in a future where uh where the world's just attacking bitcoiners and trying to steal their money you know i don't i don't i go back and forth on whether or not that dystopian uh lop centered future uh opsec centered future comes to be i don't know you have any thoughts on that i mean it's already happening today even without bitcoin right like they try to get your credit
Starting point is 00:05:20 card data they try to get uh maybe your username passwords and other information that's all done online right i'm talking about like the physical attacks sorry that's all done online though right mostly like credit cards sold on dark market right information on dark markets i'm talking about more like physical oh physical attacks on bitcoin yeah right yeah yeah well you you shouldn't really disclose how much you have you shouldn't really um i don't know don't tell people you own it yeah maybe um no it's just like doing a little tangents here so i saw you were hanging with a bitcoin sign guy last night i was what was that freak up to um i don't know i i i changed the place like three times last night and i ended up in a place where he was there he's a really
Starting point is 00:06:14 cool guy i really like him uh he's also fun and smart um yeah he was like let's take a picture and i'm like yeah let's do it it was a very intimidating picture it is it is he wanted the guns out and we got the guns out it's just like your your uh your avatar on twitter it's uh does not do your beard justice at all so seeing that picture i was like whoa i know that that picture is from the Bitcoin embassy in Tel Aviv and behind me
Starting point is 00:06:40 there's there's a photocopy of you know the the newspaper that ended up on the first block
Starting point is 00:06:49 in the first block in the Genesis block oh really yeah and so that's why I have that picture there because I love it I love to have that
Starting point is 00:06:55 I usually shave every couple of months it's just when it gets too long I'll shave I become a beard man myself yeah it's just easier
Starting point is 00:07:03 yeah easier streaming is more work than just streaming the whole thing it's a good way to signal like hey I'm at Bitcoin I don't give a fuck what you think about me there's some of that so how did you start at Green Address
Starting point is 00:07:19 how did you come to work at Blockstream become the chief architect at Blockstream it's a it's a very interesting question so I you know the rabbit hole it's not like it has an end so starting Green Address was just
Starting point is 00:07:33 a way for me to, like, in Hintai, I was clueless when I started. I knew enough to, you know, to do it, but it wasn't done maybe the perfect way the first time. In fact, the green address that you see today is fairly different to the first iteration we were using bare multisig, you know, before P2SH was a thing.
Starting point is 00:07:57 But no wallet supported that, you know, format. So it was really hard to send into the wallet in first place. you needed to use raw rpc and that sort of stuff that's not going to be a very user-friendly wallet right and also i learned that you know you don't want to use reuse addresses and so vp32 just came out i was like okay we have to use vp32 so i rewrote it a couple times before it came out and it has been a continuous learning experience and at some point i got you know really excited that the blockchain company was formed because we're planning to work on very interesting things,
Starting point is 00:08:33 interesting tech. I'm very interested in privacy and fungibility. And the idea of confidentiality on-chain and making it harder for people to see what you're doing or how much you're spending, I think it's great. and so back then we there was a test sidechain called elements alpha and we decided to support that in green I think we were the only wallet at the time that supported that supported you know the sidechain tech with confidentiality on
Starting point is 00:09:12 on our end user wallet and we started talking because it was a you know a good marriage in a way because Blockstream didn't have a wallet team and and I really wanted to work with with the people at Blockstream people you know like Adam or Peter Andrew and so on and so forth It seems like a ragtag group of all-stars you got there, Blockstream. So Blockstream Green, let's talk about the specifics of the wallet. So it's a 2 of 2 multi-sig. 2 of 2 and 2 of 3. And 2 of 3, if you want to.
Starting point is 00:09:53 The default is 2 of 2, but you can create a 2 of 3 sub-account, which is separate, and then you have 2 out of the 3 keys. Is Blockstream ever not going to sign the second key? Sorry? Is Blockstream ever not going to sign the second key? That's what people... Yeah, that's it. Well, actually, that's not true.
Starting point is 00:10:09 We had that at the beginning, the instant functionality, but that was opt-in. So we will co-sign it again if you didn't opt-in in the instant. But we deprecated the functionality, actually. Because, you know, with lining and whatnot, it's not as needed as I thought it was when I created Green Address. And so we will co-sign as long as you provide the right
Starting point is 00:10:33 to factor authentication and so on and so forth. Yeah, and then you have the time lock function as well, too. Can you describe that? Because that's a pretty cool, creative way to set up this wallet structure. Yeah, so basically we're actually changing it soon. But let me explain what we do today. All the addresses that we generate are a multiscript, P2SH multiscript of 202.
Starting point is 00:11:00 And as soon as you either receive something from outside or maybe make some change, make a transaction and have some change, we send you an encrypted email with pre-signed transactions that at least sign our side of the transaction. They're locked. They have a time lock such that they can only be broadcasted assuming that the other party signs, the user signs. They can only be broadcasted after some time.
Starting point is 00:11:30 I think the default is almost 90 days. and so what happens is if you lose your two-factor the survey disappears you take this pre-signed transaction you add your signature you wait the time lock and then you broadcast them yourselves and and those send to your single side of the key so at that point you are in full control i mean yeah you're always in full control it's just that you have the time lock no that's the uh the interesting thing about these wallets and uh products built on top of bitcoin is you get sort of a range of optionality of how how you want to engage and again it's all about trust models and and trade-offs and this is a very unique sort of trade-off i think you guys found
Starting point is 00:12:06 it at blockchain green and green address yeah i think at the time was uh the best you could do nowadays there's uh there's better options you can use csv check sequence verify so that um you don't have the window of trust where you have to trust the server to send you those pre-signed transactions because if the server was to target you and not send you those then you know you'll be on the hook so with csv the addresses um uh have the the spendability option of the you know the the user this um on its own uh embedding the address so your wallet as it generates it knows that you're you're if not now later you'll be the only one being able to spend them on your own without any window where you could get attacked or targeted.
Starting point is 00:12:58 And do you think if Schnorr signatures does get implemented at some point in the future to make these schemes even more creative? It would be much better for green once we have that because then we can be... On the chain, we will look exactly like a vanilla Bitcoin single-sig transaction. People wouldn't know that you have the multi-sig security,
Starting point is 00:13:22 which means you're leaking less information. But also it's cheaper because, you know, you know the way Schnorr works. You can basically add signatures together and they weight as much as one. Yeah, so that sort of incentivizes people to engage in Schnorr signatures and make Bitcoin a little bit more private at the protocol level.
Starting point is 00:13:48 Exactly. Now, for us, because we want to use the CSV and maybe we want to hide some of these conditions when you don't use them, maybe we want to wait for Taproot as well. That's good. Thanks for providing a great segue into BipTaproot. Peter Willa, obviously, when you dropped that two weeks ago,
Starting point is 00:14:06 what are your thoughts on that particular proposal and its likelihood of getting merged? Well, I don't see why not. um i don't see the i don't see too much controversy there um obviously you never know and i didn't see any controversy with segwit to be honest so no true true yeah i didn't but uh but then i think the ecosystem is also very different from where we were when segwit came out um and i think many more people than back then are keen on privacy and fungibility so So I think there's a strong push towards having, you know,
Starting point is 00:14:47 these improvements added. If you were able to sort of design the soft fork and the way in which it gets merged, how would you sort of design the signaling for this upgrade? I hate to put you on the spot. That's an interesting question. Well, I would do something like allow the miners to signal readiness in a window, say, I don't know, a year, six months, whatever it is.
Starting point is 00:15:15 And then some sort of USF sort of activation after, I don't know, the six months. So if the miners are willing, it happens earlier. If it doesn't, if they're not, it happens slightly later. My mind's a little fuzzy going back to this BIP-91 and Segway. Did they signal that in the version bits? Yeah, well, the version bits at the moment, I think, are a little bit abused. minors are throwing in their stuff to grind you know the blocks i don't know if you notice but sometimes when you run bitcoin core you see the version number looks wrong or you know the last
Starting point is 00:15:50 few blocks have such and such wrong version number i don't know i don't know you know what's gonna be used what's best but i think a mix you know more or less what we did with segwit but defined from the one as opposed to you know yelling at the miners and i am uh i'm but a lowly podcaster and newsletter peddler but i've been saying that uh if bit taproot in particular that proposal gets merged it seems to me at least i don't know i'm dumb uh that uh bitcoin is less replacing parts after that and more tightening screws like you're not replacing ecdsa with snore um adding tab recruit and stuff like that is that a and fair assumption do you think well this is the last set of changes no not the last set of changes yeah not sure no maybe
Starting point is 00:16:44 maybe i mean the the whole thing is built for extensibility right the the the dress the scripts the the versions the i don't know i mean there's a there's quite a few smart people and you know there's also graph root and there's a few other proposals
Starting point is 00:17:04 that maybe can go in later after more people you know think more about them yeah but graph root's in in the BIPTAP
Starting point is 00:17:13 proposal right I thought it was separate it's a separate thing yeah I'm wrong no
Starting point is 00:17:21 what are your thoughts on ossification like on ossification that's another like
Starting point is 00:17:26 I'm for it yeah I mean even if Bitcoin was taken before Segwit and locked there, I'll still love Bitcoin. Even if Lightning wasn't invented, I still love Bitcoin. And I still
Starting point is 00:17:38 think that it's not like because we have Lightning that now we don't need to increase the block size. That's regardless of Lightning. You need to keep it down to a reasonable fashion so that it's relatively easy for people to synchronize and keep up and whatnot
Starting point is 00:17:53 regardless of the L2, L3 you know scaling layer solutions those are just uh you know ice on the cake right just added benefits yeah just just other benefits that we're getting and great that we have them they're not um you know solution to everything either right yeah no that was uh actually interesting watching an interview that uh adam had earlier this week i forget what i think it might have been like to block tv and he was talking about how how traders sort of deprecate the use case of Bitcoin at the protocol level
Starting point is 00:18:27 by trading and talking about how you can move certain use cases to layers like Lightning and Liquid in particular. So let's jump into Liquid and how you guys are. Have you been working on Liquid outside the... A little bit. I mean, I worked on it on
Starting point is 00:18:45 Green side, on the Explorer side. I've been working on helping out with building the releases and testing the releases of you know Liquid is based on Bitcoin Core we recently
Starting point is 00:19:01 rebased a recent version and we recently had the support for the QT wallet so the GUI from Bitcoin Core and there was quite a bit of effort in testing it and making sure that it has all the features needed to
Starting point is 00:19:16 visualize the issued assets and so on and so forth I've also built a couple of tools on top of Liquid I did the bridges for Liquid. Liquid is a federation, so it's not like it's a entirely peer-to-peer network where people can come in and live like in Bitcoin, right? When there is no known set of participants or whatever. So Liquid is a federation, and I basically created some bridges so that anyone can connect to the network, not just a federation member. So I worked a little bit on that.
Starting point is 00:19:54 And the Explorer, the Explorer, you know, has Bitcoin support, DeskNet support, and Liquid support. So, and I must say I learned a ton about Liquid in the last year. So how does Liquid leverage the assurances of Bitcoin at the protocol level and what sort of new functionalities does it allow for people using that sidechain? the well i can tell you the the main features are pretty much um you know confidential transaction confidential assets what does that mean that means that when you send a transaction um only the sender and the recipient can see the amounts um and maybe some auditory features to you know
Starting point is 00:20:38 to disclose to them you know your blinding keys or information such that they can um you know decrypt the data and verify for themselves now the the chain enforces that you know you're not inflating or creating bitcoins out of nowhere um and uh and the team went uh you know a step ahead um and also did confidential assets so that that's to say that it's almost like the the amount but it's for the asset type so now you don't know how much i'm sending and of what only the sender and receiver know and and auditors if if there are any if you choose to you know give them the opportunity to to verify um confidentiality is uh you know i think it's very important and it's good for traders as well it uh it helps in preventing
Starting point is 00:21:34 things like front running you know there's um every so often these people go on reddit and twitter oh i saw so many bitcoins moved to between so many bitcoins moved to coinbase so many so someone is about to dump them and and now i already have coins on the exchange and i know the exchange is going to take three columns or six columns or whatever before the credit the guy so i'm going to act before he does and the front running or something like that with liquid is going to be a little bit harder because you don't know what i sent and how much i sent and so uh you you you can't use that data yeah the whale report bot is helping people front run on these whales uh yeah all over the internet and it's uh it's crazy watching this stuff evolve and
Starting point is 00:22:17 become more sophisticated over time because bitcoin is like an expanding universe that we discover like the limits of as more blocks are produced and more people are using it and sort of figuring out these pain points and and finding unique solutions creative solutions to these it's uh it's been crazy to watch how how creative number one people are getting on top of Yeah. And so do you think this is only the beginning of the creativity that we can sort of leverage on top of Bitcoin? I think so, yeah.
Starting point is 00:22:48 I mean, it is just the beginning, right? I cannot really say with precision, but I feel like... You know when Google just came out and we were all using AltaVista and whatnot? I was so young, yeah. Right. this is where I feel like
Starting point is 00:23:08 maybe we're even earlier than that I'm not sure like comparatively I remember AOL Kids that was like my first my first internet you remember
Starting point is 00:23:17 Hasta La Vista Hasta La Vista no it's a a search engine for crocs for applications oh
Starting point is 00:23:24 like you know piracy and stuff okay yeah I was probably I was probably pirating Rugrats episodes or something like that back in the day
Starting point is 00:23:31 but you are you're a man of uh many talents you co-host a podcast a reckless review with duty yeah that's been fun fun to uh watch you guys put that you're putting that out what every two weeks every two weeks well we're we're not very professional and we're not very good at uh keeping the the schedule and uh especially recently i've been very busy so it's been very hard to find the time we were both good plus i have um two kids one on the way two dogs congrats so it's uh it's very hard to find time You and Udi are also working on something very cool,
Starting point is 00:24:10 AB Core, which allows you to run a Bitcoin full node on Android devices. And thank you for working on this. This is something that we always say decentralization is an ideal that we strive for. And I think things like this help us get closer to that ideal. So what was sort of, obviously, we want more people
Starting point is 00:24:30 to run full nodes. Why did you decide Android devices? and why did you, Udi, attack this problem? It went kind of backwards. Someone gave me an Android TV for Christmas. I'm like, I have no use for, I don't watch TV. So I'm going to install Linux on it. I did, but then it didn't really work well
Starting point is 00:24:50 because of binary drivers, Wi-Fi. So I had, okay, I have to go back to Android to have the network working. Because on Linux I can run Bitcoin Core, like no problem, there's ARM binaries, no issues. And Android is Linux, but it's a bit different. It's not your average Linux distribution. It's a specialized Linux distribution.
Starting point is 00:25:10 It has a different C library. Linux usually uses glibc. Android uses bionic or ulibc. So there's a few differences. Enough to make it complex to run software on both inter-exchangeably. And so I installed Android again. And I was like, okay, but I want this thing to be useful. in a way or another to run my full node so i'm gonna have to to get you know the the arm bitcoin
Starting point is 00:25:40 core banner is running on this thing so the first thing i did was a really really hacky this was three years ago actually oh shit yeah it's really hacky um i was actually taking the banners from the arch linux repositories and debian linux repositories and downloading those plus all the dependencies of those banners, so like hundreds and hundreds of megs, dumping them in a directory. And I don't know if you're familiar with chroot. But it's basically like you can fake
Starting point is 00:26:10 that you're inside a Linux operating system, inside a Linux operating system, by just saying this directory is like my root. Assume that that's like a new computer. And so that kind of worked. It was really, really hacky. It kind of worked, but it broke DNS peering. So when your node starts the first time,
Starting point is 00:26:34 it connects to some DNS seed servers. They will tell him, you know, here's some IPs and some nodes that you can use to synchronize the blockchain and whatnot. And there's a bunch of volunteers running them. Plus there's some hard-coded nodes, fallback hard-coded nodes in the client. um and so the it was aki the dns part wasn't working so it was always going to use the
Starting point is 00:26:58 fallback notes and uh and it was crashing on some variety of samsung and lg because i put it out almost immediately i did in a weekend put it out almost immediately uh it was very bad at the beginning it used to crash all the time and that should be expected right yeah kind of but then i took a completely different approach i looked at how others were like orbot how are they running Tor properly on Android. How is, there's another project called, I think, Debian chroot. How are they running
Starting point is 00:27:29 a vanilla Debian distribution on Android? So I kind of reverse, it wasn't really reverse engineering because it's all open source, but I had a look at that and I took a different approach. Instead of downloading binaries from the Linux distribution, I built them myself
Starting point is 00:27:45 with the Android native development toolkit, also called NDK. And that was a mission. I had to actually patch a lot Bitcoin Core and every time I did this I would do a PR to Core to bring my patch up stream so the next time there's a new
Starting point is 00:28:02 release of Core I wouldn't have to patch it again. And slowly with a lot of help from Wumpus Vladimir but also others I started upstreaming some of these changes and now the diff is minimal. It's basically
Starting point is 00:28:20 configuration and we have a very tiny binaries three megs and now we even added the tor support i saw that uh and yeah woody woody contributed a couple of prs recently and really good because they made it runnable on some other devices that wasn't runnable on before and so i took the opportunity to say hey do you want to help more you want to be the commentator why not you know help me i don't have enough time no it's uh so talking about the the latest update uh you have tour and then you leverage luke jr's new bitcoin p2p links yeah it's uh url format i i i had the idea three two two years and a half ago three years ago i had an issue on on ab core to create this qr code thing but um i i didn't really uh you know investigate uh until recently and actually
Starting point is 00:29:13 what triggered me was was Luke with that thing I was like okay he's doing it it's what I want to do for a long time so can we describe this to the freaks out there yes sorry so this is a URI format you know like you can have HTTP or Bitcoin dot column like you have for addresses with 21 links basically it's a URI handle that you can use to give to software that needs to connect to a full node you know the address and port and it works with the you know clear net as well as Tor onion and so you put that link into a QR code and then you can have a wallet scan it and you know rather than talking to random peers on
Starting point is 00:30:06 the internet rather than talking to a server you can talk to your own full node at home and what's cool about tor is that with onion especially it allows you to do not pass through it allows you to even if you don't open the ports on your router it allows you to to make your node reachable by you oh really yeah it does it's um because that's the the big ux problem with tor right is opening your ports uh you mean with bitcoin not with tor well i think it's harder well for both right well bitcoin you want to open up your 833 ports to so other people can pull the blocks from your node
Starting point is 00:30:41 with Tor too isn't it like another UX similar thing with Tor you only need to open the port if you want to be
Starting point is 00:30:46 a relay node or if you want to be an exit node otherwise you don't would you want to be so that's another thing like Bitcoin well you should
Starting point is 00:30:53 right like the Tor network can do it somehow right we shouldn't be just leeching
Starting point is 00:31:01 I think Pierre I never pronounce his surname right Rochard Rochard yeah right
Starting point is 00:31:06 he's very keen as well I think that's right you know i'm bad with last names yeah i think he's the first one to say we really should uh you know uh it's good to open up all these tor onion firewall bypass nodes but ultimately we're relying on relay nodes on tor relay nodes and uh you know we need to create more of those if we want this to work yeah exactly it's something matt odell and i've been preaching on rabbit hole recap is we're going to be leeching off this network pretty heavily, it seems.
Starting point is 00:31:40 We put our nodal node behind Tor recently, and that is something, as Bitcoiners running full nodes, we should probably run Tor relay nodes as well. Yeah, you should. I think you should. Unless maybe you're in one of those places where it maybe goes against your safety or it's illegal or so on and so forth. Maybe you want to avoid that.
Starting point is 00:32:03 Yeah, yeah. So there's a variant of this protocol that I would like to do. Let's jump into it. Excuse me? Let's jump into it. Yeah. So this thing I just described, it really only works with full nodes that are not pruned
Starting point is 00:32:22 because a pruned node won't have the information that you seek unless you told it to watch for it in advance, ahead of pruning. So what I think we should also have is one of these, this is called Bitcoin Dash Peer-to-Peer, the protocol that Luke created. I think we should also have a Bitcoin Dash RPC. Now, there's a lot of debate in the space about, oh, don't expose the RPC on the internet, that's terrible.
Starting point is 00:32:58 and I completely agree however at the moment there's no way to have a prune node that you can connect to remotely and also tell you what to watch for because you cannot do that through the peer-to-peer port now if you use something like onion v3 you can have encryption authentication so on and so forth so you can actually protect the RPC beyond the RPC user password because keep in mind that RPC is all in clear text so even if you have a password if If someone has your Wi-Fi or your ISP, they can get it. With the Tor V3, Onion addresses, they cannot.
Starting point is 00:33:35 So then you have two layers of protection. It's the Onion encryption and then also the password. And so that way you could have a very lightweight wallet on the go. And even multiple people around the world using the same server, like say one family or a business, they can use OneNote at home. And then they all connect to it. they tell you what to watch for forward and whenever they need to spend or verify that they receive something they query the rpc and they do so in a you know authenticated encrypted safe
Starting point is 00:34:10 way is that uh the future of bitcoin decentralization that you envision is uh having like a smart member of the family maintain the node having everybody else connect to it and That is a very good question. Obviously, AB Core is like a project that's working to get a full node in a lot of people's hands. It seems like this is something that you're passionate about. Yeah, I envision people running their own full node at home. I don't think they need to run more than one
Starting point is 00:34:39 unless they don't trust their family, which is, you know, fair enough, possible. And, you know, we need to make it simpler. But so what I really like about the AB Core is that Android is so available, right? Everyone has at least an old mobile with Android. And they're fairly powerful. Like most mobiles are more powerful than a Raspberry Pi.
Starting point is 00:35:07 And there's people running older Raspberry Pis, right? So, you know, it's a cheap, easy, convenient way. And also it's harder to target you because there's, you know, a guy buying an Android phone or an Android tablet or an Android TV, it's unlikely that he's buying it from an AVCore, you know, all 10 of us. But someone buying a full node,
Starting point is 00:35:33 whether it's a CAS or an ODO or not, well, it could be a little bit more targeted because I'm buying this for, you know, Bitcoin purposes and so on. You know, you could put bad software on it and so on and so forth. Now, there's an argument that goes for, well, if you're shipping hardware
Starting point is 00:35:49 and I'm trusting you and I'm trusting your hardware anyway, then you may as well send it pre-synced. I think Kasa does that. Kasa does that, yep. I don't know if anyone on Ness does that. And you heard about... Well, Samsung's about to do it, right? Samsung?
Starting point is 00:36:03 Samsung, with their new HTC. No, wait, wait. HTC is a company. Samsung is another company. Oh, yeah, HTC. I'm sorry, I got me confused. No, no, yeah. But HTC is doing AB Core.
Starting point is 00:36:13 They're using AB Core? Yes, that's what I was going to ask you. We've been talking last week. Congrats on that, then. it's always sorry they don't need to ask permission
Starting point is 00:36:20 they just take it but they were nice enough to get in touch and chat and discuss the pros and cons how can we
Starting point is 00:36:29 make this better improve and the device is kind of powerful it has 6 gigs of RAM that's 6 times more than a
Starting point is 00:36:38 Raspberry Pi as far as I recall so it's quite a bit of a beast and yeah they were asking about
Starting point is 00:36:45 prune mode they were asking whether it makes sense to pre-sync it or not they were asking whether we should use the internal flash or the sd card and the trade-offs and how can we make it not drain the battery but keep it on 24 7 it's nice to see they're asking these questions yeah yeah they're smart they're smart they're asking the right questions and they're learning fast they actually left me one of the devices so that i can help them tune it and they're they're gonna pre-sync it first right sorry they're gonna pre-sync it first i'm not sure i'm not sure what they're gonna do in the end
Starting point is 00:37:19 we're um i mean even if they pre-sync it uh the start to catch up to the tip yes and you could always go okay i'm i want to do it from scratch yeah but you know you're trusting the hardware if they really wanted to to do something to you maybe they could have hidden in a you know in a boot rom or something that and and you know i don't know yeah it's um it's crazy like again we're talking about still the early days but it feels like this year in particular i think a lot of good news is happening from the uh sort of incumbent industrial economy like uh htc square uh fidelity getting in it seems like bitcoin's reaching a level of legitimacy in the eyes of uh the normies if you will yeah so uh about the qr code and the bitcoin peer-to-peer link
Starting point is 00:38:11 um i added to a b core but at the same time i added to green so now you can scan that qr code on green and link it to your full node and so the way we use that with green it's uh it's not um it's still connect to our server because we have the multi-sig stuff and there's no way around that But we basically check that the server is not lying. So the balance you see there, Greengrass is not telling you rubbish. It's actually yours. And you check it by talking to your own full node. But what I'm actually doing in the background as well is I'm working on single-sig for green.
Starting point is 00:38:46 And so that will rely on a full node somewhere. And then that could either be AVCore or it can be something else. It could even be on the same device. and you know that means you basically have a front end to Bitcoin core but for Android which is kind of cool
Starting point is 00:39:04 we can basically use an entire set of GUI for green but instead of using our servers just only talk to your own full node that's it what type of use cases do you think this opens up because obviously it frees people up from having to be
Starting point is 00:39:22 well as I told you earlier I like privacy I like various things but I also like security and so that's why multisig was my first thing but we had tons of people
Starting point is 00:39:35 that also want other options so I always hid behind well I want a generic multisig I wasn't really hiding behind it it's just that you know it takes time to do it properly and by generic multisig I mean you want single sig
Starting point is 00:39:48 you go single sig you want n of m where the n are a variable and it's not fixed like it is right now with 202 and 203 only. So I wanted that originally. But it turns out that doing single-sig
Starting point is 00:40:00 was a weekend project. And it's not done, but it's very close. Just a weekend project? Maybe three days. So are you testing it out right now? We're testing it, yes. As you know, I like to do things iteratively. So the first was a little bit of a hack.
Starting point is 00:40:20 I'm using Bitcoin Core's wallet and just using their PC. And that works well, but I actually want the key management to happen in the mobile wallet, not in the remote node. That was just a test to prove that things worked. Yeah, because I want to use mnemonics and BIP39. I don't want to use, you know, Bitcoin Core doesn't use that. It uses hex seeds or wallet.dat, you know.
Starting point is 00:40:44 And that's not as convenient for backup purposes. I like the, you know, 24 words. Yeah, no, I do as well. It's very easy. It's very normie-friendly as well. Yeah. um no so i like that you said that uh you're building is like an iterative process i'm a big fan of baptism by fire as well i'm just sort of jumping into the fray and start building stuff
Starting point is 00:41:04 so obviously there's more attention around bitcoin that's getting more attention from developers in particular do you have like any advice to somebody approaching bitcoin development or building tools on top of bitcoin uh it could be daunting for some people but if somebody's been building for years um imposter syndrome we all have it uh and uh you know you just gotta start somewhere so my i think my first pr was removing a single white space from from from a readme in bitcoin core and someone said what the hell are you doing what is this pr you're wasting your time like come on and that was my first one it's baby step yeah baby steps uh and
Starting point is 00:41:47 in general you have to really read a lot and know that there's someone better than you out there
Starting point is 00:41:53 always so what are your sources for reading going to well I love OpTech so
Starting point is 00:41:59 that's relatively new right it has been out for a year now I think the issue 47 went out yesterday so a year and five weeks
Starting point is 00:42:07 right right and they're amazing I love what they're doing so that's a great starting point there's a But there's far more boot camps than there ever were when I started.
Starting point is 00:42:18 There's a bunch of people online. Justin Moon, Jimmy Song. Yeah. 21 lectures in Switzerland, I believe. Yeah, they're popping up all over the place. Yeah, so one of those, go to one of those, learn hackathons. But it's really bouncing ideas with other people. Like getting other people to review your code and to tell you off,
Starting point is 00:42:41 to tell you how bad it is. and then to listen and to try to understand why they're telling you what they're telling you. Is it a big ego check, this development process? I was set straight many years before
Starting point is 00:42:54 another company. What happened? Well, I was working with this guy that was, he wasn't officially my mentor but unofficially he was my mentor because every time I made a change and he didn't like it,
Starting point is 00:43:08 he would tell me and he didn't have to tell me. It wasn't his role to tell me But he would tell me, and he would tell me in an angry way. Not really angry, but, you know. A curt way? In a way that would teach me what was right and what was wrong. And basically, you know, you should always be humble when it comes to code.
Starting point is 00:43:35 And there's always something you may have missed. I mean, bugs are all over the place. so yeah this guy was a I think he was a big one contributor one is now an emulator and you know
Starting point is 00:43:50 he taught me everything I knew about programming pretty much because everything I knew before starting the job was basically university experience which is really rubbish I mean rubbish compared to the levels requested to be a proficient developer. University teaches you
Starting point is 00:44:07 you get an idea you get you get to try but you're not professional yet no like you said it's an iterative process
Starting point is 00:44:16 you gotta go try to build shit right yeah and basically code reviews is something that doesn't happen in every company if you if you get a chance
Starting point is 00:44:23 to have your code code review please do because it's an amazing learning experience another thing I like is pair programming
Starting point is 00:44:30 I don't get to do that very often but you know occasionally and it's a pleasure because you You learn tricks and other things that other people do
Starting point is 00:44:39 and you don't. What's the best practice for a pair of programmers? Are you video conferencing, sharing screen, or are you able to hop in like an editor with each other? The best thing is sit on the close by. But obviously in today's age of people working remotely, it's fairly hard. What I do with some members of my team
Starting point is 00:45:00 is we have a server somewhere. We SSH into it, and then we use tmax in shared mode okay tmax is a screen multiplexer so you can have multiple shells within one screen one console but the nice thing is that you can detach and you know go on your way take the tube go back and reattach yourself and you're back to where you were so if you had a long-standing process running or some python script running it's still there running and you don't lose anything and you can have multiple people connecting to it and multiple people typing at the same time and so you can say oh okay you drive now or i drive now
Starting point is 00:45:36 and ideally ideally you also do with voice who's uh who's your favorite person to pair program with oh um i don't have one you don't have one no no you learned something there from everybody yes definitely yes i mean as again as a lily podcaster newsletter coding is always uh fascinating to me because again it's unique to the person who's writing the code right and everybody has a different way and these languages can be
Starting point is 00:46:07 manipulated differently different editors yeah to be fair programming itself is not trivial if you're not using the same tools because then it's a little bit harder to follow or to know what's going on but
Starting point is 00:46:21 many people in this space use Vi or Vim and they're familiar with shells and scripts and ssh and whatnot and so you know once you have a lingua franca of sorts yeah is there consolidation going on in the uh software like a lingua franca or people consolidating on a certain uh dev environment or no not really i mean there's people using all sorts of editors all sorts of there's still a big war with by vim and emacs do you think it's good as that
Starting point is 00:46:57 I don't think we're going to get away from that no there's more writers coming out
Starting point is 00:47:03 there's a very good one called Pi I don't know because I only use Vi or Vim
Starting point is 00:47:13 but there are very good editors I hear what I don't like about editors is that
Starting point is 00:47:18 they they help you too much and so when you don't have it then you become paralyzed.
Starting point is 00:47:26 With the autofill function? That sort of thing. Search, autofill, click here, and I take you to the definition. No, I don't like that because when I'm on a server and I'm debugging and production is crashing,
Starting point is 00:47:34 I have none of that. Forces bad habits. Yeah, yeah. I need to keep my brain trained on... Your mental acuity. Yeah. Lawrence, thank you for sitting down. We only have 45 minutes here.
Starting point is 00:47:51 thank you for having me I could go on for another hour with you do you have any final thoughts on the current state of Bitcoin are you optimistic pessimistic about the future a tidbit for the freaks out there, a word of advice
Starting point is 00:48:08 I'm optimistic I would like to ask you if I can ask I basically would like more ab core contributors uh even even if uh you know you're not strong on the coding side maybe you can help on the documentation or maybe you can help with guides or maybe you can help with the gui or maybe you can help uh you know teaching people um so that's the message i would like to well i know matt odell started downloading uh started syncing his his ab core node on one of
Starting point is 00:48:46 his android devices i think it was right after uh the p2p links he saw they were integrated and runs on tour so we'll definitely be talking about a rabbit hole recap that's cool freaks yeah if any of you are listening to this and think you contribute to ab core where what's the depository on github um it's github.com slash green address slash ab core okay abc or well again lawrence thank you for sitting down it's been a busy week i'm uh i'm sure you got a busy day ahead of you got a big party tonight oh yeah the dragon's party the dragon's party it's uh it's where is this where you guys unzip your human suits and the lizards come out again um no again thank you uh i'll see you tonight cheers enjoy the rest of your day peace and love freaks

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.