18 ms·
Miners Aren’t Friends
- nspassov 9y agoTo my limited understanding of Ethereum and Bitcoin, the network already has rules in place to punish nodes that misbehave or cheat. In the case of Bitcoin, that is part of layer 1 so it is independent of any application layers and thus it should always be at the core of the network. With PoS cheating is likely to become a bigger issue [1], since with PoW the miners who get punished will have wasted their time and electricity. Would be great to hear comments from more knowledgable people. [1] https://twitter.com/hugohanoi/status/951762596255838209 https://twitter.com/hugohanoi/status/951762596255838209
- deleted 9y ago[deleted]
- thescriptkiddie 9y agoMiners who cheat will be punished even more under PoS than under PoW, provided they are caught. If you get caught mining a "bad" block under PoW, you lose only the work that went into that block. If you get caught mining a "bad" block under PoS, you lose everything you staked on that block. It's almost as if you have mining hardware that doesn't use any electricity, but self-destructs if you misbehave.
- RoboTeddy 9y agoCertain kinds of misbehavior are punished. If you mine an invalid block, everyone will reject it, and you won't get any reward (you burnt electricity and hardware time for nothing). It works the same in PoS -- if you mine an invalid block, then (depending on the protocol) either your entire security deposit will be destroyed (ouch!) or no one will build atop your fork and you won't have any mining reward (same as PoW). Block validation can only enforce certain kinds of rules, such as: * People can only spend outputs they have the private key for * You can't spend an output that has already been spent * The block reward has a predetermined size There are other kinds of rules that we don't know how to enforce yet. For example, we might want the rule, "Always create blocks with the top n transactions that offer the highest fee per byte, out of all the new transactions you've learned about". The trouble is that we don't know how to prove that a miner has learned of a transaction over the network. (Maybe there was a network partition, or maybe their internet connection died for a minute-- how can we tell between those conditions, and the case where the miner learned of but ignored a transaction?) The "misbehaviors" listed in the article fall into this category: things we might like to make rules against, but don't know how to (or know how to, but haven't bothered yet).
- barbegal 9y agoProof of stake doesn't work in practice unless we can find a source of randomness that is globally available, non-influencable and everyone can agree on [1]. At the moment, that source of randomness is completely elusive. It might be possible to create a random source from some form of binary astronomical event which can be widely verified but it would have an incredibly low bit rate of new randomness. One possible candidate is randomly nulling pulsars [2]. Unfortunately, the equipment required to observe this phenomenon is probably not widely available outside of large observatories. Having said that the costs would still be lower than the energy costs of the Bitcoin network. [1] http://www.truthcoin.info/blog/pos-still-pointless/ http://www.truthcoin.info/blog/pos-still-pointless/ [2] https://arxiv.org/abs/1706.05407 https://arxiv.org/abs/1706.05407
- konschubert 9y agoHow about using stock markets? They are of course vulnerable to some amount of manipulation, but with a good algorithm that could be rendered sufficiently costly to become impractical.
- barbegal 9y agoThey are probably as good as we have today but even they could be manipulated if large amounts of money was on the line. I can't see any way of introducing algorithms to make it more difficult to manipulate though.
- RoboTeddy 9y agoCan imagine a protocol for generating randomness to some arbitrary security level (at the expense of locking up security deposits): (1) Anyone can decide to become a 'randomness provider' by putting up a large security depsoit (2) Every epoch (some number of blocks), each provider chooses a private random number and commits to it by publishing its hash (3) During the next epoch but, each provider publishes the random they committed to earlier. (4) xor together all the random values. The result is a pseudorandom number everyone can agree on, and which should be sufficiently good for many applications include PoS selection If any provider fails to publish the random number they committed to, they lose their security deposit and there is no random value provided for the associated epoch. The process starts over. If you're worried about bribing attacks over all providers, recognize that all we need is a single altruistic provider to keep the system safe. Altruistic behavior may be rare compared to selfish behavior, but I think we can usually rely on its nonzero presence. If you're still really worried that collusion could be going on amongst ALL randomness providers, just become a provider yourself. It's possible for a provider to wait for all other providers to reveal their values, and then privately determine whether or not the final random value would be favorable to them; they then have the option of canceling the epoch by keeping their private value hidden and losing their security deposit. This option (in combination with a particular application, and the size of the security deposit of providers) puts a bound on what the random value can be safely used for (e.g., if it's for a lottery, the expected value of another truly random swing at the jackpot has to be lower than the value of a security deposit).
- hashkb 9y agoSounds like insider trading is built in fundamentally. Should help legitimize ETH on Wall Street.
- throthro 9y agoCOuld you elaborate on builtin insider trading?
- JohnJamesRambo 9y agoAlmost all miners use a mining pool so wouldn't have access to these tricks. The pools on the other hand... I used to have an Ethereum mining operation, before it became unprofitable to do so. It was one of the most fun ventures of my life. All the cards and enormous heat and fans exchanging outside air in. It felt like I was part of something futuristic and new, solving problems I had never had experience with before. I miss it very much, I wish it could have gone on forever.
- 1337biz 9y agoCare to share some insights into the economics of running it and how it became unprofitable?
- joshvm 9y agoThe economics are simple - how much power do you use vs how much money you make per unit time. As a miner you're banking on the increase in difficulty correlating with an increase in price. Ethereum mining difficulty plummeted back in October, flatlined for a bit, and has been slowly on the rise since December. There is limited resale value in the cards (depreciation etc), but even after PoS hits there will be enough mineable things that selling them off wouldn't be necessary. Love or hate it, you could use a service like Nicehash. It becomes unprofitable if the difficulty spikes, but not the value, so your hardware takes a long time to mine little. Often this happens between new technology generations, like when ASIC miners made GPU miners unusable for Bitcoin. Right now Ethereum is still quite profitable to mine. I have a bunch of GTX1060's with a combined hashrate of 100MH/s running on an EthOS system. That's enough to earn between 0.35-0.4 ETH a month at the moment. The power usage is around 300W with some twiddling - around £25-30 per month. You also have to consider speculative value of the coin. Suppose you were mining 1ETH a month back in January '17. Your monthly payout (about $30) would have barely covered electricity, but now 1ETH a month is practically a minimum wage salary. You need to be honest with yourself why you're doing it - are you making money to spend today or are you holding?
- JohnJamesRambo 9y agoI just exited when the calculator at mycryptobuddy.com (which calculates in difficulty increases) indicated that profitability would be miniscule and not much over electricity costs very soon. It cannot account for price increases in Ethereum, but if you are using that to stay profitable it is almost always better to invest in the coins themselves. I sold all my gear and cards while their price was high and invested all the money into cryptocurrency. The gamble has paid off handsomely, I make more from crypto investing than from my job now. It has allowed me access to things I never could have dreamed of, but I still miss walking in my Ethereum mine and feeling the over 100 deg. temps and the instant sweat and all the noise. I miss all the network cables and blinking lights and thinking about the new network I was helping to secure. Trading and investing can't hold a candle to it, but the money is better.
- blunte 9y agoSome of these issues do seem concerning, but most wouldn't be profitable unless every miner was doing it (because the impact on one of these malicious behaviors will be felt in a later block). Unless you're lucky enough to mine two blocks in a row, I don't see how you can gain directly from malicious transaction reordering. You'll consume the first retrieve fee, but the second retrieve will be in a later block (which you probably won't mine). I'm not saying this is ok, but I'm also not sure this particular situation is worth the effort to exercise. Transaction insertion, however, sounds like it would be very effective for the case presented. On the other hand, how big a deal are "guessing game" dapps? You can sum all this up by saying, "consolidation of mining power can be used to exploit the network at the cost of non-miners". But consolidation is a problem for reasons beyond just these examples. Finally, if a network becomes so corrupt, people will move to a different cryptocurrency (which will lower the value of the corrupt network). Thus, the bad actors would be taking small short term gains at their own cost of long term survival (especially when considering sunk costs in hardware).
- prestwich 9y agoHi, author here. Look for part two for examples of how these attacks can siphon value from deployed contracts :)
- shadowfiend 9y agoFull disclosure: tech lead on Keep (the project whose blog this is posted to), and the post is by one of our advisors. It might not be worth the effort when volume is low, but if you have a highly-used set of contracts susceptible to this, there will be a stronger incentive to take advantage of them. With high volume, if you do it only occasionally, you can gain an edge without necessarily revealing network corruption (unless someone is looking for it). Additionally, this kind of careful misbehavior can lead to consolidation---by allowing some clever miners to gain enough of an advantage to continually grow their operation. Note also that only the most basic transaction reordering gains solely from transaction fees. Transaction insertion requires no further blocks, and forced errors can be used to subsidize miner transactions (rather than simply to gain later on). Lastly, censorship has more than economic advantages, depending on the underlying application. If the whole network becomes corrupt, people will move; however, there's a lot of room between "enough malicious transactions to cause a problem" and "network is so corrupt people are leaving", particularly if a chain is popular. Indeed, if a chain is popular, "just leaving" is not necessarily an immediate option. The important thing is that, as a developer for a given chain, you want to make sure you're aware of these pitfalls (whichever ones apply to your chain---many will apply across many chains) so you can design around them. More than many platforms, building for public chains require adversarial thinking. Or perhaps better put, they should require adversarial thinking. It's easy to forget that when you're getting started. This is even more true when you're building components that you intend others to build on, which is what we're doing. That's what motivates the interest we have on our team in these kinds of concerns. We feel they're important to share as development on public blockchains gains greater visibility, interest, and therefore new developers.
- moon_of_moon 9y agoJust a miner inconvenience.
- runeks 9y ago> Again, let’s design a simple smart contract. This time Alice wants to play a guessing game. Alice puts 5 Ether in her contract. That ETH goes to the person that guesses closest to the number she’s thinking of. Alice calls commit with the hash of the number, so she can’t change her mind. Anyone else can call guess to submit a guess. After 2 blocks Alice calls reveal to tell everyone what the number is. This scheme is not unsafe because of miners. Transactions are public. As soon as Alice’s “reveal” message is published to the network, everyone can submit guesses using the revealed number. And miners are incentivized to include whichever transaction pays the highest fee, which means the transaction fee of the guessing transactions published after the “reveal” transaction will converge with the prize sum. Alice’s commit transaction needs to specify some block height after which further guesses are ignored, and then publish the “reveal” message some (safe) number of blocks after this.
- infogulch 9y agoIn other words, blockchain programming isn't trivial, and you have to translate your intentions into the contract with blockchain concepts in mind.
- andybak 9y ago> blockchain programming isn't trivial This surely is a very bad thing. I'm not saying programming smart contracts should be trivial. Or maybe I am. I guess the thing is - for Ethereum to have any chance of surviving it needs to be simple to write simple contracts. Easy things should be easy and hard things should be possible. And footguns should be removed from the language...
- michaelchisari 9y agoblockchain programming isn't trivial This is an understatement, and belies the more appropriate: blockchain programming is dangerous. Proceed with extreme caution.
- shadowfiend 9y agoFull disclosure: tech lead on Keep (the project whose blog this is posted to), and the post is by one of our advisors. You're right that this particular example has other downsides. The goal was to present the simplest examples of some attacks and issues that are easy to miss when doing blockchain programming. As I mentioned in another comment (https://news.ycombinator.com/item?id=16144892 https://news.ycombinator.com/item?id=16144892), the important thing is that, as a developer for a given chain, you need to be aware of the pitfalls of your chain (keeping in mind some apply across chains) so you can design around them. That includes the pitfall you described---everything is public, and that introduces some careful decisions that need to be made when building smart contracts. That one is pretty widely discussed; on the other hand, we hadn't seen any other content with a basic introduction to the pitfalls around miner misbehavior, so we felt James's post was super valuable. I think a key piece of it is the last paragraph: > Miners aren’t your friends or enemies — they’re a force of nature in our consensus systems. Systems that fail to plan around this will eventually lose out to clever miners. We've built many systems today that fail to take into account the dangers of ignoring security, and we're starting to pay the price. Public blockchain apps will need to be careful to have a decent understanding of the threats, especially since many of these threats have the potential to be even more directly tied to money than security issues in current systems. The more important (you consider) your system, the more important it is that your threat model include entities that are required for your system to function, like miners.
- deleted 9y ago[deleted]
- abecedarius 9y agoThe LeastAuthority audit of Ethereum gas economics in 2015 brought up this issue of transaction reordering: https://github.com/LeastAuthority/ethereum-analyses/blob/master/GasEcon.md https://github.com/LeastAuthority/ethereum-analyses/blob/mas... (They also pointed the issue that led to the DAO hack and recommended "value reverts to the sender upon exception".)
- ggregoire 9y agoMiners are surely not gamers’ friends. All high end cards have been sold out for weeks. They are now completely overpriced ($1300 for a GTX 1080 Ti).
- cornyNetHandle 9y agoThey are, on the second hand market.
- mdip 9y agoBy that same token, they're not other miners' friends, either. I own three 1070s and a 1060 which I purchased primarily for mining[0] but also because other things I do benefit from the added compute capability. I purchased the first 1070 for less than $350 right after release. I can't find them for less than $400, now. The funny thing about that is I'm funding my other needs for graphics cards[1] by mining. I wouldn't say I've "paid" $400 for any of them past the first one since all of the others have been funded with mining profits. And I probably wouldn't own three graphics cards were it not for mining. At some point, I firmly believe, the bubble will pop on all of this and those cards will come back down to earth (I've been saying this for over 4 years, though, and have been wrong for at least that long). Until then, mining to buy video cards is always an option. :) [0] Mining is kind of a secondary reason. The primary reason is that I wanted to learn CUDA and I know myself well enough to know that if I don't have a project in mind, I will never take the time to learn it, so I set about optimizing an existing CUDA mining implementation and set about learning it successfully. [1] I play computer games pretty rarely, but I like to fuss around with modeling programs and having a few of these really speeds up rendering in programs that support IRAY. I'm using it for playing with ML code, as well, which wasn't enough of a project to get me interested in learning CUDA, but is enough to keep me interested now that I know the language a bit.
- cookiecaper 9y agoAre people now moving on to nvidia cards for mining? I haven't followed closely for several years, but back in the day, it was all about AMD because nVidia's chips were much less efficient at this type of work. If nvidia is now in demand for mining, are people going for that because AMD is nowhere to be found and they're just going for the next-best thing, or has nvidia gotten better at this?
- scyclow 9y agoIt seems like a lot of these problems are due specifically to using proof of work. Do any of these problems go away with other consensus algorithms? I would at least expect that miners wouldn't have as much incentive to arbitrarily cause errors if they were using something like proof of stake. Also, how easy is it to detect that miners are doing these things? If it's not terribly difficult, then maybe a federated system would iron out some of the wrinkles?
- mhluongo 9y agoThey do! But usually they get shifted elsewhere. While he was working on this post James and I discussed how PoS might yield stronger incentives to DoS rivals and get an advantage, since some of these other optimizations (attacks? Unclear) will be unavailable. Edit: Regarding detection, of course- but I'm not sure detection lends itself to a general solution outside name-and-shame. Most of these are things developers should code defensively against. Disclosure: lead at Keep, edited this piece
- prestwich 9y agoHello, author here. I haven't put a lot of thought into this yet, but my first guess is that this could become more of a problem with staking. Stakers still need to optimize, but all the easy ways are gone. Can't build better ASICs for staking. Detection is hard. Like with selfish mining, it looks just like normal network operation in most cases. Most obvious mitigations don't work well either. E.g. we could try to establish canonical tx ordering in the tx pool. But then we would have to come to consensus about what the txpool is. Which is a bit of a chicken/egg problem.
- deleted 9y ago[deleted]
- cjbprime 9y agoNice article! Here's another type of failure with its solution: * You want to register a domain name on the blockchain and associate it with your address, so you submit "register foo". * The miner sees it, and inserts an earlier transaction registering foo to them instead. Solution: * You register the hash of foo, which registers the plaintext encoded by that hash, then wait until the transaction is accepted publicly and submit a second transaction that reveals to everyone the plaintext of the hash that you registered. The miner could still try to guess at which name you're registering based on the hash (by having a long list of potential names to hash just in time), but I can't think of a way to do better than that. Anyone else?
- bdr 9y agoYou register the hash of domain+seed. Second transaction reveals both.
- SimonPStevens 9y agoCouldn't someone else then simultaneously register the hash of the same domain with a different seed? Neither of you would know of the duplicate until you revealed your seeds.
- pbhjpbhj 9y agoWhat's the chances of simultaneous transactions? (That's a question, not a snarky statement).
- Tepix 9y agoThere aren't any. That's what the article was about: The order of the transactions in a block.
- pbhjpbhj 9y agoSorry I shouldn't perhaps have said transactions - the parent asks what to do with simultaneous requests for to reserve a unique unduplicable good, it was the simultaneity of identical requests I was asking about rather than the impossible simultaneity of processing the blockchain transactions.
- CloudYeller 9y agoDo these vulnerabilities affect BTC? Is there any unbiased source of security reports on all the various coins?
- wk2jkhkjdfglsl 9y agoNot exactly because bitcoin only supports a few simple transaction types -- Pay to Public Key, Pay to Public Key Hash ('standard tx'), Pay to Script Hash, Pay to Public Key Witness Hash, Pay to Script Witness Hash. These are only serial dependent -- ie: A pays B, B pays C. You cannot reorder and still remain valid. The security of the standard tx is the strength of the public key hash function RIPEMD-160. The security of Pay to Script Hash is finding a valid SHA256 collision with OPCODES. The witness variants are a new tx format that uses less space (aka segwit). The attack is simply a Denial of service, an attacker can block a tx. So if A pays B was never included in a block, B could never pay C.
- anigbrowl 9y agoIT's capitalism in its purest form. The work done is work n the physical sense of production, but from a labor perspective it ends up as a constant rote of attrition and self negation - people gt interested in coins to make a quick buck and take it easy, but either drop or spend all their time, energy, and money racing for a slice of the pie while producing little of value - in this case, trust tokens which may or may not turn out to be valuable later. The rewards always go to people who were there early and had excess capital to spend on buying, or could mine easy pickings and then let someone else take over the grind. Oddly the mining analogy reminds me most of Eve Online, which has a professionally tuned in-game economy and where you basically have a graphic representation of everything mentioned in the article, including the tedium and energy of mining, the endless technological arms race (designed to make you invest as much time as possible or buy credits to leapfrog other players), and pointless destruction of wealth - intra-player conflict is where most of the action and excitement is because the exploratory aspect of the game is only as interesting as it yields new technology that gets recycled back into the arms race. Perhaps the solution is a medium of exchange that doesn't use absolute units, but is a function of your ability to pay.
- rphlx 9y ago> a medium of exchange that doesn't use absolute units, but is a function of your ability to pay. This is already implemented in many areas of modern life, especially by governments (Obamacare, progressive taxation, social security, etc), and it has a major negative side effect of incentivizing poverty: either real (by encouraging the young to work as little as possible) or faked (by encouraging those with accumulated wealth to conceal it as much as possible).
- lsc 9y agoyes, if we take away the "he who does not work, neither shall he eat" incentive[1] people will work less. Is that good or bad? depending on your ideology, it could be either one. Do you think that it's ethical to threaten the poorest with starvation to add a few points to our gdp? My own personal view is that using starvation to incent work is acceptable only if society is unable to produce enough food for everyone; in that case, those few points to the GDP have real impact. I personally don't feel that it's okay to use starvation to incent work when that work largely produces luxuries, but that's just me, and everyone has an opinion on this one. [1]Interestingly, historically this aphorism has been a leftist saying... that is, the rich should have to work, too. Leaving aside my controversial views of the bible, in more recent history, John Smith used it to this meaning in Jamestown, and then in the early 20th century, Lenin argued that it was a fundamental principle necessary for socialism to work. Both were talking about situations were people were starving (the early days of Jamestown and the early days of the Russian revolution, respectively) More recently, it's used as a rightest saying, arguing that the poor ought to work or starve, something that was the assumed truth in earlier ages.
- bfsg 9y agoSo many false assumptions in this post. As if only 1 miner is trying to mine a block. There is simply no way to know whether you or someone else is going to mine that specific block, it's totally random. > There are two ways to increase mining profitability: generate more revenue, or reduce expenses. No. There are more ways. Mining the right coin at the right time and selling it at the right time for example. Mining has a lot of common ground with investing in the stock market. It's not that simple.
- ShabbosGoy 9y agoLooks like the author of this piece is not aware that proof-of-work is antiquated and essentially obsolete. There are way better methods to achieve distributed consensus, like Hashgraph or even proof-of-stake. Edit: The critique that if the blockchain is slow, your Dapp will be slow is fallacious as well. You can mitigate that using side chains.
- MrBingley 9y agoCan someone explain to me how on earth Ethereum is still a thing? People have lost hundreds of millions of dollars in the Ethereum ecosystem, many due to basic flaws in the "Solidity" language. For example, last November $280 million was frozen in Parity wallets because function visibility defaults to external rather than internal (see the previous HN discussion here[0]). Just for fun, I was looking through the Security Considerations[1] in the Ethereum docs, and here are two so-called "minor details": - In `for (var i = 0; i < arrayName.length; i++) { ... }`, the type of `i` will be `uint8`, because this is the smallest type that is required to hold the value `0`. If the array has more than 255 elements, the loop will not terminate. - The `constant` keyword for functions is currently not enforced by the compiler. Furthermore, it is not enforced by the EVM, so a contract function that "claims" to be constant might still cause changes to the state. WTF?! Trivial loops won't terminate to due (unchecked) integer overflow, and the `constant` keyword does nothing? It's a complete gong show. I'm not touching anything to do with this language with a 100 foot pool. Is the hype bubble just that big? [0] https://news.ycombinator.com/item?id=14807779 https://news.ycombinator.com/item?id=14807779 [1] https://solidity.readthedocs.io/en/develop/security-considerations.html https://solidity.readthedocs.io/en/develop/security-consider... Edit: Oops, it looks like I'm mixing up my multi-million dollar screw-ups. First in July $30 million was stolen due to the "public is default" debacle, and then the fix for that problem introduced another bug (the developers forget to call the `initWallet` function), which lead to the $280 million being frozen in November[2]. Holy crap. [2] https://news.ycombinator.com/item?id=15642856 https://news.ycombinator.com/item?id=15642856
- Bromskloss 9y agoDoes Ethereum's existence hinge on Solidity? Isn't Solidity just a language that one can compile to the lower-level language actually built into Ethereum?
- twic 9y agoSomeone told me recently that there's an idea to replace EVM (the lower-level language actually built into Ethereum) with WASM. That would allow people to target it with a variety of existing programming languages, some of which are not clown shoes. If that's possible, it sounds sensible.
- bsenftner 9y agoCan any explain how the economics of mining does not promote the creation of a miner monopoly, aka a "miner Amazon". Once a single entity controls mining, Game Over: the economy is owned.
- gt_ 9y agoAnyone with compatible equipment can mine on the network; no permission needed.
- solatic 9y agoAnyone who owns 99% of compute capacity can distribute a patch to the "distributed" network forbidding blocks mined by "unauthorized" or "unofficial" clients, and since that person's 99% of the compute power constitutes a majority, newcomers are effectively locked out. Blockchain's dependency on distributed computation remaining democratic with a diverse range of self-interests is axiomatic to the model.
- tinco 9y agoYou are answering your own question. Suppose someone would invest billions in obtaining a mining rig that single handedly achieves 51% of the mining power of the network, then he effectively kills that network, and makes his investment worthless. There's a reason the valuations of Bitcoin and Ether waiver every time it seems a pool is coming close to 51% mining power, it's because everyone is scared of what happens when that happens. In the real world, I think miners approaching 51% of mining power is an accidental and temporary thing. It means that the coin is overvalued, and investors are over investing in mining operations. As the article states, the amount of profit these operations turn really isn't that big. They're operating on thin margins, and operations going bankrupt is not unheard of. There's simply no reason to go and "own" the network. Best case, you'll turn a loss, worst case, you destroy the network and lose your entire investment.
- plantsbeans 9y agoIf you can keep your majority a secret, you can avoid the devaluing scenarios. The trick is to use the majority only when you need to, and to avoid detection.
- deleted 9y ago[deleted]
- pmontra 9y agoAren't all of those scenarios covered by fraud laws? Obviously one should be able to provide evidence that an actual miner willingly reordered transactions to get paid twice. I don't know if this is possible (gathering the evidence.)
- Tepix 9y agoMiners are not required to put anything into a block in any particular order. If you don't like what they are doing, stop paying them.
- pbhjpbhj 9y ago>"In this way, Proof of Work forces miners to constantly re-invest revenue." (the OP) // Classic capitalist view. It's not that miners are forced to reinvest, if all miners were satisfied with the status quo then it could continue and each miner would get the same returns - depending on the structure of the system, greater demand could even drive hash value up. But miners aren't satisfied, they want more, and new miners want a go at picking from the money tree. So the available pickings get higher up (require more resource expenditure). In theory, and often practically, it drives optimisation. Ultimately the return should be so low as to match safe investment returns. It seems it should be possibly to design a system such the the coin holders can effectively own the means of hash production, which would keep value in the system.
- andybak 9y ago> Classic capitalist view I would consider myself center-left and I think you're confusing "capitalism" with "realism". Any political system that requires altruism towards strangers is doomed. Altruism grows out of community - and requires consequences for "bad" behaviour to some degree. Tragedy of the Commons and all that.
- deft 9y agoCapitalism demands constant growth. His usage fits perfectly. Center-left means you are a capitalism supporter and makes no difference. Claiming the capitalist mode of production is "realism" is really you trying to say capitalism is natural.
- andybak 9y agoBefore I answer that, could you clarify your definition of "capitalism"? (Genuine question)
- robert_davidson 9y agoI phrase this as "incentive alignment". Every stable system aligns incentives with its continuation.
- DINKDINK 9y ago>Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference. Except that ethereum is lying when they say this. The DAO contract was nullified and censored. The Ethereum Foundation and the DAO team were bailed out and had preferential treatment.
- anjc 9y agoAnd how was the contract nullified exactly?
- robert_davidson 9y agoIt was replaced with a new contract via a hard fork. Doing so was the right move, by far, but purists loathe the move.
- anjc 9y agoI was partially being facetious :) But you said it precisely, it was via a hard fork, which was agreed upon in a democratic fashion. The person I was replying to was suggesting that transactions were simply revoked from Ethereum-HQ, which is far from the case.
- rhaps0dy 9y agoThe title of the piece is "Miners aren't your friends", implying that the interests of miners and the reader differ. However, the title of the HN submission is "Miners aren't friends", which implies that the interests of two separate miners diverge. We should probably change the title to match the original one.
- scott_karana 9y agoAgreed, I was frustrated at that too.
- JonasJSchreiber 9y agoAs someone who has a couple rigs mining 24/7 I would say he’s looking at the profitability of mining wrong. Personally I don't reinvest my mining profits in more mining equipment. There's a hard cap on how much amperage can be delivered to my house, and I have no interest in interfering with my daily appliances. As far as when does it becomes profitable to play games with consensus? Never. Most miners mine using pools like suprnova, ethermine, and nanopool. I don't have control over whether we are appropriately confirming transactions or not, but it would be pretty unwise for my pool to start violating consensus.
- caf 9y agoAnother instance of this is if you managed to build a business around a particularly profitable contract or set of contracts, the nature of which requires you to regularly post maintenance transactions of some sort. If you get big enough and profitable enough, the miners will have an incentive to specifically refuse to include your maintenance transactions unless you include a large transaction fee - in other words, market segmentation for transactions.
- thisisit 9y agoMiners have proven to be unreliable. F2pool has been accused of manipulating Status ICO: https://steemit.com/ethereum/@dhumphrey/f2pool-manipulates-usd1-2-million-on-the-ethereum-blockchain-during-the-status-im-ico https://steemit.com/ethereum/@dhumphrey/f2pool-manipulates-u...