﻿ The History of Bitcoin Investing US News

# The History of Bitcoin Investing US News

• The History of Bitcoin Investing US News
• If You Solve This Math Problem, You Could Steal All the ...
• cryptography - Which hard mathematical problems do you ...
• The Math Behind Bitcoin - CoinDesk
• Bitcoin's Mathematical Problem Programster's Blog
##### Cryptography news and discussions

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?

##### What is Bitcoins math problem? ELI5 request

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?

##### Bitcoin math problem

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?

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

##### 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? `
`\$ md5 audacity-macosx-ub-2.1.2.dmg MD5 (audacity-macosx-ub-2.1.2.dmg) = 535e103d9bc4a4625d71260c3a427d09 `
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?

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