ironically this seemingly would actually bolster the argument against Proof of Work, but its probably more convenient that people are easily swayed towards inaccurate arguments
I don't think it seems so great though...
The purpose of requiring energy to operate the network is to have something at stake when enforcing rules of the system. You could have unlimited or even arbitrary inflation of the currency while still requiring proof of work.
Hence, the rule that is being enforced by PoW here is that sending to a "wrong" address is not reversible.
This is like saying because shoes happen to be worth money (sneakers/trainers) and because people happen to speculate on the price of shoes that the future of money is shoes.
Bitcoin claims to be currency, Ether (used to pay for execution fees on Ethereum) does not.
I'm not very well versed in this stuff, but surely the tokens he sent are somewhere right.
Like if you sent $500k to a bank but put the wrong account number in, the $500k would still go _somewhere_. It might be difficult to recover, but it's not like the money just disappears.
Hopefully this isn't the person's life savings.
The only way to ever fix this is to rewrite the history of the blockchain which means forking the entire ETH currency by getting all mining/record nodes to agree to it.
Long story short: Virtually unrecoverable without large coordination from the entire ETH community.
In order to select these judges, the community can elect them directly or elect a board or leaders to select them indirectly.
Of course these corrections would require gas, so they may need to add a small additional gas charge to transactions to fund this group and perhaps also their salaries. We can call this extra gas a "tax".
In summary: Stand up an entire government around ETH in order to ensure the benefit of judges and humans can override code. Once you do this though, you have a central ruling authority with an in-code constitution, but parts that take place in a human judgement realm.
I set this up partially in jest of blockchain currencies in general, but I do actually say this seriously. I think that purists of decentralized code only control will hold back any possible benefits that cryptocurrency could bring. The situation above still has benefits from a monetary fiat system run by a nation state, though I think severely less than what the cryptocurrency ideal is. Some include:
- There is no nation state attached to this centralized ruling body and itself can be decentralized and beholden to no nation
- All transactions and reasons of the body can still be public and on open API's for people to integrate and monitor with modern tech
- The loose "untraceable" or general "freedom" arguments that come with a blockchain would still hold so long as the community with these tenants maintains control of the board / judges / leaders.
A banking-grade currency would have reversed the WETH transactions and prohibited new ones. Ethereum has refused so far to do so, even though it’s in their power to hard fork. Whether or not you view them as a currency, that’s not the sort of behavior that engenders a perception of financial trust and safety in their work.
Lets imagine, hypothetically, that some mafia boss, big company, users would create a lobby, the "platform of people affected by Ethereum" that would lobby to force a fork for a fee. Lets say 50% percentage of your lost money if we are successful, that is still much better deal than having no money at all. And then would use some tool to convince/coerce/bully everybody to restore it or just would mess with the process to force it. Would be this possible or a probable outcome after enough amount of time has passed?
Thst said, the network is a group of machines all agreeing together on what is the correct behaviour, and that can change, so while it is not impossible forever — Ethereum might release a new feature that allows people to reclaim tokens in this circumstance — it is impossible unless the majority of the network agrees (see: The DAO hack and the corresponding fork to recover funds).
it sounds to me like the fix would be create a new map that maps account ID -> tokens, where account ID = the "sender" account where the tokens came from, and do the migration to move these 'orphaned' tokens into the right buckets.
admittedly I guess that would break everything/trust if someone can just rewrite the code to say who has what tokens!
Additionally, apparently contracts may rely upon one another, and a bunch of the contacts that utilize this WETH token depend upon the existing contract. All of these (and their dependents, recursively) would also need to be updated.
I.e. the money is gone unless there is a large concerted effort, but no one should reasonably expect this.
A defining feature of "smart contracts" is that the code is immutable once deployed, and can never be upgraded or bug-fixed.
But yeah you're definitely right about the nature of the contracts being immutable, unless that immutable code contains some setter that delegates the function calls to some other contract.
ERC-721 (NFTs) actually has a nice way of dealing with sending NFTs to an incorrect address by checking if it implements a special interface if the recipient is a smart contract. But any measures come at the cost of extra gas so they are usually avoided.
It's been quite a long time since I have been playing with smart contracts and I don't actually remember what happens when a smart contract is created.
There would seem to be disincentives to prioritising fixing problems like this that affect unimportant people.
It strikes me as valuable to the crypto world that the mainstream media criticism of cryptofinance is that it is environmentally unfriendly. That is almost a distraction from the fact that it is antisocial and nihilistic.
Yeah, that's what we call "disappeared" in English.
Imagine you ran a private currency called Mate Dollars (M$) for you and your mates to exchange with each other "off grid". You decide to introduce the concept of loans. A transaction which lends 1000M$ to MateA would look like this (in ledger[0] format):
2022-01-30 Loan to Mate A
Accounts:MateA 1000.00M$
Liabilities:MateA -1000.00M$
This a perfectly valid transaction. It sums to zero. Now Mate A can "spend" this money, maybe he buys some goods from Mate B: 2022-02-01 Goods
Accounts:MateA -500.00M$
Accounts:MateB 500.00M$
Now Mate A and Mate B both have 500 Mate Dollars.Eventually Mate A will have to pay back his loan because the bank (you) will charge interest on any current liability:
2022-02-30 Loan repayment
Accounts:MateA -1000.00M$
Liabilities:MateA 1000.00M$
Now he's paid back the loan.Now from inside the system, nothing was ever created or destroyed. But from outside the system (ie. the real world) it looks like money was "created" at "Loan to Mate A" and destroyed at "Loan repayment". From Mate B's point of view, Mate A always had that money. He doesn't know anything about the bank loan.
Between those two transactions, 1000 Mate Dollars existed, but it was just a ghost in the machine.
Replace "you" with Barclays Bank, "Mate Dollars" with Pounds Sterling and "you and your mates" with the public above and you now understand how "real" currency works. 97% of money we use is just a ghost in the machine between a bank creating it via a loan and the borrower paying it back.
So, you see, money appearing and disappearing from thin air is not a feature of crypto at all. It's just an illusion. It's what it looks like to anyone outside of the ledger (ie. everyone except the bank).
The ETH transaction is the equivalent of you (the banker) making a promise to Mate A to keep his money in an account that can never be accessed by anyone, including him:
2022-01-30 Silly transaction
Accounts:MateA -1000.00M$
Dungeon:MateA 1000.00M$
The account "Dungeon:MateA" will now always have a positive balance for as long as you keep your promise.Unlike you, the Ethereum blockchain is incapable of ever breaking this promise.
So in your example Dungeon:MateA is a balance for the other side of the transaction - it does exist, there's a record of it. The money/tokens/matebucks have not "disappeared", but the mechanics of the "promise" means that nothing/no-one can do this operation
2022-01-30 Silly transaction
Dungeon:MateA -1000.00M$
Account:MateA 1000.00M$My main point with this is this is how the current money system works! People seem to think money can disappear in crypto but not in the real system. In fact it's quite the opposite. In both systems from the ledger's point of view nothing can appear or disappear. But in the current system, since the ledgers are controlled by private entities they can make stuff appear from the public point of view by creating loans. In crypto the ledger is not controlled by anyone.
Essentially the big problem with finance currently is the people who control the ledger are also allowed to create loans inside the ledger! It's a huge conflict of interest and obscenely privileged position.
But this ship has sailed for ethereum!
As I've said in the past, money is a technology, and this kind of override mechanism is built into the design of conventional money, but not into the design of crypto.