TFTC: A Bitcoin Podcast - Tales from the Crypt #130: Jeremy Rubin
Episode Date: January 24, 2020Join Marty as he sits down with Bitcoin Core contributor Jeremy Rubin to discuss: - MIT Digital Currency Initiative - Airdrops - OP_CHECKTEMPLATEVERIFY (BIP 119) - POWSWAP - Dev funding - Scaling - mu...ch more Follow Jeremy on Twitter Check out BIP 119 Shoutout to our sponsor: Cash App. Head over to the App Store or Google Play Store, download cash.app and start #stackingsats today. Use the promo code: "stackingsats" to receive $10 and contribute $10 to OWLS Lacrosse you download the app. Subscribe to our YouTube channel: tftc.tv Contribute to the show: https://tftc.io/contribute/
Transcript
Discussion (0)
Well, hey there, you beautiful freaks. What's going on this morning? I hope you're all having
a great Friday or whatever day it is that you're listening to this podcast. It's your
boy Marty Benk here to introduce this week's episode. Had the immense pleasure of sitting
down with Jeremy Rubin, a Bitcoin core contributor who's been doing a massive amount of work
in the Bitcoin space for quite a while now. Most recently, a few freaks have been paying
attention, specifically in the last couple days, you'll notice that he officially got
a BIP number for his Op Check Template Verify BIP, BIP number 119.
When we recorded this last week, the number had not been assigned yet.
So when we're referring to Op CTV, this BIP wasn't created yet.
So we talk a lot about BIP 119, which is out there now.
We talk about Jeremy's past contributions to the Bitcoin core repository.
He's a gentleman who likes to jump around from different areas of the code base.
And he's not focused on one area, whether it be the Wallet GUI or P2P network or something like that.
He likes to jump around.
And to me, that's very fascinating.
Somebody who is multifaceted and able to contribute to Bitcoin in many ways.
So we talked about, again, BIP-119, which just got assigned its number yesterday, I believe.
We talked about PAL swap, POW swap, the on-chain hash rate derivatives.
And we talked about dev incentives and funding devs and a bunch of other stuff.
I think you guys are really going to enjoy this.
I'm very, very happy that I was able to get Jeremy in the studio and have a conversation with him about all this stuff.
You're going to learn a lot about BIP-119, which is hot in the news today.
so very timely episode this episode of tales from the crypt is brought to you by the cash app all
right freaks i hope you saw the new logo we collabed with the cash app design team uh to to
revamp the brand a little bit we're going to do that every six months uh they were really cool
uh helping us and uh giving us some resources to be creative we like creativity here at tales
from the crypt and as you know cash app is the simplest way to send and save money it's the
simplest way to stack sats, and now it's the simplest way to grow your money. Introducing
Cash App Investing. I like investing tools that only let you buy entire shares of stock. Cash
App's going to let you... Did I say stock? I meant to say stonk. I'm sorry. Cash App's going to let
you instantly invest as little or as much as you want into any stonk that you want. If you've got
a favorite stonk out there and it's just a little too expensive, you can buy as little as $1,
right? You can stack slivers of stonks, slivers of shares, slivers of stonks, whatever tickles
your fancy, all right? And because Cash App is directly connected to your bank account,
there are no four to five day waiting periods all right you're going to be able to do that
right away you can start investing today broker services are provided by cash app investing a
subsidiary of square and member sipc and always remember you don't have to stack stonks if you
don't want to it's just an option it's there stacking sats is still there too as well and
it's still very easy and i bet they're going to make it even easier going forward as always when
you sign up and use the code stacking sats that's one word s-t-a-c-k-i-n-g-s-a-t-s you're going to
get ten dollars and cash app is going to send ten dollars to our good friends at owls lacrosse
owls lacrosse so download the cash app from the app store the google play store today enjoy this
episode with jeremy rubin a lot of good things happening in bitcoin right now and jeremy is uh
is one of the good things happening is uh op check template verify enjoy it freaks
what is up freaks welcome back to tales from the crypt here
third interview of the week it's been a big week for us i'm very excited for this one
um i've been very excited for all my interviews this week but especially
excited for this one because this is a man uh who's been contributing to the bitcoin core for
quite a while now and i've been watching from afar on twitter i've written about a lot of the
stuff that he's been working on in the bent we've talked about some of it here on the podcast as
well i'd like to introduce you freaks to jeremy room and jeremy welcome to the podcast yeah thanks
for having me on really glad to be here thanks for coming man um again like i said i've been
watching from afar for for years now it feels like on twitter uh i feel like i remember the
early days of the mit digital currency initiative and you helped start that so i guess let's start
there like how'd you get into bitcoin you've been contributing for quite a while now uh yeah i first
heard about bitcoin back in 2011 i was uh doing an internship while i was in high school and doing
what interns sometimes do which is read hacker news i heard about bitcoin and you know i was
like oh that's neat and then uh didn't pay too much attention until i got back to school you
know the next fall and people were kind of using bitcoin to buy stuff online i was like oh that's
actually cool people kind of use this stuff mind a little bit on my laptop and then like shut it
off because it was running too hot and then ignored it until after my freshman year of college i kind
of picked up again 2013 started looking at stuff and going this is actually cool yeah i imagine
mit was a very interesting place to be at when uh when people were discovering bitcoin it had to be
a cool scene yes and no uh so i got pretty into it i was pretty excited i had a few friends who
also thought it was kind of cool but at the institution level there really wasn't that
excitement and across campus a lot of people just kind of ignored it and so i actually started a
project to give all mit undergrads a hundred dollars a bitcoin i remember this and so uh you
know it wasn't my bitcoin it was you know with the help of sponsors and stuff uh so we did that
and then things got like a little bit more exciting and then that's where the dci came in
as we were saying okay we've got all these people who are excited and fired up but then there's no
classes and there's no research lab so the dci kind of served to be a common focal point for
the community to go and you know do bitcoin research yeah then uh i forget i forget thank
god you mentioned the airdrop i forgot about that a little bit um what uh what do we learn
from that airdrop how did the students end up using that um so there's a few papers that you
can go check out from uh christian catalini who's one of the professors who we uh roped in to help
this you understand what happened we did like a full-fledged uh you know irb approved study of
what went on uh some of the results that we were able to show were kind of about how much people
care about privacy and you know not that much but also uh we were able to show effects around like
early adopters and systems that uh sort of uh delay early adopters from getting access uh
those early adopters who get delayed just never want to adopt that you know sort of like hipster
if they only want to get in before it's cool once it's cool they're not going to get in yeah even
if it's a good thing that they otherwise would have been interested in yeah that's the uh the
funny thing about bitcoin everybody's like it's too late it's too late it's too late are we too
late uh well depends on what that means uh it's uh i mean if you're expecting a thousand x return
on you know bitcoin at this point i'm not a you know financial forecaster but that seems like a
little bit aggressive uh i think if you're expecting bitcoin to do something useful for you
it's better than ever you know it's more usable more liquidity on exchanges things like that
more reliable so i think that bitcoin is maturing and growing into itself um so it's not too late
to become a bitcoin user but maybe it's too late to become a bitcoin billionaire or something like
that yes i did very happy so that because uh it it does seem like everything is is getting more
efficient more robust if you don't pay attention to the price it's something i try not to do and
on this podcast and the newsletter i write just focus on the stuff that's being built and it seems
like um there's some incredible stuff being built right now i saw peter will uh put something on
the mailing list today about like an updated uh bip after all the reviews for bip taproot and all
that yeah so there's been a lot of progress on various bips going on um and uh at a certain
point when you feel like a bip is kind of mature enough and it's got enough general acknowledgement
you apply for a number so that the bip is kind of like okay here's like a reference that this is
actually you know assigned but then that doesn't mean anything about you know if people have
actually reviewed it it's just kind of a signifier that like hey people are actually legitimately
thinking about adding this to bitcoin like it's kind of your social responsibility now to actually
review this if you're a company relying on bitcoin at that point you kind of have to look um and
that's the uh the message peterson today or the pr i made today uh well i can't speak for him
you know what message he's sending um when it's still a draft that they're still opening for
comments so it's not like you're saying prepare for this okay you're saying like hey we really
want to get feedback on this because most people have looked at this already so if you have you
know any qualms or gripes um or things that you come up and review they're going to break an
application for you uh this is a pretty important time to give that feedback because we're not it's
not yet able to activate we haven't yet merged into core but or other implementations but that
might happen um you know after this period people are pretty excited about it yeah for sure yeah so
That's another thing you've been working on, scaling Bitcoin, trying to organize conferences and meetings for people to come and talk about how we can scale this technology.
So how is, go back a little bit to your days at MIT, how much has it, like what was Bitcoin like back then where we're the clunkiest parts?
Yeah, so the original scaling Bitcoin conference was September 2015 in Montreal, kind of like at the height of the block size wars or whatever you want to call them.
there was a lot of tension.
Just getting people into the same room
to have a conversation
was an achievement in and of itself
because that hadn't really happened before
and we waited kind of too late
until the point where people were really upset.
So those days were pretty high pressure.
This past year, we had Scaling Bitcoin,
I think the fifth or sixth one in Tel Aviv
and it was a pretty nice time.
There was a lot of really great work presented.
there wasn't really this like controversy or pressure because i don't think that people
were feeling the uh you know sort of like we have to act sort of thing it's like okay well what are
the things that are in the pipeline that people are coming up with that we're going to be able
to bring to the community it's like a little bit more of the vibe i think these days yeah i was
having a conversation yesterday i was like we almost needed to go through that tumultuous
quote-unquote fork war or whatever block size war battle whatever people want to call it to
sort of realize how one consensus is made and two it's probably makes sense to go slow um in my
opinion yeah it's hard to say i think that there are still sort of like negative consequences that
uh have ramifications today for what the culture looks like that are sort of uh scars and it's
unclear that those scars are you know healthy but it's uh at least impressive for somebody looking
in to see these scars and to see that Bitcoin can survive that sort of intense community drama.
Yeah. So what do you want to jump into that a little further? What anything particularly,
any particular scars that you think? So generally, I think that I want Bitcoin to be able to support
anyone who wants to use it and to support a wide and diverse sort of set of views and opinions.
And I think Bitcoin, for the most part, can support that and can work in a framework where people really disagree.
It's sort of like the, what's the famous quote that's like, to build a tolerant society, you can't tolerate intolerant people.
And I forget who says that, but it's sort of a big philosophical debate of if you have to tolerate intolerant people.
People certainly have that debate right now.
it seems kind of uh you know important people argue about you know the left versus the right
donald trump whatever um but in in bitcoin the the parallel would be uh do we tolerate people who
don't want to get full community consensus and what does it mean to have full community consensus
and that's something that we talk about all the time there's you know mailing list posts of
how should we know if enough people have agreed who can we ignore if one person says hey i want
to keep on doing what i'm doing should the rest of the network grind to a halt for that person
so i think i tweeted recently a good one that sometimes it feels like you have uh you know
developers users miners and raspberry pi the raspberry pi foundation because it's sort of
this straw man that everybody brings up of like can i run bitcoin core in sync to the network
on a raspberry pi why is that a straw man it's sort of a straw man because raspberry pi is like
get better over time it's just sort of like what's the minimum hardware cost that you need to run a
bitcoin node and it sort of uh you know begs the question of like well like why is why is this an
important thing you just kind of arbitrarily pick something i can pick a laptop from like 10 years
ago uh which is actually my like personal computer that's what i use uh and i can say i want to be
able to run bitcoin core on this i think that there's some some value in that um but if somebody
shows up with like something even worse than a raspberry pi we don't have a framework for saying
like well we don't we don't really care so one of the things that happened recently is uh no one
really uses like a 32-bit build of bitcoin we don't know any single person who's like actually
using this 32-bit build but we're spending all this developer effort to maintain 32-bit
compatibility and to release these binaries so we stopped releasing the binaries for 32-bit builds
because we figure nobody actually needs or uses them and we're just waiting to see if somebody
shows up saying wait where's my updated build i don't have it i need it for this thing and it's
like i kind of personally feel like if you have a 32-bit computer and you're trying to run bitcoin
core you probably don't even have enough memory so like you you need a lot of ram to run like a
real node saying that uh i think what you're limited to like four gigs of memory on a 32-bit
computer saying that you're going to run bitcoin core in under four gigs of memory seems like a
little bit dicey yeah it seems uh well i'm not a hardware expert but it sounds four gigabytes of
ram seems a little low yeah like people's cell phones have more ram than that so i mean i don't
want to exclude somebody if they want to run in that environment and there's definitely use cases
where it's like oh well actually the reason why we need to run in four gigs of ram is we're
launching a satellite and we're using uh you know like tenfold redundant you know memory okay you
know you have error correcting codes we need okay i can understand why you'd want to support that
but still i think that uh this 32-bit support type thing it's not like that's not the set of
people who i think matter too much um but it's not my job to say it's just like if you do actually
care that much then you can maintain the 32-bit stuff like it's not my job to do it yeah figure
it out and so yeah i guess that's an interesting question i asked you since you've been around the
uh the code base for so long like what do you feel responsible to to look at or review or comment on
I don't know I think that the general philosophy of the project is scratch your own itch so it's
like whatever is bothering me recently I've been looking a lot at the mempool if you're not
familiar the mempool is the data structure in bitcoin that stores unconfirmed transactions
and it helped miners figure out which transactions are profitable to include in the block
so when you are trying to figure out like okay which block should I mine you go and consult the
mempool and it tells you things that are generally a high fee and then you include them and then you
start mining on that block there are a lot of complexities in the mempool that i personally
want to kind of fix and make it a little bit simpler a little bit more performant
and remove some sort of denial of service measures over time if i can like fix some of these
algorithmic quirks and are we segueing an object template verify here that could be a segue i can
talk about you know other modules too this is just what i've been spending the last like couple
weeks on um in terms of like core module okay but you know there's other things that that are you
know fascinating topics too and rpc support um and uh uh general performance uh validation
all these modules are kind of important i would say the one thing that i don't really look at is
like the graphical user interface because i don't really i don't know it's not it's not been
something i've ever really used well that's why it's it's crazy that you're working on all these
i'm always fascinated when i find uh the bitcoin developers i've spoken to over the years uh some
are very focused on one part of the code base and others like hop around and the ones that hop
around which seems to be uh your prerogative or not prerogative your uh modus operandi um
it always fascinates me you can be focused on these different areas and switch mental
frameworks to talk about this stuff yeah there's definitely um there's some people who you say like
hey what's going on in the mempool can you help me solve this problem they go oh i know nothing
about that and you go well i thought you've been looking at this project for so long how do you
you know how have you only looked at this part it's like well you you know this is what i'm
interested in yeah no it's crazy and um so the one thing that i mentioned earlier op check template
verify uh formerly known as op secure the bag um is an op code that you would uh like to get added
to uh bitcoin and uh the way it's described is let me try and do this from memory a covenant
template uh that does one very specific function or not one very specific function as a very
specific template um that executes scripts within bitcoin transactions in a way um that is not
possible now um so before we get into object template verify um specifically i think we had
to go uh go back a little bit in the history of bitcoin and talk about uh the op codes that
existed in the past and why satoshi decided to uh moonlight a lot of them to disable a lot of them
yeah so bitcoin transactions aren't just like 10 standard things that you can do there's actually
an entire programming language inside of every Bitcoin output.
And the script that you write determines who can spend the coin.
A script is composed of a sequence of operations, and they manipulate some pieces of data that
you've passed in and determine if the transaction that you're trying to get approved should
be approved and is authorized by that script.
There previously were several opcodes that had essentially subtle behavior or bugs.
And the combination of subtle behavior or bugs could actually grind the network to a
halt and break Bitcoin.
So one of them that was disabled early on was this one called OpVer.
People don't talk about this one too much because it's kind of not even desirable to
reintroduce, but Opver literally asked inside of a script, what version of a client am I
running on?
So you could imagine that you write a script that says, if I'm running on version A, then
it's Alice's coin, and if I'm running on version B, then it's Bob's coin.
It's their key and it's their coin.
And if you were to write that and then you were to spend on one side of the network with
Alice's, and on the other side of the network with Bob's, then those transactions would
be incompatible.
So one would think that it's valid, the other would think it's invalid, because you have
this commitment to the version, and the client version is not a consensus parameter.
So you'd split the network?
You would split the network.
Okay.
So that one's kind of a no-brainer, that this is a problem.
There are others that are a little bit more subtle of where there lies a problem, and
there's not really necessarily a known problem, it just seems like maybe there's a bug.
And then there are ones that there is a problem that we know about, like OpCat, which people actually really want to reintroduce for various reasons or reintroduce something similar.
What OpCat does is it takes two pieces of data and it joins them together.
So you are taking, you know, let's say the piece of data that says ABC, the piece of data that says DEF, and then you add it to get one piece of data that says ABCDEF.
the issue with that is that there also happened to be another op code called op dupe and that
means duplicate so let's say you had a piece of data abc you call op dupe now you have a piece
of data abc and another piece of data abc so what a crafty programmer could do was call a sequence
of op dupe op cat op dupe op cat op dupe op cat and keep on doing that i think up to like 200
times in a script and it turns out if you start with a single byte and then you double it you
get two bytes you double that you get four bytes eight bytes 16 bytes 32 bytes 64 bytes 128 bytes
256 and eventually this can grow actually to like requiring an unlimited amount basically of ram on
the computer to to process this transaction and that would also like shut down everyone's node
if you put a transaction like that on the network yeah that would uh it would be a bad denial of
service attack or yeah so it's actually it's not the worst i would in my personal opinion i would
say that a hard fork is like maybe like worse because this is the network shuts down so it's
a liveness issue rather than a consistency issue you kind of pick which properties you care about
more i think if the network were to just shut down you could reboot it and then write a new rule but
if the network were to fork and people couldn't agree on which one was the legitimate one that
would be a bit more of a problem i think i agree with you there um it would be terrible if uh if
the uptime uh percentage fell below 99 but um i think that's definitely preferable to uh a hard
fork and confusion that would that would cause much more confusion and going back to like opcat
so i have no idea i'm just like so being able to add those two things those two pieces of data
was that something like two people enter in a covenant and one wins like uh is it like a
contract in which two people put money in and gets all of it so no you would you would actually
just have uh like a output that you create that doesn't even necessarily have any keys attached
to it it just says like okay you have to evaluate the script to see if you can spend it and then
you would put that into a block they would be validating that that block was valid with that
output and then it would like concatenate all this stuff together and make this huge amount
of memory and then your node would crash okay um so it doesn't it's not even like a coin that you
would be able to spend interesting interesting what a coin that you'd be able to spend necessarily
were um you know uh were there to be a key there that you could reach yeah yeah so this is again
opcode scared the shit out of people at least from what i uh what i have observed um they're a bit
taboo to to approach so when i saw people reacting to op check template verify very positively i
piqued my interest a lot why do you think people are interested in a op called ctv now for
simplicity so op ctv is a special type of op code that is called an op nop upgrade so in bitcoin
there are various operations that don't do anything at all and there is a paradigm that's
been used in the past for check sequence verify or check lock time verify where what you say is
we're a no op this no operation thing but now we're going to verify some additional property
but to somebody who doesn't know about this additional check we the actual execution of
the program looks the same and this works as a trick because if a transaction is invalid
you can't include it in a block and so for the most part old clients will see these blocks that
have things that look like they're not checking as much as they are but the block is still
valid whereas new clients are enforcing some additional rule interesting so part of why
check template verify is less scary is because it's using this opnop verify semantics and so
the result is that you can only ever unless there's like a fundamental bug you can only
ever reject transactions that previously you would have accepted okay so that's why it's a
little bit less scary whereas it's not like you've now created a transaction that will
brick the network in some way okay um people are excited about it though not just because it's like
okay it's not super dangerous but people are excited about it because of what's what it lets
them do yes let's talk about uh how it's going to allow bigger economic users on the network to be
more efficient uh congestion control is something that looks very fascinating to me yeah so right
now in bitcoin if you wanted to let's say do payroll for a company with 10 000 employees
what sort of solutions might you look to which is what exists today well you can make 10 000
transactions that's going to cost you quite a lot and you might get into a weird state where
you've paid half your employees and the other half are still waiting for their paycheck and
that's not really quite great you could do batching which is where you make a single
transaction that has all those outputs but now you have the kind of problem that well now everyone
gets paid or no one gets paid and because it's a big batch with 10 000 outputs it's kind of likely
that nobody gets paid unless you're paying a really really high amount of fee um another thing
you could look to is like the lightning network but now we're talking about a paycheck and so
we're talking about money that has been like kind of earned and needs to be remitted to somebody in
their complete control uh and in the lightning network context that would impose that it a
company trying to pay through like network you have to like have your whole salary collateralized
and so i'm just not sure where that liquidity for that collateral and the lightning network would be
coming from for things like a paycheck for things like coffee and and you know a bagel like i can
understand how like these back and forths are going to balance out over time and you can top
them up every now and again using loop or something like that but for something like a paycheck that
feels a little bit different.
So this is where Check Template Verify I think can help.
One thing that you can do is you can take a batch payment that has like 10,000 outputs
and you can turn it into a tree of transactions, and then anyone can look at the original first
transaction of that tree, kind of like the root transaction, and then they can verify
that at some point they can pull out a UTXO for themselves.
And what that lets you do is that lets you decongest the network.
So if there's a lot of transactions in the mempool and it's high fee,
all you need to do is a transaction with a single output
and then everybody can check that they actually got paid.
And then at some time later when fees go down,
you can actually pull out your money and get paid.
Yeah, that's fascinating.
So let's talk about the tree of transactions it creates.
They're conditional, right?
It's like if the fee market is what the conditions are,
if the mempool is.
so there's no there's no condition or logic necessarily baked into this tree the idea would
be that when you are ready to spend all these transactions have either like a minimal or zero
fee in them you do child pays for parent which means that on your spending transaction you
specify enough fee for the entire part of the tree that you're broadcasting and as uh you know
the tree is structured that means that if there's n people it's only log n amount of data and so
logarithms grow very very slowly so it's not that much data you can do out the you know sort of math
and numbers and it's it's not very large yeah and so how hard uh would it like what what are the
processes of these big economic players going to be like if up ctv gets implemented and they're
able to use it like is there going to be a gui we're going to be like so this this and that or
yeah uh interestingly kind of a quirk of like how unconfirmed transactions work already i kind of
suspect that a lot of wallets will be able to natively handle op ctv without any additional
work it'll just be kind of like not a great user experience uh because it will show like you have
all these things that are unconfirmed that you're depending on for this transaction and those
unconfirmed things look like they're not having any script in them so they could just be replaced
by somebody else but then if you make a small upgrade to the wallet to say okay well trace
through the parents of that unconfirmed transaction then you'd be able to see oh these ones are all
op ctv op ctv op ctv which confirms that your payment is going to make its way through and so
this simple covenant which says like yes pay these five people and then those five people expand to
pay another five transactions and five transactions or however many until it gets to your node that
will give your wallet the proof and so they need a small upgrade to make that work and then um
to figure out how to pay fees appropriately um that that would make it a relatively good
experience until that happens what i would expect is that exchanges would take the burden of
responsibility for expanding these trees and they would use it as sort of opportunistic scheduling
where they would say we're willing to create all these outputs right now for uh this fee rate
and for a higher fee rate we'll defer creating them but less overall fee so we'll give you this
big transaction that is paying let's let's say like a hundred dollars and creating all of our
all of our hundred outputs a dollar per output or we'll give you five dollars to create one output
and if you're a miner and you're trying to fit in a lot of transactions the five dollars for
one output it might be more appealing unless you run out of things that are you know competitive
and then for the ones that are further down in the tree because you're willing to now wait for
these ones a little bit more maybe you're only going to offer like 10 cents per output and so
your total spend in that case 10 cents per output for 100 outputs would be $10 plus $5 $15 rather
than spending $100 up front those aren't exact numbers for what it would be but there is some
evidence that suggests it's about savings like that that's pretty massive um if that's what it
comes out to be and so focusing on these congestion uh control stuff so do would the workers within
this covenant like sort of say hey i'm willing to wait longer or they have access right away but
they can't move the coins uh yeah so every user could know that they have these coins and if
they're willing to pay a high enough fee they could they could pull their money out okay that's
what it is you pay you okay so child pays for parent yeah and then you can get it out faster
all right yeah so so fundamentally what opc tv is saying is you're fixing all the details of the
transaction um so that you know that the outputs that you wanted will get created okay um and
that's the only way that that coin can get spent is to create the outputs that you said that you
wanted to create so it's kind of like if you imagine that you had a pre-signed transaction
that you said okay i'm going to sign some transaction for my wallet but i'm not going
to broadcast it yet and well you can you can always double spend that right but if you imagine
that you had a way to say but now i can't double spend it because i deleted that key ctv is
equivalent to that but you don't need a proof that you deleted that key because you can never prove
that you deleted something yeah no incredible i uh thank you for coming and explaining this to me i
have a much better understanding though yeah of course and you know that's not all that happens
with ctv i think it's something that this is sort of like the base case that kind of like
explains the intuition but you can kind of put this inside of other protocols as well then you
get benefits there as well like lightning and payment pool type things um various other smart
contracts you can make wallet vaults and it just sort of opens the door but this is like the sort
of uh base case to understand before the other stuff yeah let's jump into the wallet vaults
that's something you you're saying the chainco guys are excited about uh yeah i mean i won't
you know speak for them but i was hanging out in their office this week um and they were saying
why are you talking about all this batching stuff and congestion control we think vaults are cool
and i go well yeah i mean i think they're cool too that's why i've been working on them but i
thought this is like the kind of prime use case but maybe i'll talk more about vaults now um and
so fundamentally a vault is like uh i i like the idea because it kind of respects the one of these
phrases of bitcoin which is be your own bank which i take to mean provide yourself real financial
services not just like oh you've you know like you no one's going to issue currency it's like no
you're going to actually give yourself financial services you're going to run a lightning wallet
and you're going to be routing and you're going to be a payment provider and you're going to you
know make your own vaults for like secure deposits and withdrawals and all this sort of stuff so
that's kind of like one of these phrases i really like for bitcoin and vaults are something that
you can build using ctv which let you structure sort of like uh allowances or like annuities
where you say i've got my bitcoin in cold storage and i want to from cold storage which i like can't
easily get to withdraw like uh one bitcoin a month let's say and then at any point if you're
like my cell phone got stolen which is where i was putting my bitcoin onto every month and topping up
what do i do you can actually stop that withdrawal program which is kind of cool so rather than
saying i want to access my cold storage once a year i'm going to put 12 bitcoin on my phone
you say i'm going to access my uh or i'm going to access my cold storage 12 times a year what
you say is i'm going to ask someone one time a year i'm going to set up a program which moves it
onto my phone in one month increments and if i notice that my phone gets stolen
then i will stop that program and i will send the funds back into my cold storage
so using ctv you initiate the transaction and that has a bunch of other transactions below it
that then say hey send it at this block send it at this block send it at this block exactly yeah
and um and then so this and then vaults if somebody does get your phone and then they
do send a transaction from it a vault dictates that there's a a period with which that trend
a block a time a period of blocks with which you have to initiate another transaction yeah you're
using relative time locks so that you say any time an action is taken you have a timeout and
there's a default action so before the actual action happens which is like them getting your
funds you have to make it wait maybe like 10 blocks and you can sneak in a transaction that
sends it back to your cold storage before that yeah so it kind of gives you this the one way
of thinking of it is uh an undoable transaction which is kind of like why would you want that
but imagine like undo send in gmail um when you send an email and you're like oh i've got a typo
or i accidentally you know called my boss a mean name and i should erase that um as we've all maybe
done um and then what you could do is you could say oh wait take it back so like let's say that
you send funds to an address that you're like i'm not sure if this is the right person and then they
and say hey that was not the right address this is not one that we can spend from you can give
yourself a limited amount of time to click okay broadcast a transaction that sends it back now
you can't guarantee that that transaction goes through or claiming it but that's sort of like
the intuition for what this vault mechanism is doing is it's giving you a pathway of saying
undo this ongoing transfer to my phone which i think you know if you're going to be able to
securely access your cold storage and that's not a concern for you and you don't mind going to you
know five safety deposit boxes and building one of these partially signed bitcoin transactions at
each one then maybe that's better but if you kind of want to have like a nice user experience where
you're like going once a year you want to live your life you want to live your life then you
can kind of set this up and it's actually i think uh you know it respects like what are people
actually going to do they're actually just going to have their allowance in its entirety on their
phone but they'd be much better off setting it up as like a structure with their you know burn rate
And this applies for like, you know, everyday users. It also applies for exchanges moving between cold and hot wallet. You can also imagine doing this for inheritance that you set up for your trust fund kids like, hey, I don't want this money to corrupt you. You are inheriting all my Bitcoin, but I'm only going to let you spend a tenth of a Bitcoin a month.
and this is going to make sure that you know you've got your rent taken care of uh but it's
not going to uh you know let you drive around ferraris on the moon unless bitcoin goes up a lot
and you're not blowing these sats on cocaine and booze children yeah hopefully hopefully we hope
not i hope it's so i think that's where it's like kind of cool um it's very cool and that's not
something that you can really do today in in bitcoin no um and it's it's like thinking of it
So story time here, freaks.
I believe it was like 2014, 2015.
I accidentally was being a careless Bitcoin user,
and I accidentally pasted an address that I'd used before.
I was trying to send a cold storage.
I actually wound up sending to an address that belonged to a merchant
that I'd used before that.
And luckily, the merchant was so kind to send it back.
i'd email and be like hey i just sent you a bitcoin accidentally that sounds like a scam
like you like you would send them like hey i accidentally say there's bitcoin that's still
in the mempool and then you've replaced by fiat and then like they sent you different coins back
or something like that yeah well this this got confirmed so i was asking back for like a confirmed
transaction they had possession of at this point and luckily they sent it back but a vault would
have been much more preferable than having to rely on the person the merchant responding to
my email being kind enough to actually send me back the satoshis yeah definitely yeah and so
like what what do you think a timeline for this would be if you had to put one on it well i'm
having a workshop february 1st in san francisco so definitely uh you can find information on that
workshop on my twitter or on utxos.org um so i'm hoping people will come to that and uh do a lot
a review. It's feeling like general, you know, consensus among developers that this is an okay
design. There might be some tweaks that need to happen for people to be fully happy, but people
are evaluating use cases that they're interested in and making sure that this, you know, does the
job and that we're not introducing some other, you know, unintended behaviors. So I think we're
getting to the point where you know maybe this year we can uh see it merge and available if
miners signal for it activating if we use version bits as the activation mechanism i can't you know
i don't have merge rights on bitcoin core so or any implementation for that matter um so i can't
be like hey it's out there but i think that's where it's sort of a community thing is that
people need to go and look and say if this is a good change like they should start vocalizing
that and that's going to drive adoption and sort of integration a little bit faster yeah no i agree
and i think uh adding to uh the difference of bitcoin development back in the early days when
you were at mit and now that's what's been very uh comforting to see is things like the the biptap
review sessions that were going on and i'd never seen something like that uh around a bit until
anthony towns took the reins there you throwing a workshop um uh for op ctv to get people
interested in learning about it and uh it just seems like things are more organized for this
distributed software project these days uh yeah i think one of the things that uh you know i've
been thinking about is like where is like the like project management and like what does that mean
for bitcoin and i think one thing that's unique is it's really just the community it's like what
is the community want where are people's priorities what's moving the needle for them um and as a
result it's not like there's like a top-down decision on what's getting done and it's just
like what do people care about yeah no and it's it's been beautiful to see uh everybody come
together and uh just weirdly organized naturally again like i said i've been like watching you
on twitter from far for like years now it's crazy to meet you in person and
honestly like this op ctv and we'll definitely talk about pow swap these are pretty freaking
crazy uh things if they get implemented and used by people yeah i'm a little stretched for time
there's like too much too much going on i need to find a way to scale myself a little bit i guess
before i can scale all these projects yeah what uh how do you how do you search for help on this
do you have uh like a a team of people that help review or go to uh i i wish i had a team of people
to help review like that's part of why i'm out here at chain code is uh visiting to get them to
take a look at my stuff and kind of pull their ears uh and they've been really gracious hosting
me um the sort of general shape of the ecosystem i think uh it's difficult to get uh
no strings funding for doing the work that you want to do um so i'm that's something that i'm
actively you know exploring of right now i've got some research grants from some generous you know
individuals in the community that are helping me do this um but it doesn't necessarily feel like
super sustainable for myself um i am also uh you know sort of saying okay well i'm working by
myself on all these things i've got a lot of great stuff going on if i could work with other people
and have the you know capital available to pay other people to work on this uh that would move
this much faster and it's sort of a you know i think i've been speculating of like what would
bitcoin look like if you know default wallets just said yeah you pay a tax to a you know development
an organization once a year and you can opt it out if you want to it's not like a part of the
protocol it's just like this is the expectation of the community that you should be investing one
percent it's sort of one of these weird you know you know nash problems where if everybody else is
donating one percent you don't need to but if you think about what is one percent of bitcoin's
market cap well the problem after that is how do you distribute that one percent distributing is
hard so i think that you know ignoring ignoring those challenges what i'm just saying is like
think about what it would mean for bitcoin if one percent of the market cap went to development
every year what's one percent that's a billion dollars right so we're talking about a billion
dollars going into it's probably more i don't know what's the market cap right now i don't follow
that stuff um right now we're at like we've got to be around 160 bill i would say okay so we're
talking about one to two billion dollars that would just be funding protocol research and
development like that maybe is even too aggressive what if we did a tenth of a percent right okay
now we're talking about like 100 to 200 million dollars just to fund protocol development and
that doesn't really even exist right now it's kind of crazy we're talking about a minuscule
amount of burn that people will be having and if you hold bitcoin and let's imagine that you know
we don't have this nash equilibrium selfishness to worry about like how much more valuable do
you think bitcoin would be if we had 200 million dollars a year going into bitcoin research and
development and hiring developers i think it's coming though are you not uh encouraged by like
chain codes of the world uh square crypto uh digital garage it seems like more popping up and
i think uh those guys do have to leave because again i think the distribution problem is just
a whole governance social scalability headache that's not worth it but i do think the funding
needs to be there and i think hopefully more people follow and square and chain codes yes i
think that this comes down to the uh sort of like distribution issue that you're looking at is that
we have a couple organizations but it's still relatively centralized and i think that i just
want to see a lot more of it a lot more development foundations things like that um rich bitcoiners
get on it well that's one thing actually we're we're trying to do here we're 25 of the sales
and some of our merch is going to BTC Pay's server.
Hopefully, I mean, we're a small, humble little operation now.
I would like to contribute more, but no, I do feel that need
as somebody who's been in Bitcoin for a while to definitely donate back.
And BTC Pay is what we chose recently,
but I would love to contribute to a fund helping core developers directly.
Yeah, it's definitely something that I've been thinking of
and toying with what's my plan for my future as a developer?
How is it going to be something that I keep on doing
versus having to turn away to work on something profitable?
Well, I will definitely hit the road campaigning for you.
I'll let you know when something's happening.
I can tell you that.
I'm confident people would step up for you too.
I think your review of the code
and your attention to Bitcoin over the years
is uh is unmatched by a lot of people most people in the world obviously um and it would
probably not be advantageous to lose your attention on the project i i would imagine
thanks i appreciate that yeah um yeah but like so that's like yeah the funding problem i think
it is getting better um what do you think about like the pace of bitcoin like so we've talked
about it's definitely gotten better it's getting more efficient but like do you think uh the
project's moving too slow too fast uh just right it feels like the project can be like a little bit
fragmented um and it feels like there can be trouble sort of like prioritizing on um like
big projects so taproot and like ctv these are the big like features development but this is
maybe more like the nitty-gritty of uh improving modules in the code that that aren't you know
feature-oriented.
An example is I was doing some work on the mempool before I came out for this trip, that
I was trying to get reviewed on this trip, and somebody else opened a new pull request
for something else in the mempool.
And it was just kind of a refactoring, but it was going to make me have to spend several
hours if it got merged right before I came out, and I was trying to get all this stuff
done before I came out.
So I was like, hey, can you just not merge this before I come out, because I don't want
to spend half a day like working on rebasing this because I'm trying to get these things together
and they're like okay I'll try not to but then it got merged and then it's like okay well like
I'm working on this thing which is like actually like a major performance improvement for the
mempool which has implications not just in mining but also during like reorgs during block validation
and now I'm wasting another half day to change the name of some variables like there's sort of
like can be uh fragmentation because there's not like a project project manager who is
looking down and saying what is every person working on what are their priorities what are
the overall sort of like movement of the project what things do we need to emphasize where should
we be directing review it's very much decentralized scratch your own itch and i think that that's like
a virtue you know people are always upset congress is so slow to pass bills but that's like by design
so it's not necessarily bad that bitcoin is inefficient in this way but it does
impose a very heavy burden on developers who just get frustrated everyone i talk to
quits for several months at a time and then comes back they go yeah i just got so frustrated i
couldn't work on it anymore and that's difficult because how do you support developers when
their emotional state is such that like most of the developers i know take several month breaks
because they're so frustrated that they can't get progress on their things not only are you losing
those couple months of time you're losing those developers and like people are like not happy so
i think that that's like something that i that i really care to try and fix but it's hard to figure
out how you can do that with respecting bitcoin's value system yeah no i can't i can't imagine how
frustrating that must be to like work on something for so long and like somebody else working on it
not even unbeknownst to you on another side of the planet merges it and fucks up all the work
He just did.
I'm not,
if you're listening,
I'm not angry at you for making that,
you know,
I'm glad that like,
it's also this happy thing where like,
yes,
things got merged,
you know,
like things getting merged is like good,
but it's just like helps if,
you know,
it doesn't feel like it invalidates what you're trying to do.
Yeah.
But are these just necessary,
uh,
growing pains?
Uh,
maybe,
you know,
it'll get better.
Um,
so yeah.
Well,
well,
it also limits how quickly it can grow.
That's the thing is that,
i know some really brilliant developers who came in to try to work on bitcoin and they were really
excited and their contributions day one were phenomenal and they left because they were like
this is just too frustrating so if it's growing pains you know maybe but it's also the type of
thing that i think we could be growing more efficiently yeah i totally agree i mean limit
developer frustration should be a goal right common sense overall people are doing great
work on this though like um i know uh jonathan newberry is doing a lot of really good work um
he just sent out a survey to some contributors kind of asking like what what's going on you were
a good contributor like are you happy with how it's felt like what could change and i think that
that's important work to kind of figure out what we can do to improve ourselves so it's not like
people don't care about this it's just like the state of affairs right now is it's not you know
not lots and lots of happy developers yeah well if you're a bitcoin developer listening out there
thank you for what you do thank you for going through all that frustration and that hard work
you you're working on something that i believe uh is extremely worthwhile potentially not
potentially i think it is one of the most important technologies of our day so thank you
uh for fighting through that frustration and if you haven't been able to fight through that
frustration you're sitting on the sidelines now enjoy your rest get that mental rest
but another big contention not contention another big topic that causes contention
which I was actually happy to see brought up this week too it's been a big week for development
was activation routes and this is probably the best softball to start the activation conversation
with is Matt Corallo's big consensus cleanup and so we were talking we touched on this earlier with
how do you get things activated how do you do this right i think his proposal for this particular
uh bit makes sense it's bit nine 95 uh threshold within a year if that fails you go back to six
months of review why it failed and then you do a bit eight uh yeah so i actually um 80 i've got
some opinions here let's let's hear them uh so if you go in that post or search on youtube um
like Stanford Blockchain Conference 19 or 18 or something,
I have a talk called SPORK,
and it stands for sort of probably a fork.
It's a probabilistic forking mechanism for Bitcoin
where you can change the rules
only if a block passes an additional proof-of-work filter.
So if you make a valid block that passes proof-of-work,
you'd have to grind for another six months of those blocks
in order to find one that activates the new rule.
This is a weird rule.
But what's interesting is it has some properties that you can take a look at that are kind of cool in terms of who has influence when and where and what that means for mining.
Now, that mechanism is not ready to roll out, and I'm not advocating for it.
But why I think that talk is actually worth watching, and maybe just looking at the slides for everyone, is the analysis that I do of that mechanism is compelling in its favor, and it's really surprising.
this is why I recommend that you watch the talk
because if you just look at the slides
you're not going to get the nuance of how weird it is
but if you imagine
if I'm a miner
and I'm going to see a small decrease in revenue
after a change
for some reason
I'm going to see a small decrease in revenue
this is actually the case where I would be opposed
to this change
if the fork activates sooner
I'm actually less opposed
than if it activates later so if i can delay a fork for up to three years if you think about it
i'm going to delay it for as long as i can that's kind of the intuition if it activates sooner it's
actually a band-aid ripped and it's not as bad and so there can kind of be these counterintuitive
uh you know facets of like minor behavior where yeah decreasing minor profitability is bad but
also it's bad if we can't get protocol changes through and what we're doing is we're essentially
with the current structure that's kind of being proposed we are allowing miners to be
sort of like personally selfish at cost to the entire ecosystem and you can model basically
and i do this in spork and those sort of protocol models can be adapted to other activation
mechanisms it actually ends up kind of being better for everyone if things just get activated
and go through that um you know other miners may become even more profitable and if you think about
what's good for the bitcoin ecosystem health having more miners become more profitable is actually
good um even if maybe one miner gets slightly disadvantaged now there's sort of an issue around
like how do we pick winners and losers we don't want to do that but that's where in this model
that I come up with which is there are opportunities to reject forks if they're seen as like
obtrusive among the miners and miners generally would reject something that seems to be unfairly
picking winners and losers if it's just like kind of a virtue of like yeah this is a protocol change
that we need to do to fix a bug but for some miners it disadvantages them and we know of
things that are like this like the time warp bug miners can exploit time warp bugs to make more
profit but no miners doing it because it's bad for the ecosystem if somebody wanted to be doing it
would we really delay activation of that soft fork
so that they can continue making money off of a bug?
No, we would make the change
and we'd rip the bandaid and get it done.
And so I think that that's where modeling
some of these things and actually thinking about
what revenue are we protecting
and which revenues do miners actually care about
is kind of a worthwhile exercise.
Yeah, how much of it depends on the nuance
of the particular merge, right?
Like, so with the big consensus cleanup,
Matt seems to think that it's pretty it's just taking away stuff it's not
really contentious right so the miners have no reason delay it taking away
stuff is more contentious yeah so I don't remember the exact rules but there
are a couple of rules that I'm not super happy with yeah there's one there's one
thing where there's an address structure that may become unspendable or something
like that or yeah with like code separators or yeah it's one of these
things where like we don't really know but those things could be inside of pdshs that haven't been
revealed and maybe somebody has some buggy wallet that they wrote maybe even satoshi's you know
coins are i don't think they are but it's one of these things where i'm just kind of uncomfortable
um with setting that precedent that we're like hey people don't really seem to be using
segwit v0 anymore let's just disable it it's like well what if your funds are still there
yeah uh and that's a very more aggressive example because this code separator thing people aren't
really ever using but i think that it's just like i don't like the precedent that much
and i also i i think that there's this trade-off that matt's making which is we know that we want
to do all these things kind of so why don't we just do them all at once and then there's the
flip side of like let people pick and choose which things that they want independently don't make
things that don't need to be correlated correlated right so like changing fixing the time warp attack
has nothing to do with fixing the code separator stuff those are two independent things so why are
we telling the community that they have to come at the same time um i i would like to see i think
most of the consensus cleanup happen and i think that it really is a cleanup like it's not like you
said it's taking stuff away but taking stuff away you know like that can you know like the
endowment effect so if I were to ask you if you wanted to buy my like pen how much would you buy
it for as low as possible yeah like it's a big pen and I'm like hey like you want to buy my pen
50 cents 50 cents okay so now somebody walks through the room and gives you a pen a big pen
and i say hey can i buy that pen from you how much does it cost at least 50 cents well no i mean like
what people oh i know i have a pen you have a pen i already have a pen it's your pen and i'm like i
want that pen give me a quarter a quarter okay well you're just a nice guy but what the literature
shows is that generally like once people have something they really like don't want to give
it away even if when they are asked if they want to purchase it they don't think it's they don't
think it's worth anything yeah so it's they've done you know psychologists and economists have
done this experiment that like yeah things are kind of sticky like people just like the one that
they have even if like conceivably they could buy another one or uh they wouldn't personally pay
that much for it now that they have it it's an emotional attachment yeah and and it's one of
like small like you know almost irrationalities that that that people look at and i think that's
where uh these sort of things come from of like oh well you're taking away this thing that i used
to be able to maybe do something with at one point if i came up with something clever enough
yeah it was like asic boost right covert asic boost that was yeah oh we're gonna take away
asic boost but i have it yeah and we haven't yet maybe deploy it that widely but we were going to
to make more money and you can't really take it away if we have it yeah interesting no it's a
fascinating conversations i'm glad we're being critical of this stuff like so we'll see i mean
i hope it goes through yeah no but i was again like back to the point of why i brought that
like the activation method right like it's uh again is it nuanced depending on the merge so
like it would bit uh the bit for op ctv getting merged uh would you uh so just you just explained
the activation method you'd like the spork in the future but yeah so my general feeling and it's not
my activation i can't really do anything about i can propose like if i had my you know like if i
were the you know semi dictator for bitcoin i would say yeah ctv is going to be a spork because
i think this has better properties for bitcoin but that's not what everybody else has agreed to
and kind of likes right now right now the standard is version bits and that's sort of the expectation
so i would i would propose something that fits within most people's expectations matt's
suggestions on how we might change this i think might apply to like maybe the next batch of
soft forks because i don't know if we're going to get community consensus that this sort of set
of parameters around aversion bits activation are what we actually want because it's kind of
controversial like oh we're triggering in you know like a flag day at some period after like
is that actually what we want that's going to require a lot more conversation to get to that
point it's almost one of these things that we can walk down that road if we ever have
a soft work that fails but maybe it's good if we prepare ahead of time too
no i agree that's why i liked the the six month discussion period where after which you can be
like all right maybe it's not a good idea i think what's nice in particular about what matt said is
that people don't know like what the process is they're like hey our soft work failed let's start
it again right now it's like okay no if it just failed give it six months and then try again and
i think what's nice is that it's just an answer the answer could be yeah start it immediately
again but start it with a uh like twice as long timeout period that's also maybe a reasonable
policy because if you're going to have this discussion period you can say unless miners
actually just like messed up and are ready to go like allow for a flexible amount of discussion
um so you could have any of these things but um yeah no it's it's there is no uh direct way to do
it yep um which i'm fascinated to see um if biptat if and when it gets a number uh how people
present that should be activated yeah i mean you could also imagine a another form of version bits
uh which has uh three states um one would be continue discussion the other would be activate
and the last one would be fail interesting right now you only have once you know one bit and it's
either reject or accept and that doesn't really capture the full spirit of like if i'm not sick
like i can signal that i'm not opposed which is a very different thing than i'm ready yeah
so for any of you freaks that are listening that are completely lost about what we're talking about
right now when the version bits that we're talking about miners can signal it's a binary right now
it's binary you accept or you deny and to signal that they're ready for an upgrade or a particular
bit they will flip the version bit uh one way or the other to signal to the rest of the market that
they're ready or not um just a little uh version bit lesson there that you probably should have
given but i i try to hop in there uh sorry about that no no i mean you did you did great i'm not
putting the pressure on you so one of the one of the key parts though is that you set a start time
and an end time for collecting enough signals that that people are ready for it and i guess
what i'm kind of saying is like why have an end time if people have signaled this middle unstable
state which is let's keep on waiting to see if we get above this threshold that would be kind of
like a flexible end time which might have some better properties for saying um uh we're not sure
yet we want to keep discussion going it might also be worse as i said like you know if you're a minor
and it's going to be less revenue you just want to keep discussion going for a long time filibuster
right yep yeah exactly yeah interesting well while we're on minors too so we could talk about
fucking everything right now um but let's talk about pow swap this is fascinating on chain
uh hash rate derivatives i'll let you explain i'm not even trying so i came up with a primitive
which i call a block delta contract and a block delta contract essentially you are observing the
number of blocks that got produced in a given period and if it is uh above your expectation
um alice gets some money if it's below your expectation bob gets some money that's the
basic building block there's a lot of like more nuanced versions that you can get into
but using that you can imagine saying over the next six months if i see a hundred blocks less
than i was expecting that means that we lost about like a day of hash rate over that period
so i will have a contract which pays out based on that the thing that's tricky is
was on processes are pretty volatile so you have to think about these parameters
kind of closely of like how much variance does there exist naturally but
that sort of variance if you're trading over you know gamblers dilemma can you
trade long enough to not go to business if you trade long enough they'll average
out to the actual thing that happened so these can be used by various parties to
either you know leverage or hedge or do other sort of fundamental market
operations and so how are these constructed on on chain is it a certain op code a certain it's not
a certain op code it is a transaction uh set of transactions that uh observes both the uh block
height and the uh time and so by observing both block height and time you're able to check the
discrepancy essentially and decide one way or the other we can go into like the scripts but i think
without like a picture and whiteboard it's a little bit hard to to write out but it works
and there's a few different ways of doing it so choosing the obviously the chain as an oracle
with the block height and then unix as an oracle for the time unix time um kind of so you have uh
the uh check lock time verify op code which checks the timestamp which is kind of a unix
timestamp but it's not like a local unix timestamp it's the global one implemented by the network
yes and so maybe this introduces an incentive to like try and shift that clock but the network
would have problems if that drifts too far from like what the actual time is like it's generally
intended that should be roughly what people know the time to be um and the and you'd have like
problems like in difficulty adjustments and other things that people mess with that too much
um so yeah you're able to observe both that and the number of blocks that passed from when you
started the contract yeah fascinating and then we we were um and this could this could be could
this be implemented uh today yeah there's no there's no changes it can be done today i actually
uh wrote code that does it yeah you have a beta open uh no so it's this is a difficult project
to get off the ground if someone is really interested in it and is like this is awesome
it probably needs like an upfront 100k of legal expenses to to go uh which i don't have so if
somebody wants to like help get this off the ground it's definitely something that i think is
is interesting but i think uh absent having that uh you know that seed sort of push on something
that it's just like has to be released into the open which is uh you know like these contracts
and uh this big legal expense to kind of like validate that this is an okay thing to release
it's a little bit hard for me to get traction on hey rich bitcoiners listen up this is the
first podcast you've ever been on uh no i've been on a couple yeah this is a great one and you know
this is a special thing between us but yeah there are other podcasts that i've no because i was
doing i'm trying to do as much research as possible i didn't come as many podcasts came
more um more blog posts and and tweets and pull requests yeah i've done i've done a couple um
but i guess i haven't done as many that are like uh like industry podcasts like i've been on one
or two that are maybe more broad yeah yeah no do the industry rounds man people more people should
be hearing your thoughts thank you it's uh i'm very now i'm flattered to have you in and that's
well back to the uh the derivatives the difficulty for derivatives we were having this discussion
before we had recorded and it's one thing i've been thinking about a lot is why would you ever
short difficulty uh outside of a hedge against a big purchase of miners that haven't been released
in the market yet and you made a very good point you don't even have to short difficulty really
you can just short the pace of difficulty growth or hash rate growth yeah so i think that that's
the thing is that who's taking these trades like who wants these contracts um that's sort of an
open question i do fundamentally believe it's like a two-sided market because miners with different
risks will want to hedge both ways and miners who are very confident may want to leverage their
positions so you do kind of have this you know both sides but you have to keep in mind that like
the default thing that happens in the network economically is that hash rate increases so no
one's actually trading hash rate goes down they're just trading hash rate doesn't go up as much as
you expected it to or it goes down a little bit you could also write contracts for systematic
collapse but that's like a little bit harder to do because if you have a systematic collapse in
hash rate you're not even going to have blocks to put your transactions in yeah yeah how do you
claim that yeah it's a little hard to claim so it doesn't work as well when there's sort of like
unlimited downside and that makes sense because or unlimited downward movement in hash rate
because you just won't have blocks so that's sort of outside the model of of when you would use
these um but as a as a non-mining user there are also reasons that you might want to take these
positions one thing you might say is i want to get paid out if hash rate collapses and i'm going
to need a lot of bitcoin if that happens so you make a bet that says hash rate goes down to 10
of what it is would that ever happen i don't know but how much bitcoin would you want to have if
that went down because bitcoin's not going to be worth as much so if you want to have savings in
bitcoin what this does is it turns bitcoin for you into kind of a stable coin where a stable
coin i don't know if there's a banned word for here but no no stable coins are fine so it's a
bitcoin we think they're inherently unstable but you can use them so so what's what's the key
observation is bitcoin isn't the thing that's stable but it's the amount of dollars that you
could redeem the bitcoin that you have after you have one of these hash rate downside uh you know
shorts open that's kind of like very wide it's like okay like i'm gonna lose uh up to uh let's
say you do 50 hash rate down you think that there's a correlation linear correlation between
hash rate and price you're like okay if it goes down 50 give me twice as much bitcoin as i have
and if you enter that kind of contract you're going to be losing a little bit of overhead for
premiums to buy them but on the other hand if it does if it does slip that that much
you will now have a lot more bitcoin yeah you're made whole so so it kind of keeps you within a
band um which is cool that's like a bitcoin savings contract yeah it's cool but it has
me thinking like what what happens in a world where like bitcoin is the unit of account like
the people people aren't denominating their savings and uh so this is still useful like
It would just be like, if you're long volatility, you would want these contracts.
You would say, I'm long volatility.
I think that Bitcoin's going to just have one of these big swings, and then it's going to pop back up.
And it's a unit of account, but it still has purchasing power.
So even the dollar, even though it's the unit of account for the world, things change prices.
So that's not going to fundamentally change.
but you you would still be if you're like hey one bitcoin is one bitcoin and then this to you looks
like a trade of like okay if the hash rate goes down i just get all this bitcoin yeah you're not
really worried about if it's preserving your stability because you think bitcoin's already
stable it's just like i am willing to pay a little bit on this bet that bitcoin goes down this much
or bitcoin goes up you know more than you expected those kind of things yeah it's fascinating you can
do this all on chain too all on chain is it defy it is uh you know it's i i've told some people
who are like very into defy i'm like so i'm working on something defy and they get really
excited and i tell them like what it is and they're like that's not defy i'm like what is defy
you know what is this decentralized finance so like well we have like uh you know this protocol
i'm like okay well where's the oracle like uh yeah well you know we have this one oracle for
price but it's like this decentralized you know it's like okay well in this the only thing is
bitcoin it's crazy it's bitcoin you know there's no external third you know get rid of all that
this is just bitcoin observing its own financial health and then trading contracts based on that
health which is kind of mind-blowing it's crazy i feel like it should be talked about more uh yeah
well i'm i'm working on it i'm trying to figure out if there's a way to drive it forward but it's
kind of a difficult thing to make well certain kinds of progress on you've made my uh friday
morning easy i know what i'm going to write about already um because this definitely does need more
attention that's the thing like that's the thing that blows my mind there's a lot of noise and
bitcoin in the overarching cryptocurrency space and defy being one of the loudest uh
noises in the space right now and um stuff like this is is very uh it's tangible and it actually
seems like something that would use in the future instead of yeah one of the things i think that's
sort of the case for DeFi is
you are building crap on top
of crap. That's kind of like the
general structure
where it's like we have this DeFi
thing and we're able to trade all these
tokens in this like liquid market
and Ethereum or whatever and it's like that's cool
right so maybe that's
okay but what are the tokens
that you're trading? They're things
no one cares about necessarily and
so just by virtue of what you
built on top of like as soon as you have
an asset that somebody actually cares about, then it will be interesting.
But until then, it's kind of crap on top of crap.
With this, it's Bitcoin, which people actually care about.
And so it's kind of cool because like, okay, like now we have something to trade Bitcoin
in these, you know, complicated derivatives contracts.
And I think that maybe is sort of like a meaningful use case.
I also think the set of people who are hardcore Bitcoiners and the set of people who are into
DeFi right now are like very separate sets.
Maybe like Udi reads a lot about DeFi, but not too many other people.
But this is like a concrete benefit for a lot of long-term Bitcoin holders that they can buy these contracts that will give them some downside protection.
That's like a pretty compelling use case.
Yeah, yeah.
I mean, I'm just, again, I'm just a simple podcaster, hodler.
I just want sound money and more importantly, money that I control.
and all the DeFi stuff.
It seems cool, but it's like,
who is really going to use that?
Yeah, but I am worried.
Like, okay, maybe you can build these contracts
and then the market doesn't show up
because it's easier to trade them on CME.
That's possible.
And that's a real possibility.
For a lot of people,
you don't need this decentralized aspect.
So it's possible that people don't want this.
But I think it's important
if Bitcoin is going to achieve its dreams
and truly soar that hey we actually have left the existing system behind so that's a little bit of
why i like pow swap yeah because again yeah we actually closing the loop right like why why would
you why would you want to expose yourself to the cme and that when you can just do it on chain
well there are a lot of reasons uh i mean i'm always happy to be the devil's advocate against
my work um you know sort of a you know scouts honor or whatever um part of it is that these
decentralized exchanges work really well right you put an order it gets filled you have market
makers you have fairness you have regulations you know that people are you know not allowed to be
market making and also mining you know like they have like checks and balances these kind of things
to make sure that there's not like weird market manipulations in a in a true d5 context that that
regulatory side doesn't doesn't exist and so a lot of people think that there's maybe like more
safety in that um and so that that's I think why people might prefer to work with a centralized
exchange rather than a decentralized one but one of the safety uh went to be more regulating like
the actually like the heart like the stuff in meat space right like you can't really regulate
well as if it's two consenting adults and entering in a contract on chain like so
that's a nice you know like story right but it turns out that doesn't really matter where the
contract is it just matters you know like that the contract is written and the regulators like
have you know their finger in that pie so yeah so if a regulation like the regulations will apply
regardless it'll just be that like they're not like necessarily enforceable um and if they're
not enforceable and people are cheating you'll be you'll feel safer trading on the centralized
exchange because they'll do things like there's no actual bitcoin in these contracts they're all
cash settled and so like okay you just get a dollar payout uh when this contract strikes in
your favor um and people aren't worried about whatever random stuff happening you know they're
just like okay i get my dollars and then if it comes out that like one miner shut their miners
off in order to fraudulently manipulate the market then the cftc maybe rolls in and said
no this is like the underlying commodities market was fraudulent we're going to roll back the trade
for the last day yeah and maybe that's what happens i don't know the exact particulars of
how that would shake out between the cftc and sec if you have a fraudulent underlying market
but you would have those protections because they're cash settled here you wouldn't have
that protection if a miner is like you know what i'm gonna shut off my miners and i'm gonna collect
all these you know like all this money um that's possible this is actually a good thing though and
that's what's most interesting and do you want to know why it's a good thing of course i do
what does the derivative do fundamentally hedge no like like think about for a commodity what
does it do to the commodity it reacts to i mean it uh what does the why do we tolerate these
stupid you know like derivatives trading like crazy marketplaces like what are they what are
they trying to accomplish for a society like why do we think this is like a good thing worth
spending any time reduce risk increase confidence and yeah reduce risk increase confidence
stabilize supply okay right so that's this is a key thing if you have all these derivatives
in financialization of the base layer you stabilize block production so boom right right now
we think blocks come every 10 minutes right but if the hash rate goes up or down that changes
with financialization people may actually keep some latent hash power in order to stabilize the
chain if hash rate drops off so that's actually the result is that if you believe in derivatives
as like an instrument that has social value then bitcoin would be more reliable as blocks would
show up you know at 10 minutes you can't guarantee that because hey that's not how
processes work yeah but the moves would be less dramatic yeah you would not see moves in the
underlying as much as people would have incentive to smooth out that movement uh which could be a
good thing for society like hey a lot of new hash rates going on so we're going to take off our
older hash rate to keep that number of stables that we know how our contracts execute because
that equilibrium derivative should keep the prices more stable yeah i mean that's one thing like the
halving always drives home is like like two years ago the halving was supposed to be like memorial
day of this year but now no one knows what's going to happen to difficulty right but if you
financialize the production of blocks around the halving you will say yes people have bet a lot of
money that blocks will continue to be produced yeah and that that should be the thing that
happens and like you know maybe miners are bought into that and that kind of is a coordinating
function for keeping the the chain stable yeah so there was a difficulty adjustment two nights ago
i was checking the blocks were coming in about like nine minutes and 10 seconds right now they're
coming in 9 22 but yeah like we say i mean i say it all the time every 10 minutes there's a block
but really up to this point it's been pacing ahead of that yeah well that's actually one of
things that's that people don't realize is that bitcoin targets 10 minutes which means that blocks
should always come in if hash rate's growing faster than 10 minutes yeah yeah this hash rate grows
comes in a little bit less every time yeah it's uh it's so much to take into consideration when
approaching bitcoin and again going back to the fact that you're jumping around the code base
and working on all these different areas blows my mind like i can barely try to articulate uh
what bitcoin is and the different parts of it let alone make the code that makes it work well
imagine how much my head is spinning like yeah how do you how do you take a break how do you
how do you clear your mind stay sane so i have a dog um that is a pretty important part of my life
you know like make sure that i get outside get some fresh air every day um yeah i think you know
I cook most of my meals, it's sort of like building these like healthy habits that I
think are like almost self-regulating, where if you set yourself up in an environment where
you kind of have these obligations to do things that are good, you kind of balance out your
life, and then when you're focusing on your work, one thing that's important to me is
that I have a laptop for traveling, but I work at a desktop, it's building that stability
in so that when you have so much hectic going on elsewhere, you can lean on that as your
routine.
I love that advice.
Routine is important.
Yeah.
what's your dog's name asher asher yeah how old is he uh two and a half years two and a half years
yeah so i've had him for uh most of that time what kind of dog is he australian cattle dog
yeah he's a hyper from the shelter he's hyper uh he's a very uh you know he's a he's a you know
kind of like those dogs are just like really smart and they have a lot of stuff going on and
they're kind of like watching everything and hurting and uh i don't know i'm very happy it's
like you know i i would you know say good things in my life like asher ranks above bitcoin
well that's wow that's true love yeah um i don't know i hope to meet only dog owners will understand
well i uh no not in this apartment we're not allowed um uh but i think in our next place
we're gonna get one nice i am the dog person i love what kind will you get i want a lab
um all american chocolate lab um my wife would like an english bulldog though she would see uh
but i think that's torture that's cruel yeah they they have some intense breathing problems yeah
and it's like i want a dog i can take for a walk too like a long walk yeah my real thought is you
kind of have to be able to like wrestle the dog yeah okay yeah my parents have a
an Orwellian
bear dog. Not Orwellian.
I'm kidding.
It's like a bear dog.
I forget the first name
of it, but he's Dublin.
That must be a gigantic dog.
It's actually...
He's probably like
60 pounds.
I'm thinking a bear dog.
A wolfhound is big.
He's like a shepherd dog.
He herds bears.
scares them away from from farmers and bear uh bear country if you will around the world um and
that was dog talk and tells him the correct yeah you're talking about dogecoin uh doge what is
jackson palmer up to these days he completely left the space it seems i don't know yeah i haven't
been following i don't know i think yeah i think he works at like lyft or something like that
interesting um hated his own creation the man who created dogecoin that's who we're asking about
doge is still around it's all still around what do you think going forward do you think we have
maybe i should get ctv merged in dogecoin to prove is that the the lightning to bitcoin gold
is actually dogecoin not litecoin or the uh silver to bitcoins gold i i have no idea i'm kidding what
are your thoughts on the uh do you think uh we'll see uh explosion of all so we did in 2013 icos like
we do in 2017 going forward do you think the market's learning uh consolidating so i have a
little bit of like a take that not everyone agrees with um more coins are great more money more
whatever like issue whatever you want like i said earlier be your own bank right banks can issue
you know bank issued currencies in america they're maybe illegal but in other countries banks have
their own you know reserve notes or whatever so if you actually want to have your own like
financially independent group like yeah it's fine if you issue your own currency i think that that
looks different than a lot of what the icos are doing uh there's a lot of sort of like fraudulent
promise on like what it means to be an ico like oh there's this decentralized ecosystem that
emerges that you're going to be able to use these digital goods and it's like okay hold on a second
but just the idea of like hey we are this national you know nationality and we're trying to establish
our own country and we are going to outsource our currency operation to like you know bitcoin or
something like that and we're going to use this as our monetary platform that's actually kind of a
powerful idea and i think that um i'm like perfectly okay if that's what's going on um
and think that like we should hope to see more of that because that means that more people are
getting fundamental freedom through bitcoin but when it's like hey we're a centralized group of
developers issuing something to like make a big profit that's like a different yeah yeah at the
end of the day at least the people that are in it for money so they usually trickle towards bitcoin
And again, the network effects take over.
Do you think this is given the amount of energy
and infrastructure needed to make these networks run?
Do you think this is winner-take-most
to all at the end of the day?
No.
So I think if you talk to some hardcore Bitcoiners,
what you'll find is that they spend a lot of money
on their credit cards
because if you spend on your credit card,
you get to hold your Bitcoin for longer.
And that's sort of like a fundamental thing
is that the money that you're using to spend
is generally credit because it's it's cheaper right and and spend the bad money first kind of
right um so if you think if you're holding bitcoin you think it's going up well this is in a world in
which good money doesn't exist right or credit will still exist yeah oh i agree yeah so so you
still need loans you still need all this stuff so credit is still going to exist i agree so if you
have credit spend on your credit and hold on to your assets um and i think that that's also where
you know maybe like other coins can exist and fulfill a need is like if i issue for my
organization our own currency it's sort of like a line of credit for our company that's like
traceable like how many of your own coin have you issued and then are you able to like buy them back
at like some what's the price that you're buying them back at what's the price that anybody's
buying them at having that market allows people to like issue credit sort of so i wouldn't exactly
say that here's like a specification for how you issue credit on on a chain by issuing tokens but
i think that there's kind of like a mirror where those things look kind of the same yeah i mean i
like what hal said right with the banks right you have like a quasi 18th 19th century canadian
banking system when they had a free banking system where i think people can get bitcoin reserves and
then uh build what you were describing earlier yeah um on top of that using with proof of using
combination of proof of reserve and other stuff to create credit lines for people yeah that being
that being said like i don't have a lot of credit i try to live like within my means and pay that
so like in that future too well paying it down is fine yeah right it's just like you get that
extra month of exposure yeah so you you know i'm not advocating that anybody don't pay off your
credit card yes absolutely pay it off because those interest rates you're probably not going
to be with bitcoin but at least month to month like hold on to your bitcoin get the upward
movement of bitcoin because you're trying to like you know like in if the bitcoin goes up let's say
20 this year it's going to happen most likely in the middle of one of those months and not on the
day of your billing cycle or whatever and so if you're constantly selling bitcoin to make all
these transactions you're going to miss the day that it goes up right uh on most of your bitcoin
but if you wait for that month of spending like you'll get that appreciation for most of your
and you know this is not financial advice this is sort of like a you know like if you had this
fundamental belief that bitcoin was going to go up a lot or stay about the same it's better for
you to hold on if you think bitcoin is really volatile and about neutral then you wouldn't
really care yeah like okay like i'm either gonna gain or i'm gonna lose like whatever but if you
think that bitcoin has an upward direction then it makes sense to kind of play this game of like
waiting to sell your bitcoin to pay your credit card yeah yeah the speculative attack yeah um
it's leverage yeah right that's fundamentally it's just leverage holding on to a larger bitcoin
position than you can afford yeah that's that's what's happening it's not what we advise here
we're not giving out advice here okay we're just talking talking about ideas we're walking through
some thought experiments i definitely know people who have gotten like have do leverage by cash
advances on their credit card which is an awful idea an awful idea terrible idea not me but not
get payday loans to buy bitcoin um that's uh you can't stop people from shooting themselves in the
foot no no you have to learn we all learned uh some faster than others um jeremy you have
to to meet up with your family i don't want to take up too much of your time
thank you um thanks for having me on it's been awesome i really appreciate it i really hope this
isn't the only time this is the first time first of many i'm sure um i am too uh where can we find
you where can we help you uh you can find me at jeremy rubin on twitter uh you can send me a
message shoot me a dm um and normally i'm in san francisco bitcoin devs meetups or whatever um if
you're a bitcoin contributor uh happy to you know chat there come to the workshop if you're in the
city bang bang jeremy thank you for all that you do thank you for your time peace and love freaks
