However, they can be manipulated at will by a centralized authority.
Now, if you want no one being able to manipulate it, you have Ethereum.
I mean, if that's a fundamental point to be made, shouldn't you be able to purchase a machine stronger than a Raspberry Pi and take over the Ethereum marketcap? Maybe you can charge less for gas and win marketshare that way. After all, people are paying for the Raspberry Pi processing power... right?
But does't such limitations fundamentally question the global ambitions of Etherium? Could you really run a global digital economy with such limitations?
To me it seems an apt analogy about the capacity of Etherium, assuming it is correct?
It also invokes the corollary that this virtual computer weaker than a Raspberry Pi is the most efficient computer processor on a realized dollar basis: what other computing system with less processing power than a Raspberry Pi is settling $10 billion dollars of finance per day?
Its too bad people can't _write_ code safely with these adversaries without getting constantly rekt.
You will run into problems though (and Ethereum has had way more than a fair share of these) if people fuck up their code so that others can exploit the code with behavior that was not supposed to happen.
In the real world, you and the counterparty would meet with your lawyers at a courthouse and have a good chance of winning if your claim is solid. In the cryptocoin world, there are no such entities by design, and every error you make cannot ever be recovered.
I am not even sure how it looks like but there are people smarter than me in the world.
It’s humans trying to pass off yet another unfalsifiable (to the masses who lack resources to vet its logic) system of distribution of information, and avoid accounting for “bugs” that don’t effect them.
Why is that? Because that’s all humans are capable of. We don’t literally repeat history but we have often repeated rewriting flawed social constructs with new flawed social constructs.
Just because the math fits neatly in a book does not mean it’s fits neatly into human agency.
[0]: https://www.techspot.com/news/91937-bitcoin-largely-controll... [1]: https://news.ycombinator.com/item?id=29008910
But really it's the pools who would decide and as long as they don't control 51% of the network hashrate they can't dictate.
Also the miners can just take their ball and go home, and they already have see: Ethereum Classic
edit: [1] https://etherchain.org/miner
However, the move to PoS will probably change this, as a valid block containing a "banned" transaction can't be easily disputed even by a majority, as long as the block is correct. The only way to try to fight it is to burn lots of ETH, meaning any pool that engages in such behavior becomes weaker.
(Again, please correct me if I am wrong).
Proposed blocks must conform to the rules. If not, bad faith actors can get their stake slashed by anyone else. Anyone doing anything outside that framework is not following consensus. Whatever they are doing, is not Ethereum. I'm not fully up to date on what could happen if part of the stakers keep on doing that, but I think that the result of that kind of contested fork would be that each part would be able to slash the funds of the opposing part in their own consensus. In short, it results in a split, with the good faith actors in one side. After that split, the good faith actors would now control 100% of the staked funds.
Btw, you're absolutely right on your last sentence. Consensus was and is always a social contract between humans. The protocol is just a neat way to distribute it.
Edit: BTW, isn't this what stealing a token would be?
> overpowering and replacing some of the blocks at the top of the chain.
Regarding "stealing a token": remember that even in the case a block gets replaced by another, both have to be valid blocks, containing valid transactions. This is why the most famous attack is a just a "double spend attack" and not any kind of money steal. Problems with tokens, that is, transactions that run arbitrary code, happen due to bugs in such code, not because of fundamental issues with the protocol.
Transactions are signed using public key cryptography. A miner can't modify a transaction present in the pool or make it up. Transactions need to be correct in order to be part of blocks.
This is the bit I don't understand. A block is a set of transaction information which is chosen by the miner/staker. What's stopping them from just making it up? It will still be a valid transaction.
Think of it more like the patent system. A patent is just a publicly available description of your invention. You could write it up yourself and publish it to a website for $5 / mo, so why would you pay the >$10k it costs to work with a lawyer and file a patent?
It's not the description of the invention itself you're paying for, but the rights you get that make it worth it to file a patent.
In Ethereum, the "lawyers" and "patent examiners" are the other nodes in the network and the miners which enforce that the smart contract code ran as it was suppose to and can't be undone.