Cryptography is the art of creating mathematical assurances for who can do what with data, including but not limited to encryption of messages such that only the key-holder can read it. Cryptography lives at an intersection of math and computer science. This subreddit covers the theory and practice of modern and *strong* cryptography, and it is a technical subreddit focused on the algorithms and implementations of cryptography.
What did the first bitcoin "math problem" look like?
Hey ya'll, Not sure what to call it, but what was the first "math problem" that a computer had to solve to get a bitcoin ? EDIT: What did the first SHA-256 look like ? Would I have been solvable by hand?
So I know the Bitcoin network relies on miners solving math problems. Also these problems.get harder as computers get better. But what exactly is this Math problem and how can it get 'magically' harder?
This is completely theoretical, but it's an interesting problem (at least to me). You control a configurable miner that has a max 1TH/s miner that you will run for the next year. Your goal is to mine a chain as long as possible within one year. You must start at the genesis block. You can choose to have your miner mine at any hashrate up to 1 TH/s for each time period. You may assume that your time between blocks is consistent based on the hash rate and difficulty, and the average time to find a block. What is the length of the longest chain you can generate after 1 year?
I was reading an article from 2013 about unsolved maths problems that can be solved to make large amounts of money and came across a mention of Bitcoin in it. It's been around 7 years since it was published, but the difference in value is amazing. Source in the comments.
what math problems do computers solve to create bitcoins ?
i heard bitcoins are created by solving math problems, anyone here know what math problems are being solved for what purpose ? is the math for like scientist and others that are trying to figure out the universe and stuff?
Trace Mayer predicted BCH in 2013: "I do think that this new era of math based currencies will find whatever the problem was with Bitcoin and will patch it perhaps in a Litecoin or a Bitcoin 2.0 and will find a way to continue to serve the market needs and the market demands." @33m1s
For the newbies: You may have heard that Bitcoin works by "solving math problems", but what are the math problems?
Disclaimer: This has probably been covered before, and in more approachable language, so if this explanation is pointless duplication, let me know and I'll delete it. So the math problems in Bitcoin aren't your traditional math: your computer isn't solving algebra problems or partial differentials. They involve cryptographic hashes: you might've come across these when you download a file, where the website says "here's the file, and here's a hash you can use to verify that the file downloaded properly". So your process of verification would be:
Download -> Hash(Downloaded File) -> Is Hash The Same?
Say you downloaded a copy of Audacity for OSX, and the site says "the MD5 hash for audacity-macosx-ub-2.1.2.dmg is 535e103d9bc4a4625d71260c3a427d09 if you want to check it downloaded properly". So you download the file, head to your command prompt, and:
Hey, it's the same. Now, hashes work by taking all the numbers in the file and Doing Something to them; the simplest would, of course, be the checksum: add all the numbers together. One big problem with checksumming though: if you add 1 to a number somewhere in the file, and subtract 1 elsewhere, you get a corrupted file with the same checksum. Not ideal. So algorithms like MD5, SHA-1 and the like arose, which do more complicated things. The number that falls out of these is quite large: MD5, for example, outputs a 128-bit number (the biggest value is something like 80 quintillion quintillion) but it's not the absolute value of the number that's important, just the fact that it's the same as what the website says it should be. Aside: "But if the hash is just a huge number, why does it have those weird letters in?" It's just written in hexadecimal (base 16) instead of base 10. In your average decimal base-10 number, the digits are 0-9 and the number values go units, tens, hundreds, thousands, etc. In base 16, the digits are 0-9 then a-f (ten to fifteen), and the number values go units, sixteens, two-hundred-and-fifty-sixes, four-thousand-and-ninety-sixes, etc. Now. Bitcoin uses this same technology (it uses the SHA-256 algorithm in particular) to hash the contents of each block of transactions that comes through. It looks a little like this:
Hash of the last block -----\ | Hash of the transactions --+ SHA256 -> This block's hash in this block | (twice) | Current time ----------/
And thus the block chain gets built: "this block's hash" falls out of the above algorithm, and gets fed into the algorithm for the next block. Except SHA-256 doesn't take long to compute; a cellphone can do literally millions of these hashes per second. Here's where the genius of Bitcoin comes in: there's an artificial limit placed by the algorithm on how fast blocks can be generated, and it doesn't matter how fast your computer (or the whole network of computers) is at generating these hashes. It works by adding one thing to the above diagram:
Hash of the last block -----\ | Hash of the transactions --+ SHA256 -> This block's hash in this block | (twice) | Current time ----------+ | A number to twiddle -------/
(The technical literature actually calls it a "nonce".) I said above that the numeric value of the hash isn't important when you download a file, just the fact that it matches what the website says it should be. In Bitcoin, the numeric value of the hash is important: it needs to be less than a certain value (the "target") for the block you make to be accepted by the network. For example, (as of the time of writing) the last block had a hash of 000000000000000001ef62f299ea93356f4d52c75ff3cc442b4a073e90f947e0; look at all those zeros at the front! SHA-256 is very good at making an even distribution of its numeric value: futz with the content of what you're hashing even a tiny bit, and the number that falls out is vastly different. So, you need to do a lot of twiddling of that nonce, to find a block where the hash comes out with all those zeros at the front. In fact, you need to do so much twiddling that, on average, the entire network of computers doing this will only find one solution to the problem every ten minutes. That solution gets broadcast to the network, the other computers will plug it in as "the hash of the last block", and keep going. One more question you might have: what happens when computers suddenly get a lot faster at doing these calculations, and they can rattle their way to a solution in a minute, or 30 seconds? Bitcoin has a solution: change the target, to make it even lower. This is referred to as a "change in difficulty", and happens around every two weeks if the blocks come out every ten minutes (every 2,016 blocks). If the blocks come out faster, the difficulty changes sooner, and changes by more, to get things back on the ten-minutes-per-block track. Conversely, if computers suddenly get very slow at doing this work and blocks only come out once an hour, the difficulty will change to make life easier. (Again, it'll only change every 2,016 blocks, so it might take a while to build the chain up to that point; until then, we'd have to suffer with slow blocks.) So, I hope this was useful, and that it was accurate. It helped to clarify things in my mind, at least; let me know if it helped (and if I missed anything).
Are Bitcoin miners processing Bitcoin transactions or solving complex math problems?
So I am a bit confused on what Bitcoin mining actually is. I've heard that mining Bitcoin is essentially solving complex math problems which reward the "miner" with Bitcoins. I've also heard Bitcoin mining is the act of processing Bitcoin transactions which make up the blocks in the blockchain. So if you're mining Bitcoin are you actually processing the transactions? How does mining work on crypto coins that have little to no transactions? How can the miners still receive regular block rewards for mining if there's not enough transactions to fill a block?
Met someone who is Doctor in Mathematics who said that Bitcoin is mathematically impossible because of something called the Two Generals problem which is impossible to solve. He is really knowledgable about anything related to maths and has a Masters degree and a Ph.D in mathematics.
Why does Bitcoin use math and not something else to conduct transactions?
This is a purely theoretical question about the design of the technology (disclaimer: I do not know much about tech/engineering or anything). Why is math used to validate transactions on the network? What is the significance of the math itself? Is it just the case that math problems have universal answers and are solved in the same language worldwide (opposed to other languages like English, German, etc that not everyone speaks) and as such math makes for a good code? (If so, couldn't the designers of Bitcoin have made this code something else like problems of formal logic instead of math?) Or, is it the case that math actually does some specific function that only math can do? TLDR: is the math used to validated transactions: because (a) it is an arbitrary phenomenon that logistically works or (b) because the specific equations actually do something or (c) something else?
The largest supercomputer network in the world (by far) is solely used to mine bitcoin, which means its solving arbitrary, artificial math problems. Why can't we make the arbitrary "problems" its solving something actually useful to humans?
It's not just that Bitcoin improves over time, it's also that the national fiat legacy banking system is getting worse all the time. Trusting money to geeks with computers solving math problems may sound silly now, but it's going to look more and more attractive as the old system continues implosion
If You Solve This Math Problem, You Could Steal All the Bitcoin in the World. Ryan F. Mandelbaum. 7/02/19 5:55PM ... “P” problems are solvable in polynomial time; “NP” problems might be ... Miners – computers that solve complex math problems to uncover new bitcoins and verify previous bitcoin transactions are legitimate and accurate – would trade Bitcoin back and forth just for fun. Bitcoin’s Proof of Work algorithm is based on SHA-256. Using this, miners solve computationally difficult math problems to add blocks into the blockchain. Bitcoin blocks are added by verifying the hashes on a lottery basis. If the SHA-256 algorithm is ever broken, Bitcoin will face huge problems. The Math Behind Bitcoin Eric Rykwalder is a software engineer and one of Chain.com ’s founders. Here, he gives an overview of the mathematical foundations of the bitcoin protocol. Free GPU Bitcoin Mining Software Solution. With Bitcoin, miners use specialist software to solve math problems and are issued a certain number of bitcoins in exchange. Free GPU Bitcoin & Ethereum cloud mining. Start mine daily free BTC and ETH to earn money without hardware.
In this video I try to breakdown the "cryptographic problem" that people reference when they talk about bitcoin mining. How Bitcoin mining actually works - What is the "cryptographic puzzle"? - Duration: 14:13. Keifer Kif 78,184 views. 14:13. How to BitCoin mine using fast ASIC mining hardware - Duration: 27:15. He is the author of two books: “Mastering Bitcoin,” published by O’Reilly Media and considered the best technical guide to bitcoin; “The Internet of Money,” a book about why bitcoin matters. Bitcoins are mined using a cryptographic algorithm called SHA-256. This algorithm is simple enough to be done with pencil and paper, as I show in this video.... Hopefully, this video helps you understand Bitcoin just a little more too! Thumbs Up if you liked the video! ... The unsolved math problem which could be worth a billion dollars. - Duration: 5:59.