Author

Topic: (Dumb) question about mining (Read 139 times)

legendary
Activity: 2268
Merit: 18711
December 26, 2021, 08:29:59 AM
#7
I thought there was a reliable way for a protocol to check whether a block was found instead of broadcast, but I suppose not!
The protocol or the network doesn't check on what each individual miner is doing at any point in time. Simplified, miners simply have a list of unconfirmed transactions and the data from the most recent block, and combine those pieces of information (along with some other information such as the current difficulty target and the time (more on this below)) in to what is called a "candidate block", which will be unique for each miner. Mining that block requires them to find some combination of this information which double SHA-256 hashes to a number smaller than the current target. The only time the miner (or more accurately their associated node) then communicates with the network again is to either receive new unconfirmed transactions which they may want to try to include in their block, or to broadcast the block only once they have found a block which double hashes to a number lower than the target.

There are a number of things that miners can change to provide billions upon billions of different combinations of data in an effort to find one which meets the target. They can change the Nonce and the extraNonce fields, they can change the transactions they are including or the order in which they are included, but crucially, they can also change the timestamp. The only restrictions on the time are that it must be between the median time of the last 11 blocks, and 2 hours in to the future. So a miner can easily set a time in the future, find a block during the 5 minute mining halt you propose, and then just wait until the 5 minutes are up to broadcast it.

Merry Christmas.
And to you!
newbie
Activity: 22
Merit: 67
December 25, 2021, 06:22:41 PM
#6
The answer above are right and accurate in my opinion, but wouldn't convince me or help much if I didn't already know. 
Trying to add what seemed missing made me realize that the answer is not as obvious as it seemed to be at first glance.

Why couldn't there be a way to remove the intensive of mining half of the time?

If that was achievable, then the miner would redirect their mining power to another chain that uses the current PoW system, forfeiting the purpose.  However, that doesn't prove that such a scheme can't work or can't exist.  It means, at most, that it would not achieve the intended the result.

I think understating Proof of Work is key to understand how it doesn't make much sense to "pause" mining, just like understanding what animals crossing signs are for helps with the question about how they know where they have to cross, yet without providing an answer.

Analogy:
Mining is voting with energy.  So to make an analogy, attributing a number of vote by unit of energy is akin to using feet or meters.  Changing the unit of measurement will change the number, but the distance remains the same.  Miners will tend to mine with all the energy or power they have.

Misconception:
It may seem at first that blockchain requires mining, which has the side effect of requiring a lot of energy, but it is the other way around.

What is mining?
The purpose of mining is to impose a cost on voting.  For an anonymous vote to mean and be worth something, it must cost and prove something.  Hashing is how that it's done, i.e. we purposely uses electricity, or energy, to give value to votes.  If it didn't cost anything to vote, it would make cheating free, which would makes any votes worthless.  So hashing converts energy into a digital vote.

Each hash proves that an equivalent amount of energy was spent, and that proof is a digital representation of it, aka a vote.  We then chain them so that they pile up, so each link in the chain represent the total amount on energy accumulated in that chain from its conception up to there.

Energy is constantly flowing into the chain, and the chain is backed by the SUM of all the energy of all votes in its entire history,

It also constitute a global clock that provide timestamps.

Blockchain integration:
Integrating data (e.g. transactions) into that timestamp makes it a block, and the resulting energy chain becomes what we know as the Bitcoin blockchain.

So the blockchain contains the ledger, i.e. what we and to set in stone, and each block is one more tick of that clock that seals the latest transactions along with everything that precedes it.  It is an energy chain attesting what happened, at what time, and in which order.

The value and immutability of that blockchain come from the accumulated energy that attest its authenticity, the proof being hashes.

By rewarding honest voters, we incentivize people to spend energy to verify and votes, and the largest decentralized industry is born.

Because honest vote get rewarded, and dishonest votes are very costly, incentives enforce honesty.  The game theory is more complex, but that's the gist of it.

How can we force those voters to stop voting half of the time?
How do we stop that global timestamping machine half the time?

The limiting factors:
Alongside capital to invest in the mining hardware itself, electricity is very often the top limiting factor.

One may have the money and space to put 300x S19 Pro in their basement or in some spare bedroom in an apartment, but can they feed them the 1 Megawatt+ of power required?  I'm sure someone somewhere can find a way, but the electricity requirement is always limiting.  Does that make it unfair and "more centralized" because only those with access to a lot of electricity can mine that much?  I don't know.  Wouldn't they have at least proportionally more mining power if the limitations due to electricity were removed (partially or totally) from the equation?

The foundation of the value of Bitcoin is the electricity it uses, even though all the technology on top of it is required to make it what is is.  The amount of energy itself is the driving factor.  How much mining, how may hashes, etc. are irrelevant, because miners will typically push their capacity to the power they have available.

Comparison with Proof-of-Stake:
If the goal was to do things efficiently, we could pay the cost of centralization.  Proof-of-stake is just a bit in between.  Whoever owns some stake (e.g. token) has a proportional voting power and have no externality.  Stake holders can keep voting in perpetuity without incurring further cost.

If one person buys enough votes, he becomes the king and we are back to what is essentially a centralized system.

In PoS, bootstrapping it requires some method other method of distribution, because there must be some stake before any voting can even happens.

Rewriting the chain is trivial with enough stake or collusion.

In Proof-of-Work, miners buy hardware, which has an upfront cost and maintenance cost, but most importantly running cost.  The hardware is NOT a vote, and does NOT vote either.  It merely converts energy into votes.  As soon as the energy stops flowing, the voting halts.

No bootstraping is required.
legendary
Activity: 1162
Merit: 2025
Leading Crypto Sports Betting & Casino Platform
December 25, 2021, 05:41:21 PM
#5
-snip-

-snip-

-snip-


Thank you for your replies and opinions on this matter, I thought there was a reliable way for a protocol to check whether a block was found instead of broadcast, but I suppose not! I am just overthinking at this point.

Merry Christmas.
legendary
Activity: 2268
Merit: 18711
December 25, 2021, 11:33:54 AM
#4
Yeah, miners aren't going to voluntarily power down their hardware for 50% of the time. That would be a waste of money. Instead they will continue to mine and just not broadcast the block they find until the 5 minute hold is up.

As webtricks alluded to, the problem here is that you will frequently have the case where more than 1 miner has found a valid block within those 5 minutes, and then both blocks are broadcasted after those 5 minutes are up. Once the next valid block is found, the losing block(s) are discarded, resulting in a huge amount of additional wasted resources, which would make your proposal likely less energy efficient rather than more.

Essentially, at the moment whenever a block is found, within seconds every miner is working on the next block. With your proposal, miners will keep mining during the halt time but now whenever a block is found it could be up to 5 minutes before every miner is working on the next block, resulting in the majority of the network continuing to mine an old block for no reason.
legendary
Activity: 1918
Merit: 1728
December 25, 2021, 11:22:38 AM
#3
Loyce's answer above it bit ambiguous so I will clear the things:

Nope, that won't work.

A miner only needs the hash of previous block to start mining the next. So, irrespective of halt time, miner can start mining the next one as soon as the current block is mined. Halt time won't have any impact on the network difficulty or target. The miner can still very much find the hash during the halt time and then broadcast it to the network after the half time is over.

The only difference this mechanism gonna make is that we won't see two simultaneous blocks getting mined within 5 minutes. On the negative side, we will see the fork happening on the regular basis.
hero member
Activity: 1659
Merit: 687
LoyceV on the road. Or couch.
December 25, 2021, 12:53:33 AM
#2
As long as the profit per block is high, miners will just buy more hardware if they spend less on electricity.
legendary
Activity: 1162
Merit: 2025
Leading Crypto Sports Betting & Casino Platform
December 25, 2021, 12:11:09 AM
#1
Merry Christmas. I hope you are having a lovely night/day with your love ones as you read my thread.
Firstly: I am not a miner, I am not a developer and I barely can code, I am an ignorant Sheep with no deep technical knowledge, that's why I want to ask this here, so I won't make a fool of myself on Technical Discussion.

___________________________________________________________________

Is it possible to apply changes onto a PoW crypto-currency protocol, let us say Bitcoin, Litecoin, etc. In order to make mining less energy taxing?

Allow me to explain myself: For example, we all know that Bitcoin has an average block-time of 10 mins, during those minutes the miners compete to find the magical hash with the amount of zeroes needed to be able to validate transactions, get their reward and the protocol adjust the difficulty (amounts of the zeroes of the hash) automatically so the average time stays around 10 mins regardless the hashrate.

So, what if instead miners spent those 10 minutes between blocks running their machines to find the hash, there was a way for the protocol to "block" or invalidate any hash found during the first let us say 5 mins since the last "accepted" block.

If combined with a decrease of mining difficulty to reach a 5 mins average block time after the "halt time", in theory the "total average block time" should stay untouched, around 10 mins.

I am also assuming the miners would have an easy way to put into rest their machines during the first 5 mins automatically, before starting again, thought this might be a problem because of electronical wear. I am not sure.

I am obviously idealizing many things, mainly because my ignorance in this matter, but in this ideal theory a protocol would decrease up to 50% its energy requirements.

Now it is your turn to tell me why this would not work, the things I have not considered, the few pros, the many cons.

I want your opinion on this weird thing I thought about.

I drew this for better understandting of the idea:



Jump to: