Forkology: A Study of Forks for Newbies

Today’s topic is “Forkology:
A Study of Forks for Newbies.” How many of you have any idea what I’m
talking about when I say “forks”? Great! How many of you know what
SegWit or UASF / BIP-148 are? Great! How many of you think that what I just said
sounded like gibberish? [Laughter] Fantastic. Let’s get started. We are at this unique moment in time, experiencing
the birth of a radical, disruptive new technology: these open public blockchains. Bitcoin, Ethereum, and hundreds of others
— these systems that operate open to anyone. They are open access, innovative systems where no
one [entity] is in control or has power over the system. [Bitcoin] works through simple mathematical rules
that everybody [participating in the system] follows. Of course, for most people,
this technology is quite difficult to understand. If you frequent some of the online forums, a journey
[begins] when you discover Bitcoin or Ethereum. I met a guy in Singapore who said, “I have been in the blockchain industry for a year,
[but] I [recently] discovered Bitcoin.” [Laughter] [AUDIENCE] Are you serious?
[ANDREAS] Dead serious. [He] had been to a Bank of America presentation… They spent forty-five minutes talking about “blockchain,”
without mentioning the dreaded ‘b-‘ word: Bitcoin. This person spent a year studying
with Hyperledger and [R3’s] Corda. One day, he found out about this Bitcoin thing and
[thought], ‘Oh, this is way more interesting!’ [Laughter] For those of you who are new to this space,
maybe you stumbled upon it [randomly]. Maybe you have an annoying friend or relative
who has been telling you about this for two years, and cannot talk about anything else.
I’m that annoying person to my friends. Maybe you ignored them until you heard that
the price went up and now you are really excited… about the possibility of making money. Maybe you are interested because
you are [in the field of] computer science. No matter how we all arrived here,
many of us have gone down this rabbit hole. We hear about this technology and
then decide to start reading [more]. You start reading and get bombarded with information:
mining, blockchains, transaction confirmations, hashing, digital signatures, private keys,
public keys, addresses, Base58 encoding, BIP-32, BIP-39, mnemonic seeds, backup phrases… What the hell is going on? Maybe you wade through all of that, set up
your [first] wallet, and receive a transaction. Now you go online and read about a “civil war”
in Bitcoin, where people are threatening to “fork.” You don’t know if “fork” is just a different
way of saying the f-word… [Laughter] or if they mean some kind of technical
thing that you don’t quite understand. Just when you are about to grasp what a “fork” is,
you discover there are eight different types of forks! Some of them are “soft,” some of them are “hard.”
Now you are even more confused. You have only ever used hard forks in your life;
you think “soft” forks [sound] kind of impractical. Or you grew up with chopsticks. [Laughter] Nevertheless, it is all very confusing [to new people].
We use these terms and don’t [often] define them. I will take you on a little journey and talk
about [forks] to explain what these things are. A “fork” is [usually known as an event]
that occurs in an open blockchain… whereby the blockchain’s state diverges into two states. Part of the network has a different perspective on the
history of transactions than another part of the network. That is the basic definition of a fork, a divergence
in perspective on the state of the blockchain. This occurs naturally two or three times a week
and you [probably] don’t even notice it. It occurs naturally because of timing differences
in the propagation of blocks across the network. Maybe there is a miner [in one part of the world]- you probably don’t understand mining either, but just
imagine they are [in some location] with a pick-axe. Then they find that magical proof-of-work,
take their block and throw it out into the world, and they say, “I found it!” Meanwhile, they haven’t noticed that [in another part
of the world], another miner has just found a block… a few seconds apart. They throw it to the world and say, “I found it!” Half of the people in this room may hear [one miner],
and half of the people will hear [the other miner]. Imagine you are in a giant hall
[with a group of people] playing Bingo… Two people shout “Bingo!” at the same
time, on opposite sides of the room; [everyone else first] hears the person nearest them. That is basically what happens [when newly-
mined blocks are propagated to the network]. In an open public blockchain, we cannot say, “Ask the central authority [which miner is correct],”
because we took that [role] out [of this system]. There is no central authority. We can’t just ask
[some authority] which [miner] has the correct block. Every node on the network decides for
themselves, based on [validating all]… the information they are hearing [from other nodes] Both of those blocks [could be] valid. Half the network has validated the block they heard first
as the most likely block to be extending the blockchain. The other half heard a different story. Fear not!
We are [usually] no more than ten minutes away… from resolving this messy situation. As each [node] establishes what they think is
the [valid] blockchain, from their perspective, [miners] start mining for the next block. When they do so, [every new block contains] a link
to what they think is the parent or previous [block]. Part of the network will choose one block as the parent;
the rest will choose the other block as the parent. Now the race is on. [Each new block is] extending the two tips,
but each side has picked a different tip to extend. What are the chances of two blocks being
[mined] at distant parts of the network [again]? Much, much lower than the first time. In most cases, within about ten minutes, someone [will]
find the [next] block, build on that block [as the parent], [building up] only one side of the
chain [split], which will become longer. They will [try to tell as many nodes on the
network [as possible about each new block]. Some [nodes] say, “Yes, that is what I thought it was.”
Other [nodes] will say, “Hang on a second…” “This new block has a different parent, a block
that I didn’t know about. Am I on the wrong chain?” [If they are], they will take the block
that they thought was the tip, and throw all of its transactions back into the mempool. These transactions will be mined in the next block
and still go through, but maybe ten minutes delayed. In fact, the two blocks probably [included]
95% of the same transactions anyway, so [there is] not much difference. Life goes on. This happens two to three times a week
on Bitcoin; it happens much more often on Ethereum… and Litecoin, [because they] mine blocks more often. This is a fork that is not deliberate.
But there are other types of forks. There are forks where one part of the
network decides to change the rules. [There is a fork] where they change the rules in a way
that is not compatible with the rest of the network. If 51% of the network — specifically the miners,
the hashing power — decides to change the rules, that is called a 51% attack. We call it an “attack” because it is
kind of rude when you just decide to… change the rules without even asking
the other 49% of the network. Is everyone with me so far?
Let’s talk about hard forks versus soft forks. When rules change, they can change in two ways:
the rules can get looser, or they can get tighter. If the rules get looser, meaning that things which were
previously invalid are now valid, that is a hard fork. If the rules get tighter, [meaning] previously valid
things are now no longer valid, that is a soft fork. The difference is really simple. A hard fork expands the rules. Things will start appearing on the network that
[nodes following the old rules] will consider invalid. [If they stick to the old rules], they will not
be able to participate in the consensus rules… without upgrading to the new rules. It forces them to upgrade to the new rules,
or they [will be] left behind. That is why we call it a “hard” fork, because
it is a forced upgrade of [any] minority chain. In a soft fork, previously valid things are now invalid. Things will appear on the network
[with] tighter specifications than before, but [any node] can [continue]
following the [old] rules [if they want to]. The new things are still valid by the old rules. That is a soft upgrade, a way to introduce new
features without loosening the consensus rules. Is everyone still with me so far? This will become a bit confusing now, so I will
use a different analogy to explain it a bit better. Since we are talking about “forks,” why don’t
we go directly to the restaurant business? Imagine if this blockchain is like
a big, decentralized restaurant. Imagine if we had a restaurant with no chef and
no managers, like the community kitchens we see… in places like India, where they feed twenty thousand
people out of a voluntary community endeavour. Fascinating phenomenon! Imagine the blockchain is like that. Somewhere [in the restaurant] are some cooks. They have invested in some big ovens,
and using a lot of electricity [to power them]. They are cooking up meals (blocks)
that are delivered to the customers. They think they are in charge [of the restaurant]. [Somewhere else in the restaurant is] a cashier
taking orders, which represents an exchange. They think they are in charge [of the restaurant]. There are people using this restaurant to do catering
(merchant services), buying huge quantities of food. They think they are in charge [of the restaurant]. Finally, there are all the people eating at the restaurant.
Lately, they have [noticed] maybe they are in charge. Let’s go back to our hard fork / soft fork analogy. [When]
the restaurant [first opens], it is a vegetarian restaurant. If the cooks decide to add pork to the
menu items, that [would be] a hard fork. [The vegetarians] who come to this restaurant will look
at these new rules and say, “Hang on, that is not valid.” They will need to go to a different restaurant. By expanding the recipe and adding something that
wasn’t there before (pork), this is no longer vegetarian. That is a hard fork and requires everyone to upgrade
their diet if they want to continue eating there. But if we took the vegetarian recipe and
removed butter to make it a vegan recipe, everybody who is vegetarian
can still eat vegan, no problem. You don’t need to be vegan to eat there, you can
still be a vegetarian or meat-eater and eat there. Everyone can eat vegan.
They may not like it, but if it’s good vegan [food]… That is a soft fork, a tightening of the rules;
a reduction in scope, not a widening in scope. Let’s look at these five groups: miners (who are cooking up blocks in the background), the users (who are making transactions and
putting in orders for meals), the merchants… (who are buying the bulk of the services, like catering), the cashiers (who are exchanging)… Finally, somewhere in there you may have
not noticed, someone is writing the recipes. The developers.
They think they are in charge [of the restaurant]. As it turns out, they probably have the least power of all. No one is [forced to] order from their menu
and nobody [is forced to] to cook the meals. They write the recipes (the software), but no one
[is forced] to follow them unless they want to. Everybody thinks they are in charge, but everybody
[must] work together to keep the system running. If the miners stage a revolt and start cooking
pork in all of the meals, what happens next? A lot of the end users will walk away.
They will stop validating these recipes. If the developers write a new recipe, but nobody
cooks and nobody orders, it doesn’t really matter. We have these various types of forks which
[are in two main] categories: soft and hard. Let’s talk about how forks are activated. Two concepts that have been introduced in the last year,
as part of research: miner-activated and user-activated. Meshed with hard and soft forks, you have:
miner-activated hard forks, miner-activated soft forks, user-activated hard forks, and user-activated soft forks. These four categories are the tip
of the complexity going on here. User-activated soft forks have
become very
interesting lately. There is a proposal to initiate a user-activated soft fork
on August 1st, under a specification called BIP-148. [In a] user-activated soft fork, all [nodes] of Bitcoin
who want to participate will stop accepting any blocks… which do not signal Segregated Witness,
an upgrade that was proposed more than a year ago. Users want this upgrade,
[most] miners don’t want to make this upgrade. Users have decided to stomp their foot and say, “If you
don’t deliver this, we will stop accepting your blocks.” To go back to my restaurant analogy, users have said,
“We will start only ordering vegan [dishes] off the menu.” You don’t need to cook vegan, but if you don’t,
we won’t order, deliver, or eat [your food]. “Cook whatever you want, but we will only eat vegan.” That is an assertion of power by the user community,
essentially saying, “Turns out that we are in charge!” Here is a little secret: everyone who
thinks they are in charge, really isn’t. They are only ‘in charge’ if [others] agrees with them,
come together and form consensus in large groups. Of these five constituencies, you can maybe
make changes to Bitcoin if three [are in agreement]. It is probably best if you have four of the constituencies;
if you want to keep the system running efficiently… and keep everyone on the same page,
you need to have overwhelming consensus. Otherwise, it can be disruptive. Users are asserting their power,
developers are asserting their power, miners are asserting their power, exchanges and merchants are doing business deals and
asserting their power… everybody is asserting power. Stomping their feet and saying,
“I’m in charge!” No, you’re not. We all are. This tension is a design [feature] of open blockchains. It is a necessary trade-off that ensures no one
— no matter how well-funded, how many troops… or violent thugs they can pull together —
can hijack this system and make it do their bidding. That is a design principle behind it,
which creates a “problem” of inefficiency. Yet the system has worked for almost eight years,
resisting all of these attempts to change it. Here is something you need to know as a user:
if one of these [fork] attempts results in a split, a fork that is irreconcilable,
you will have funds on both sides of the fork. If you have funds before the split,
you will have funds after the split. It is probably smart not to move those funds, send or
receive funds, in the immediate aftermath of the fork, when things are still uncertain. There is the possibility of one side of the fork being
subsumed by the other, [which] is called a wipe-out. Let me describe how this works. People start ordering off the vegan side
of the menu. There is a split in the kitchen. The vegans will not eat the vegetarian food because it is
not vegan, but the vegetarians can still eat vegan food. They stick to their sides of the kitchen. But as you [may] know with the restaurant business
(I’m sure you have done this yourself), you walk up to a restaurant, peek into the window,
and [if it looks empty], you move on. You may walk a few doors down and think,
‘Ah, this place is kind of full. I will eat here.’ If the vegan side of the restaurant ends up having more
customers, maybe some of the vegetarians drift over. They can. None of the vegans will
drift the other way, because they can’t. That is the essence of a soft fork:
it can move in one direction only. You could threaten the vegetarians:
“Don’t go over there, they are nasty vegans.” “You will miss butter, I promise!” [Laughter] But eventually, if the party is over there… If you are a cook and nobody is ordering your [dishes], you still need to make money because
of the big oven running all day and night, so you might decide to cook vegan meals,
since that is where the wind is blowing. You might have this sudden situation where all of the
crowd moves and the [other half] of the place is empty. No one’s cooking, eating, buying, or selling.
That is called a wipe-out. In Bitcoin or other blockchains, it happens
due to a reorganization of the chain. The two chains are moving, fighting block by
block for who will have the longest valid chain, where one side considers the other side invalid. The vegans will not eat the vegetarian meal. If [one side] gets an advantage, one block ahead,
there is a chance that the other side may say, “You know what? That is a valid chain.”
And switches over. All transactions are replayed. [The minority] chain is wiped out. That is a risk. If you made transactions on the
other chain, you have a problem. If you made transactions on both chains,
you may have a problem with double-spend. So, in the immediate aftermath of a fork,
[it is best to just] hold [your bitcoin]. Do not spend it, do not receive it,
just sit tight for a while. How long? That depends on how [long the chain battle] plays out. It took about two weeks for the Ethereum and Ethereum
Classic [chains] to stabilise at the 80/20 or 90/10 ratio, for [enough people] to decide,
“You know what? Classic [won’t] away.” In Bitcoin, that is a bit harder, because there
is a two-week re-targeting period for difficulty. After two weeks, whichever chain is in the minority will
change its difficulty to adapt to the new circumstances. If a minority chain [survives for] two weeks,
it will not go away and you will have two Bitcoins. That is not a scenario I want to see. I believe we should [plan] for conservative,
minimal changes that are safely done… with plenty of notice and minimum disruption. Many people seem to believe the same thing,
but there are those who want to play a game of chicken. The game of chicken is where [two cars drive]
towards each other, and there is only one way to win: as you are barrelling towards your opponent,
pull off the steering wheel and throw it out the window. If the other driver sees that, they say, “Oh! The game
just changed. Now I must swerve, because they can’t.” UASF BIP-148 says, ‘On August 1st, we throw the
steering wheel out the window and see what happens.’ This is the science of forkology. Someday we will see (and this is not a joke)… computer science departments specializing in the game
theory of consensus algorithms in open blockchains. After you have heard all this, and maybe it is your
first time in this space, some of you may be thinking, “This sounds completely crazy! Why wouldn’t you just
elect a chef or appoint a manager [to this restaurant]?” “Who runs a restaurant like this? This is crazy.” We are in a world where we have
decided that this alternative won’t do. The alternative is a school lunch menu written
by a committee at the Department of Education, with every intermediate in the chain
stealing the meat, pocketing a bribe, and diverting [the remaining] rotten crap to your [captive]
children in order to profit the most. [Laughter] Every eight years, there is an outbreak of famine because someone didn’t [correctly calculate]… how much food to grow. That is the system we are replacing. [In comparison], our crazy little decentralized
experiment of the “anyone can be a cook” kitchen… sounds mighty interesting. Thank you so much for coming. [Applause]

95 thoughts on “Forkology: A Study of Forks for Newbies”

  1. I'm so glad you finally unpacked this subject. There is a bunch of propaganda, attempts at misinformation and uninformed opinions around the upcoming fork. this is a great resource to point to.

  2. Finally made a small donation to the man that brought me to cryptocurrencies and Bitcoin in particular. Thank you for sharing your wisdom in such a wonderful way.

  3. The last minute is quite hair-raising, it certainly worths watching from the beginning to the end! Thank you!

  4. I like the closing statement. Great way to emphasize why blockchains are worth all the complications they cause.

  5. 51% attack happens when the rules don't change, but the miners are able to go back in time as long as they want and be able to change the order of transactions even within the same rules. This is critical to understand UASF!

  6. This is interesting. Is it even possible for a whipout? If a coin decreases in value, it will eventually be worth something as long as there is 1 buyer. Maybe a hard fork will reduce a value of a coin to near $0… But you can never go to $0 and the coin can never be removed from the internet. If people know this, then they will wait till a coin stops on it's down trend and buy it trying to make money regardless.

  7. Why is it that Mr. Antonopoulos only has 22K subscribers? He should have a great deal more than that. This gentleman is a blockchain guru.

  8. If we hard fork and we now have funds on both sides what happens to our funds if one chain wipes out within the two week time frame? I presume we start with half of the original value on each chain and as one one goes down the other goes up… is there a possibility that we loose half our value somehow even by just holding and doing nothing?

  9. Reminds me of a story about the parts of the body entering a similar battle about who was in charge. The brain thought that it should be … after all, it was the smartest. The heart, the emotions spoke saying they should be in charge. Then the stomach spoke up about how needs and desires drive everything so they should be in charge. The eyes, the owners of vision said they should be in charge and the muscle system also entered the race as being the source of all locomotion. Lastly, the anus spoke up but went so far as to demand that they be in charge … to which all the other candidates burst out in uproarious laughter. So the anus, now highly offended, closed up tight and shut down. Within a few hours things really started going wrong. The eyes started getting blurry, thoughts started drifting, the arms and legs got weak and the emotions were getting very erratic and even angry. Faced with certain death, all the parts of the body finally capitulated and made the anus the boss over the entire body. The moral of the story … you don't necessarily have to be smart, have vision, or be strong to be the boss … sometimes you just need to be the asshole.

  10. To think that bitcoin wont split is short sighted in my opinion. It may not be desirable but it seem it's inevitable, every consensus system in existence factions off weather it be religion, society, technology or DNA. The idea that Bitcoin (and indeed all blockchains) will not periodically divide to me is unrealistic. We should welcome and maybe even encourage it.

  11. Since anyone can start a UASF soft fork and potentially wipeout the other chain, the result would only be the other chain just use another UASF to wipeout the UASF chain, so in practical both side will protect themselves with a clear hard fork, which means UASF will just become a hard fork. It is wrong to suppose that the human actors will allow code to manipulate their intention, intention always direct the code

  12. Oxford needs to add a new word in the dictionary

    Aantonop : KING OF ANALOGY

    In the end he killed it with the 'school lunch' analogy πŸ˜›

  13. It's not often you get a technical speaker with such a deep understanding of the subject as well as the ability to speak in a clear and engaging way. One of the best.

  14. So after all this technical info, what is happening to the prices of the Bitcoin meantime these forks are taking place? will prices drop to the lowest ever like a real Crashdown?Β … this a warning to cash out b 4 losing all it's value?

  15. Spend 30 bucks on a lavaliere mic. Audio will be vastly improved, words will be much easier to understand.
    Let me know if you want a specific recommendation.

  16. ive been following Andreas for quite some time now and can say he has this thing mastered. delivery, education, presentation and of course content.

  17. Great presentation again, thank you. When the fork happens like Bitcoin and Bitcoin cash both these chains will have the same number of coins available to be mined?

  18. That moment when you Antonopoulos yanks you, deep down the rabbit hole, and you just go down… 25:46 is all you need to watch

  19. They didn't lie when they said you are the crypto Jesus. You miraculously explain very technical stuff and make it humane.

  20. I never thought I would be listening so captivated to a greek guy teaching me the intricate workings of money. Very, very good story!

  21. a quick question: what kind of fork is forks similar to the one that separated etheruem and classic or BTC and Bitcoin cash ?

  22. So nice talk; thanx it was lingering on my mind for so long. I even took the hardship of modeling a concept with that faint notion. With this info I can explore the topic more in depth. I need to watch it multiple times because of all the info that is packed in this talk.

Leave a Reply

Your email address will not be published. Required fields are marked *