Live data from Hacker News

Miners Aren’t Friends

blog.keep.network

31–40 of 256 posts

Re: Miners Aren’t Friends

#31
post #19

Earlier quoted context omitted.

I don't understand the economic argument for personal mining (I totally get it from a fun, geeky PoV if making money isn't the primary goal - it's how I got started in crypto). A GTX1070 costs about $800. At $4/day, it will take you 200 days to make back your principle (ignoring power costs, difficulty scores going up etc. - in reality it will obviously take you even longer to cover your costs). If you had put that s…

Buying and holding an asset requires that you accept the risk that the value could fall. Miners can profit while minimizing their risk exposure by selling whatever they mine immediately.

>by selling whatever they mine immediately.

In this market that just seems like the equivalent of burning your money in the street.

Re: Miners Aren’t Friends

#32
post #19

Earlier quoted context omitted.

I don't understand the economic argument for personal mining (I totally get it from a fun, geeky PoV if making money isn't the primary goal - it's how I got started in crypto). A GTX1070 costs about $800. At $4/day, it will take you 200 days to make back your principle (ignoring power costs, difficulty scores going up etc. - in reality it will obviously take you even longer to cover your costs). If you had put that s…

Don't forget that graphics card can still have value outside of pure mining. A couple years ago I dabbled in mining. I got a top end card that would mine transactions for 16+ hours a day. When I actually wanted to use my computer, I'd flip mining off for a couple of hours and do whatever I needed. I got to game with ultra graphics, have a PC for school work, and do some mining.

That's fine and makes sense to me. It's more the people that cram 8 cards in to their machine and mine 24/7 that I have a hard time understanding.

Re: Miners Aren’t Friends

#33
post #19

Earlier quoted context omitted.

If you have modern cards you can still mine with one of the services that find the most profitable algorithm for you. I use NiceHash and have historically made about $2/day per GTX1070. This past month though I've been making more that double that. EDIT: Use this site to find out if your cards will be profitable considering your energy costs: https://www.nicehash.com/profitability-calculator I do want to leave one im…

I don't understand the economic argument for personal mining (I totally get it from a fun, geeky PoV if making money isn't the primary goal - it's how I got started in crypto). A GTX1070 costs about $800. At $4/day, it will take you 200 days to make back your principle (ignoring power costs, difficulty scores going up etc. - in reality it will obviously take you even longer to cover your costs). If you had put that s…

If you're buying stuff on darknet markets it's nice to be able to do it with freshly mined coins that don't have transaction histories associated with them.

Re: Miners Aren’t Friends

#34
post #11

> 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 i…

Full 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), 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.

Re: Miners Aren’t Friends

#35
post #2

To 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 el…

Certain 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).

Re: Miners Aren’t Friends

#36
post #19

Earlier quoted context omitted.

I don't understand the economic argument for personal mining (I totally get it from a fun, geeky PoV if making money isn't the primary goal - it's how I got started in crypto). A GTX1070 costs about $800. At $4/day, it will take you 200 days to make back your principle (ignoring power costs, difficulty scores going up etc. - in reality it will obviously take you even longer to cover your costs). If you had put that s…

If you're buying stuff on darknet markets it's nice to be able to do it with freshly mined coins that don't have transaction histories associated with them.

Haha, hadn't thought of that :) This reason makes sense to me.

Re: Miners Aren’t Friends

#37
post #2

To 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 el…

Proof 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/

[2] https://arxiv.org/abs/1706.05407

Re: Miners Aren’t Friends

#38
post #32

Earlier quoted context omitted.

Don't forget that graphics card can still have value outside of pure mining. A couple years ago I dabbled in mining. I got a top end card that would mine transactions for 16+ hours a day. When I actually wanted to use my computer, I'd flip mining off for a couple of hours and do whatever I needed. I got to game with ultra graphics, have a PC for school work, and do some mining.

That's fine and makes sense to me. It's more the people that cram 8 cards in to their machine and mine 24/7 that I have a hard time understanding.

£6 per card per day (1080ti) is quite appealing. 60p electricity costs.

£48 per day minus £4.80 costs. Every day? For just leaving something switched on? It is quite appealing.

I got my 1080ti's for £650 a pop. ROI is 108 days. That's why people, myself included, are doing it.

Re: Miners Aren’t Friends

#39
post #21

It 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 sys…

They 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

Re: Miners Aren’t Friends

#40
post #2

To 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 el…

Proof 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 c…

How 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.

Post reply on HN