TFTC: A Bitcoin Podcast - #241: Mining pools, Braidpool, resistance to attacks, adversarial thinking, and dev funding with Bob McElrath
Episode Date: March 26, 2021Join Marty as he sits down with Bob McElrath to discuss: - NY BitDevs - Mining pools - P2Pool - Braidpool - Making decentralized pools viable - How they may fail - Adversarial thinking - Bob's Bitcoin... journey - much more Follow Bob on Twitter Bitcoin Munich Meetup Video Braidpool IRC Shoutout to this week's sponsors. Cash App. Start #stackingsats today. Use the promo code: "stackingsats" to receive $10 and contribute $10 to OWLS Lacrosse when you download the app. Lend at Hodl Hodl is a new non-custodial bitcoin backed lending platform, that allows peer to peer lending and borrowing between users, globally, anonymously & on your own terms. Create you offers & set your own terms on lend.hodlhodl.com Compass Mining. Compass wants to democratize bitcoins hashrate and give everyone the ability to strengthen the network while mining bitcoin profitably. Thanks to Compass, it’s never been easier to mine bitcoin. Check them out at compassmining.io Braiins. Braiins are leaders in the mining industry; running Slush Pool, creating firmware to make miners more profitable (Braiins OS+), and building out Stratum V2 to help further decentralize mining and make Bitcoin more robust. Check out their mining profitability calculator.
Transcript
Discussion (0)
What's up, freaks? It's your Uncle Marty here to introduce this episode with Bob McElrath.
But before we begin, I just want to give a heartfelt apology to all my Texan freaks who may have listened to RHR.
That was posted last night, March 25th, 2021.
Officially 1952, Moscow time.
I fudged up. I fudged up. I got my Texas geography wrong.
I'm terribly wrong, embarrassingly wrong.
That's on me.
In the moment, I had a brain fart,
got Dallas and Houston mixed up with each other.
I know that's blasphemous.
But I'm going to try hard to right my wrong
and to earn the love from my Texan freaks back.
Yeah, I'm sorry.
I woke up feeling embarrassed, frankly.
Truly embarrassed.
I already can't pronounce words too good.
Now I'm just proving that my geography is not up to snuff.
I'm going to try to get better.
For you freaks, you deserve it.
You deserve better.
Now we'll try to give you better.
this episode was brought to you by our good friends at the cash app
cash or how many stack sets and sets receive sets sell sets
if you so please we're saying sat sat sat sat sat sat sat sat because that's
the standard is 100 million sets in one bitcoin you can stack whole sets using the cash app
you can also get cash sats back when you use your cash card boost anywhere visa's accepted
and you have your uh bitcoin boost initiated you get sats back when you go purchase things
somewhere it's pretty dope cash app can even be your bank account they have offering account
numbers rally numbers so you get your paychecks direct deposited into the app the whole shebang
go figure it out go download the cash app use the code stacking sats that's s-t-a-c-k-i-n-g-s-a-t-s
when you download the app you're going to get ten dollars and ten dollars going to go to our
good friends at owls lacrosse that's owls lacrosse owls lacrosse this rip is also brought to you by
your good friends at hodl hodl hodl hodl is helping you if you're a bitcoiner in need of
some liquidity and you don't want to sell your bitcoin they have their lend product that is
available to u.s citizens all right it's an incredible product that's allowing you to keep
your bitcoins okay landed huddle huddle is a new non-custodial bitcoin back lending platform that
allows peer-to-peer lending individual users meet on the platform globally anonymously on their own
terms you put your bitcoin up as collateral in a multi-sig escrow account you hold one key
you're getting some liquidity by borrowing you don't need to entrust someone with your funds
right you have the collateral locked in escrow and never be rehypothecate you hold one key you
can always track that collateral you control key to it if you have some stable coins and you want
to get some yield on those you want to get some return landed huddle huddle also gives you the
ability to put those up to be lent out so that you can get returns on that you're saying as high
is 25% in some cases, APR. So go create your offers and set your own terms on Lend.HodlHodl.com.
That's Lend.HodlHodl.com. This group is also brought to you by good friends at Brains.
Excuse me. Brains doing incredible things. Okay. They've been around for a while.
You may know them because they operate Slush Pool. Slush Pool is pretty popular. It's been
around first ever bitcoin mining pool okay they're also creating brains os os plus this is
firmware for miners you download the brain brains os firmware and it makes your miner stack more
sats i'm just going to put it like that simply is that we've had jan and pavel the founders of
brains on the podcast before uh we've had edward evenson on the podcast as well go check out those
episodes uh brains has been incredibly bitcoin focused throughout their whole existence uh they
released the first free and open source firmware for amp minor s9s so that miners would have an
alternative to bitmain firmware this was big back in the day uh when amp lead was around
they discovered that there was a backdoor in amp minor firmware that could give bitmain the
ability to remotely power off asics and they provided miners running s9s with the ability to
to avoid that situation 2018 brain team verified that s9s could run about 13 more efficiently
with overt asic boost they made that available to their customers as well let's go check out
everything brains os basically auto tunes firmware to give miners more control over their asics and
help them stack more sats like i said currently support s9s s17 t17 generation and the dev team
is working to support what's miners now when what's minor and they're working on it soon tm
they're also working on the open source initiative which we talk about in this episode particularly
which is stratum v2 along with matt corallo and some square crypto devs also published a lot of
content to educate bitcoiners about some of the lesser known aspects of the mining industry their
content is credible their profitability tools were incredible if you're a miner go check them
out if you're a bitcoin or want to learn about mining go check them out brains b-r-a-double-i-n-s.com
b-r-a-i-i-n-s.com last but not least this episode is brought to you by good friends at compass
mining all right compass mining is trying to make it easy for you freaks to go from zero to mining
bitcoin uh as simply as possible they they take away all the hard stuff for you they help you
acquire a miner they find a hosting facility with competitive energy costs
and they they set up that relationship they allow you to go on the site you buy a miner you pick a
hosting facility and they get that miner and they plug it in at that hosting facility and they start
streaming you sats from the miner compass mining.io c-o-m-p-a-s-s-m-i-n-i-n-g.io
make it easy making it easy they want to help distribute mining to more individuals
you can go from zero to mining at a competitive energy cost you don't have to plug it in at your
house. Know your wife with how loud it is. Know your parents with how loud it is. Know your in-laws
with how loud it is. Heat up the house. Drive up the electricity bill. Compass Mining is here to
help you avoid all those hairy situations. I hope you guys enjoy this episode. To all my
techs and freaks, I will make it up to you. Only time will prove this, but I promise I'm going to
make a concerted effort to make up for my terrible mistake. I love all y'all. Enjoy.
themselves to devalue their currency bitcoin wins in the world of fiat currencies bitcoin is the
victor i mean that's part of the bull case for bitcoin if you're not paying attention you
probably should be probably should be what is up freaks it's your boy marty bent here
on a thursday afternoon fighting through a cold but very excited for the conversation i'm about
to have it's a very important one we're getting back to basics here i wrote about it in the
newsletter. This morning, I came across a YouTube video with like 120 views, and it was a conversation
about mining pool protocols and how to make sure they're sufficiently decentralized to be resilient
against state attacks. The conversation revolved around Stratum V2, its potential shortcomings,
and in another type of pool that may want to focus on pool protocol uh braid pool which is
sort of an iteration on p2p pool if i'm uh remembering correctly sitting down with bob
mckellarath bob welcome to the show thank you very much thank you um for all you've done for
bitcoin throughout the years uh pivotal on my journey because i believe if i understand
correctly you helped start the the new york bit devs meet up the white paper series specifically
correct uh yeah i didn't start it i mean justin was the guy he's the brains behind that uh yeah i
actually rebooted it there was an iteration of the white paper wednesday before i got there but
yeah i went to new york in 2015 i believe it was and so ran the white paper wednesday for a couple
years there which is quite fun um just kind of on the back of my previous career in theoretical
physics where we would do what we call journal clubs in academia where we just do a close reading
on paper that's important yeah well thank you for revamping it because that was right around the
time that i moved to new york and that was the first uh the first bitcoin meetups i went to
those white paper wednesday really awesome awesome um in person union square ventures was
was the venue back then correct yeah absolutely yeah um so thank you for that i have a funny
story it's been told on the podcast quite a few times i was in the back of the room nervous
having uh only ever seen the people in the room on twitter and i pointed to the the the clock
crossed the way across union square and said to peter todd hey how prescient is that we're we're
across the uh away from a deck clock and we're here talking about bitcoin he was like that's a
time clock sir i was like oh wow uh but the uh no yeah i mean the the reason i brought you on
already described, I came across this discussion you were having with Eric Voskuhl, the Bitcoin
Munich meetup YouTube channel about mining pool protocols and how we should be designing them to
make sure they're sufficiently resilient against state attacks. And you were mentioning something
that you started working on in 2015, which is Braidpool. And I'd love to just dive into
the whole topic like why we should be focused on the mining pool protocol level and the solutions
that exist today and how we can make it more resilient via something like braid pool yeah
absolutely i mean um so for those that are kind of not aware how of how mining works you know
you basically you try and mine a block and your miner doesn't hit the the difficulty target for
bitcoin it sends this incomplete work you know they're in there there is a proof of work but
it's not enough work to qualify for a Bitcoin payout,
you send this to a centralized entity called pool.
The pool puts this in their database,
they do accounting on it,
and they count how many of these that you produce.
And then if anybody within the pool produces a block,
they then take those funds
and distribute them proportionally
to all the people who contributed,
what's sometimes called weak blocks.
In other words, the shares that you contribute.
So that's what pools are, that's the way pools work.
And kind of the risk factor of pools is that there are only a handful of them.
They are easy to censor.
You know, if a government, you know, wanted to censor them, there are only a couple of entities to go to and say, hey, you have to, you know, censor this address or you have to not process transactions from this entity or this minor is in a jurisdiction we don't like, you're not allowed to pay him.
That would be very easy for government to do, right?
and you know that's that kind of goes against the the whole narrative of bitcoin but the reasons
pools exist are kind of an economic necessity and uh it all comes down to two concepts um eric
likes to call it proximity premium and the other is variance so let me um interrupt me at any point
if you want to clarify or discuss further but i'll just ramble on here keep ramming okay so
So variance is the concept that, you know, every day there are 144 blocks produced, right?
The error on your profit in that 144 blocks is basically the square roots.
The number of blocks that are produced in a day is 144 plus or minus 12.
And that is simply statistics, right?
That is Poisson error on the number of blocks in a day.
If I'm a smaller miner, in other words, I'm not earning all the blocks.
I'm earning, let's say, 10% of the blocks or 1% of the blocks, right?
If I'm earning 1% of the blocks on average, you know, I might produce a block one day, and I won't produce a block the next day. And, you know, in practice, most miners are much smaller than 1%. So you might produce a block a month. And the variance on your profit on a yearly basis can be quite high, right?
you can't really stand in one year for your profit to be 50% lower one year and then 50%
higher in another year it's very difficult to do planning it's very difficult to you know procure
your miners and know what your budget is and things like that I did an analysis for I gave a
talk at the magic crypto conference in 2019 in New York and I did a little bit little analysis
asking the question if I want my annual variance of my profit to be less than one percent how large
does my pool need to be and on bitcoin the answer is about 20 each pool needs to be 20 in order for
my annual variance on my profit to be one percent uh your monthly variance is higher it's like three
and a half percent or something like that but your annual variance is down to one percent and that
you know gives me confidence on uh you know my budget and my mining operation now um
that if you look at the pools exist today you might notice all of them are around 20
percent and i hypothesize this is kind of a natural equilibrium point for the size of pools
miners choose pools they don't want them to be too big if the pool gets above you know 33 percent
we're starting to get into um 51 attack territory definitely not above 51 right but they don't want
them to be too small either so the net effect is that you know if each pool is 20 you have five
pools globally right five entities to attack to essentially shut down bitcoin um so how do we
solve this problem right um we we have to trust these entities um pools they are often in strange
jurisdictions lots of them are in china slash pools in the czech republic your mining operation
might not be in the same legal jurisdiction and they owe you money there's counterparty risk here
there's contracts most pools don't even have any contracts you just send them your your shares
and hope they pay you. But as the industry grows and becomes more professional, these questions of
legal matters are going to become more important. If my pool doesn't pay me, what is my legal
recourse? And in practice, people have basically YOLOed it because switching pools is relatively
easy. You can switch pools in a relatively short notice and only miss a couple hours or a couple
days worth of blocks. But long term, what we really want is we want to have a decentralized
pool. We want something that integrates directly with Bitcoin itself. If the block rate on Bitcoin
was a lot, lot faster, we wouldn't have had this problem in the first place. But for various
reasons, that's not possible. So what do we do with this? Years ago, there was a mining pool
called P2Pool. So P2Pool was itself a blockchain. It had a 30 second block time. And its purpose
was to mine Bitcoin blocks. So with a 30 second block time, that's 20 times slower or 20 times
faster than Bitcoin. So on average, one out of every 20 blocks on P2Pool was actually a Bitcoin
block. And then P2Pool used its blockchain to account for those other 19 blocks on average in
that time interval. And from that one block that actually was mined on Bitcoin, pay those other 20
people. And if you go back and look at the blockchain explorer and some of these older
blocks, you'll see some Coinbases that have between 20 and 100 addresses in them. These
are P2 pool blocks. The Coinbase has like 20 addresses or 100 addresses because it's paying
all the other miners. So that's, that was a great idea. It didn't work for a number of different
reasons. But it was fully decentralized. It is a blockchain. And it's frankly a great idea.
Why didn't it work? Well, as you decrease the time interval between blocks, you increase the
probability that two miners accidentally produce a block at the same time. And you increase what's
called the orphan rate this is what eric bosco calls the proximity premium um if you are close
to another miner uh in space and in time um you can produce blocks very quickly after each other
because i hear about his blocks faster because i'm close to him in space and in time um but on a
global scale uh there's a you know minimum time that it takes to propagate block to or propagate
get any message to everybody on earth um and you know using uh the analysis i did in 2015 this is
about six seconds using the bitcoin network to get a block to everybody um today it's probably
closer to around a half a second to a second so there's a window of time between a half a second
and a second where two miners could produce blocks at the same time this sets an absolute lower limit
on how fast you can produce these blocks and the idea here is that you've got a a blockchain that's
producing blocks very fast because each one of those blocks is a share as you'd account for in
a mining pool but we're doing our accounting on a blockchain with blockchain rules and that
everybody's enforcing these blockchain rules everybody's enforcing that everybody gets paid
and by using a decentralized network like this there's no one to attack if you want to take it
down right it's also more fair in that you don't have any counterparty risk you don't have a
contract with somebody you don't have to worry about what jurisdiction this pool is in
It would be a lot better in a lot of different ways if we had something like this that worked.
So I did some work starting in 2015 through about 2019, looking at a different structure for a blockchain called a direct acyclic graph.
And if you're interested, I gave three talks about this total, I believe, under the title Braiding the Blockchain, if you just Google that.
and really what I contributed to the conversation is how to organize a blockchain such that every
block can have more than one parent and the purpose of doing this is to allow the block time
to be very fast which corresponds to allowing a large number of miners to contribute shares and
get paid so that's my contribution to it you know at this point I really would like to pass the
torch on this subject I've worked on it for some time I made my contribution and for various other
reasons in my life i don't have the time to write the whole thing myself but there's enough people
in the world who are interested in this and need it but i'm hoping other people pick it up
um so there's a fellow uh junglee on twitter who is now um hell-bent to write a spec for this
get a prototype implementation and that's where we stand today
okay so i want to dive more into like the specifics of this this is a very interesting
concepts and i didn't realize pita pool was its own blockchain yeah it is and so like instead of
getting instead of producing hashes and attributing hash to this blockchain instead of getting a
reward and a token you're getting shares in the payout of the bitcoin block reward so i guess
the token would be that's right a claim on future shares that's right so there there isn't necessarily
a native token on these blockchains with the separate transaction system. So P2Pool did not
have a native token, right? So it wasn't a shit point, which is one of the things that made it
great. But instead, it simply did accounting for shares. And its only native token was Bitcoin.
One of the things I have proposed for a future potential break pool would be to actually have
a native token. And that native token would be proportional to the number of estimated hashes
contributed in a share and this enables a number of things it enables different miners to mine at
different rates without overwhelming the system by sending too many blocks it allows derivatives
because this this enables hash rate derivatives because one token is essentially the hash rate
the other token is bitcoin so i can do you know d bitcoin d hash rate and create futures and
options out of that which is exactly a financial instrument that miners really need
so would this be like a is this like technically a sidechain or is it completely separate like
i'm trying to no it's not a sidechain um it is it is a merged mind blockchain right so if you're
familiar with like uh dogecoin and litecoin so dogecoin litecoin are merged mine so the same
mining hardware can mine both at the same time uh so this is similar in concept the same mining
hardware mines both the blockchain for p2 pool or for brady pool and bitcoin at the same time
if so the block header that it's mining is always actually a bitcoin block if it doesn't satisfy the
difficulty target for bitcoin but does satisfy the difficulty target for the braid it can become
a node in the braid right but not a bitcoin block and then sometimes those blocks are actually
bitcoin blocks um and there are rules about what has to be in that bitcoin block to pay everybody
involved on the on the break okay and those rules are enforced by the blockchain rules not the
bitcoin blockchain rules and practically the way it appeared in p2 pool was ruled about what had
to be in coinbase in other words your coinbase had to contain um all of the address from all
the other people who submitted shares in proportion with the right calculation of
of satoshis they were owed right it's a simple way to think about it that's what yeah that's
actually another question i had like illuminating the old coin bases with many addresses like how
like these miners in the this decentralized pool are sending shares they just attach an
address to every share or every block okay that's right all right which is what you do
the mining pool anyway yeah yeah all right and so i guess again to dive deeper into the
conversation that you and eric were having with the trade-offs with this right like you already
described some of it with the proximity like i guess the big knock or question that needs to
be answered is latency um and profitability for smaller miners versus using a decentralized pool
versus larger miners using a more centralized option?
Yeah, so that's the problem I think I've solved.
There are plenty of unsolved problems.
But using the directed acyclic graph,
allowing miners to essentially choose their own difficulty
so that rather than producing five blocks
within a time period, they produce one block.
What you can essentially do is set the braid up
such that everybody targets the same variance
rather than the same block rate, right?
And if you look at any pool, they will scale you down.
So if you're producing shares too fast,
they will double your difficulty and double again, double again
until you're producing shares at a rate that
doesn't overwhelm your systems.
So you can do the same thing with the grade.
And what I've showed is how you essentially add those together.
So two different blocks with two different target difficulties
can be added in a reasonable way using a directed-discipline
graph.
So that should be solved, and I'm
happy to contribute to something you
want to carry this forward.
plenty of other unsolved things um like you know what is the native token how does that work does
it have a transaction system um do we do atomic swaps so that people can essentially instantly
sell their shares for bitcoin uh through market makers on exchanges um there's there's lots of
interesting problems itself fascinating and again going back to the way pools
are set up now and the way stratum v2 if adopted widely would work you said in the talk of the
bitcoin munich meetup the stratum v2 improves in a lot of things just like the payout mechanism
is where everything's hung up yeah yeah i mean stratum v2 fixes everything except for the fact
that someone owes you money right and you don't know if they're doing their accounting properly
you don't know if you can sue them if they fail their responsibilities um you know you don't
really have any recourse uh and they are a target for potential attack okay
and so like what if you could open source the the payout mechanism right
and they cannot have it that's the goal i mean there has been open source um pool software in
the past uh but you know you never know what's being run behind the scenes um at a centralized
pool right by using a blockchain those rules of who and how how you paid are in the code itself
you're running it everybody else is running it um and if they violate those rules you know your
node is going to reject their their beads in the braid if you will um because they didn't follow
rules it's the same as bitcoin right it's the same way we enforce rules of bitcoin yeah yeah
um you know those rule enforcements are completely decentralized right there's nobody that's holding
your money uh the distribution of funds is actually coming from the blockchain itself
there's no entity who has keys and you have to trust them to do something with those keys in
order to be paid yeah that said there are designs um uh chris belcher has uh done some work kind of
um jumping off of my grades work um where he has uh what he calls um uh what are they called
these kind of federated nodes who actually handle the payout which is another potential solution
um anyway it's worth looking at his work as well uh if you're interested in this topic but i would
i would prefer to have all the payouts happen on chain so you can use the blockchain to enforce them
yeah and i guess the biggest hold up there is like if you you have an individual miner
within a decentralized pool that constructs the block like how can you guarantee that they pay
out to the other miners contributing to that decentralized pool because he has to prove it
with every block he submits okay so uh let's say i submit a block okay um so i'm mining a block
that didn't hit the bitcoin difficulty target i did hit a lower target required by the pool now
not only do i have to submit a bitcoin block header that contains this lower proof of work
target i also have to submit proof that within that block are payouts as required by the pool
so in the case of p2 pool what that means is not only do i reveal the header i also reveal the
coin base in the transaction merkle tree and that has to contain the addresses and direct payouts
as dictated by the by the p2 pool blockchain so if i don't submit all of those things it's not
considered a valid share okay and my my share is rejected and i won't get paid for that share
that makes a lot of sense and so like if this is successful if like a successful
and working grade pool implementation comes to market we can end up with like one decentralized
mining pool essentially correct or would yeah would there be that's the goal i mean there's
really no like 51 attack risk with this by having one pool um you know everybody could be on this
pool safely uh without creating any risk unlike with centralized pools where you do have this
if any one of them gains um 51 it would be bad yeah
are you optimistic that this can come to market
i i am optimistic you know i haven't been paying much attention to it in a while
um the bitcoin munich guys asked me and eric to talk about it so we did um and you know i think
this has sparked a bit of interest um and so i'm happy to see that interest um including from you
know potential people who might fund this so i'm beginning to think in the back of my mind that i
might be able to put some grants together or something like that um if that's something
that interests you either from a funding perspective or from a receiving funds perspective
to build this um if you talk to me personally i would love to pull that together because i don't
think I can do this myself but I would love to facilitate other people creating it yeah so I
mean it's important and you're speaking to somebody who's been really championing stratum b2
disclaimer brains is sponsored the podcast but as you should yeah no as you should right I mean
stratum b2 is a step in the right direction it doesn't solve all the problems but you know
you got to start somewhere and everybody should be using stratum b2 we'll stop right there's no
excuse for using strategy one anymore but there are remaining problems that we would also like to
solve yeah and i think just for any newcomer who may be listening to this podcast and isn't
i mean we've already talked about it a bit but like how important is it that we ensure
that this layer is sufficiently decentralized in the future like right now everybody's playing nice
and um we haven't seen government's pressure pools to censor but it could happen in the future
and what about jurisdictional arbitrage that's something i wrote in the newsletters today like
it would have pools are sufficiently domiciled across the globe and one government says hey
uh we're going to force you to censor some transactions and another government says hey
we're not going to force you to do that so point your hash rate at a pool in our our borders so
can collect those tax revenues from the mining pool well it's happening right i mean um we already
have uh the ofact the office of foreign asset control has you know listed bitcoin addresses
that are you're not allowed to do business with basically now um by and large i don't think miners
are censoring those addresses but if any service you deposit from an address like that they they
have to take action they're legally required to take action now does that mean miners have to do
that. Not necessarily. Now, that said, there are a couple of companies who have announced they're
going to make pools that are more restrictive in various ways. One of them, I believe, said that
they're going to make KYC of the miners required. And the discussion is often had about whether
those addresses that OFAC put out are going to be put into blacklists by miners. And the fact of
matter is, it doesn't matter. There's always going to be somebody out there that's willing
to mine those addresses. And it doesn't matter. In fact, if you're interested in law enforcement,
you're interested, and you know, for clarity's sake, these addresses are truly despicable people
or people involved in, you know, various kinds of crimes, and you know, it would be nice if they
could get caught. Well, the way you can get them caught is if they actually deposit those funds at
a service provider in a jurisdiction where they have committed the crime, and then those funds
can be seized, right? If we don't allow the transactions to be processed at the mining
layer, they can't move the funds. They can't move them to a service provider, and they can't be
seized. So from a law enforcement perspective, it actually makes sense for miners to continue
processing those transactions, because that's what allows those funds to move to places that
law enforcement could seize them very good point it's actually one i haven't heard before but it
makes a lot of sense i guess the whole blacklist thing is like we don't want anybody profiting from
from the movement of dirty funds that's disgusting yeah i mean blacklisting you know if if blacking
excuse me if blacklisting was 100 effective what you effectively done is destroy the coins you
destroyed the money right um that's not necessarily the best the best option you know watching the
movement of funds uh involved in crime is itself evidence right um and being able to see what
they're doing with it uh you know it's a way to gather information now we should all be using z
cash we should all be using uh you know things that have more privacy uh but that's not the
world we live in with bitcoin today um we'll get there but slowly um but you know it frankly
doesn't make sense for miners to be censoring i these pools as i understand are focusing mainly
on KYC-ing miners
so that other pool participants are confident
that somebody who's on
the OFAC list is not
mining alongside
them.
I don't think it matters that much, frankly.
Go ahead, do it.
It makes businesses comfortable.
It makes businesses comfortable. It grows
the industry. That's good for all of us.
Agreed.
Agreed.
There's always
another rabbit hole to fall down in the Bitcoin
in the bitcoin space the mining pool layer is one that many individuals don't think about
um too often it's one um we're starting to think about more great american mining again like as we
expand here in the u.s and you see publicly traded mining companies posturing like you like you
mentioned with kyc individual miners that's something we want to stay as far away from as
possible yeah me too but the fact of the matter is you know when you get one end of the mining
economics is a publicly listed company and the other end is an auditing firm and the third end
is a uh you know custody provider like i previously worked for fidelity they're all going to ask this
question like we have to make sure that we are not facilitating crime right that's their legal
obligation and they have to do it right uh you know the the fiat governments of the world have
co-opted financial institutions into uh financial law enforcement now i don't think it should be
that way but that's the way it is and that's uh what they have to do so again um do the things
that make them comfortable but at the same time building something like uh grade pool
if we build something like grade pool it has to be demonstrably better in essentially every way
right so on the financial side of things you remove counterparty risk that's a big benefit
to these uh these big players who are getting into mining now um it removes the possibility
of government attack because there's no one to shut down right uh if you introduce native coin
um you have the possibility of creating hashrate derivatives which is demonstrably better for
everyone um these hashrate derivatives are a new market new liquidity new volume right um we need
to glue all those things together right we can't end up in a situation that p2 pool had where
i mean p2 pool failed um because it wasn't better uh it was worse
and making something that's worse but more decentralized is not going to work it has to
be better and one of its side benefits has to be that it's more decentralized
agreed well hopefully people start thinking about this more because it does feel like the
pressure is going to be heating up pretty significantly as bitcoin crosses the one
trillion dollar market cap like level it seems like there are i think there are six companies
have now filed for etfs in the u.s this year the most recent announced yesterday was fidelity my
former employer, filed for an ETF on the back of Fidelity Digital Assets, which I helped put
together. Very proud of that. Congrats, guys, if any of you are listening. But I also worked for
one of the previous ETF sponsors, which is Solidex, who later partnered with VanEck. So I was there
when the ETF got thrown down twice. And this is going to be a point of contention for all six of
these ETFs, right? You know, the SEC in approving an ETF is going to ask very hard questions about
ensuring that money laundering isn't going on, or that the ETF provider is doing it.
So, as you said, pressure's on from many different angles. If we get an ETF, that's a pretty
substantial source of pressure. And privately, you know, there are people getting involved in
investing in mining who have more restrictions on their ability to invest. You know, we're moving
away from hedge funds and private money invested in Bitcoin to public institutions, public
funds investing in Bitcoin.
And they have a much higher auditing and reporting and due diligence requirements than private
funds.
So, yeah, the pressure is on.
What if we get, if we use the First Amendment, can the First Amendment come in here and protect
Bitcoin, particularly like miners and ETFs?
It's just a messaging protocol.
in speech no no no you don't think so why not um
oh i'm not a lawyer don't ask it's a complex question that's something i push for it's like
right it's just the messaging protocol at the end of the day like how can you how can we don't
how can we don't go after the telecoms when two terrorists uh basically collude to to attack
something over their networks i'm not the right person to ask this question of not my expertise
but i will say that um the courts have ruled over and over again uh and refused to to dip into
campaign finance reform and the argument is usually that money is a form of speech
and your ability to contribute to a political candidate is a form of free speech um so you
know maybe there's a path there i don't know uh again not my my specialty but i think uh
it it doesn't matter you know if this thing is facilitating crime it's what they feel
um without knowledge by the way um you know the rates of crime are much smaller than rates of
crime within the fiat industry but um you know if it does facilitate crime then they're going
to do everything they can no no legal hyperbole is going to stand up to an actual threat right
yeah i feel you there it's the fire in a crowded theater argument right um yeah you have free
speech but you know at the point that your free speech is harming people uh that you know your
right ends yeah the battles are just beginning freaks it's uh like yeah that's the other thing
like who like who's willing to stand up like or should we even depend on people being willing to
stand up or should we make it so robust that you don't even have to worry? Well, what I want to do
with Braidpool is not force people to have to stand up because no one wants to put their life
on the line, right? No one wants to go out on a limb and say, I think decentralization is so
important that I'm going to put my time, my capital, my life, my risk of prosecution up for
this goal i want to get it as a side benefit by providing something else which is demonstrably
economically beneficial right uh you know if your if your primary goal is you know decentralization
and freedom um it's a hard sell you know most people are short-term thinkers uh they're looking
at their bottom line they're looking at their profits it's a lot easier to sell improved
profits than it is to sell uh high and mighty goals of you know resisting the government
yeah right we are short-term thinkers but i guess that segues into an interesting question
which i always wonder like what got you into bitcoin originally being a physicist was oh
um well so uh yeah prior to physics um i have a whole other career in theoretical physics
sorry part of bitcoin i have a whole other career in physics um so yeah i got my phd
uh university of wisconsin and i held postdocs at um uc davis uh cern and switzerland and then
university of heidelberg in germany and um so this was i graduated from grad school in 2003
i was at cern in 2009 when the bitcoin white paper came out and you know i've always been
a software geek uh you know long before i went into bitcoin i was writing a lot of software i
science project in 10th grade or specifically 10,000 lines of C++ code in like 1993. So you
know I'm self-taught I used to write a lot of software and then when I once I got into physics
basically you know every single one of my projects revolved around software and involved a lot of
software one way or another but the output was always some graphs you know in a paper rather
than a software product but you know going into software after physics was always kind of a
natural thing and um i was also kind of always a crypto geek you know i had a pgp key from very
very early days was always very frustrated that there was nobody i could send email to
you know i think i had a couple friends that i you know exchanged pgp keys with back in the day
and so i always kept an eye on on this kind of technology um and so when bitcoin came out it
caught my attention like right away i have friends from when i was at cern who swear that i was
talking about it in 2009 i think i may not have discovered it until a little bit later than that
i think i i think the first slash dot post is when i discovered it but it may have been earlier i
don't know uh in early days it didn't pay that much attention but another thing that was going
on was that um you know i was living in switzerland and germany and i had accounts in three different
countries i had you know three different currencies in my uh my bank balances um and i basically
started fooling around the foreign exchange market because i'm like well do i keep my money
in swiss francs or in euros or dollars i don't know so i started fooling around and um taught
myself a lot about finance uh in in those years and you know when i uh when the writing on the
wall became clear that i wasn't going to get a professor job in physics uh and i started looking
for a job you know doing something in software was obvious and doing something with bitcoin was
obvious um i did do a bit of mining way back then so i mined with my gpu back in like 2013 i think
i think i mined 0.1 bitcoin and at the time the um the price of bitcoin was 30 dollars so i you
know for a week turned my computer into a noisy space heater uh and earned three dollars and i
said screw that screw that i'm not doing that um i should have kept doing it not um but instead
I went to work for some companies in the space.
I got a software job working on Bitcoin in 2014.
And so that has led to several other jobs in the space.
I don't regret it for a second.
It's been a wild, interesting ride and a very important one, I think.
Yeah.
I mean, I'm thankful that you found Bitcoin and got into it because I think you're a great thinker in the space.
I think this conversation around Braidpool proves that we need adversarial thinkers who are thinking about the long term.
I know the price.
Yeah, we do.
That's one of my, I don't know, long-term frustrations is that I have this kind of thesis that we're going to end up with a discipline, which I sometimes call cryptographic engineering.
And, you know, Bitcoin really is a form of cryptographic engineering.
You know, Satoshi glued together a data structure, which is a blockchain, which is really a linked list, with some signatures, you know, which is cryptography, with some hashing for the mining.
They took all these cryptographic building blocks and glued them together.
And this really, really requires, as you said, an adversarial thinker.
You've got to think about all the ways this goes wrong.
And most software engineers are not adversarial thinkers.
most people write software to get it to the point that it works and they don't evaluate the edge
cases where it doesn't work and you know in in this industry you have to evaluate how it won't
work first because that'll be the you know that'll be the barn door through which the truck comes and
destroys the whole thing um and uh you know finding that adversarial thinking is is rare
you know i think all of the core devs have it but you don't find it among the general software
engineering population i would like to see that developed kind of discipline that's taught in
college i don't know if it's really possible to teach adversarial thinking um you know i kind
of found it on my own you know in the physics world uh when you propose an experiment you have
to then go figure out like what all the different ways are that uh it might not be measuring the
thing you think it's measuring and it's very adversarial and then you go give a talk at
conference and people say oh that won't work you know it's a very adversarial environment so i kind
of academically grew up in such an adversarial environment so switching to bitcoin was was kind
of natural to me but that adversarial thinking is is really not most people unfortunately i would
like to see that developed into a proper discipline well could it be distilled even further to simply
critical thinking right no it's more than that um it's expecting the unexpected it's uh you know
trying to figure out how you know it's murphy's law right that that which can go wrong will go
wrong don't you know prioritize figuring out what might go wrong it you know you're you're doomed
everybody has a plan so you get punched in the face i think mike mike tyson really distilled that
yeah very exactly very succinctly creating something that works in the space is not enough
you have to create something that doesn't not work there's a completely other world yeah
well if you're listening out there in your developer adversarial thinking it's important
and if you're a bitcoiner in general who's in it and very excited about the gains these gains can
be diminished if bitcoin can be diminished and bitcoin can be diminished if we don't have enough
adversarial thinkers so yeah how uh i mean you mentioned that you'd be interested if anybody's
out out there listening who'd be interested in uh contributing to to taking the torch and running
with braid pool where can they find you how should they reach out is there anything i think there's
like a free note irc channel correct uh yeah there is an irc channel on free note um you're welcome
to join it's a good place for discussion um you can reach out to me personally on twitter
I've been thinking, you know, since this conversation got started by the Munich Bitcoin guys, I've been thinking more and more that I should probably orchestrate a way to get this developed and in particular, a way to get it paid for.
Because I've spoken to a number of people, including some very large miners, who are very interested in this.
And I have a few ideas for how to essentially fund its development.
And that's been one of my challenges is like, okay, so I could dump a year or two of effort into this.
without getting paid and i just couldn't afford to do it right um and nobody can afford to work
free and that's kind of the tragedy of of open source and blockchain software is that uh you know
satoshi put something out there as a public good the fact that his coins made billions was you know
is kind of an accident he didn't know he put you know years of effort into this before launching
it he couldn't he couldn't be sure that it was going to actually make money um so yeah uh you
Most of the core developers are often struggling for funds.
And so those of you who have the capital, please look into finding ways to contribute to them
because they are working for the greater good, as it were.
And this is a similar case.
This is really a blockchain on par with Bitcoin.
Similar amount of effort to build and similar amount of people need to eat.
People need to be funded.
So I'm saying this here for the first time.
i would like to orchestrate funding these people um i will try and organize a series of grants
um i would like to collate people i won't take any money for this i won't get paid
i don't want to get paid um but i will help orchestrate uh getting money to the people
who are working on it and evaluating those people who are working on it and deciding who
really are the best contributors um to bring this forward awesome how big of a technical lift is it
think uh it's big yeah you know some of the some of the building blocks are already there so in the
munich podcast or meetup we were talking between myself eric and uh junglee uh about using lid
bitcoin so eric bosco has written the bitcoin which is a bitcoin clone um and uh it has the
property that it can run multiple blockchains at the same time you know the idea of like
recompiling the code to run Litecoin
when it's only like a one-line change
is kind of silly.
And so he put it all as config flags
and he could run more than one at the same time,
which is something that's required for Braidpool.
You have to track not only Bitcoin,
but also the Braid.
And P2Pool does the same thing.
It was a piece of Python software,
but it had to connect to a Bitcoin node
so it could track it.
So I think the two of them are very interested in this
and would like to use LitBitcoin.
I'm not opposed to that.
You might connect it to a Bitcoin node instead
tracking that one she do have track two and i think eric has done some very very smart things
as far as uh organizing live bitcoin when you re-implement a piece of software um and refactor
it you know the bitcoin's written from scratch you don't have to make all the same mistakes
and the fact the matter is that uh bitcoin core code base is kludgy and ugly and old and it's
it's grown organically um and you know historically what happens is people rewrite these things you
know we aren't still using netscape got rewritten into chrome opera and microsoft edge right each
time that that happened um it got a little better and mistakes of the past were able to be left
behind uh it's a big effort to rewrite something like that but uh in this case it's already been
done the change would have to be made to the bitcoin to track a directly secret graph is not
that large probably talking between 100 and a thousand lines of code um and everything else
is basically kind of standard bitcoin transactions signatures all that kind of stuff that's already
there so um i hope it's not that big of a lift but i would estimate at least a year
i mean in bitcoin terms that doesn't seem like that long of a time right yeah maybe
you say that now that now that becomes what's old well like would this need would this need any
changes at the protocol level i know you're mentioning lib bitcoin i know with core you
need for shroud and v2 if they want to do the job negotiation part they have to get something
changed there it's not consensus code but it would need to merge at the core level when this
be any different would be for it to not um require any consensus changes right uh i don't think
there's any anything that actually requires consensus changes which is actually kind of
interesting from a prototyping perspective because um i've spoken i've spoken to developers from like
monero and litecoin are interested in the idea too um you know we could make braid pool for
litecoin and that would be kind of a great test bed for it for pouring it on bitcoin you know
the difference between litecoin and bitcoin is is minimal it's just the hash function really
and the name a couple numbers change um so not requiring those changes in the parent blockchain
is important and i don't think it's hard yeah all right well freaks let's get on it let's make sure
we're thinking adversarially and making sure bitcoin is robust as possible right because
right now what 93 of hash rate is dominated by pools in china is it that high oh boy i think
i think so yeah i think it's that high but that what you were saying earlier like it would take
like that's one thing in grand american mining like we we have prepared like we need to switch
pools our head engineer austin just thinks we can do it within 10 minutes he's pretty certain
like we need to switch like yeah it's perfect you know in lieu of bitcoin or sorry braid pool
and you know before something that exists you know miners need to be able to switch um quickly
and that's you know in many ways it's kind of just a script you have to write on the back end
it'll do it uh but there's authentication and you know pool authenticating issues and things like
this my experience has been to the miners that i've talked to that they are actually pretty sticky
with their pool they don't like switching pools um now i think this has changed somewhat you know
Well, back in the day, we used to use what was called PPLNS, which is pay for last end shares.
And this was essentially what it did is it averaged over the last end blocks and then paid people for the average of that contribution during that time period.
Today, most schools use PPS, pay for share.
So you submit a share of work and you essentially immediately get paid.
Now, this introduces counterparty risk because you don't know if the pool has the funds, and that's a very important question.
But it's more immediate, and in particular, it makes pool switching a lot easier, right?
Because if I stop contributing hash rate, switch to another one, it doesn't affect my bottom line.
Whereas in the past with PPL&S, one of the reasons we used PPL&S was to prevent people from pool hopping.
because uh on some of the smaller coins that got 51 percent attacked um it was done via pool hopping
uh there were you know things like nice hash right so people take a look at all the coins
out there and say which one's the most profitable mine right now and they would switch very quickly
to another pool or to another coin to mine it and um in so doing you could you know increase
the catastrophe on one coin by a factor of 10 in seconds you know all of a sudden you have a 51
percent attack on that coin accidentally just because people were following a profit um but
anyway this largely today this largely doesn't exist people are using pps and that means switching
pools is easy so for the miners out there be prepared to do it yeah be prepared and hopefully
if break pool comes to market we won't have to worry about any of this yeah it's what we should
be striving for so thank you for again starting this work in 2015 and then shout out to the the
bitcoin munich meetup for for forcing a conversation about it recently and hopefully this podcast
pushes the conversation a bit forward and we can make sure bitcoin is sufficiently resilient to
these government attacks because they will be coming they will be coming governments are not
going to take uh you know uh removal of their fiat hedge money and the the powers that gives
them flying down right they're going to fight tooth and nail yeah so yeah anybody who wants
to contribute to this uh you know please reach out to me bob mcgillrath on twitter again there
is a braid pool irc channel irc.freenode.net i've spoken with junglee we'll be setting up
a mailing list and possibly other communication channels soon um and if you are interested in
having something that's created and are willing to put some some money where your mouth is to fund
it please let me know also and I will try to connect you with some great developers who want
to build it and get it done awesome I guess one last question before we leave just to be adversarial
about this particular topic like what's the knock on this what's the knock what do you mean like why
why could this be a bad thing um if at all why could this be a bad thing uh
um
oh i can give several things but they're all fairly deep long conversations
so like in terms of eric's uh latency um or proximity premium it can't be completely
solved because you still have to post into bitcoin which does have a proximity premium
um you can certainly make it a lot better but you can't completely solve it
um another one that i like to think about sometimes maybe a benefit maybe a detraction is
that um there's this concept out there of a feather fork and the idea is that uh the underlying
blockchain like grade pool could become the main blockchain over time with the legacy blockchain
essentially becoming uh you know if if nobody's using everybody's running grade pool then grade
pool becomes bitcoin now this has been proposed under the under the name feather fork as a way
to radically alter the rules of bitcoin right it's a way to do a hard fork that without doing
hard fork um you know it's kind of an opt-in mechanism for a hard fork you know grade pool
will work if you know only 10 of miners are using it it doesn't really care but if it ever got to
like 100 of miners using it then well what is the purpose of the the original blockchain if 100 of
everybody's using the new one you've effectively executed a hard fork now that could be good or
bad depending on your perspective um that's a whole nother can't worms oh my gosh exactly i
told you right worms i guess the number one question that opens up there is like do the
full node validators on the the original bitcoin network like would they ever accept like would
they ever go transact on that other blockchain well no but they and they wouldn't know about
right again they don't have to know about very cool existing it looks like just another pool
producing block to them right but you know if all the people i need to transact with
are running breadpool instead and breadpool can carry bitcoin value in special transactions
um in addition to its native sharecoin value uh i could trans i could transact bitcoin that way
right it's it's similar to a peg side chain like liquid networks or the risk networks
except that because it's an underlying layer that produces bitcoin blocks as a side effect
it can actually take over the parent blockchain that's fascinating that i mean i've heard the
the argument like liquid lightning could like reduce the protocol layer of bitcoin to something
like rye stones where nothing moves and everything happens on those layers sounds similar but a bit
different and is that a big problem um i guess that's a discussion i would i have to know if
it's a big problem i'm a big fan of lightning um a fan of liquid too to a lesser extent uh but you
know i think that satoshi had it right the bitcoin's a settlement layer and the real value
is going to be transacted on like like it yeah i agree i'm a big fan of lightning network i've
been using a lot and actually people are going to be streaming me sats as they listen to this podcast
awesome it's a crazy world we're living in awesome well bob i know you're a busy man
i think i appreciate you taking some time to sit down with me and answer my stupid questions today
but i think it's an important conversation at all appreciate the opportunity and i hope uh hope we
can get this off the ground i've been trying and failing to get it off the ground for a long time
so i hope this time around uh people will reach out to me and we can really get this built yeah i
know um i mean this bitcoin munich youtube conversation got thrown in our great american
mining chat so i know our engineers are thinking about it and i think we'd be willing to help out
these efforts as well so we should have a side chat about that let's have a side chat awesome
we'll um we'll coordinate that side chat all fair but i hope you enjoy the rest of your day
uh and thank you again have a good one peace and love freaks
