Math Behind Bitcoin and Elliptic Curve Cryptography (Explained Simply)

Sdílet
Vložit
  • čas přidán 7. 09. 2024

Komentáře • 128

  • @FlorianBuchner
    @FlorianBuchner Před 3 lety +16

    Thumbs up. I watched 4 videos about ecc now and this is the first one that metioned why it is harder to crack nP than calculating it. To be able to reduce 10P to only 4 operations is the only reason why this stuff works but nobody else mentioned it. Not even Computerphile.

  • @khalilal-chafie456
    @khalilal-chafie456 Před 3 lety +29

    One of the best explanations ever .. I would really appreciate it if you could make another video talking in details about the points addition and how it works with some examples if possible .. Thanks in advance 👍

  • @Kaace77
    @Kaace77 Před 6 lety +44

    Meth!? Oh, math...

  • @ronneymccarthy6448
    @ronneymccarthy6448 Před 6 lety +19

    I understood very little but still liked the video, lol

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

    I remember doing these equations in high school. Many people take advance math in school and people say why are we learning this, I never understood why people question the practicality of math to every day life.

  • @GreenBoiler
    @GreenBoiler Před 6 lety +21

    Thanks for the video. I only made it to 6:03 Then my brain threw a null reference error after a stackoverflow error watching it over and over. Rebooting

  • @abubakarismail5436
    @abubakarismail5436 Před 2 lety

    This is my first time to comment on a tutorial.
    Man this is very precise explanation. I’m sticking to this channel

  • @ozzyfromspace
    @ozzyfromspace Před 3 lety +3

    This really helped me start to see what’s going on for a class I’m taking. Thanks, Aimstone!

  • @MatthewMarcus
    @MatthewMarcus Před 6 lety +23

    My brain hurts. But you made it hurt much less than Vitalik. I’m now going to impress the F out of my friends. 🤓

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

      What do you mean? There is next to nothing to understand.

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

    this is the first time i actually understood ECC. the first time. thx so much!

  • @tinashechipomho
    @tinashechipomho Před 2 lety

    For the first time I get a simple and easy to understand explaination

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

    Absolutely first-rate explanation! Thank you so much.

  • @AndreyLomakin
    @AndreyLomakin Před 3 lety +2

    Thank you for the very good video. But it takes 256 steps to compute P, not 510. Let see on simpler example: 8*P = 2 ^3 * P. Steps: 1) P+P = 2P 2) 2P+ 2P = 4P 3) 4P + 4P = 8P. 3 steps. The same to the key with 255, which has a max value equal to (2^256 - 1)

    • @complexnumbers64
      @complexnumbers64 Před 3 lety +2

      There's sort of a "local minimum" when counting steps/additions to calculate a power of 2 times P. But say we want 7P instead of 8P, it would actually require more steps. P+P, 2P+2P, 4P+2P then 6P+P which would be 4 steps/additions. So yup although the max 256 bit number can be done in 256 steps, values slightly smaller than that max are expected to need more steps :)

    • @ashutoshpanigrahy7326
      @ashutoshpanigrahy7326 Před 2 lety

      @@complexnumbers64 Nice point!

    • @ittayd
      @ittayd Před 2 lety

      8 is 1000 in binary. So you calculate the sum required to calculate the '1' bit. That is 3 steps. Now what happens if you want to calculate 1001 (9)? You'd need another addition. And to calculate 1111 (15) you'd need 3 additions for a total of 6 operations. So for a 4 bit number, you need at most (4-1) operations to calculate the power of two sums (2p, 4p, 8p), then at most (4-1) additional operations to sum these together. For 256 you'd need (256-1) plus (256-1) or 510

  • @Anewghost
    @Anewghost Před 3 lety +2

    Very good introduction although I am not sure if I understand all, but at least I don’t feel boring watching the video. Thumb up 👍🏻

  • @SK0R092
    @SK0R092 Před 6 lety +4

    This is actually great

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

    At 9:31 you said division doesn't exist in elliptic curve cryptography. But I haven't found any property that says the statement. Did you mean "extremely difficult" to divide of "impossible". Because in mathematics impossible and extremely difficult are not two same things. You might say the calculation is extremely hard because of some astronomically large numbers, but you can't simply say division doesn't exist because of that. Division doesn't exist if it's related to infinite. Example:- something divided by 0 doesn't exist. Simply because the calculation is beyond human ability, doesn't means it doesn't exist mathematically. Mathematics doesn't care what human can do or cannot.
    Please clarify if "division doesn't exise" or "extremely hard".
    Please reply. Thank you.

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

      in ECC math there is no division property. You add points together via point multiplication, but there is no way to go back points

  • @lance3401
    @lance3401 Před 4 měsíci

    Beatiful video I was looking for something like this, I love math behind bitcoin ann in algorithms as well, nice information already subscribe and thumps up my friend.

  • @Isaac-Ft3
    @Isaac-Ft3 Před rokem

    The best simple explanation for the BTC system, I have one simple question how some people could generate the private key?

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

    Perfect explanation, but I must say that this is for someone with atleast a basic understanding of graph theory and Algebra.
    Thanks for the video

  • @Nik-dz1yc
    @Nik-dz1yc Před 3 lety

    after looking at lattice cryptography for so long, I'm glad to finally understand something

  • @virajelix
    @virajelix Před 7 měsíci +1

    You exlained it well! Thanks a lot!

  • @Shivam-mq7de
    @Shivam-mq7de Před 2 lety

    Great Explanation. Thx.

  • @rainbowfx1696
    @rainbowfx1696 Před 4 lety +1

    I like his voice, it sounds fun. the content very easy to understand thankyou so much.

  • @MatCendana
    @MatCendana Před 6 lety +3

    I STILL can't grasp this. But never mind - thank you for trying to help people like me, who suck at Maths, understand.

  • @bharatmallapur2618
    @bharatmallapur2618 Před 2 lety

    Amazing! You deserve a Nobel prize for this wonderful explanation! You got a subscriber with a ton of thanks!

  • @kenerik
    @kenerik Před 5 lety

    Im 42 yr. Old 8th grade mathematics guy. I understood it perfectly. Thanks for sharing and making this video.

  • @borisbobola2360
    @borisbobola2360 Před 6 lety +3

    Nice video, well explained!

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

    I'm reading through Mastering Bitcoin and this was very helpful as supplemental material!

  • @elliotchan257
    @elliotchan257 Před 2 lety

    Helps a lot, thx

  • @vincentdonghia5361
    @vincentdonghia5361 Před 3 lety +3

    What would P be in this case? Is it independent of big X?

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

    Very good and easy explanation,well done!!!

  • @osirisravanz
    @osirisravanz Před 6 lety +3

    Nice vídeo mate

  • @SlayerFoxX
    @SlayerFoxX Před 3 lety

    my favourite youtuber

  • @christopheveron2922
    @christopheveron2922 Před 4 měsíci

    Thanks man!

  • @bige6560
    @bige6560 Před 2 lety

    Wow this was way easier than I thought awesome

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

    I was not prepared for that 😶

  • @francischuks7507
    @francischuks7507 Před 2 lety

    Its beautiful

  • @909sickle
    @909sickle Před 3 lety +1

    I wish you went into more detail on how the public key is derived from the private key

    • @Imisambi
      @Imisambi Před 2 lety

      Yesssssssss

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

      My 2 cents on this - If there is any error in the explanation below, more knowledgeable people are welcome to correct any GLARING mistakes.
      1) You generate a random 256 bit number - let's say 1532 (it would be MUCH MUCH larger in real world cases)
      2) You take a standard elliptic curve (say secp256k1) which has a standard starting point called P
      3) You "add" P to itself 1532 times (Private Key number) using the logic mentioned (tangent and then drop a perpendicular to the curve to get 2P and so on). This will end up at a point (X,Y) on the curve finally.
      4) the Y co-ordinate of the end point IS the PUBLIC KEY.

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

    Nice explanation, does anyone have a more in depth video showing how base58 is involved and possibly an example of a private key being hashed into a public key and address?

  • @bernardmacarius2635
    @bernardmacarius2635 Před 6 lety +11

    Extremely simple. Yes I am I guess. That all made very little sense to me. I did gather that hacking the private key from the public key is all but impossible. This is a good thing indeed.

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

      Very good video I dont understand that kind of math. But I remember failing in it miserably in school. But for people who say bitcoin is a scam and can't have any value. At the very least I can show them the mathematical equation that makes it work. Thanks for your great videos

  • @CricketRodeo
    @CricketRodeo Před 2 lety

    Can someone tell me the sentence he says at 5:40? I can't hear what he's saying...can't make it out. Is he saying "Then you reflect the 3rd point occurs (across on) the x axis"?

  • @Alexander.s.arreola
    @Alexander.s.arreola Před 2 lety

    Thank you for this.

  • @EarthianZero
    @EarthianZero Před 4 lety

    wow. Great video and nice explanation

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

    like ready the headlines of the news and not the actual article, do not always have the time.

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

    I took College Trig so everything you said was familiar to me

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

    the final step wasn't clear. how does signing work? how is something signed and what is the maths to show that i must be in possession of the private key.

  • @lapetiteanessesoap7559

    cool
    explane

  • @crownspecialties
    @crownspecialties Před 4 lety

    How does this video relate to Bitcoin? It explains how the key is encrypted?? Also there is a back door to buying BC? If so how would that be an advantage to someone?

  • @leechild754
    @leechild754 Před 4 lety +1

    im trying to understand >> im researching into creating my own blockchain from scratch... send help

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

    IN laymans terms this is how difficult it would be to hack a private key.
    Say you had an analog coin with a 1 on one side and a 0 on the other and then flipped it 256 times . You'd have to duplicate the results of those flips exactly to hack bitcoin. ( 0110011100101000111011001010101001100101101010010011000101010101010000100101 and so on) Hence the sha-256 secure hash algorithm.

  • @mreman007
    @mreman007 Před 6 lety

    Brilliant video 👍

  • @yurivic
    @yurivic Před 5 lety +7

    Why every sentence is a question?

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

      Instead of focusing on his accent you could have listened to the actual content of the video.

  • @brandonmurphy2098
    @brandonmurphy2098 Před 6 lety

    Nice video ty learnt me somthn

  • @stl-xx5rq
    @stl-xx5rq Před rokem

    Bitcoin doesn't use RSA, it uses ECDSA. Both are asymmetric.

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

    For those who say that they will never use high school math in their lives, that's the proof. Brilliant though

  • @guregori_san
    @guregori_san Před rokem +2

    good video but, you made a mistake. you can't send bitcoin to someone address. You send bitcoin to the blockchain and you put a condition to make this bitcoin available to the first person who meet this condition. One of the condition you can make and witch is used the most is "prove me you have the private key of this adress".

  • @insidethefire6840
    @insidethefire6840 Před 4 lety

    So it the modular the private key? How many times the line has bounced around the curve? I am pretty lost.

  • @victorlus1371
    @victorlus1371 Před 6 lety

    Great math!

  • @uditanshusadual7781
    @uditanshusadual7781 Před 3 lety

    Well i dont know about crypto stuff but certainly I know the definition of tangent you have is wrong. What is the equation of tangent to y=x^3 ast x=0? Does the tangent line only 'touch' the curve at (0,0)?

  • @carlpoppa1788
    @carlpoppa1788 Před 2 lety

    Isn't it possible that whoever created sha256 also created an equation that can find the private key by plugging in the values of the public key since it follows a predictable pattern?

  • @pirexengaer
    @pirexengaer Před 3 lety

    Hi, I have a good maths background (engineering) but you lost me on the P addition and multiplication. Anyway, good video on the topic!

  • @DP-bl7nh
    @DP-bl7nh Před 5 lety +1

    nice video.

  • @turner7777
    @turner7777 Před 2 lety

    wtf my entire life i didnt get the fucking graphs and one random video i got it lol thanks

  • @samebi1170
    @samebi1170 Před 5 lety

    Sir i cannot understand the point from my book for random k values they give range 1,2,....,p-1....can u explain this

  • @abouzeed
    @abouzeed Před 4 lety

    I still cannot understand the equation of point addition, why p+q=R.. ? plz explain this point more if you please

  • @maleavitohl5419
    @maleavitohl5419 Před 4 lety

    As far as i am understanding this, this is just the generation of the keypair. But how do prove someone that you are in possesion of teh private key, without giving it away?
    With RSA you are encrypting a Hash Value with hash^private key mod N. If someone wants to check your public key, they just have to decrypt the encrypted Hash with the public key and they get the original hash value.
    How does the process work with elliptic curves?

  • @moonkin.
    @moonkin. Před 3 lety

    Really interesting! How can we just Elliptic Curve for personal use in Windows or Linux to encrypt messages/files?

  • @user-wv3vj8mb4n
    @user-wv3vj8mb4n Před 3 lety

    how about excell?

  • @Akshatgiri
    @Akshatgiri Před 3 lety

    Thanks for the explanation! To go from public key to address is sha256 used to hash the public key?

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

      It uses SHA-256 and RIPEMD160. Bitcoin address = RIPEMD160(SHA-256(public key))

  • @aion2177
    @aion2177 Před 5 lety

    I don't get why xP doesn't take 256 steps instead of 510?
    Given that
    2P (2^1) -> 1 step;
    4P (2^2) -> 2 steps;
    8P -> (2^3) -> 3 steps;
    16P (2^4) -> 4 steps...
    big number xP (2^256) -> 256 steps?
    Why 510?
    I re-watched the video like 10 times. I'm not understanding this. Can somebody explain more on this please ? I'm sorry if this is obvious. My brain is not working sometimes.

  • @tomvice
    @tomvice Před 2 lety

    Funny how youtubers sometimes nail a certain type of high level cheesy cadence, while still having an accent

  • @mrsmith3260
    @mrsmith3260 Před 3 lety

    I followed most of that -- one thing I don't get... X = xP wouldn't be any good if different x resulted in the same X... how come that doesn't happen?

  • @sgssergio
    @sgssergio Před 2 lety

    The ECC explanation in this video es awesome but when you show addreses use not valid charscter suach M, the blockchain address are 256 bits numbers in hexadecimal format, only valid character are 0...A..F..

    • @bharatmallapur2618
      @bharatmallapur2618 Před 2 lety

      The Bitcoin addresses used to use Base58 encoding on the resultant public key hash in which 'M' is a valid character

  • @alessandr0ananias
    @alessandr0ananias Před 4 lety

    Thanks - very helpful. I don't understand however how you use the private key integer in the elliptic curve, since the elliptic curve computation you mention requires a 2-integer input while the private key is just a 1-integer. Is it that you use the private key as X and assume Y as zero, or vice versa?

    • @sgssergio
      @sgssergio Před 2 lety

      The private key is a scalar natural number element not a EC's random point.

  • @jeroenplayak2433
    @jeroenplayak2433 Před 4 měsíci

    So what is P?

  • @Ksnieup
    @Ksnieup Před 2 lety

    Wow

  • @Pimp-Master
    @Pimp-Master Před 5 lety

    Everything is wrong with this video, but it’s my first intro to the elliptical curve concept.
    You’ll always have a special place in my heart.

  • @homemdoacucar
    @homemdoacucar Před 3 lety

    in X = x P, what is P then ? the message?

    • @bharatmallapur2618
      @bharatmallapur2618 Před 2 lety

      It is a standard start point defined for each particular curve such as secp256k1 curve.

  • @PirateKnO
    @PirateKnO Před 2 lety

    "Everyone likes meth right? No?!"

  • @TC-Loom
    @TC-Loom Před 6 lety +1

    Just a heads up, the square root of 26 is not 5.01

  • @monsterjaker
    @monsterjaker Před 6 lety

    I'd rather wait for McCaffe to fart in bitcoins direction that try to figure out this common core.

  • @xanh350
    @xanh350 Před 2 lety

    did Satoshi write all these information on his first report?

    • @attaramadhan3562
      @attaramadhan3562 Před 6 měsíci

      no, all programmer like this youtuber jut elaborate the source code of bitcoin to understanding of flow/process (address, transaction, mining, rewards, etc) the bitcoin

  • @hemantmallapur
    @hemantmallapur Před 2 lety

    In the thumbnail why does bitcoin have only 4 fingers instead of 5?😂

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

    Hi. Is the private key generated using ECDSA? Or only the public key is generated using ECDSA?

    • @kenerik
      @kenerik Před 5 lety

      I believe you bitcoin wallet generates a very high random prime number. Put it into the bitcoin formula, then it is hashed. The hash is now your private / secretly key.

    • @kenerik
      @kenerik Před 5 lety

      With this hash you can generate your public key. Hence it can use elliptic curve cryptography to verify that you actually signed the transaction

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

      Private key is a random integer, you can generate it in your head, or throwing dice. The public key is generated by multiplying the private key with the Generator Point (P) in X = xP

  • @typingcat
    @typingcat Před rokem

    Why 7? Is it because it is a lucky number?

  • @loveahotshower7469
    @loveahotshower7469 Před 3 lety

    i understand it enough so that i wouldnt be able to explain to my friends effectively.

  • @indocupang2598
    @indocupang2598 Před 6 lety

    tron and btc will big 2018-2019 momentum market

  • @carlowood9834
    @carlowood9834 Před 3 lety

    I stopped watching at "generate public key from private key". That is not how it works.

  • @anshumansinha450
    @anshumansinha450 Před 2 lety

    Everyone likes meth, right? No? Atleast some of us do.

  • @carlperry1671
    @carlperry1671 Před 6 lety

    👍

  • @letsbye
    @letsbye Před 3 lety

    i've lasted till 06:11..!!

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

    I hate math!

  • @tanyaderi5862
    @tanyaderi5862 Před 6 lety

    Seems complicated.

  • @sureshkumar-kx2xz
    @sureshkumar-kx2xz Před 3 lety +1

    The way he defined tangent was SO DUMB!