6 ms·
I'll say it bluntly, because I know some people here really like Ethereum. Ethereum sucks. (Note: I don't want it to...) 1. No checksums on user's accounts. BT
by kefka 10y ago
I'll say it bluntly, because I know some people here really like Ethereum. Ethereum sucks. (Note: I don't want it to...)
1. No checksums on user's accounts. BTC has had checksums from get-go. Ethdevs think that 0xdeadbeef hex keys are just fine. Except that one-off you did (or added a null/0 at the end) just dead-ended your transaction and lost money in the 'chain. Gone for good. Forever, nada, zilch.
2. Blockchain itself isn't checksummed. ?! When you download the chain to do the proof of work calculations, there's no guarantee that a 1-off error didn't creep in the chain you're working with. What's that do? It invalidates every 'work' you do. You're spinning cycles with 100% chance of NO payout.
3. There's no way to auto-pay an account's own gas costs. If I'm a dApp maker, I want to pay to submit the program. Cool. Now if User A wants to execute my app, they have to pay gas (or percents of eth coin). That's a huge suck. Massive suck. I want this cost taken care of so users aren't nickel and dimed to use the damned thing. Right now, nickel-and-dime it is.
4. Software is bad alpha quality. Search for "lost wallet ethereum", and you'll see thousands of people with lost coin. Many errors are the above one-off errors, others are code badly interpreted to lose coin, and others were import errors on the Kickstarter coin purchase.
5. The "Smart Contract" code is completely trapped within the Eth system. I can't query a website and check data from there, nor can I generate random numbers, nor can I do anything that isn't explicitly on the blockchain. That directly implies that gambling apps and similar are completely deterministic and knowable. Effectively, gambling on Eth isn't a random chance with an edge to the house; it's a mathematical guarantee that the house wins, and you lose.
Until these flaws are fixed, this sstem isn't worth putting any more money in than you're willing to lose. Because loss is a distinct possibility with the sheer number of bugs and bad code there is.
- croddin 10y ago> 5. The "Smart Contract" code is completely trapped within the Eth system. I can't query a website and check data from there, nor can I generate random numbers, nor can I do anything that isn't explicitly on the blockchain. That directly implies that gambling apps and similar are completely deterministic and knowable. Effectively, gambling on Eth isn't a random chance with an edge to the house; it's a mathematical guarantee that the house wins, and you lose. Wouldn't the proof of work hashes be a good distributed source of entropy?
- kefka 10y agoPossibly, but I can have my client delay-submit successful work as to game the system. And when Ethereum switches to Proof-of-Stake, bad shit will happen. (Mainly, its when you wager eth coin on the fact you have a correct-work. Its not hard to see the badness from that...).
- bryondowd 10y agoNot an expert, and this is limited in what you could use it for, but for gambling purposes, couldn't this be dealt with by using the next X hashes after the bet is placed, where X is a large enough number that the likelihood of the better being able to produce that many successful blocks in advance is nil. So, at the simplest, you take a bet, and then use the next two hashes for your random seed to get a result. Even if a miner found a solution for the next hash and withheld it long enough to make a bet, he wouldn't have enough information to do better than random chance. And as I understand it, the entire blockchain relies on the fact that one miner shouldn't be able to generate two blocks faster than the rest of the mining pool. Increasing from two grants even greater certainty. Of course, the trade off here is that you have to wait for X blocks to be generated after a random number is requested and before being able to use it. So, your gambler has to sit around a bit to find out if they win, rather than instant feedback. (Of course, for gambling, you can hide this with some pretty animations of a roulette wheel, dice, horses running, etc.)
- mhluongo 10y agoI believe that's open to tampering by miners (more easily than a sybil attack, IIRC).
- DennisP 10y agoYes, and there are gambling apps that use the block hashes. Miners have the option of throwing away blocks they don't like, but are likely to lose the block reward if they throw away a valid block hoping to find a better one. So as long as it's not a huge payoff, it works fine.
- sharemywin 10y agoCan some explain how a block-chain scales? If every transactions needs to be stored on all market participants computers doesn't that blow up pretty quickly?
- kefka 10y agoThink of it as an append-only database with 512 KB chunks. Once a chunk is written, it has a hash associated to it. The next chunk will have the first line to the previous hash, showing data continuity. Yeah, it's more complicated than that, but that's the raw essential basics.
- mhluongo 10y agoThere are a number of proposals. In bitcoin, sidechains (separate blockchains that get anchored to the main chain) are oft-touted, as is the lightning network. The idea is that only the most important / highest value transactions make it onto the main blockchain. There are other approaches as well. Most actors don't need all past transactions- just the valid spendable outputs. Old txs could be pruned. You can also apply ideas from regular databases, like sharding.
- CyberDildonics 10y agoThe basic answer is that transactions are small and not everyone needs to store the whole chain. Even now storing the whole blockchain is slightly 'enthusiast'. I think it might go more in this direction in the future, but at the same time the cost of storing the entire blockchain on an SSD and the bandwidth to sync with the bitcoin blockchain are nearly trivial (the blockchain stands now at 75GB). I think the likely evolution in the future is that most people won't store the blockchain, but that there will be multiple separate currencies and enthusiasts will store the blockchain for the ones they use or are interested in.
- kang 10y ago70gb in 7 years.. including cryptographic witness which is soon going to be segreted..
- TylerE 10y agoIt doesn't. That's why they're dumb and will never succeed. You can only hand wave it away while raking in the VC money for so long...
- jamespitts 10y agoWindows 1.0 had a vastly larger list of why it sucked. So did the early web, early versions of DOS, early hobbyist PCs, early microprocessors, heh, perhaps even von Neumann's IAS machine. Use cases embody the most obvious value potential of a technology. If the various "it sucks" obstacles can be bridged, the value potential of the use cases gets realized. So it follows that if the use cases are valid and highly valuable, and the problems can theoretically be bridged (at even a high cost), then there is very good chance that the problems will be addressed in the near future. Well, addressed enough (pointing to Windows 3.1).
- kefka 10y agoIf you were saying this about blockchains in general, then I'd agree that this is a baby step in some awesome engineering. But I'm talking explicitly about Ethereum. In that case it is awful, bad, no good software. I'm comparing it to our other proof-of-concept that seems to work rather well and avoid all those pitfalls: Bitcoin.
- DennisP 10y agoBitcoin has been in production for seven years. In its first year it wasn't nearly so polished.
- jerguismi 10y agoI think checksumming of addresses was very early there, at least it was in late 2010 when I first used bitcoin. It is quite basic thing and easy to implement. It should help people avoid losses and possible problems caused by trivial mistakes.
- DennisP 10y agoThey were hoping a name registration scheme would catch on and people would largely use that instead of using addresses directly. It hasn't happened so far, so now they've added checksums (using capitalization).
- brighton36 10y agowww.coindesk.com/turing-complete-smart-contracts/
- DennisP 10y agoAccount number checksums have been added, by using capitalization. 0xdEAdBeEF will be flagged invalid if the capitalization isn't correct.
- pipermerriam 10y agoDisclaimer. I have skin in the game. I've been developing on the platform since the Frontier launch and I have some Ether holdings. 1. Checksums are available via the mechanism in https://github.com/ethereum/EIPs/issues/55 https://github.com/ethereum/EIPs/issues/55 2. I don't have any experience mining. Maybe someone else can answer this. 3. If I recall correctly, this is being fixed in Serenity. Transaction validity will no longer require ether to be submitted with the transaction allowing miners to accept transactions that are paid for during their execution. 4. Ethereum only left Alpha/Beta on March 14th 2016, roughly two months ago. Until then there were clear warnings posted that there were likely to be bugs. I'm not aware of anyone losing money due to protocol errors. The losses I've read about are predominantly user error and errors in 3rd party software. 5. This seems like a clear lack of understanding of the intentional design of the system. If you could directly make HTTP queries from smart contracts it would be impossible to reach consensus on what the result of code execution was because two clients could get two different responses from the same query. Everything that the EVM executes has to be 100% deterministic. Take a look at http://www.oraclize.it/ http://www.oraclize.it/ for an example of how communication with the outside world can be done. I hope that clears things up.
- Bromskloss 10y agoRegarding the gambling in your number 5, wouldn't the house generate a secret number (as randomly as it wishes), encrypt it, post it to a gambling contract, let people place bets on it, and finally reveal the decryption key to the contract?
- jc123 10y agoThere's a stackexchange with technical answers to most of these questions, such as: http://ethereum.stackexchange.com/questions/191/how-can-i-securely-generate-a-random-number-in-my-smart-contract http://ethereum.stackexchange.com/questions/191/how-can-i-se... For #3, an introduction is: https://blog.ethereum.org/2015/12/24/understanding-serenity-part-i-abstraction https://blog.ethereum.org/2015/12/24/understanding-serenity-... and the improvement proposal is: https://github.com/ethereum/EIPs/issues/28 https://github.com/ethereum/EIPs/issues/28 For #1, there are checksums now, but the more interesting question and challenge is how would a decentralized registry/DNS be designed, that has reasonable anti-incentives for squatters? https://github.com/ethereum/EIPs/issues/26 https://github.com/ethereum/EIPs/issues/26