Math Behind Bitcoin and Elliptic Curve Cryptography (Explained Simply)

Поділитися
Вставка
  • Опубліковано 20 чер 2024
  • Elliptic curve cryptography is the backbone behind bitcoin technology and other crypto currencies, especially when it comes to to protecting your digital assets. So in todays video we will look at the math behind elliptic curve cryptography and how it protects your private key.
    =================================================
    💰Patreon: / aimstone
    🚀Let’s connect on Steemit: steemit.com/@astakhiv92
    ===================================================
    💰Get a Coinbase Wallet! - www.coinbase.com/join/5a4bf25... Sign up!
    💰Get a Binance Wallet! - www.binance.com/?ref=21867060 Sign up!
    ===================================================
    ★ Any donation is highly appreciated.
    🔑 BTC Wallet Address: 16EtKHG2rwH2NqA4MniK4JRhzPyv5AeiER
    🔑 ETH Wallet Address: 0x1db0fa9a379e46cb205a39a0766e30d3e3d0d11e
    🔑 LTC Wallet Address: LRcmBavhskBURqmw1sujV5LS8WUPvfaNj8
    ===================================================
    ➤ Bitcoin’s Mass Adoption: • Video
    ➤ LTC Price Prediction: • Litecoin Price Predict...
    ➤ Bitcoin ETF: • Video
    ====================================================
    Thank you so much for watching!
    ====================================================

КОМЕНТАРІ • 128

  • @Kaace77
    @Kaace77 5 років тому +39

    Meth!? Oh, math...

  • @FlorianBuchner
    @FlorianBuchner 3 роки тому +15

    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 3 роки тому +28

    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 👍

  • @GreenBoiler
    @GreenBoiler 5 років тому +20

    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

  • @ronneymccarthy6448
    @ronneymccarthy6448 5 років тому +19

    I understood very little but still liked the video, lol

  • @mariojohnson4695
    @mariojohnson4695 5 років тому +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.

  • @MatthewMarcus
    @MatthewMarcus 5 років тому +22

    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 3 роки тому +1

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

  • @ozzyfromspace
    @ozzyfromspace 3 роки тому +3

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

  • @dennisbarzanoff9025
    @dennisbarzanoff9025 28 днів тому

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

  • @jeffwilken7241
    @jeffwilken7241 4 роки тому +3

    Absolutely first-rate explanation! Thank you so much.

  • @jimkhondekar5328
    @jimkhondekar5328 2 роки тому +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 28 днів тому

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

  • @SK0R092
    @SK0R092 5 років тому +4

    This is actually great

  • @Nik-dz1yc
    @Nik-dz1yc 2 роки тому

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

  • @vincentdonghia5361
    @vincentdonghia5361 3 роки тому +3

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

  • @borisbobola2360
    @borisbobola2360 5 років тому +3

    Nice video, well explained!

  • @hangoutwidfrnz
    @hangoutwidfrnz 5 років тому +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

  • @AndreyLomakin
    @AndreyLomakin 3 роки тому +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 2 роки тому +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 2 роки тому

      @@complexnumbers64 Nice point!

    • @ittayd
      @ittayd 2 роки тому

      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

  • @abubakarismail5436
    @abubakarismail5436 2 роки тому

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

  • @Dell7864
    @Dell7864 5 років тому +1

    I was not prepared for that 😶

  • @kenerik
    @kenerik 5 років тому

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

  • @MatCendana
    @MatCendana 5 років тому +3

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

  • @bernardmacarius2635
    @bernardmacarius2635 5 років тому +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 5 років тому +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

  • @glenmassey5968
    @glenmassey5968 3 роки тому +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?

  • @lakshayarora3916
    @lakshayarora3916 5 років тому +1

    Very good and easy explanation,well done!!!

  • @tinashechipomho
    @tinashechipomho 2 роки тому

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

  • @Anewghost
    @Anewghost 3 роки тому +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 👍🏻

  • @virajelix
    @virajelix 5 місяців тому +1

    You exlained it well! Thanks a lot!

  • @osirisravanz
    @osirisravanz 5 років тому +3

    Nice vídeo mate

  • @elliotchan257
    @elliotchan257 2 роки тому

    Helps a lot, thx

  • @moonkin.
    @moonkin. 3 роки тому

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

  • @rainbowfx1696
    @rainbowfx1696 4 роки тому +1

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

  • @davidbermudez7704
    @davidbermudez7704 5 років тому +1

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

  • @alessandr0ananias
    @alessandr0ananias 4 роки тому

    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 Рік тому

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

  • @insidethefire6840
    @insidethefire6840 4 роки тому

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

  • @Isaac-Ft3
    @Isaac-Ft3 Рік тому

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

  • @909sickle
    @909sickle 3 роки тому +1

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

    • @Imisambi
      @Imisambi 2 роки тому

      Yesssssssss

    • @bharatmallapur2618
      @bharatmallapur2618 Рік тому +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.

  • @phillipdane7852
    @phillipdane7852 3 роки тому +4

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

  • @gazmellen7881
    @gazmellen7881 5 років тому +5

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

  • @brandonmurphy2098
    @brandonmurphy2098 5 років тому

    Nice video ty learnt me somthn

  • @Alexander.s.arreola
    @Alexander.s.arreola 2 роки тому

    Thank you for this.

  • @Akshatgiri
    @Akshatgiri 3 роки тому

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

    • @pjak1minecraft
      @pjak1minecraft 3 роки тому +1

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

  • @samebi1170
    @samebi1170 4 роки тому

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

  • @victorlus1371
    @victorlus1371 5 років тому

    Great math!

  • @Shivam-mq7de
    @Shivam-mq7de Рік тому

    Great Explanation. Thx.

  • @whoyatoya
    @whoyatoya 5 років тому +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.

    • @kenerik
      @kenerik 5 років тому

      Not 510 times???

  • @lance3401
    @lance3401 2 місяці тому

    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.

  • @bige6560
    @bige6560 2 роки тому

    Wow this was way easier than I thought awesome

  • @bharatmallapur2618
    @bharatmallapur2618 Рік тому

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

  • @christopheveron2922
    @christopheveron2922 2 місяці тому

    Thanks man!

  • @mreman007
    @mreman007 5 років тому

    Brilliant video 👍

  • @yurivic
    @yurivic 5 років тому +7

    Why every sentence is a question?

    • @alessandr0ananias
      @alessandr0ananias 4 роки тому +3

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

  • @EarthianZero
    @EarthianZero 4 роки тому

    wow. Great video and nice explanation

  • @kennethstauffer9220
    @kennethstauffer9220 5 років тому +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
    @lapetiteanessesoap7559 10 місяців тому

    cool
    explane

  • @crownspecialties
    @crownspecialties 4 роки тому

    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?

  • @francischuks7507
    @francischuks7507 2 роки тому

    Its beautiful

  • @carlpoppa1788
    @carlpoppa1788 Рік тому

    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?

  • @CricketRodeo
    @CricketRodeo 2 роки тому

    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"?

  • @turner7777
    @turner7777 2 роки тому

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

  • @alexschneider7942
    @alexschneider7942 5 років тому +1

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

  • @leechild754
    @leechild754 4 роки тому +1

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

  • @maleavitohl5419
    @maleavitohl5419 4 роки тому

    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?

  • @DP-bl7nh
    @DP-bl7nh 5 років тому +1

    nice video.

  • @uditanshusadual7781
    @uditanshusadual7781 3 роки тому

    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)?

  • @pirexengaer
    @pirexengaer 3 роки тому

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

  • @abouzeed
    @abouzeed 4 роки тому

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

  • @maximilianocorrea3705
    @maximilianocorrea3705 5 років тому +1

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

    • @kenerik
      @kenerik 5 років тому

      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 5 років тому

      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 2 роки тому +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

  • @aion2177
    @aion2177 5 років тому

    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.

  • @carlperry1671
    @carlperry1671 5 років тому

    👍

  • @PirateKnO
    @PirateKnO 2 роки тому

    "Everyone likes meth right? No?!"

  • @SlayerFoxX
    @SlayerFoxX 3 роки тому

    my favourite youtuber

  • @mrsmith3260
    @mrsmith3260 3 роки тому

    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?

  • @Ksnieup
    @Ksnieup 2 роки тому

    Wow

  • @sgssergio
    @sgssergio Рік тому

    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 Рік тому

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

  • @monsterjaker
    @monsterjaker 5 років тому

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

  • @user-wv3vj8mb4n
    @user-wv3vj8mb4n 2 роки тому

    how about excell?

  • @jeroenplayak2433
    @jeroenplayak2433 Місяць тому

    So what is P?

  • @TC-Loom
    @TC-Loom 5 років тому +1

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

    • @raricejr
      @raricejr 5 років тому +3

      He meant 5.1

  • @loveahotshower7469
    @loveahotshower7469 3 роки тому

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

  • @stl-xx5rq
    @stl-xx5rq Рік тому

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

  • @xanh350
    @xanh350 2 роки тому

    did Satoshi write all these information on his first report?

    • @attaramadhan3562
      @attaramadhan3562 3 місяці тому

      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

  • @homemdoacucar
    @homemdoacucar 3 роки тому

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

    • @bharatmallapur2618
      @bharatmallapur2618 Рік тому

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

  • @indocupang2598
    @indocupang2598 5 років тому

    tron and btc will big 2018-2019 momentum market

  • @tomvice
    @tomvice 2 роки тому

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

  • @hemantmallapur
    @hemantmallapur 2 роки тому

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

  • @guregori_san1188
    @guregori_san1188 Рік тому +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".

  • @typingcat
    @typingcat Рік тому

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

  • @anshumansinha450
    @anshumansinha450 Рік тому

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

  • @Pimp-Master
    @Pimp-Master 5 років тому

    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.

  • @tanyaderi5862
    @tanyaderi5862 5 років тому

    Seems complicated.

  • @letsbye
    @letsbye 2 роки тому

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

  • @frankpiterson9520
    @frankpiterson9520 5 років тому +2

    I hate math!

  • @carlowood9834
    @carlowood9834 3 роки тому

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

  • @sureshkumar-kx2xz
    @sureshkumar-kx2xz 3 роки тому +1

    The way he defined tangent was SO DUMB!