Author

Topic: How does bitcoin work? (mathematical prespective) (Read 1520 times)

legendary
Activity: 2310
Merit: 1422
interesting thread, welcome roger. I'm no math expert but I found Andreas Antonopoulos' book Mastering Bitcoin - Unlockin Digital Cryptocurrencies very helpful.
https://www.bitcoinbook.info/
 Wink


sr. member
Activity: 285
Merit: 251
I read this book and I found it incredible interesting to read and learn how bitcoin works:

https://freedom-to-tinker.com/blog/randomwalker/the-princeton-bitcoin-textbook-is-now-freely-available/
newbie
Activity: 26
Merit: 3
I would add - familiarise yourself with Adam Back's proof of work scheme, hashcash.

I still find it incredible that someone can produce a small block of data and a number and then by using that information alone they can prove to you that they had access to a year's supply of supercomputing resources.
sr. member
Activity: 261
Merit: 523
This is an excellent resource for developers / programmers. https://bitcoin.org/en/developer-guide
legendary
Activity: 996
Merit: 1013

SHA256(SHA256(blockheader)): To mine a bitcoin block


Sha256d is also used in constructing merkle tree of transactions.

hashA = SHA256(SHA256(transactionA))
hashB = SHA256(SHA256(transactionB))
hashAB = SHA256(SHA256(hashA,hashB))

These equations describe individual nut and bolts in the system so to speak..
But is there any formalism that can describe how the network
arrives at consensus?
newbie
Activity: 2
Merit: 0
Hey I am kindy new to all of this about bitcoins, cryptology and programming but I´m researching how bitcoins work through more of a math view about all the mathematical algorithims and equations used. I know about ECDSA in digital signatures and have some idea of how bitcoin mining works, so can somebody help me know about what is used for bitcoins and how.

  • Elliptical Curve point multiplication: To generate a public key from a private key
  • ECDSA digital signature: To prove authorization to transfer control of funds
  • RIPEMD160 and SHA256: To generate a public key hash from a public key
  • base10 to base58 conversion: To generate a bitcoin address from a public key hash
  • SHA256(SHA256(blockheader)): To mine a bitcoin block
  • Algebraic addition, subtraction, multiplication, division, and comparison: To calculate balances from the list of unspent transaction outputs, increment nonce, calculate block reward, etc.

and I'm not sure, but I think...

  • AES256: To encrypt private keys in the Bitcoin Core wallet


That's about it from a high level.  Obviously this is all just a computer program, which means that almost everything is a set of machine code telling the computer which binary values to compare, copy, increment, decrement, or any of the other instructions available in the processor, but I doubt that's what you're talking about. I think there are also some checksums and parity calculations in the network communications protocol, but I doubt you're asking about that either.


Thanks man this actually helped me.
legendary
Activity: 3528
Merit: 4945
Hey I am kindy new to all of this about bitcoins, cryptology and programming but I´m researching how bitcoins work through more of a math view about all the mathematical algorithims and equations used. I know about ECDSA in digital signatures and have some idea of how bitcoin mining works, so can somebody help me know about what is used for bitcoins and how.

  • Elliptical Curve point multiplication: To generate a public key from a private key
  • ECDSA digital signature: To prove authorization to transfer control of funds
  • RIPEMD160 and SHA256: To generate a public key hash from a public key
  • base10 to base58 conversion: To generate a bitcoin address from a public key hash
  • SHA256(SHA256(blockheader)): To mine a bitcoin block
  • Algebraic addition, subtraction, multiplication, division, and comparison: To calculate balances from the list of unspent transaction outputs, increment nonce, calculate block reward, etc.

and I'm not sure, but I think...

  • AES256: To encrypt private keys in the Bitcoin Core wallet

That's about it from a high level.  Obviously this is all just a computer program, which means that almost everything is a set of machine code telling the computer which binary values to compare, copy, increment, decrement, or any of the other instructions available in the processor, but I doubt that's what you're talking about. I think there are also some checksums and parity calculations in the network communications protocol, but I doubt you're asking about that either.
newbie
Activity: 2
Merit: 0
Hey I am kindy new to all of this about bitcoins, cryptology and programming but I´m researching how bitcoins work through more of a math view about all the mathematical algorithims and equations used. I know about ECDSA in digital signatures and have some idea of how bitcoin mining works, so can somebody help me know about what is used for bitcoins and how.
Jump to: