The Byzantine Generals Problem and Blockchain Consensus Models | A Deep Dive

  Рет қаралды 34,289

Avery Carter

Avery Carter

6 жыл бұрын

In this video, I cover the Two Generals Problem, The Byzantine Generals Problem, Byzantine Fault Tolerance, Proof of Work, Proof of Stake, and Delegated Byzantine Fault Tolerance.
The Byzantine Generals problem will help others understand why a blockchain does what it does, and it illustrates why they are important.
Originally I was designing this video to just highlight DBFT, NEO’s consensus model, but naturally, I got a little carried away and produced this massive video. That being said, when analyzing one consensus model, it’s important to understand how they compare to other existing models.
If this is too long to sit through feel free to skip around!
0:52 Two Generals Problem
2:19 Byzantine Generals Problem
5:20 Byzantine Fault Tolerance
6:25 Proof of Work Consensus
10:14 Proof of Stake Consensus
12:30 Delegated Byzantine Fault Tolerance
17:00 “I thought NEO was proof of stake?”
Add me on Linkedin!
/ avery-carter-705ba6132
----------
Resources:
Article on the Byzantine Generals Problem
/ understanding-blockcha...
Article on Proof of Work & Proof of Stake
/ understanding-blockcha...
Satoshi Nakamoto’s Email
www.mail-archive.com/cryptogr...
Ethereum Docs on Proof of Stake
github.com/ethereum/wiki/wiki...
NEO Docs on DBFT
docs.neo.org/en-us/basic/conse...
docs.neo.org/en-us/basic/conse...

Пікірлер: 76
@matthewspencer6669
@matthewspencer6669 5 жыл бұрын
Great information and high quality content. The guns are distracting though
@fosres
@fosres 4 жыл бұрын
This is such an underrated channel. We need more subscribers here!
@eruston
@eruston 5 жыл бұрын
Well done! Lot of info packed in here.
@Facethevibes
@Facethevibes 5 жыл бұрын
Great job, very detailed and easy to follow video!
@alancocksedge1330
@alancocksedge1330 6 жыл бұрын
Well done , a well researched and presented view, a breath of fresh air in a hype driven space. Keep up the good work I'm sure your following will grow.
@averycarter2791
@averycarter2791 6 жыл бұрын
I'll always try my best to give a non-biased view, thanks!
@khalidal-kubaisi4093
@khalidal-kubaisi4093 5 жыл бұрын
Nicely done!
@jakeaustria5445
@jakeaustria5445 Жыл бұрын
You're the best so far in explaining the Byzantine Generals' Problem. I hope you make more videos!
@GL-fc2pv
@GL-fc2pv 6 жыл бұрын
good work man, keep em coming
@Anewghost
@Anewghost 3 жыл бұрын
Very good video to explain BFT and how it is being solved in different blockchain approaches. Thumbs up
@peterbits8766
@peterbits8766 6 жыл бұрын
Really well done, Avery! Learned a ton in this video.
@averycarter2791
@averycarter2791 6 жыл бұрын
Thanks!
@zeeshanahmadkhalil8920
@zeeshanahmadkhalil8920 5 жыл бұрын
@@averycarter2791 I didn't under stand that how 4 traitors in 12 generals will not be tolerated. As each will receive attack(actual value) from 7 generals and retreat(false value by traitors) from 4 traitors. In this case there is attack value in majority and they will attack. I am thinking there is
@zeeshanahmadkhalil8920
@zeeshanahmadkhalil8920 5 жыл бұрын
@@averycarter2791 bitcoin.stackexchange.com/q/85660/85725
@GEGL10
@GEGL10 6 жыл бұрын
Deep dive hell yeah!
@Andrew-cd9sl
@Andrew-cd9sl 3 жыл бұрын
Really great, thanks!!
@baatar
@baatar 5 жыл бұрын
Love the nullification of Craig Wright during Satoshi's explanation of PoW.
@sneha5657
@sneha5657 3 жыл бұрын
loved how you have explained this
@xxitsbrittneytvxx
@xxitsbrittneytvxx 5 жыл бұрын
great video!!
@charliebright8552
@charliebright8552 4 жыл бұрын
solid video thanks my guy
@anonony9081
@anonony9081 3 жыл бұрын
Thanks I never understood how proof of stake made sense but in the context of the byzantine general problem it makes sense. Staking isn't just owning the coins, it's putting them up almost like collateral. In order to stake enough to have a majority share you'd have to expend a significant amount of money just like a PoW attack.
@cryptodoji1857
@cryptodoji1857 4 жыл бұрын
BGP is solved by reaching consensus on the distributed network using POW algorithm. the mining nodes are the generals to be the first cracking hashes and the others agreed (finality consensus)
@SuperPugCat
@SuperPugCat 3 жыл бұрын
great info.
@rjdowning
@rjdowning 5 жыл бұрын
Great video, Avery, thank you! You mentioned NEO at the beginning of the video. Have you made a video on EOS? What do you think of EOS, out of curiosity?
@averycarter2791
@averycarter2791 5 жыл бұрын
Glad you enjoyed the video! I haven't made an EOS video because I haven't studied up on it enough to feel comfortable yet. Definitely on my list of to-do's!
@DominicAWood
@DominicAWood 5 жыл бұрын
Great explanation, and (neat) I actually listen to that theme music on spotify (Sippin - Flofilz) - great chillhop
@VISHALJC
@VISHALJC 2 жыл бұрын
hi Avery, very nice video on DBFT. I am just curious if in case of enterprise blockchain, BFT has its importance as I am compairing hyperledger sawtooth vs fabric
@ccole1255
@ccole1255 3 жыл бұрын
Ha! I worked at SRI back in the early 2000's as a Unix sysadmin.
@averycarter2791
@averycarter2791 3 жыл бұрын
That's awesome!
@CodeWithSep
@CodeWithSep 2 жыл бұрын
Good job and thanks a lot. A question tho. You state that the proposer of a new block is "randomly" selected. How exactly is it randomly selected? Why some other node can not act as the proposer? If you know any source that would help with this I would be very thankful.
5 жыл бұрын
Hi there, if I look at the figure at 15:04 and compare it to the one at 16:07, from the 66% perspective it's the same scenario, no? In other words, the 66% consensus will have no idea in either case whether the speaker node or one of the delegate nodes is dishonest, all they know is that the block they were sent by one of the delegate nodes is different. Does that mean that, regardless of a dishonest delegate or dishonest speaker, in both cases they will reach the consensus of differing for a new view/electing a new speaker?
@Dakuta12
@Dakuta12 5 жыл бұрын
i am very distracted by those biceps
@Anthony-qo5un
@Anthony-qo5un 2 жыл бұрын
Can you explain Proof of Authority (Vechain) and the pros/cons against proof of stake? POA 2.0 is coming out soon and would like to know more about that. Thanks!
@pharm2772
@pharm2772 5 жыл бұрын
QUESTION: with regard to the dbft validation what if the the speaker gives dishonest information to all delegates? Wouldn't all 3 delegates then propagate the false information and thus bring down the validity in the message?
@stefysabbadin6530
@stefysabbadin6530 6 жыл бұрын
nice :)
@zechen7294
@zechen7294 4 жыл бұрын
fo real those guns brooooooooooooooo. Very good explanation except the Satoshi email part was a bit confusing
@dominiquedoeslife
@dominiquedoeslife 5 жыл бұрын
I want to interview you for my podcast (same name as this channel). I would really love to have you on.
@pperez1224
@pperez1224 5 жыл бұрын
I still done get on how 'the network' structure is known and kept tidy? All device using a blockchain dont know each others and part of the network can be out of sync for a while. This means 'miners' have to be a subnetwork and then how do we enfore miners still are numerous enough so that collusion can be avoided?
@averycarter2791
@averycarter2791 5 жыл бұрын
I'm not sure that I understand what you're asking, I'm sorry. Something that answers part of your question, however, is that bitcoin nodes all use the same software implementation released by Bitcoin Core, the network isn't ever out of sync.
@nikosc
@nikosc 5 жыл бұрын
The video is super high quality content, but it is very fast and very dense and very long (imo). I could easily see this video turned into many videos, slower paced with simple illustrations for each. This you be better both for you (the creator) and for us (the consumers).
@averycarter2791
@averycarter2791 5 жыл бұрын
Sure thing! Thanks for the feedback!
@JohnIdlewood
@JohnIdlewood Жыл бұрын
I still don't get why PoW/PoS (that are susceptible to 51% attack) are still better than just voting for the right state of chain. Lets say, me, as a new node, requests other nodes on the network for the state of the chain and picks up the most frequent version of it
@dave47663
@dave47663 3 жыл бұрын
Great explanation but holy smokes there was a lot of editing. Need to work on that.
@TPGodlike
@TPGodlike 6 жыл бұрын
your videos are a treasure in the mids of all these garbage information videos that float around that claim NEO beeing PoS after they did 10 minutes of research on low quality crypto shill sites. subscribed
@averycarter2791
@averycarter2791 6 жыл бұрын
Thanks! Glad you liked it!
@ccole1255
@ccole1255 3 жыл бұрын
A better example than multiple servers brute forcing a password might be multiple servers performing a DDOS attack
@yaseminkilic2885
@yaseminkilic2885 5 жыл бұрын
Byzantine generals. Can you solve the Byzantine generals problem (in a synchronous setting) with three generals one of whom may be a traitor? If so, how? If not, why not?
@zeeshanahmadkhalil8920
@zeeshanahmadkhalil8920 5 жыл бұрын
I didn't under stand that how 4 traitors in 12 generals will not be tolerated. As each will receive attack(actual value) from 7 generals and retreat(false value by traitors) from 4 traitors. In this case there is attack value in majority and they will attack. I am thinking there is
@zeeshanahmadkhalil8920
@zeeshanahmadkhalil8920 5 жыл бұрын
bitcoin.stackexchange.com/q/85660/85725
@vijaych
@vijaych 4 жыл бұрын
For clear info on this same topic. please check this video : kzbin.info/www/bejne/eYC2gI2Eaqp6rsU
@simonemorello2890
@simonemorello2890 5 жыл бұрын
what would happen if the dishonest speaker propagates the wrong message to every single node whenever he has the chance to speak?
@averycarter2791
@averycarter2791 5 жыл бұрын
The Delegates will still receive the block proposal and validate: Is the data format consistent with the system rules? Is the transaction already on the blockchain? Are the contract scripts correctly executed? Does the transaction avoid a double spend scenario? If things don't look right then the delegate nodes change view and the process starts over
@simonemorello2890
@simonemorello2890 5 жыл бұрын
got it, thanks bud :)
@reecebygrave7211
@reecebygrave7211 2 жыл бұрын
*quantum computer enters chat
@RayVitoles
@RayVitoles 5 жыл бұрын
send message with your signature,ask the following general to signature himself.Send messages until you receive the general's signature approving
@kamranabid3600
@kamranabid3600 5 жыл бұрын
1. Send message from general A to general B (with signature) 2. general B returns message (with signature) now - how does general B know that general A has received the confirmation? general A needs to send another message and so on until infinity - this is the problem.
@rudeboymon3177
@rudeboymon3177 3 жыл бұрын
Doesnt this mean that if someone or a group of nefarious actors has a monopoly or a bunch of people all sense some kind of danger that the whole concept of cryptocurrency could collapse??
@averycarter2791
@averycarter2791 3 жыл бұрын
So what you're describing is a 51% attack, and I think the answer is both yes and no! When bitcoin was invented, it was thought that a 51% attack by a group of nefarious miners would be impossible due to cost and the hardware available at that time. Really though, it's improbable and not monetarily incentivized due to the cost of computing power it would take to 51% attack large chains like bitcoin or etherum. BUT.. it has happened for smaller blockchains that have a lower amount of computing power in their mining force. Now would the "whole concept of cryptocurrency could collapse"? No but it definitely reduces the trust in smaller blockchains, and reinforces confidence in chains with high hashrate and a distributed mining pool. Here's a bit more info here if you'd like to read dci.mit.edu/51-attacks
@rudeboymon3177
@rudeboymon3177 3 жыл бұрын
@@averycarter2791 thanks for responding. Ive only got 5% in crypto so either way ill survive 😉
@sourabhsemalty9016
@sourabhsemalty9016 2 жыл бұрын
The emoticons are reducing the interest of listeneing
@rogerpalomino5353
@rogerpalomino5353 3 жыл бұрын
Great content. I wonder who you work for? You sound like you could help build a cryptocurrency.
@lizard450
@lizard450 6 жыл бұрын
This is garbage. You didn't even research proof of stake at all really. News flash kiddo. PoS doesn't work. Do you understand how a blockchain works? Okay with Proof of Work the next person is creating a hash (chain) to the previous block. It's like a lottery or a race depending on how you look at it and the various parameters. How does this person get selected? In a nondeterministic manner. Okay .. so PoS you create a hash back to the previous chain and who writes the block? How do you make a nondeterministic decision when everything required to make the decision is already known and can be changed? In other words if I have a PoS node all I need to do is perform PoW on it to make sure that the writing power comes back to me in the blockchain. This is only one of the reasons why PoS doesn't work. There are a few other fundamental reasons. I guess for you to really understand this you'd need to understand the blockchain data structure and public private key cryptography at an elementary level.
@averycarter2791
@averycarter2791 6 жыл бұрын
Hi, thanks for the comment. I do understand blockchain at an elementary level. Additionally I'd like to highlight that the info on PoS are not my own views, it was taken directly from Ethereum's Github resources on PoS which you can find in the description. Addressing the issue you commented about, "Stake grinding" is a class of attack where a validator performs some computation or takes some other step to try to bias the randomness in their own favor. One way to solve it is by using schemes based on secret sharing or deterministic threshold signatures and have validators collaboratively generate the random value. And the general approach is to require validators to deposit their coins well in advance, and not to use information that can be easily manipulated as source data for the randomness. Again, taken directly from Ethereum. I don't think I'll change your mind but I'm trying to show you where I'm coming from. -Avery
@averycarter2791
@averycarter2791 6 жыл бұрын
I've been thinking of doing a PoS video where I illustrate the major faults with the protocol veiwing as a PoW maximalist. And then doing the same for PoW as a PoS maximalist.
@TPGodlike
@TPGodlike 6 жыл бұрын
PoS doesnt work? good to know. maybe you should share that information with the vast amount of up and running PoS based Blockchains.
@lizard450
@lizard450 6 жыл бұрын
PoS is fine for certain models are... I don't know which ones, but I could see it being useful in certain use cases. I could see something like proof of authority for a national currency or a token that represents a share in a company. PoS is not a competitor for PoW. The point of Bitcoin is no one owns Bitcoin ... no one controls bitcoin. There is no one to take into court for Bitcoin. It doesn't matter if the governments of the world like bitcoin or not. It doesn't matter if they want to go to war with Bitcoin or not. There is nothing they can do. If there were something they could do... they would do it (they are trying) Proof of work you're exhausting resources outside of the system. You can't get that energy back. The only way to rewrite the blockchain is with hardware and electricity. It's physically impossible to rewrite the chain. There is a thermodynamic barrier. Proof of Stake coins have been rewritten by stakeholders since they first came on the scene with peer coin. This is why devs put in checkpoints. This is why people are thinking of doing PoS and then PoW for the checkpoints. There isn't a PoS coin that is decentralized. Don't conflate decentralization which is with regard to power over the system with distributed which is the structure of the system.
@lizard450
@lizard450 6 жыл бұрын
Where do these validators come from? How does one become a validator? What is to stop a nation state from printing a bunch of money buying up a bunch of tokens setting up masternodes and moving forward that way. That is way less of a barrier than getting a fab and a nuclear powerplant to try and overtake the Bitcoin network. When the stake is intrinsic you can screw with the network a bit for example by filling blocks with fake transactions. Then externally get more money and short the coin.
Why Blockchain Matters More Than You Think!
14:57
ColdFusion
Рет қаралды 1,1 МЛН
L6: Byzantine Fault Tolerance
26:35
Distributed Systems Course
Рет қаралды 106 М.
Jumping off balcony pulls her tooth! 🫣🦷
01:00
Justin Flom
Рет қаралды 20 МЛН
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 15 МЛН
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 34 МЛН
Amazing weight loss transformation !! 😱😱
00:24
Tibo InShape
Рет қаралды 62 МЛН
Blockchain: Massively Simplified | Richie Etwaru | TEDxMorristown
22:55
Distributed Systems 2.2: The Byzantine generals problem
10:42
Martin Kleppmann
Рет қаралды 60 М.
Two Generals' Problem Explained
8:24
Finematics
Рет қаралды 69 М.
AI Pioneer Shows The Power of AI AGENTS - "The Future Is Agentic"
23:47
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 823 М.
Blockchain Explained
10:23
IBM Technology
Рет қаралды 234 М.
$25,000 vs. $25,000,000
29:58
Johnny Harris
Рет қаралды 1,6 МЛН
Jumping off balcony pulls her tooth! 🫣🦷
01:00
Justin Flom
Рет қаралды 20 МЛН