I feel like this is a rudimentary question so late into this thread, but what prevents the entire process from being hacked; i.e. someone figures out a way to change the information specific to each Bitcoin such that they are essentially stolen? Are the blockchain technology or distributed ledger concept supposed to be hack-proof?
If you faked a ledger showing that you owned Bitcoins, you’d have to get the rest of the world to accept yours as the correct one. I’m not a BTC expert, but as I understand it, the preponderance of the agreed-upon ledgers wins out.
What do you mean by “hacking the process”? It’s not like bitcoins are all stored on one computer, and so if you can take over control of that one computer, you can edit all of the numbers.
You could, in principle, hack an individual coin by brute-force converting the public key into a private key. But that’s a very difficult math problem, and nobody knows any way to make it solvable in practical terms using any computer that exists. It’d be many orders of magnitude easier to use your computing power to just mine your own new bitcoins. Or sell that computing power to anyone who wanted to use it for any of the myriad practical uses that computing power is used for.
Close–it’s the preponderance of the computing power in the network. Creating a new ledger entry (a block) is explicitly designed to be computationally hard. For someone to fake an entry, they’d have to come up with it first, which means they’d need more compute power than the rest of the network combined.
You’d have to rehash all the transactions since wherever you wanted to “fork” the blockchain. You’d have to do that by yourself. You’re essentially suggesting you can mine dozens or hundreds of blocks faster than everyone else put together can mine just one. The whole point is this is computationally impossible. You’d need to be a nation-state to even attempt such a thing, let alone succeed.
Thanks. So do Etherium, Dogecoin, Bitcoin Cash, etc. work the same way? Are they all also mined using computer power?
Also, I’m I don’t understand the idea of a “difficult” math problem that would require a huge amount of computer power to solve. Wouldn’t you need the same amount of computing resources just to devise this problem?
I’d love a link to a soup-to-nuts description if anyone knows of one.
Yes, there are a lot of Bitcoin copycats, to a greater or lesser degree, for some reason.
Not really, though this raises some important questions of complexity theory. eg bitcoin uses a cryptographic hash function which, by design, “scrambles” an input in a way which is easy to compute but difficult to invert. See
Bitcoin does not use prime numbers as the math problem, but as an analogy think about if you were in class and the teacher asked everyone to find 4 prime numbers between 1 and 100 which when added together have a 0 as the last digit. It would take you some work to find some sample prime numbers in that range and add them together in different ways until you found a combination which worked, like 3+ 37+ 43 +47 = 130. The first person to solve the equation gets a coin. Then the teacher could make it harder by saying the answer had to have more zeros at the end (X00) and be larger prime numbers that are harder to figure out (between 1000000 and 1001000). Although the problem is simple to understand, it can be made arbitrarily harder by requiring more zeros in the solution and having the set of prime numbers come from a harder range to solve for. As long as the coins are valuable enough, people will keep trying to find the harder solutions to the “simple” math problem. Bitcoin uses something called hashing where it’s simple to compute from starting values but virtually impossible to work out backwards. The Bitcoin mining computers have to keep hashing random values until they happen across a solution which has the right number of zeros at the end. At the beginning of the blockchain the solution was simple (X0), but as time goes on the miners have to find solutions with more zeros at the end (X00000000) and it gets harder to win the coin.
Just to summarize, it might be easy to assume that verifying a solution to a math problem is just as hard as solving it in the first place. But for many problems that is absolutely not true. It can take years to find a solution, but once you have a solution, you can sometimes just plug it into an equation and verify that it is correct in seconds.
Bitcoin mining depends on this assymmetry.
Thank you for the last 2 posts. That was the mental barrier that I couldn’t get past when trying to understand this.
In general, there are massive classes of problems that are provably very difficult to find an answer to but relatively simple to verify whether a proposed answer is valid.
A classic example of such a problem is the traveling salesman problem. Given a map of cities and paths between them (with distance), the problem is to find a route that reaches all the cities and has a length less than some threshold X. Finding such a path (or proving that no such path exists) potentially requires a brute-force search of all possible paths. But if someone gives you a list and says “here’s a path”, it’s pretty easy to verify that (1) it actually reaches all the cities and (2) the total length is less than X.
Currently, yes, although Etherium is in the middle of a multi-year plan to switch from the current mining scheme (proof of work) to something called proof of stake, where rather than churning away with cpu cycles, there’s a distributed consensus process where holders of Etherium essentially put up a bond of Etherium to participate in the process and they can lose it if they try any funny business. I have read some of the white papers and my take is that it’s absurdly complex. Beyond my ability to analyze effectively. But if it works it will greatly reduce energy usage and possibly provide a framework that other cryptocurrencies could follow.
Not having read that paper— if it is “absurdly complex”, is there at least a formal computer-verified proof that it works the way it is supposed to?
Also, something seems wrong: the Bitcoin idea was to entice you to participate in the network by giving you (probabilistically) Bitcoins for doing so. That is where bitcoins come from to start. You now say that I need to “put up a bond of Etherium” to participate? Where did I get that Etherium? Plus, you need to be paying me to join my server to the network (or it should at least be free), not the other way around.
I don’t know if there’s a proof. Based on my understanding of the limits of computer proofs, I expect that there is not. They might be able to formally verify that the code they ship behaves as specified, but that’s not sufficient, because of course a bad actor might not use the core code.
Presumably you either mined it prior to proof of work or you bought it from someone else.
There are still mining rewards in proof of stake, given to those who participate in the process. But instead of spending money on GPUs and electricity to participate, you will have to stake something of value to participate. In very broad terms, the idea is that for a network of bad actors to tank the process, they’d have to have a lot of Etherium at risk, which would mean they’d tank the value of their own massive holdings.
If you want to read more: The Beacon Chain | ethereum.org
Obviously a sufficient proof would not only prove that the core code behaves as specified, but that the entire network behaves as specified even in the presence of bad actors (and netsplits, etc) as long as the number of good actors remains above some critical percentage.
It does not sound like this network is targeted towards the casual user who wants to run a node for fun (and, by doing so, help secure the network) and possibly be able to buy stuff online without a credit card, or send $5 to tip someone, all without incurring any transaction fees.
One old-school simple solution to “where do the X come from” was not to try to create a new currency, but you would give, e.g., $100 to a bank, and in return get $100 worth of e-cash. (Note that the bank now has $100, and there are no problems with exchange rates or anything complicated.) Conversely, people would send their coins to the bank, which validates them and deposits $$ into their bank account.
I’m trying to imagine what it costs to mine a bitcoin. Obviously there is the cost of the electricity during the time it takes to make the calculation but doesn’t it require specialized hardware at this point? So how profitable is it?
According to this estimate the current cost is around $13k in electricity and hardware cost as of January 23, 2021.
The difficulty has increased from 20.8 to 25 since then, a roughly 25% increase. If you assume that electricity and hardware costs increase linearly with difficulty (no idea how reasonable an assumption this is, but it’s not totally bonkers) then It’d be about $17k today.
So: extremely profitable!
I think you can still join a pool to do something similar. Stake your 0.002ETH and have a ball.
Here is an interesting story about generating bit coins. A company uses their own power station to run the computers and it is using so much power it is heating up one of the Finger Lakes.