6 ms·
I find the complexity of that algorithm both impressive ( since they seem to have made it work), but also quite worrying. I'm really not sure how such a beast c
by bsaul 4y ago
I find the complexity of that algorithm both impressive ( since they seem to have made it work), but also quite worrying. I'm really not sure how such a beast can't be filled with bugs, not in the implementation but rather in the protocol.
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.
- thrown_22 4y ago
- Hendrikto 4y agoMaking PoS scale to hundreds of thousands of nodes with commodity hardware is not simple though. Few projects managed so far, and Ethereum wasn‘t designed for it from the outset, so it‘s even more difficult.
- preseinger 4y agoBut of course no system can scale to O(100k) nodes and retain reasonable availability and consistency properties.
- valzam 4y agoOf course they aren't really scaling to hundreds of thousands of nodes. At any given time only 120 nodes are involved in consensus.
- arlcode 4y agoCryptocurrencies impose some complex constraints on themselves that require complex solutions. 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
- chompychop 4y agoCould you go into more detail or provide references on where I could read up more on how banks do this? I've always wondered why we hear a lot about crypto exchanges getting hacked, but seldom about banks. What is it that banks are doing right (or crypto exchanges doing wrong) in terms of security?
- xoralkindi 4y agoThis is all about ledgers, traditional banks have a centralized ledger that only they can edit. Blockchains the ledger is decentralized, anyone can edit the ledger (based on specific rules) this provides allot of avenues of attack.
- bsaul 4y agoI'm not sure if you're half joking, but banks authentify every single tenant in the transaction (from account owners, to institutions) in the most rigid way. Fraud usually happens at the edge (credit card), but everything "inside" the system is a legally registered entity. It is completely integrated with the legal system.
- selestify 4y ago> everything "inside" the system is a legally registered entity. It is completely integrated with the legal system. Well then, that's not at all solving the same consensus problem that crypto solves.
- bsaul 4y agoOh ok, yes from that point of view they're solving entirely different problems, for sure.
- arlcode 4y agoThey do solve the consensus problem but don't have the same constraints crypto does. 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)
- 0xfoobar 4y agoAgreed that conceptual simplicity is always best, and the current Casper FFG + LMD-GHOST doesn't have provable guarantees yet (though seems to be working in practice). I'm excited to see slight modifications to the consensus/forkchoice algo that do have provable guarantees, like [Goldfish](https://www.paradigm.xyz/2022/09/goldfish https://www.paradigm.xyz/2022/09/goldfish) from Paradigm Research.
- mirekrusin 4y agoThere is large areas in cryptography where if you don’t do it right the whole thing won’t work at all - in that sense there are large parts that are self verifying which collapses complexity. I’m not saying it’s all easy, just that experts can navigate through complexity because they know what to ignore by abstracting it and thinking about properties it holds, not keeping in mind all the guts underneath. Maybe good example is that you can use sha256 effectively in your code without knowing or focusing on how it works internally. You’re interfacing with it through relatively easy properties it has.
- bsaul 4y agoExcept cryptography usually rely on mathematical proofs. I'm not aware of such possibility for distributed systems. I know Lamport did work on that subject, but i'm not sure if you can equate a TLA+ proof on some properties to a mathematical proof about the structure of numbers, nor do i know if ethereum even has a TLA+ proof or equivalent of anything regarding the PoS protocol (i honestly don't know, so i may be completely wrong).
- plopilop 4y agoThere has been some work on the topic, for instance https://eprint.iacr.org/2014/765.pdf https://eprint.iacr.org/2014/765.pdf 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.
- boltzmann-brain 4y agoThere are even larger areas in cryptography where if you don't do it right the whole thing will work, and after a few months someone will make $1B by crashing your currency into oblivion. 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 https://twitter.com/PLT_cheater/status/1235036182284820481 I still accept commissions doing code review. It's just too much fun.
- ur-whale 4y ago>ly not sure how such a beast can't be filled with bugs 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.
- seydor 4y agoThe incentive is to discover them but exploit them after the switch to the new chain
- ur-whale 4y ago> The incentive is to discover them but exploit them after the switch to the new chain 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.
- seydor 4y agoWhat if you get half the validators to conspire to benefit from the scam
- m12k 4y agoI'm a crypto skeptic, but I have to admit, one of the cool things about crypto-currencies is that they come with their own built-in bug bounty. If there's a bug, it will most certainly be found.
- bsaul 4y agoI'm not sure a criminal mind would advertize having found a bug in the algorithm. Instead it would probably try to capitalize on that bug for as long as possible while remaining quiet about it (assuming it's possible, of course).