TFTC: A Bitcoin Podcast - Tales from the Crypt #78: Lawrence Nahum
Episode Date: June 11, 2019Join 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)
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
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
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
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
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.
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
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
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
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
there's
there's a photocopy
of
you know
the
the newspaper
that ended up
on the first block
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
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
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
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
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.
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,
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
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.
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.
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
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.
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.
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
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.
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,
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.
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,
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,
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.
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
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
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
that maybe
can go in later
after more people
you know
think more about them
yeah but
graph root's in
in the BIPTAP
proposal right
I thought it was
separate
it's a separate
thing
yeah
I'm wrong
no
what are your
thoughts on
ossification
like
on
ossification
that's another
like
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
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
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
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
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
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
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.
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
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
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
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.
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
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
Hasta La Vista
Hasta La Vista
no
it's a
a search engine
for crocs
for applications
oh
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
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,
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
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
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.
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
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
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,
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
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
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
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
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
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
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
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
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
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
right
like
the Tor network
can do it
somehow
right
we shouldn't be
just leeching
I think
Pierre
I never pronounce
his surname right
Rochard
Rochard
yeah
right
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.
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.
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
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.
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.
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
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
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.
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,
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
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?
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.
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
they just take it
but they were
nice enough
to get in touch
and chat
and discuss
the pros and cons
how can we
make this better
improve
and the device
is kind of powerful
it has 6 gigs
of RAM
that's 6 times
more than a
Raspberry Pi
as far as I recall
so it's
quite a bit
of a beast
and yeah
they were asking
about
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
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
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.
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
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
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
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
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
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.
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.
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
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
in general
you have to really
read a lot
and
know that
there's someone
better than you
out there
always
so what are
your sources
for reading
going to
well I love
OpTech
so
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
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.
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,
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
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,
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.
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
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
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
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
to have
your code
code review
please do
because it's an amazing
learning experience
another thing I like
is pair programming
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
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
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
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
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
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
I don't think
we're going
to get away
from that
no
there's more
writers coming
out
there's a very
good one
called
Pi
I don't know
because I only
use Vi
or Vim
but there are
very good
editors
I hear
what I don't
like about
editors
is that
they
they help
you too much
and so
when you
don't have
it
then you become paralyzed.
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,
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.
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
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
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
