I know a lot of very smart people are working on this, but i'd rather have something conceptually simpler to work as the base layer for a whole new economy.
Conceptually banks and exchanges solved the consensus problem decades ago and they did it with a highly secured simple database and lots of crosschecks.
But if you trust nobody (except some developers somehwere) then things get tricky
Well then, that's not at all solving the same consensus problem that crypto solves.
The consensus (of who owns what and how did that happen) is whatever the banking says it is at the moment. This works because society places a lot of trust in the actors and the checks and regulations surrounding them (e.g. liability regimes) as well as the ways to rectify mistakes (through the legal system).
Crypto adds the additional requirement that every participant of the system (even end users) can independently come up with the same state without a single entity being the arbitrator of truth. The tradeoff is added technical complexity and inefficiency (storage and computation)
Crypto requires consensus amongs millions of untrusted and possibly malicious parties i.e., no trust, all cryptography.
Both require cryptography to work (eg: online banking transaction vis-a-vis crypto currency transfer). But the former is well-known (Public Key Encryption and Symmetric Encryption) client and server with established trust relationships that can be cryptographically verified whereas the latter is a distributed system with untrusted nodes and has different dynamics.
The other issue is about correctness. If there is an error (system or human) in the banking system, there are compensatory transactions/procedures possible. Crypto has not evolved yet to accommodate these real world issues. It is also not proven that the crypto protocols are 100% correct. Therein lies the rub. The banking system is also not 100% correct, but has procedures to address the failures (complaint system, appeals, courts etc.,) but with crypto, there is no way to address the failure cases (hacks, lost wallets, corrupted drives, 51% attacks etc.,)
And, on the contrary, SWIFT was hacked not so long ago: https://en.wikipedia.org/wiki/2015%E2%80%932016_SWIFT_bankin...
But the main issue in provable security is that you're trying to prove real world things with math, and so far we're quite bad at it. The more mathematical the thing you want to prove is, the better.
Edit: if you want to see how that can happen, I like to take apart weak cryptocurrencies and show what's wrong with them. Someone paid me to do a public review of a thing called Stratis a while back, and I went to town. Here's a highlight. https://twitter.com/PLT_cheater/status/1235036182284820481
I still accept commissions doing code review. It's just too much fun.
Yes the cryptography primitives should act like black boxes, no need to peak inside but when a number of these black boxes are used together to form a high level protocol allot of subtle things can go wrong for example see the history of SSL/TLS https://www.feistyduck.com/ssl-tls-and-pki-history/
The one nice thing about crypto is that if there are bugs, the incentive to exploit them is large, they will get found quickly.
How the problem is dealt with after the fact (e.g. ETH Classic hard fork) i.e. the governance model is the real interesting part.
You're always at the mercy of a hard fork that "fixes" the bug after the exploit.
This is what the Ethereum classic fork was about.
A malicious supermajority cannot break the rules your client enforces, because your client will reject it.
Think of it as everyone running ethereum has a bunch of asserts() each block or communication it receives.
who cares?
As far as I can tell, a majority that wants to block a vote can do so freely and the only resolution is a fork where people just assume that the honest fork will win out.
I also think it's not a majority but actually just a little more than a third to block a vote for eth
What mechanism is deciding who pays inactivity leaks?
It says that if a minority stop attesting then they will leak until eventually the attestors get to a supermajority. That makes sense.
It also says that, if a dishonest minority start a soft fork, the fact that they stop attesting on the honest fork means that they eventually leak out until the honest fork gets a supermajority.
That implies that, unless some mechanism has decided which is the honest fork, then all attestors will leak assuming that they aren't trying to attest to both blocks (which is illegal). But if all attestors are leaking then that supermajority won't occur will it?
So something must be deciding which is honest. But it can't be using number of attestors/deniers because of USAF ie where the honest fork is the less attested one.
So how does that work? How is honesty determined given that both forks are legal wrt rules and failed attestation is penalised but cannot be shown to be malicious (according to the doc).
Also, as an aside, how are leaks actually transacted? They can't be using the main transaction or none of the above would work. Is there some sort of shadow transaction system for staked ETH? If so, what mechanism decides the validity of the leak transactions?
Very interesting mechanism. Clearly a lot of thought has been put into it.
If that's the case, the article is correct in saying that a minority honest fork will finalise as would an honest supermajority fork. What it didn't mention is that the respective dishonest forks would too. If I've understood correctly.
Not really sure I get why this is a good thing.
>3. PoS (Ethereum, soon™)
Edit: Actually not sure if you are talking about Point of Sale, Place of Service, Piece of $#!7, or something else. Case in point: context matters.