It might interest you to know then that the short, digestible 8 page whitepaper on Bitcoin, which originally described the blockchain, specifically used this definition. It's the most accurate because it is what a blockchain was designed for. I recommend giving it a read and ignoring any project which doesn't follow its core tenants.
This has been repeated often.
I usually think everytime I read this: what if the price of electric power included the price of destroying the planet?
For me this looks like a market failure that proof of work is allowed to destroy the planet.
You consume a lot of electric power? Then you pay the full price of it!
Obviously if the peers work together with the goal to reach consensus based on fix rules it becames way more efficient. Only a few year after bitcoin this was already invented theoretically and shortly after build an went online 2012/13. It essentially depreciated PoW (and Bitcoin) long before all the BTC clones existed and even before ETH. People just tend to stick to "the first of something" and fight whatever comes after.
tl;dr The secret sauce of blockchain is not PoW, its a public state of a ledger that can be verified to be correct by anyone without trusting anyone simply by applying the rules of the system yourself.
Instead if you define the rules for the next block as strict as possible so it essentially eliminates a huge variety of possible blocks, participants can instead easily agree on one (the best) block (one that follows all rules and is objectionably better than all other possible blocks). There is no need to "fight" over who can add that block, agreeing is way more efficient. And Consequentially the puzzle is no longer needed.
PoS is not what I'm talking about at all. PoS just replaces the PoW puzzle with a "virtual puzzle" that acts as if higher stakes are higher hash power thus more chance to win the puzzle. Other than that its still the same "fight" over who gets to write the next block.
PoW and PoS at scale leads to more centralization over time because of the economy of scale principle. While FBA (Federated Byzantine Agreement) leads to more decentralization because its in everyones interest to increase the number of participants, they are helping the system not competing.
So you make your objective rules as to what is the best block by defining some measure of quality (maybe include the most transactions that fit in, maybe sorted by fee-per-byte or so).
Now all the good nodes agree on the next block B1 and then start working on B2 (not much work to do, because no PoW, but whatever, they build the next block B2.) Meanwhile, evil actor Eve has transferred a lot of money in B1 to Alice, and received something worthwhile. Now she makes an alternative block B1', transferring the money to her friend Bob instead of Alice, where B1' has even higher quality (higher fee, say), and quickly creates B2' and then B3'.
How is a new node coming in to decide between the chain B1->B2, and the chain B1'->B2'->B3'? The latter chain is longer and has higher quality.
A double spend would need to happen in the same block but all transaction are ordered sequentially so the second one will fail anyway as it still tries to moved funds that are already moved. The nodes just have to agree on one, it doesn't matter which one. If someone internationally tries to send the same funds to Bob an Alice he's just flipping a coin as to who will get it. Alice doesn't care and Bob doesn't care either. They only care about it being final if they see the funds in their account. And the rest of the network doesn't care that Eve is being a bit silly and wants a "decentral coin flip" to decide where the money goes.
So, when a new node comes online, and some of the existing nodes say that they've agreed on B1 and B2, and some other nodes say that they've agreed on B1' and B2', how does that new node decide which is the consensus? [0] With PoW, the decision criterion is easy: the longest chain rule (LCR) [1]. In your system, what's the rule?
[0] This is trivial with a central authority. But remember, here we have an open public blockchain, where anyone can join as a node, and they might be malicious.
[1] And as long as there are competing chains of equal length, just pick one randomly. That procedure, rather than picking the first one encountered, improves resistance to the selfish mining attack, IIRC
> the longest chain rule (LCR) [1]. In your system, what's the rule?
There is no direct equivalent to the longest chain rule because blocks are final on every chain. There is no "chain switching" possible (that would directly contradict finality). Instead the system is made so that forks dont happen. The system will produce empty blocks rather than fork if the 80% quorum can not be reached (for example if huge parts of the world are temporary discontented from each-other).
So any actual fork would need to be intentional and thus actually produce 2 immutable chains in 2 different networks with finality. Nodes wont be able to switch between these chains, the intentional fork separates the network. If a nodes wants to switch later on that is the equivalent of turning it off and starting a new one on the other chain.
BTW this is not MY system its been implemented multiple times with the oldest running since 9+ years [1]. It has never forked so this is not an actual problem in the real world. Dude to the quorum of 80% every change (in the code) goes trough an amendment process and will only ever get activated if it has 80% support. If a node is overruled it still is on the same chain. Unless the owner refuses to update in time then his node becomes incompatible with the rest and is ignored.
[1]The oldest running distributed ledger ("blockchain") that uses this system is the XRPL. You can read about its consensus mechanism on xrpl.org/intro-to-consensus.html and xrpl.org/consensus-network.html There are ofc many other projects that build upon the same principles.
Then it's not trustless is it?
Its trustless in the sense that you yourself can apply the rules and verify that each block follows the public rules. The "agreeing" is only within the rules and the rules are in the code. So you have to trust (or verify) that the code actually does implement the rules the way you want them to be.
It's not expensive. Transaction fees are just fine and getting cheaper over time.
It doesn't destroy the planet. You're thinking of the fossil-fuel industry.
But the fossil-fuel industry has had very real benefits (whether we like it our not!). It's surely debateable whether fuelling crime, scams, and what is tantamount to a massive casino is of any benefit to humanity. Especially when running it consumes more energy than Argentina [1]
Of course there are plenty of other aspects of human existence that requires energy, and therefore has an impact on our home. That doesn't give individuals who are engaged in this casino an 'out'. It is an entirely greed driven exercise right now.
Perhaps something will come along that makes blockchain and other crypto concepts viable and valuable to society, it ain't here yet though. So I don't see how anybody can justify an Argentina's worth off energy usage.
Central banking finally has a freer market and you can choose (or create) an asset with your preferred monetary policy...
Avoiding or atleast limiting exposure to global currency debasement is now a possibility when you choose the right product/chain/coin. That's a problem that costs workers around the world 100s of trillions of dollars and it's being solved.
…what? You can’t JIT your way out of the underlying machine being slow. The machine is a watch; JITs typically achieve performance by speeding up an interpreter running on the machine (in other words, taking advantage of missed performance opportunities).
This analogy doesn’t work for POW schemes, since wasting energy is the entire point. My understanding of “L2” solutions is that they’re really just pseudo-verified batching techniques, where transactions are rolled up off-chain and settled in bulk. That doesn’t “solve” PoW; it fundamentally undermines the original integrity promise.
Using more power[1] to process vastly more transactions makes it more efficient. There are over a billion credit card transactions per day as it is, and that doesn't include debit cards, wire transfers, BACS, Swift, PayPal, WU, AliPay, WeChat and all the others. And cash while we're at it, that's part of the system too.
[1]: Lets say it does, though transaction processing is only a small part of the financial industries. I don't even know how much the whole industry uses, let alone what fraction is transaction handling.
The problem isn't that proof-of-work "uses a lot of [energy]"; the problem is that proof-of-work only exists to waste energy.
"Fix[ing] our methods of generating energy" is a red herring, since proof-of-work will automatically scale to consume any difference. It's a Red Queen's Race, which cannot be won.
Bitcoin is a distributed consensus algorithm, and the way it establishes consensus is simple: pick the longest chain. Spamming dummy blocks on to an old chain will cause that consensus to switch, allowing double-spends, so Bitcoin requires PoW as an anti-spam mechanism to slow everything down by wasting energy ( https://en.wikipedia.org/wiki/Hashcash ).
I wouldn't go so far as calling blockchains "trustless", since PoW has its own vulnerabilities, e.g.
- Lottery-like incentives for mining favours centralisation, to reduce volatility. That gives mining pools a lot of control, e.g. whether to back forks or not.
- Centralised mining is vulnerable to existing power structures, e.g. those with deep pockets can purchase warehouse-sized mining rigs, can launch legal or physical attacks on the rigs of others, etc.
PoW makes it expensive to attempt a double spend. You can't practically double spend because it is too expensive to do. The high cost of PoW is what gives the network security from double spend. Therefore it is not wasted energy. It is energy spent to secure against double spends.
You could use PoS but that is centralized and vulnerable to manipulation just like fiat.
Slow depends on what you are needing the system to do. If you need to pay for groceries, then Bitcoin is slow. If you need to do remittances or settlement then Bitcoin is extremely fast - much faster to reach finality than anything else. Therefore Bitcoin is only really useful as a base layer of the financial world. But that is also extremely useful. Faster layers like Lightning can be built on top.
The traditional finance system easily does tens of thousands of times more transactions than cryptocurrencies. Visa alone does a thousand times more transactions than Bitcoin.
Cryptocurrency uses over 0.5% of the world's electricity to do less than 0.01% of the world's transactions.
So, no, your statement is wildly wrong. I have zero problem calling it a lie, because you made it up out of your head and made no attempt to justify it with facts.
Also you can transfer any amount in a single transaction, so the transaction value throughput in Bitcoin is still infinite. This makes Bitcoin useful as a secure settlement layer for other systems.
Both need to talk to each other over the network, but in the second, it's thousands of systems needing to synchronize the information.
What a stupid lie you're telling yourself to justify that "this is fine!".
That is most accurate description of blockchain I have read.
Unfortunately, the mechanism for that (Proof-of-work) is slow, expensive and planet destroying at scale. And while we may remove a trust provider third party, we aren't getting rid of centralization with blockchain anyway.