Kademlia, Explained

Поделиться
HTML-код
  • Опубликовано: 27 ноя 2024
  • НаукаНаука

Комментарии • 99

  • @TheMrChugger
    @TheMrChugger Год назад +32

    I can't wrap my head around how someone came up with something so genius. Oh, and I'm doing my MSC thesis around this algorithm, and this was by far the best explanation I came across

  • @xKaihatsu
    @xKaihatsu 5 дней назад

    You did an amazing job of explaining the algorithm. What an ingenious system.

  • @oneke4498
    @oneke4498 Год назад +7

    You deserve a gold medal for the simple yet clever way of explaining this protocol

  • @sparkfire47
    @sparkfire47 Год назад +12

    Amazing video. To the point, good visuals, clear audio, perfection.

  • @sandromartins3579
    @sandromartins3579 4 месяца назад +2

    I am shocked how simple and fascinating you made it! First time I see a video from you, but already your fan.

  • @MekeninzoUG
    @MekeninzoUG 5 месяцев назад +6

    I stopped at 4:00 and now I'm currently working out the trivial details so I can come back to the next step of the video.

  • @parakoopa72
    @parakoopa72 10 месяцев назад +2

    Thanks for this. I've read the Kademlia paper and a bunch of stuff online where people try to explain it. But I could never INTUITIVELY grasp why the "k-bucket" routing table scheme actually made sense until watching this video.

    • @n0computer
      @n0computer  6 месяцев назад

      Music to our ears. It's not a simple concept!

  • @aaaa-kr7yt
    @aaaa-kr7yt Год назад +7

    I'm really surprised by the fact that this video has such a low statistics. The video is great, you are great, the explanation is great. You deserve more

    • @flcoder
      @flcoder Год назад +2

      I totally agree. The problem is only a handful of us nerds in this world will do a search for kademlia.

    • @CatainaLopez
      @CatainaLopez 9 месяцев назад

      @@flcoder jajajaja is so niche

    • @kebman
      @kebman 2 месяца назад

      It's niche, but at the same time, if this were public knowledge, we wouldn't have crappy and leaky message apps like Telegram or Signal. Instead we'd have a truly decentralized web.

  • @ROBERTOGONZALEZNAVAS
    @ROBERTOGONZALEZNAVAS 5 месяцев назад

    I´m studing computer ingeneering and this is the best explanation i found about Kademlia. Great video, simple explanation, new subscriber. Thanks form Salamanca, Spain

  • @GodstimeIsrael-m4n
    @GodstimeIsrael-m4n 6 месяцев назад +1

    Thanks. Best explanation of Kademlia ever

  • @michaelgirma8688
    @michaelgirma8688 8 месяцев назад

    This is the best explanation out in the web so far. Just earned a sub!!

  • @manjurhassan9145
    @manjurhassan9145 2 месяца назад

    This was such a clear explanation. Thank you.

  • @cken27
    @cken27 6 месяцев назад

    I probably need to watch one more time to understand the nuances, but I like the way you explain. Thank you

  • @filippomenchini
    @filippomenchini Год назад

    One of the best videos on Kademlia. Really straightforward!

  • @bashiroboev8497
    @bashiroboev8497 Год назад

    The best explanation I've seen in the Internet! Great!

  • @ajayreddy9176
    @ajayreddy9176 Год назад +2

    nicely presented the complex thing in simple ways

  • @jmms49
    @jmms49 2 месяца назад

    excellent explanation, thank you for making this video!

  • @the_teknomads
    @the_teknomads Год назад

    Must also join the ranks and offer thanks for the eloquent explanation.

  • @ramen.uchinanchu
    @ramen.uchinanchu Год назад +3

    Thanks for this, amazing presentation!

  • @abheektripathy8991
    @abheektripathy8991 Год назад +2

    just pure knowledge, amazing.

  • @rajawatramraj4690
    @rajawatramraj4690 Год назад

    such quality and expertise it was like watching a Netflix episode, Thanks

  • @himanshu899
    @himanshu899 Год назад

    I love the way you have presented the idea behind the paper. Thanks for the video. Hope to see more such papers explained.

  • @kennys1881
    @kennys1881 4 месяца назад

    Really extremely insightful explanation

  • @X90Chris
    @X90Chris 8 дней назад

    You are amazing! Thank you so much, this is really helpful!!!!

  • @shahzaibhassan2777
    @shahzaibhassan2777 Год назад +1

    Amaaaaaaaazing!!!!!!!!!!!!!!!!!!!!!!!!!
    Please keep uploading such great content!

  • @jeremyckahn
    @jeremyckahn Год назад

    This was brilliant. Thanks for breaking down such complex subject matter in a straightforward way!

  • @hhmmdds
    @hhmmdds 6 месяцев назад +4

    Best educational video award on RUclips? They should give out prizes

  • @jacobderosa8258
    @jacobderosa8258 9 месяцев назад

    I have to make this for my homework in distributed systems really helpful thanks

  • @rallokkcaz
    @rallokkcaz Год назад

    I love this explanation so much. Instantly clicked for me!

  • @linusgasser5019
    @linusgasser5019 4 месяца назад +1

    Thanks for the video, I needed a refresher, and it worked grat :)
    There are some wrong details:
    - 2m55s: 4/8/16 bits are 16/256/65536 values
    - 5m16s: why have Dijkstra to start from 0? And why is the 'v6' stored twice?
    - 10m15s: the way you explain the xor distance, and the examples you chose, makes it look like it's |a-b| (see one of the comments), when in fact the xor measure gives a new definition of the distance which has nothing to do with the distance on the linear scale: 1000 and 0111 are 0001 away on the linear scale, but 0111 on an xor scale
    - 12m39s: 0101 xor 1101 is 1000
    - 22m28s: the 'log' here is in fact 'ln' or 'ln2', so for 1e6 nodes, you need something like 20 hops. Still not too many, and still very impressive.
    And as you said, there are many details in the Kademlia protocol...

    • @rhylow2733
      @rhylow2733 4 месяца назад

      Isnt n11 placed wrong aswell, for the routing table of n5? Maybe im confusing smth here but 0101 Xor 1011 is 1110 not 1011 (18m23s)

    • @linusgasser5019
      @linusgasser5019 4 месяца назад +1

      @@rhylow2733 Yes, absolutely correct. And why the 'v6' is twice there, once at position '6', and once at position '12' is also a mystery to me.

    • @dagmarski4133
      @dagmarski4133 3 месяца назад

      I think everyone misunderstand what O(log_n)-hop means. It does not mean that for n nodes it takes log(n) or ln(n) hops. Big O notations only refer to how much the process scales. The true expected number of hops could really be log_n multiplied by any constant.

  • @genohm5664
    @genohm5664 7 месяцев назад

    Best explanation on the internet!!

  • @ronakshah725
    @ronakshah725 Месяц назад

    top-notch explanation, subd!

  • @shotgan
    @shotgan 7 месяцев назад

    Wow, fantastic video!!. You should do a video explaining the K-bucket split. When happens and why :)

  • @japanijoota6190
    @japanijoota6190 2 месяца назад

    thank you, this was a great explanation

  • @GreatCollapsingHrung
    @GreatCollapsingHrung Год назад

    Really clear explanation. Thank you!

  • @moonlessiguana1826
    @moonlessiguana1826 Год назад

    Awesome awesome awesome video! Loved it, and it's very inspiring

  • @m___pryor
    @m___pryor Год назад

    Phenomenal video. Came from IPFS :)

  • @lod20
    @lod20 10 месяцев назад

    Amazing, amazing explanation! Thank you

    • @n0computer
      @n0computer  6 месяцев назад

      Glad you enjoyed it!

  • @franciscoayracaceres7163
    @franciscoayracaceres7163 7 месяцев назад

    OMG, I am totally speachless after this master explanation. How in this world Wikipedia has that horrible concepts and definitions about Kademlia, and this man, has came that easily and walk around explaining so clear everything about it.... I am really thankful for having seeing this video. Sr, now you can delete it from RUclips, I know all that I need to XDDD. Thanks, for real....

  • @TheAkiller101
    @TheAkiller101 Год назад

    Such a great explanation ! kudos

  • @HamzaMahmood1261
    @HamzaMahmood1261 11 месяцев назад

    very easily explained

  • @launchpad-stevens
    @launchpad-stevens 6 месяцев назад

    what a fantastic video! So cool and so dope.

  • @mahdikarimi6467
    @mahdikarimi6467 Год назад +4

    I really like this video. earned yourself a sub.

  • @zuggrr
    @zuggrr 9 месяцев назад

    Amazing explanation ! thank you

  • @solvenlearn
    @solvenlearn Год назад

    Fantastic presentation

  • @maxwibert
    @maxwibert 6 месяцев назад

    A little late to the party, but this is an awesome video and I have learned a lot from it. I have a small piece of feedback, though I’m not sure if implementing it would be helpful for your intended audience. I feel that your explanation of the triangle property leaves a little to be desired. At a surface level, the triangle property doesn’t have all that much to do with “triangulation” in the sense most people are familiar with, i.e. taking measurements from multiple places to narrow down a point’s location. **Way** down under the hood, the triangle property is important for triangulation, but only because it’s important for basically any process that involves geometry and metrics, and as far as I can tell the use of the word triangle in both of these concepts is more or less coincidental. Having not read the Kademlia paper, I have a guess as to how the triangle property may be relevant to the hopping protocol: basically a big hop plus a small hop lands not much farther away from the starting point than just the big hop. This assures us that we will never hop into the wrong distant k-bucket from our current node.

  • @pnyda1994
    @pnyda1994 Год назад

    Best explanation ever

  • @maharajaraadh4397
    @maharajaraadh4397 Год назад

    Please make more videos, go through more papers. Your explanation is really good.

    • @n0computer
      @n0computer  6 месяцев назад

      Working on it! We're partway through a series on bloom filters now.

  • @ajml_hnter
    @ajml_hnter Год назад

    Very nice explanation 👍

  • @nosh3019
    @nosh3019 Год назад

    great video! thanks a bunch for the work! 😍

  • @FugalBaboon
    @FugalBaboon Год назад

    Wow you definitely just earned a new subscriber 🤝🧠

  • @ruizdai7797
    @ruizdai7797 Год назад

    clear explanation, thanks!

  • @m-meier
    @m-meier Год назад

    Very helpful, thank you!

  • @deepakkumarm4621
    @deepakkumarm4621 Год назад

    Amazing. Loved it.

  • @lukebrichey
    @lukebrichey Год назад

    Great video, thanks!

  • @kamikaz1k
    @kamikaz1k Год назад

    Idk how I got here, but very nice clear explanation. Can you update your channel description to say what you're about?

  • @qualiathesnow
    @qualiathesnow 10 месяцев назад

    great video!

  • @tobias8933
    @tobias8933 Год назад

    Thanks! I love this video so much 🙂

  • @demonsync57
    @demonsync57 9 месяцев назад

    Thanks

  • @tesfayeyimam3700
    @tesfayeyimam3700 Год назад

    This is amazing !!

  • @harshrathi3843
    @harshrathi3843 9 месяцев назад

    amazing

  • @alekseizinchenko1171
    @alekseizinchenko1171 Год назад +1

    Thanks for the video! Which camera you're using?

  • @NoNames_tv
    @NoNames_tv Год назад +1

    I think there are some mistakes :
    - at 12:35 0101^1101 should be 8 not 11
    - at 18:14 n11 shouldn't be at 1110 ? n5^n11=0101^1011=1000=8 right ?

    • @n0computer
      @n0computer  6 месяцев назад

      Yes. You're absolutely correct

  • @darshankabariya5474
    @darshankabariya5474 6 месяцев назад +1

    why xor is not working for 0001 xor 1000 = 9 but real distance is only 7

    • @linusgasser5019
      @linusgasser5019 4 месяца назад

      The idea is that xor is the new distance measurement. So you cannot compare xor(a,b) with a |a-b|. But you have three things which are very important for the algorithm to converge to the desired destination:
      1. distance to self is 0: xor(a, a) = 0
      2. the order of the nodes is not important: xor(a, b) = xor(b, a)
      3. triangle inequality: xor(a, c)

  • @WhoEls
    @WhoEls 5 месяцев назад

    I don't really understand what the benefits of Kademlias K-Buckets are over Chord's Finger Tables. Seems like the same concept to me.

  • @kebman
    @kebman 2 месяца назад

    Now, what if you duplicate parts k-buckets over distributed systems, and suddenly you add in redundancy. If you can also add in "life expectancy probability" (for servers, i.e. for server up time, but also for server creation) into the calculation, then you can have a truly dynamic system, that can have servers pop up and "die" everywhere, without it mattering in the slightest for either up-time or service delivery times (outside of time units that are noticeable for human beings anyway). In other words, it's a super stable system that's very, very hard to break by any outside force; The kind of system that might even survive a nuclear attack, just like how the Internet was intended. ;)

  • @chrisgravel2747
    @chrisgravel2747 Год назад +1

    At ruclips.net/video/1QdKhNpsj8M/видео.html shouldn't the n11 node be the second last leaf (from left to right)?

  • @doven8500
    @doven8500 Год назад

    omg, what a great video

  • @XxCrawdadCraigxX
    @XxCrawdadCraigxX Год назад

    good video

  • @amnaalmusawy1780
    @amnaalmusawy1780 Год назад

    amazing video that you

  • @burlak3182
    @burlak3182 Год назад

    Cool video :)

  • @LettersAndNumbers300
    @LettersAndNumbers300 6 месяцев назад

    I need this

  • @kebman
    @kebman 2 месяца назад

    Ah so you just use XOR to count occurrences of "1s" and if there are too many 1s than some threshold, then the space is too close? Edit: When you find distances you basically find probability spaces at the same time. And you can check this with the probability space of other dictionary words, to make room for enough probable possibilities in every category? Incidentally, when you do polling, you'll immediately know when or if you're about to run out of addresses, so you can load-balance efficiently and start shovelling data over to other nodes/servers.

  • @kebman
    @kebman 2 месяца назад

    I want to use this process to create a distributed and secure (as in non-censorable) messaging system. It's a direct reply to EU's murmuring about illegalizing all cryptography in the region, which is just an insane take on "security".

  • @markxueyuan
    @markxueyuan 10 месяцев назад

    Kademlia is the "small world network" theory in actual use.

    • @n0computer
      @n0computer  6 месяцев назад

      Sooooooo much this

  • @mahendars1417
    @mahendars1417 18 дней назад

    Damnnn

  • @edbertkwesi4931
    @edbertkwesi4931 Год назад

    like this video

  • @chrraz
    @chrraz Месяц назад

    The stuff you mention at 11:30 about being non-Euclidean doesn't really make sense. Being symmetric is a requirement to be a metric and definitely doesn't make it non-Euclidean

  • @id104335409
    @id104335409 11 месяцев назад

    Where is being used?
    Are there any new better ways to distribute?
    Also a little secret: Kademlia is being mispronounced everywhere. It should be kademlìa and not kadèmlia. Means Lucky man.

  • @marinaevdokimova4681
    @marinaevdokimova4681 6 месяцев назад

    the lesson was very useful, but his green eyes.......💔💔💔

  • @arkantaha93
    @arkantaha93 8 месяцев назад

    Amazing! but please try to speak slower, would be perfect for non-english speakers. Thanks

    • @HandscharGeorgeCostanza
      @HandscharGeorgeCostanza 8 месяцев назад

      youtube provides the feature to run at 0.75x speed. his speaking is not a problem.