L6: Byzantine Fault Tolerance

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • Describes the Byzantine Generals Problem in a hopefully understandable way. Inspired by the original paper by Leslie Lamport, Robert Shostak and Marshall Pease:
    people.eecs.berkeley.edu/~luc...
    Want more? Go read about "Practical Byzantine Fault Tolerance and Proactive Recovery" by Miguel Castro and Barbara Liskov:
    www.pmg.csail.mit.edu/papers/b...
    You can also read about (or watch the infinite number of videos on) Bitcoin/Blockchain. Sadly due to the Bitcoin mania many of these descriptions are less-than-fully-accurate as far as the fault model goes, so don't bet your money based only on them. ;-)
    ===
    See www.distributedsystemscourse.com for more information about this series, the class project, and links to slides.
    0:00 Introduction
    0:14 Failure classification
    6:00 Consensus: The Two Generals Problem
    8:10 Two Generals Problem: solved?
    11:54 The problem
    15:25 The question
    19:35 Simulation proof
    21:11 What can you do?
    21:37 Inductive Solution for Oral Messages
    23:01 How this works with m=1
    24:39 Running Time

Komentáře • 136

  • @fridavangoya
    @fridavangoya Před 7 lety +91

    I've made a presentation based on what I've learned from your video, my professor from uni was really impressed, thanks a lot!

  • @ahmxtb
    @ahmxtb Před 7 měsíci +2

    Hands down still the best explanation of this topic on the internet.

  • @arunsatyarth9097
    @arunsatyarth9097 Před 2 lety +8

    Sir, Thank you for putting the effort to make these videos. The content is very informative and I admire your presentation skills.

  • @Dolshansky
    @Dolshansky Před 7 lety +22

    This video was "too easy" to understand. Thank you for making it so clear!

  • @vnair91
    @vnair91 Před 7 lety

    precisely stated and crisp delivery...Enjoyed it and keep up the good work!!

  • @CeasarBautista
    @CeasarBautista Před 6 lety +9

    @Chris, thanks for making this video! It's one of the better resources I found as an intro to the BGP> I really wish you had shown an example of the BGP where m > 1 though. That part is the part I have a hard time wrapping my head around.

  • @Joseph-co7uh
    @Joseph-co7uh Před 2 lety +1

    Absolutely beautiful, thank you for explaining the complicated ideas in the papers in such a clear manner.

  • @axionW
    @axionW Před 5 lety +6

    Hello Chris,
    I have to thank you for helping me get my dream job. I learned distributed system for my exam from your videos - you explain it so well and simple, it's just amazing. Keep up with the great work and thank you so much - for both knowledge and motivation. Have a nice day and don't forget to enjoy yourself!

    • @DistributedSystems
      @DistributedSystems  Před 5 lety +3

      Will do, and thank you for the very nice note!

    • @zubaidazaman5829
      @zubaidazaman5829 Před 2 lety

      @@DistributedSystems Hello Chris,
      Your videos are really amazing. Could you please help in real time simulation of pbft over any simulator like cooja or any. It will be very helpful for me. Thanks in advance.

  • @Nevozade
    @Nevozade Před 7 měsíci

    Amazing visualization for BGP! It really helps to understand the issue. Also, your explanations in comments make my learning robust! Thanks.

  • @ciscoWkchan
    @ciscoWkchan Před 6 lety

    very good video. We need many more people like you to explain all these complicated stuff, cause many people cannot read complicated lemma, proof in all those maths /CS journal
    paper.

  • @moviefied2008
    @moviefied2008 Před 6 lety +5

    I've never seen such a wonderful tutorial like this before. Thanks !

  • @snehpatel8712
    @snehpatel8712 Před 3 lety

    Thank you so much Chris for explaining this so beautifully!

  • @azureardee
    @azureardee Před 6 lety +2

    Very easy to digest. Thank you very much for taking time to make this video!

  • @mbharatm
    @mbharatm Před 5 lety

    This is SUPERB stuff! Finally someone who talks in a very simple and non-encrypted non-mathematical non-nonsense manner! You ROCK!

  • @CryptocasingGmbH
    @CryptocasingGmbH Před 5 lety

    GREEEEEEAAT EXPLANATION. Thank‘s a lot for this content, I put your link for my Video in the description- got a nice project where BFT is using. Would be very grateful for any feed🙏🙌

  • @anandjoshi6765
    @anandjoshi6765 Před 6 lety

    Thank you so much ! I would love to see you make more videos :D

  • @liucharles2973
    @liucharles2973 Před 5 lety

    You take me to the new world.It is so fun !thank you

  • @renegade5942
    @renegade5942 Před 4 lety +3

    10:37 to 10:38 is really important

  • @LeJeuCommence
    @LeJeuCommence Před 7 lety

    Great work! Made me understand the Byzantine Agreement problem and its solution!

  • @JohnMcCullough97
    @JohnMcCullough97 Před 7 lety

    Good stuff. Appreciate the succinct explanation.

  • @juggert
    @juggert Před 6 lety

    This video deserves more likes and views!

  • @rokomaric6988
    @rokomaric6988 Před 6 lety

    Great video, I really like that u give us to solve problem

  • @self8733
    @self8733 Před 5 lety +1

    Another amazing tutorial :)

  • @joshrandall8364
    @joshrandall8364 Před 6 lety

    Amazing lecturer! Thanks so much

  • @jaafar313
    @jaafar313 Před 3 lety

    The Greatest Presentation of BFT ever!

  • @rosswang688
    @rosswang688 Před 7 lety

    excellent video! helps me a lot! thanks so much!

  • @conc3pt3
    @conc3pt3 Před 6 lety

    Thank you for the explanation!

  • @nikospaschalis8318
    @nikospaschalis8318 Před 6 lety

    Really awesome explanation

  • @ginospazzino7498
    @ginospazzino7498 Před 3 lety

    How are you able to explain things so clearly!? Amazing

    • @DistributedSystems
      @DistributedSystems  Před 3 lety

      Glad you like it. The short answer: iteration. I keep on refining my explanations until I can't think of any possible way of simplifying them any more, and only then do I record a video. Sadly, this takes a lot of time. :-)

  • @mastasableful
    @mastasableful Před rokem

    Brilliant lecture! Thank you!

  • @humbleguy9891
    @humbleguy9891 Před 2 lety

    Absoulutely nailed the topic. Thank you.

  • @noqnoqi8552
    @noqnoqi8552 Před 7 lety

    Very well explained, thanks.

  • @parbelloti3767
    @parbelloti3767 Před 6 lety

    Great explanations, thanks.

  • @ashokraju5370
    @ashokraju5370 Před 7 lety

    Thank you . Great explanation ..

  • @thierrygribeauval7247
    @thierrygribeauval7247 Před 4 lety

    This is such a great explanation , 10/10!

  • @M0K0K0
    @M0K0K0 Před 4 lety

    Thank you so much! This is crystal clear!

  • @vijaykumar-yq7sf
    @vijaykumar-yq7sf Před 5 lety

    excellent of excellence.. I love your video tutorials

  • @herlon214
    @herlon214 Před 3 lety

    Amazing explanation, thank you very much!

  • @trace4utoday
    @trace4utoday Před 6 lety +2

    Hi, thank you very much for the amazing video. One problem is still spinning around my head. I a case with two traitors, e.g. two lieutenant, how pass one a wrong message. My n=7 (1 commander, 6 lieutenants). Im sum i got 36 messages (6 send by the commander, 30 send by the lieutenants) in a 6 x 6 matrix. For each lieutenants i got (A, A, A, A, R, R) so they would agree on attack. How is the table with m = .. and O (n^x) to read in that context. May someone can give an example for my case? Thank you :)

  • @Viooo3141592654
    @Viooo3141592654 Před 7 lety

    Great Tutorial on this problem! :)

  • @sunilkumar-dq3fo
    @sunilkumar-dq3fo Před 7 lety

    Well explained . Kudos

  • @user-xc3vg4mz3x
    @user-xc3vg4mz3x Před 6 lety

    Great talk!

  • @pengbo87
    @pengbo87 Před 6 lety

    o man the explaination is beautiful I love u so fucking much! thank u . Please make a video about pbft ~

  • @yanzhuang7816
    @yanzhuang7816 Před 4 lety

    This is the professor that I would like to see in the class.

  • @ElPasoJoe1
    @ElPasoJoe1 Před 6 lety

    I am just wondering aloud - is there any similarity between the 2 Generals problem and prisoner's dilemma from game theory...

  • @lorionmoreira6857
    @lorionmoreira6857 Před 7 lety

    Hi Chris Colohan. I am a student and I would like to know where can I find the paper with the mathematical proof of the Oral messages. Good video and explanation!

  • @dmanakell
    @dmanakell Před 5 lety

    I'm barely learning about this because I like bitcoin. I've read different consensus algorithms, but it's difficult for me to understand because I have no math or computer background.
    Is bft the general category and PoW or PoS different implementations? Or are they all different?

  • @blockchainbusiness5960

    Great video!

  • @friscianviales7519
    @friscianviales7519 Před 6 lety

    hey man great video, thanks!

  • @romansmirnov3351
    @romansmirnov3351 Před 7 lety

    thanks, that was great

  • @snehpatel8712
    @snehpatel8712 Před 3 lety

    I have a doubt, can anyone please help me with how does the numbers of messages sent increases exponentially with an increase in the no of traitors? how are 0 messages being sent when there are no traitors and how are n^2 messages being sent when there i 1 traitor (m=1)?

  • @newtonsarr1234
    @newtonsarr1234 Před 5 lety

    How does the time complexity become O(n ^(m + 1)) ?

  • @jameslin7132
    @jameslin7132 Před 7 lety

    Really great lecture! Do you have links to the follow on papers? Looking in particular for ones dealing with allowing for cryto

  • @daimajia
    @daimajia Před 6 lety

    Thanks!!

  • @silverneuro1709
    @silverneuro1709 Před 7 lety +7

    Bear-zantine generals are so cute!

  • @radixmulawarman8931
    @radixmulawarman8931 Před 3 měsíci

    Why can’t consensus be reached with 6 generals if there are 2 traitors? 3 would say attack, 2 would say retreat.

  • @nnov1nn
    @nnov1nn Před 7 lety

    Excellent (:

  • @heavensplayer
    @heavensplayer Před 6 lety

    Thank you.

  • @hangsu5724
    @hangsu5724 Před 4 lety

    Great video for Byzantine problem. The point is the last message may be lost again and again no matter how many ACKs.

  • @marchanselthomas
    @marchanselthomas Před 3 měsíci

    this is the best side of the internet

  • @giorgosK936
    @giorgosK936 Před rokem

    Thanks for the video. One question though. How is consensus reached when one faulty commander is giving faulty information to 4 loyal lieutenants?.
    Say p0 is the traitor commander and sends 0 to p1, 0 to p2, 1 to p3, 1 to p4. How are they going to be able to reach to a consensus since majority cannot be achieved?

    • @DistributedSystems
      @DistributedSystems  Před rokem +1

      That's a good question!
      The simple consensus algorithm presented here is answering the question "if there are enough non-evil computers in your system, is it possible to get a consensus?" And the answer is "yes, but only if you are lucky enough to promote a non-evil lieutenant to act as the commander. Otherwise consensus will not be achieved". So the system is "safe" -- if you get a consensus, it is a good one, otherwise you don't get a consensus.
      But as you point out, safety is not enough for most real applications! You also want your system to be "live". In this case, liveness could be expressed as "if there are enough non-evil computers to achieve consensus, will consensus be eventually achieved?"[1]
      So how do we add a liveness property to our algorithm?
      There are many ways to do this, but one way is to tell clients to use randomness and timeouts. When a client wants consensus, have them pick a lieutenant randomly to act as a commander. That way they have a chance of picking a good one. And then if the commander doesn't respond with a consensus before your timeout expires, pick a new commander at random and try again. Eventually you'll talk to a good commander, and assuming enough computers are non-evil, consensus will be achieved.[2]
      I'm being a bit sloppy with my definitions here, if you start reading papers on consensus algorithms you'll find that there are all sorts of interesting problems that need to be solved when building a real system. If you want to dive deeper into this on CZcams, Lindsay Kuper does a great job going into more details in some of her videos: czcams.com/users/lindseykuper
      ===
      [1] If you were feeling pedantic, you might add other constraints: like when considering liveness computers can't switch between non-evil and evil partway through the algorithm's execution (otherwise you'd have to consider each and every transition point and figure out all possibilities and make sure your algorithm still works).
      [2] This solution assumes that there exists a useful timeout value (a.k.a., it is safe to assume that consensus will be achieved in a fixed amount of time). Sometimes systems don't have this property. For example, in a system running on cell phones, sometimes phones turn off, or go out of range. So any design has to account for the fact that nodes may lose connectivity with each other for indeterminate periods of time. If you are building such a system, then you'd have to ask yourself: "is liveness is even possible to achieve?" And if so, you'd have to carefully define what you mean for the system to be "live".

    • @giorgosK936
      @giorgosK936 Před rokem

      @@DistributedSystems Thank you!

  • @bengreenfield4015
    @bengreenfield4015 Před 6 lety

    Can you explain why the Bitcoin blockchain would need a 51% attack to take it down as opposed to >33% shown in this video?

    • @mohammedtharzeez4686
      @mohammedtharzeez4686 Před 6 lety +6

      That's because bitcoin solves byzantine fault tolerance using computational power (And every other general or nodes believes him because it is nearly impossible to solve the puzzle with few power or time thus all other nodes trust his work). 51% attack means 51% computational power resting in a single owner(say nearly impossible super computer). So that computer can effectively produce hash or solve the puzzle faster than the rest of the world( 49% computing power ). Thus producing the blocks much faster than the entire world.
      To be more specific consider A with 51% of computational power and rest of the world (B-Z) having 49% of computational power.Nearly it takes 10 minutes to create a block.Bitcoin nodes accept the longest chain as valid. So considering this scenario A can solve the puzzle much faster than rest of the world. Thus nullifying the work of others and A alone can create blocks thus making the system i.e bitcoin, worthless.

  • @user-hk7sp2wv7b
    @user-hk7sp2wv7b Před 5 lety

    Amazing video. The bears actually helped too lol.

  • @neogedom
    @neogedom Před 3 lety

    In two generals scenario assuming that network works, being one general a traitor, why no consensus is required? If a general A sends a message "I'll atack" to general B (traitor) and he responds "Ok, I'll attack too" and don't attack, is there no problem?

    • @DistributedSystems
      @DistributedSystems  Před 3 lety +1

      When we are discussing the two generals problem, we are assuming that the generals can't become traitors -- the idea is to model a system with working nodes, but unreliable communication.
      If you assume that a general can become a traitor, then there is no solution -- as we learn later in this video if you have 1 traitor then there is no solution unless you have at least 4 generals.

  • @vardhanshorewala2945
    @vardhanshorewala2945 Před 6 lety

    I have a question, in bitcoin when they use this solution with more than million nodes, won't it prove it be extremely expensive and complicated, so instead is there any other solution to this problem without having to spend these many resources

    • @colohan
      @colohan Před 6 lety +1

      I'm currently developing a video comparing consensus approaches, including the one used by Bitcoin. Subscribe if you want to be notified when it is done. ;-)
      It depends on what you think "the problem" is.
      If your goal is to create a replicated system which survives some node failures -- the Bitcoin approach is incredibly slow, wasteful of resources, and overly complex. You are way better off adopting either a fail stop consensus solution like Paxos or Raft, or a byzantine fault tolerant solution like the simplest one presented here, or PBFT (Practical Byzantine Fault Tolerance, a better solution that uses cryptography to solve consensus in a faster, but sadly more complex and harder to explain way than solution presented here). Fortunately for the Bitcoin folks, simply solving consensus isn't their goal. They want to create a crytpocurrency, which adds a whole bunch of other constraints.
      The success of Bitcoin has launched entire fields of research trying to answer the question "can't we do this in a less resource intensive and crazily complex way?" So far there isn't a clearly better way of doing it (if you believe "the market" as the final word on this), although there are many solutions which improve on Bitcoin, including a series of Proof of Stake algorithms which avoid the wasteful energy usage of Bitcoin's Proof of Work.

    • @vardhanshorewala2945
      @vardhanshorewala2945 Před 6 lety

      Chris Colohan thanks so much and yes I will subscribe, also that means that if someone is able to find a solution to the byzantine generals, one that requires less resources, it would make them pretty rich

  • @zeeshanahmadkhalil8920
    @zeeshanahmadkhalil8920 Před 5 lety +1

    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 Před 5 lety +1

      bitcoin.stackexchange.com/q/85660/85725

    • @DistributedSystems
      @DistributedSystems  Před 5 lety +2

      Good question. You had me stumped for a minute, so I had to reason this out:
      a) We know that you can't solve the case with 3 generals where one of them is a traitor, given the example shown in this video. Clearly the threshold is not 50% in this case.
      b) We have a proof in this video that this generalizes this. It proves that there is no solution to 3m+1 generals with >m traitors.
      c) You are claiming that a simple majority vote solves this problem for 12 generals and 4 traitors.
      So either (a) is incorrect, (b) is an invalid proof, or (c) doesn't work.
      I'm going to claim that if you look closely at (a), you won't find a hole. It is correct, since we just exhaustively enumerate all the cases in the video (check me on this!).
      The proof in (b) is subtle and hard to understand. Try reviewing it a few times and see if you can find a hole.
      But does (c) work in all cases? If the commander is loyal, then it sends an order to all lieutenants, and that means that all 11 lieutenants hear the same thing (either attack or retreat). The 7 loyal lieutenants will hear the correct order from the commander, a correct relay of that order from 6 of their peers, and an incorrect order from 4 of their peers. By taking the majority, they can come into consensus, great.
      If the commander is a traitor, then it can send a different order to all lieutenants. Let's say it says "attack!" to loyal lieutenants 1..4, and "retreat!" to loyal lieutenants 5..8. The traitorous commander then orders its three traitorous lieutenants to agree with it -- to tell 1..4 "attack!" and tell 5..8 "retreat!". If 1..4 and 5..8 simply used majority vote, they would not agree, and consensus would fail.
      So the majority vote algorithm you propose doesn't achieve consensus if the commander is a traitor. (And arguably it doesn't work with only 3 traitors either if the commander is a traitor. Or 2 either...)
      Of course it is possible I misunderstanding the algorithm you are proposing in (c). But does this answer clarify matters?

  • @cryptostorm6714
    @cryptostorm6714 Před 2 lety

    Bitcoin was nearly trading at $650 at the time this video was made!

    • @DistributedSystems
      @DistributedSystems  Před 2 lety

      And yet... I still have yet to purchase a single cryptocurrency asset.

    • @cryptostorm6714
      @cryptostorm6714 Před 2 lety

      @@DistributedSystems Sorry that you are missing out :)

  • @exoticcoder5365
    @exoticcoder5365 Před 3 lety

    well explained @24:21

  • @timburkhadt
    @timburkhadt Před 4 lety

    15:33 Why is it Point to Point and not Peer to Peer Communication?

    • @DistributedSystems
      @DistributedSystems  Před 3 lety

      Peer to peer implies that nodes can talk to each other -- but does not specify that one node can't talk to more than one node at a time (broadcast).
      Point to point implies that there is no broadcast mechanism available, and all communication is done between pairs of nodes.

  • @domainofdotart6125
    @domainofdotart6125 Před 5 lety

    There may be a solution to the two generals problem. The two generals with their armies must meet. In computer terms the question is how to make a temporary super node that is an aggregate of several nodes.

    • @DistributedSystems
      @DistributedSystems  Před 5 lety +1

      Absolutely -- but if you do that, you've effectively solved the "one generals problem", as you've combined the two generals into one. If your problem allows you to use a centralized solution instead of a distributed one, then lots of things become simpler. (And doing this is a great solution if your problem allows for it!)

    • @domainofdotart6125
      @domainofdotart6125 Před 5 lety

      Point taken. However since data is easier to move around and transform than armies are, couldn't you make copies of the "armies" to combine into a single amalgam that would have a deliberately short life span. The idea is that the nodes are preserved but the interaction of the two nodes together might, by some means (still thinking about how this would be done) guarantee that each node has to be honest about their intent once the amalgam is reviewed by both. (PS it may be obvious by now that I am not an IT guy I just like thinking about problems. Thank you for posting the video and responding to my comment)

    • @DistributedSystems
      @DistributedSystems  Před 5 lety

      @@domainofdotart6125 Yup, that works. But once you've done that, you have designed a system which effectively has a single master and a hot spare. Which is a perfectly good design -- it is quite popular in databases, for example. But it is not good enough if you are trying to design a system which can withstand all possible node failures at all times, or that requires near instantaneous fail-over.
      Think of a bank processing financial transactions. With a replicated database, you can take your money out of your account on the main server using an ATM, and then there is a small window of time before that money gets debited out of your account on the replica server (while the replication happens). If your main server dies during that time, is it okay for the bank to forget about giving you your money? What do they do when the count of bills is off at the end of the day?
      You may deem this to be "okay", if you have an insurance policy which covers this situation (and your insurance bill is cheaper than redesigning your system to tolerate this type of fault). But you'd deploy a byzantine fault tolerant solution if you deem it to be "not okay".

  • @obinator9065
    @obinator9065 Před měsícem

    2:24 don't know about Boeing :D

  • @brianpennington4437
    @brianpennington4437 Před 3 lety

    "They built a Byzantine fault tolerant flight system into these aircraft" Lol I can't fault you for not knowing about the Boing 737 but it is ironic that you mention it.

    • @DistributedSystems
      @DistributedSystems  Před 3 lety

      I'm curious what aspect of the 737 you think applies here. As I understand it the 737 series up until the 737NG uses a somewhat traditional hydraulic control system, without control computers in the loop (it does have an A and B system so that a leak or pressure failure in one hydraulic circuit doesn't cause controls to be lost). The trim controls were electric, but I don't believe there was any computer logic in the trim controls outside the autopilot (but I could be wrong).
      The 737Max (which was not certified by the FAA until 5 months after this video was published, and not delivered to a customer until 7 months later) has gotten notoriety for its trim control systems failures. From skimming some articles I don't see anything saying the flight controls were changed from hydraulic to fly-by-wire, so I assume they remained hydraulic. The trim controls continued to be electric, but the MCAS system was added in the stabilizer trim path -- and it had some serious design flaws. In particular, a single bad AoA input managed to cause fatal trim runaway*.
      I'm not aware of anywhere in the 737 (or 737Max) that used a Byzantine Fault Tolerant approach. From what I read, even in the 737Max they had two redundant flight control computers, and if one was suspected to be bad the pilots could toggle control to the second independent computer. There was no automated consistency monitoring between the computers (this has been changed after the grounding of the fleet).
      Is there a place where Byzantine fault tolerance is used in the 737? I'm a flying geek (can you tell?) so I'd love to learn more. :-)
      * An aside -- I once encountered a trim runaway due to a stuck switch while I was flying a Cessna 172. It is not a fun thing to deal with even in such a simple plane.

  • @dg88980
    @dg88980 Před rokem

    This was a great video! Have you heard of Hedera Hashgraph which is BFT?

  • @Venkat2811
    @Venkat2811 Před 4 lety

    Is it coincidence that you don't put 737 Max series in fault tolerant category ? 😂

  • @tungle3635
    @tungle3635 Před 2 lety

    The solution is using public key cryptography

    • @DistributedSystems
      @DistributedSystems  Před 2 lety

      That is a good solution but... it then creates a key distribution problem, which (depending on the domain) may be hard too.

  • @petersuvara
    @petersuvara Před 5 lety

    Doesn't BitCoin solve the Byzantine Generals problem?

    • @DistributedSystems
      @DistributedSystems  Před 5 lety +1

      Nope.
      Bitcoin allows a large number of computers to come to a tentative consensus. Which can then later change if a larger number of computers come along (so, was it really a consensus?). In effect, it solves a different problem. Also, it is orders of magnitude slower in coming to this tentative consensus.
      This is not to say that Bitcoin is bad. It lets you achieve a form of consensus among computers when arbitrary computers can join or leave the system at any time. This is a very different problem space than what the Byzantine Generals Problem paper describes.
      If you want to learn more about the relationship between the Byzantine Generals Problem and Bitcoin consensus, see the videos later in this series I made on this topic:
      czcams.com/video/LFZDpF_A-BE/video.html
      czcams.com/video/Jp7T9qtuRIE/video.html
      czcams.com/video/f1ZJPEKeTEY/video.html
      czcams.com/video/MVPkHPEsC4Y/video.html

    • @petersuvara
      @petersuvara Před 5 lety

      @@DistributedSystems thanks, I am going through your Block Chain Vids right now. Currently working on a small scale distributed system where I assume low availability but all actors are trusted. Since the implementation is for small WLAN network I have yet to find any suitable solution out there and likely will develop a custom protocol. :) Your videos are a great help, thanks.

  • @ChaineDonia
    @ChaineDonia Před 5 lety

    The proof of the impossibility solutiom wasn't well explained

    • @DistributedSystems
      @DistributedSystems  Před 5 lety

      Sorry to hear about that. I initially had a lot of trouble wrapping my head around that proof myself, and so I attempted to simplify it as much as possible for this video. It is possible I went too far. Do you have any suggestions on how it could be improved? Thanks!

    • @ChaineDonia
      @ChaineDonia Před 5 lety

      @@DistributedSystems surly, thanks for your effort. I am just aiming to understand it from the Pease's article... I think it is important to follow the whole proof ( step by step ). Thanks for your reply

  • @ezragoldfinklesteinberg6033

    Too big brain for me

  • @chaitanyab928
    @chaitanyab928 Před 3 lety

    Bearzantine lol!

  • @jakeroflmaolol
    @jakeroflmaolol Před 5 lety

    0/10 not zero based indexing /s

  • @pradeeshbm5558
    @pradeeshbm5558 Před 2 lety

    Loving your videos. lieutenant -> /lɛfˈtɛnənt/

    • @DistributedSystems
      @DistributedSystems  Před 2 lety +1

      Thanks! The Canadian in me totally agrees, but I currently live in the US so I'm using American pronunciations.

  • @inesmessadi7555
    @inesmessadi7555 Před 7 lety

    Great explanation !! Thank you.

  • @mohammedal-shaboti7939

    Great explanations, thanks.