this post was submitted on 01 May 2025
184 points (100.0% liked)

Technology

38603 readers
477 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] hperrin@lemmy.ca 48 points 4 days ago* (last edited 4 days ago) (3 children)

By design, it’s supposed to be barely profitable, so it makes sense it would cross that boundary once in a while. Then some miners leave the network or slow their hash rate, the difficulty is adjusted automatically, and it becomes profitable again. It’s actually a pretty interesting strategy.

Ostensibly, the difficulty depends on how many miners there are on the network. More miners = more difficult. Fewer miners = less difficult. The “difficulty” is just how “lucky” you have to be to hit a successful hash on a block. The block’s hash is based on the previous block + all the transactions you include in your block + a random number you add. That random number is what you change to try to hit a successful hash. If the hash starts with a certain number of zeroes, you have a successful block you can add to the chain, and you’re rewarded with some brand new coin in your wallet (you include that in the transactions in your block). If not, you change the random number and try again. How many times you have to try again is controlled by the leading zeroes requirement. You’re competing with every other miner on the network to find a successful block first.

The amount of new coin constantly goes down as the chain gets longer, until it hits zero and mining doesn’t create new coin. Then, you would charge a fee for including someone’s transaction (a lot of miners already charge a fee). The more zeroes required at the start of the hash, the “harder” it is to mine. The network automatically adjusts how many zeroes are required to keep new blocks being added at a roughly constant rate (one block every ten minutes is the target).

All of this is enforced by the algorithm Bitcoin miners use. If a “rogue miner” submits a block that doesn’t meet these criteria, the other miners just reject the block and don’t add it to their copy of the blockchain. The consensus is what really matters, and no one entity controls a majority of miners. Each miner has their own copy of the entire blockchain, so each miner can validate any block it receives before adding it to the chain.

Fewer miners would mean blocks are being added too slowly at the current difficulty, and the network adjusts to make it easier to hit a successful hash. The network automatically adjusts difficulty every 2,016 blocks (it’s all just math, and it’s part of the Bitcoin algorithm), which is roughly every 2 weeks. So, it should in theory only be not profitable for up to two weeks.

(Please note that this is simplified to the point of being technically wrong, but in principle, that’s how it works. Technically, in a mining pool, you can still get rewarded even if you don’t hit a successful hash. You get rewarded based on the hash rate you provide to the pool, with the understanding that you won’t get the full reward when you hit a successful block. Also, it’s not really about the number of zeroes, but a “target” hash that your hash needs to be “below”. A hash might have the same number of leading zeroes, but not be below the target, so wouldn’t be successful. That’s really unlikely. In practice, this basically means more leading zeroes. If the target got high enough, it can even have no leading zeroes. That would probably require an intergalactic sized network.)

[–] humanspiral@lemmy.ca 1 points 2 days ago

Also a clue from one of the links is that "German industrial rate customers, cost is $200k/btc". Their industrial rate is $0.25/kwh, and so then their claim is based on 12c/kwh utility rates. Utility rates has pretty much always been cost prohibitive. Wholesales and behind the meter power is certainly an advantage large scale mining uses.

[–] Hirom@beehaw.org 6 points 4 days ago* (last edited 4 days ago) (2 children)

Thanks for the refresher. I'm aware of the basics, but assumed the difficulty measured by the number of zeros could only increase. Apparently difficulty can decrease, and I've read it's expected to decrease very soon to keep the system running a while longer.

Bitcoin's creator was smart enough to design a system that automatically adjust to remain profitable for several years without intervention, but not smart enough to foresee social and environmental costs.

It's a good example that illustrate why automated systems shouldn't be left running unsupervised, even if it's designed by the best minds with the best of intentions.

[–] The_Caretaker@lemm.ee 7 points 3 days ago (1 children)

There are other methods of operating a blockchain, besides proof of work, which are much more energy efficient. Think of Bitcoin being like a coal fired power-plant and some other cryptos based on proof of stake being akin to solar panels.

[–] Swedneck@discuss.tchncs.de 5 points 3 days ago

but also proof of stake is just taking off the mask and outright saying that rich people control the network

[–] locuester@lemmy.zip 2 points 3 days ago (1 children)

It's a good example that illustrate why automated systems shouldn't be left running unsupervised, even if it's designed by the best minds with the best of intentions.

The network is constantly supervised and mining is a competitive business. The network was built to adjust, and is working precisely as intended.

[–] Hirom@beehaw.org 3 points 3 days ago* (last edited 3 days ago) (1 children)

The network was built to adjust

Then why doesn't it adjust to avoid negative social and environmental effects? Probalby because it's not possible to adjust bitcoin's algorithm, only some parameters, and because miners don't have enough intensive to abandon bitcoin for something less destructive.

My understanding is it's not possible to modify nor fix bitcoin's core algorithm, which include the difficulty and consensus logic.

A hard fork is possible, which means leaving the bitcoin network and setting up an alternative (hopefully better) network with a different algorithm.

[–] locuester@lemmy.zip 2 points 3 days ago (1 children)

lol it can’t adjust on public approval. It’s software that runs. It’s valuable. If it wasn’t, people wouldn’t run it.

It can hard fork with a consensus mechanism change anytime someone writes one and people decide it’s the best path forward. Ethereum decided this and did this.

That’s not happening with Bitcoin because those that understand how it works agree it’s the best system to use.

I use Bitcoin as a store of value, and Solana for day to day stuff and financial investments like lending and liq providing. That’s my preference, for now. It’s a very fluid industry, nothing is set in stone, although Bitcoin appears to be pretty solidly the preferred secure store of value.

[–] Hirom@beehaw.org 1 points 2 days ago* (last edited 2 days ago) (1 children)

lol it can’t adjust on public approval. It’s software that runs.

It can. Software is written by people. Its authors can build it with an update mechanism.

Crypto currencies such as Tezos have a vote-based update mechanism and a community that periodically submits algorithm changes for approval.

Bitcoin doesn't have a update mechanism that allows smooth changes. Its take it or leave it (aka hard fork). Peole can move away from it, and it's sad that so many still haven't.

[–] locuester@lemmy.zip 1 points 1 day ago* (last edited 1 day ago) (1 children)

It’s the same with all the chains. An algorithm change is a breaking change. If you don’t implement it, your validating node will not continue with the rest.

Bitcoin has the BIP (Bitcoin Improvement Proposal) process. BIP-52 is an example of a proposal to change the algorithm due to energy concerns.

If the humans reach consensus it will change. However, I maintain that software can’t be programmed to adjust for social concerns - the humans have to change it.

[–] Hirom@beehaw.org 1 points 1 day ago* (last edited 1 day ago) (1 children)

Good point, with BIPs the Bitcoin community is more adaptive than I gave it credit for.

It still doesn't prevent soft nor hard fork. My understanding is that a change in Bitcoin's consensus logic require ALL users/miners to take action to deploy the new software to avoid hard forks. That's impossible in practice. So a BIP to change the consensus logic, either tweaking or replacing PoW, would necessary cause a hard fork even if it's approved.

Not all chains handle this the same way nor suffer from this. For instance, using Tezos means automatically accepting algorithm changes after they are approved. This makes hard forks much less likely.

Tezos incorporates a built-in, on-chain mechanism for proposing, selecting, testing, and activating protocol upgrades without the need to hard fork. This mechanism makes Tezos a self-amending blockchain and allows any user to propose changes to the economic protocol, which defines the possible blockchain operations and how they are processed.

Bitcoin sure have more hype and higher price, but appears to have more difficulty evolving compared to others.

[–] locuester@lemmy.zip 1 points 16 hours ago* (last edited 15 hours ago) (1 children)

Tezos would still require all nodes to upgrade to the code which contains the new algorithm. It can’t just automatically know what the new code is. It then can schedule these to activate at a certain block using a signaling system of some sort. If some nodes didn’t upgrade, this would cause a hard fork if the version they are running doesn’t have the new version required to run the new algorithm

Its behavior and process as outlined in the link you sent is no different from other chains.

Bitcoin uses version bits to perform these types of upgrades (see bip 9 implemented in 2016)

Ethereum uses something similar. Solana’s activation mechanism is called “feature gate activation”.

[–] Hirom@beehaw.org 1 points 14 hours ago (1 children)

Tezos would still require all nodes to upgrade to the code which contains the new algorithm. It can’t just automatically know what the new code is. It then can schedule these to activate at a certain block using a signaling system of some sort.

Code proposal, vote on new code activation of new code, are all Tezos on-chain operation. These operations include a hash of the new code to be deployed. There's some off-chain work happening to update tools, which I guess include compiling said code. So you're right, some off-cain action is needed for deployment https://www.tezosagora.org/learn#an-introduction-to-tezos-governance

My understanding is that compared to BTC governance, a larger part of the process happen on-chain. Also there is a relatively smaller portion of nodes (baker) involved in creating/verifying blocks that must update. This allowed various protocol changes without forks over the years.

[–] locuester@lemmy.zip 0 points 10 hours ago (1 children)

It’s no different. A new version of the consensus code needs written and deployed.

That page you linked is the same on all chains. All have a proposal, discussion, implementation, waiting period (for code to be deployed), and activation. That’s just blockchain 101

[–] Hirom@beehaw.org 1 points 8 hours ago* (last edited 2 hours ago)

same on all chains. All have a proposal, discussion, implementation, waiting period (for code to be deployed), and activation

I though most of those steps didn't occur on-chain in the case of bitcoin. But I could be mistaken.

Would you mind sharing a link with the equivalent information on bitcoin, ie its governance process and how each governance operation (proposal, vote, activation ) is handled by the chain?

I'm looking at BIP-1. It explains how to submit a proposal via mailing list and versioned repository, ie off-chain.

Also looking at BIP-9. It does rely on the chain for governance, and allow polling for the most popular soft-fork. But it focus on exclusively on testing soft forks, which severely limit its usefulness.

allowing multiple backward-compatible changes (further called "soft forks") to be deployed in parallel.

It seems BIP-9 doesn't provide a solution to propose/vote/activate the larger non-backward-compatible changes, ie doesn't help prevent hard forks. And big social and environmental issues affecting bitcoin probably require such large change.

[–] Oka@sopuli.xyz 3 points 3 days ago (1 children)

Wouldn't it be easier if a bunch of people paid a dollar every second, and one of those people was randomly selected to get every dollar submitted?

[–] FiskFisk33@startrek.website 7 points 3 days ago

it would, but the act of giving a dollar doesn't double as a way to validate transactions