Bitcoin Forum
November 09, 2024, 02:26:22 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: PPS, Block withholding and Rentals  (Read 2695 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
kano (OP)
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
March 25, 2015, 04:40:51 AM
Last edit: March 25, 2015, 12:41:45 PM by kano
 #1

So I presume most people understand, or have read about the fact, that a true PPS pool needs to charge a higher fee for 2 reasons:
1) variance
2) block withholding

(i.e. I'm not referring to Eligius' XYZPPS which passes the whole risk on to the long term miners, or BAN's fake PPS that delays payouts until they find blocks)

The 2nd one (block withholding) is something that can really only be detected on a large pool.
It's not that unreasonable for a pool, or a miner, to expend more than 500% Difficulty effort on finding a block.
500% has a CDF of 0.9933
It takes a lot of hashes before you could even be suspicious of a miner, and if the miner isn't large, that's a long time ...

However, what many, I guess, do not realise is that Rental hash rate has exactly the same problem, but on PPLNS and other Block payout pools.
A renter is paid the BTC even if a block isn't found by the miner.
So the renter loses nothing from performing a withholding attack when the hardware is rented out.

On my pool, I'm wondering if I need to ban Rental miners?
I'm sure no one who actually pays to rent a miner, bothers to actually check the statistics of the renter's mining results over time, before renting ...

From the point of view of the miner, if they are solo mining, then they take the entire risk of renting and possibly not finding a block.
If they are mining on a Block Based payout pool (e.g. PPLNS) then the miner is passing that risk on to everyone in the pool as well as themselves.

Simply saying - trust everyone who supplies hardware and rental in bitcoin sounds like a bad idea indeed.

I'm curious what others think about this ... seriously Tongue

Edit: corrected the names of the renter and miner to avoid confusion "renter" = the one who sells the hashes, "miner" = the one who buys the hashes

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
aurel57
Legendary
*
Online Online

Activity: 1274
Merit: 1000



View Profile
March 25, 2015, 12:32:19 PM
 #2

Kano you bring up a subject that I have wondered about for a while. I also think you have a very good reason to ban rented miners once everyone understood the risk.
jonnybravo0311
Legendary
*
Offline Offline

Activity: 1344
Merit: 1024


Mine at Jonny's Pool


View Profile WWW
March 25, 2015, 02:51:04 PM
 #3

Every time I've rented gear (i.e. been the miner in your scenario) I've wondered if the mining software on the hardware I'm renting has been altered or modified in some way to withhold blocks.  I was especially skeptical when renting hundreds of TH.  My confidence level goes up as the amount of gear I'm renting goes down.  In other words, I find it highly unlikely that the guy with a few SP20s up for rent has done anything nefarious to his gear.  However, the guy who's pushing 500TH/s... well... maybe he's not so nice and uses his gear for block withholding attacks, since that kind of power could indeed impact a pool.

I'm also on the other side - I have 6 S3s up on MRR.  I know they are not modified in any way to do a block withholding attack.  Each of them runs the same firmware with ck.'s S3 cgminer binary.  I actually use MRR as a cheap way to remotely switch pools when I travel for work.  Yes, I suppose I could setup a VPN server at home and have full remote management, but pointing the miners to MRR gives me the ability to switch between 5 different pools at the click of a button on a web page.

Jonny's Pool - Mine with us and help us grow!  Support a pool that supports Bitcoin, not a hardware manufacturer's pockets!  No SPV cheats.  No empty blocks.
MegaFall
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
March 25, 2015, 02:51:56 PM
 #4

How would you even know it was a rental to ban it?
TheAnalogKid
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
March 25, 2015, 03:23:57 PM
 #5

How would you even know it was a rental to ban it?
I'm sure you could come up with an easy enough algorithm to detect large fluctuations in a users' hashrate.  For example if user A is one day hashing with 1TH/s, then all of a sudden 20TH/s, then up to 50, then back down to 1, it might be likely they are renting.

However, that works for the renters as well.  I rent and have hashrate that would fluctuate the same way, in reverse.  I would start out say with 20TH, then dip as my rigs are rented, then back up once the rental is over and it swings back to the pool.
TheAnalogKid
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
March 25, 2015, 03:46:35 PM
 #6

I use MRR as well to rent my rigs out.  JohnnyBravo has rented hash from me in the past, as I'm sure plenty others.  My rigs for sure are running stock firmware with no funny business.  But, that's me.

At least within MRR's controls, there's no way that I know of which displays found blocks by the rental rigs.  The only way I know if a block has been found is through my monitoring using M's Miner monitor which displays all the found blocks, at least until that miner is rebooted.  I've never rented hash so I don't know what the view is like from the renter's side, what statistics they are able to gain access to.

So, even if I wanted to be able to prove to a renter statistics about block finds, I don't see a way that would be easily possible.  I suspect I'd have to write some sort of check to look at the miner log, or have some way to figure it out through an API call, and then find out a way to get that report up into MRR to be able to communicate to the renter.  I'm not sure about West/Nicehash's interface and communications ability, but the interface on MRR to communicate back and forth sucks.

I really don't see a way to police it, aside from the renter being diligent about what they are renting.  If you ban rental hash from your pool, I personally think it would shy people away from being on the pool, and they'll go elsewhere to use their rented hash. 

Personally it doesn't matter to me as an owner who rents out, as when my rigs aren't rented, they're mining for me (at your pool BTW, as well as a couple others so I'm diversified).  Rentals are just another way to make normalized income, a steady stream which may be lower, but suffers from less variance.
MegaFall
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
March 25, 2015, 03:59:56 PM
 #7

I'm not sure about West/Nicehash's interface and communications ability, but the interface on MRR to communicate back and forth sucks.

On WestHash/NiceHash there is no communication between buyer and seller. The seller just points their rig to west/nicehash, and the buyer bids via west/nicehash's buy form and the seller's rig just starts getting and sending work funneled through to them from west/nicehash. As a matter of fact, I think the sellers rigs actually jump around from order to order, whenever convenient.

My orders on there used to bounce up and down all the time... if I rented 5TH/s it would go from 3.5TH/s to 6.5TH/s and never stabilize anywhere. The number of miners on the order would also fluctuate up and down (could be as little as 1, go up to 11, then go to 5, then back to 11).
TheAnalogKid
Sr. Member
****
Offline Offline

Activity: 322
Merit: 250


View Profile
March 25, 2015, 04:10:14 PM
 #8

I'm not sure about West/Nicehash's interface and communications ability, but the interface on MRR to communicate back and forth sucks.

On WestHash/NiceHash there is no communication between buyer and seller. The seller just points their rig to west/nicehash, and the buyer bids via west/nicehash's buy form and the seller's rig just starts getting and sending work funneled through to them from west/nicehash. As a matter of fact, I think the sellers rigs actually jump around from order to order, whenever convenient.

My orders on there used to bounce up and down all the time... if I rented 5TH/s it would go from 3.5TH/s to 6.5TH/s and never stabilize anywhere. The number of miners on the order would also fluctuate up and down (could be as little as 1, go up to 11, then go to 5, then back to 11).
Ok, that's very different from MRR then.  At least there it's a rudimentary messaging system within the interface, and it does at least send you a copy to your real e-mail address.

As for the rentals, on MRR you configure "rigs" and attach a certain hashrate to the rig.  It can be a combo of as many types of actual miners you have - for example I have one "rig" that's 11 S5's, and another that's 2 SP35's.  The renter then rents the whole rig and gets that rig's entire hashrate for the period of the rental, it's a 1:1 ratio.  If something happens to either the rig, or the renter's pool, it goes down and you "lose" the hashrate while it's down, you don't fail over to any other hardware.  It's the same as if you had the miners in your basement, if your internet goes out, or the pool goes down, you're S.O.L.

I suppose with the MRR method it's much more of a risk of a rig owner to attempt a block withholding, since the renter is tied to that rig for the length of the rental contract.  It seems like with West/Nicehash it might be a little more "withhold-proof" if you just rent hashrate from a pool and you don't know who is servicing it but it moves to whatever available hash there is at that time.

IYFTech
Hero Member
*****
Offline Offline

Activity: 686
Merit: 500


WANTED: Active dev to fix & re-write p2pool in C


View Profile
March 25, 2015, 04:23:35 PM
 #9

Personally, I'm not a fan of renting hash due to me mainly using p2pool in the past & most of the hash for rent was not p2pool "friendly", although that has changed recently since spondoolies appeared on the scene. However, now that p2pool is not my primary pool, I still find myself avoiding renting hash, for the exact reasons kano has pointed out. To me, there are just too many possibilities of being scammed/misled to warrant doing so. I'm just more comfortable using my own gear in the knowledge that I know that I can change settings at any time to improve the performance of the miner at any given time. Also, I would be much happier & more comfortable knowing that whatever pool I was using at the time was NOT using rented hash, for exactly the same reasons.
I'm not saying that renting hash doesn't have it's place in mining, because it does & it certainly serves a purpose to some miners, but it's just not for me. Maybe I'm too untrusting, which is one of the reasons I used p2pool in the first place, but I have not been swindled or scammed once since I started mining - I believe this is because I am very cautious who I mine with & who I trust with my hash power.

Kano, I certainly wouldn't complain if you chose to ban rental hash from your pool, in fact I would welcome it. But wouldn't doing so impact your total hash rate too much?

-- Smiley  Thank you for smoking  Smiley --  If you paid VAT to dogie for items you should read this thread:  https://bitcointalk.org/index.php?topic=1018906.0
bronan
Hero Member
*****
Offline Offline

Activity: 774
Merit: 500


Lazy Lurker Reads Alot


View Profile
March 25, 2015, 04:23:52 PM
 #10

I have rented several times and found it is useless.
As the one who rents the rigs, the chance you make the money you spend is very small.
At some point i leased a few of my machines to others and weird enough that often turned out to be a loss as well.

Now thats weird right because you know how much you get paid, but it often happens that somehow the one in the middle is not allways given the right numbers.

Many times people start to complain that they are missing hashrate and that i have found happens on both sides ( rent and lease ) so in the end often had to deliver longer hashtime while the energy keeps ticking or in case renting had to complain i got not enough hashpower.

So i would not be suprised that the ones at the proxy side (middle) actually am doing what mister pirate did back in the days, make people use you as middleman and pick the cherries without anyone can stop this.  
tlhIlwI
Sr. Member
****
Offline Offline

Activity: 305
Merit: 250



View Profile
July 09, 2015, 07:42:35 PM
 #11

I do sell hash on WestHash when the price is high enough (>20% above BTC), but I do not buy hash to throw at a pool because of this very issue.  I stick with my own rig only.

Out of curiosity, is there a technical solution available for this?  Maybe periodically sending "test" work with known solutions (only for hash coming from rental proxies)?  I suspect not, since A) that screws up the trust verification that the pool op is being honest (not entirely relevant to West/Nice where buyer/seller can't communicate to verify this anyway, but it is still relevant to a model like MRR), and B) to not waste time/expense on fake work it would have to be done just after a block change which could easily be circumvented (e.g. "only submit block solves within X seconds of a block change").  Not that any of this is a good idea if it could work anyway.  Sigh.

I may be way off base here anyway since I don't know a lot about how the protocol works.  I'm just curious in case I missed any possible technical solutions.

Subscribe to my Bitcoin Mining YouTube channel: https://www.youtube.com/channel/UC7eam9msr3I2qxzsCzRTuVQ
Snowykingdom
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
September 23, 2015, 01:11:35 PM
 #12

I do completely agree with TheAnalogKid:

Quote
Rentals are just another way to make normalized income, a steady stream which may be lower, but suffers from less variance.

Whenever i want to rent some hash, I'm sure the the hashes aren't going anywhere but to our pointed pool, as a renter I will constantly check the hashrate i rented....as long as the hashes speed is running accordingly, that's it, no problem at all.

Cheers.

kano (OP)
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
September 23, 2015, 01:44:11 PM
 #13

I do completely agree with TheAnalogKid:

Quote
Rentals are just another way to make normalized income, a steady stream which may be lower, but suffers from less variance.

Whenever i want to rent some hash, I'm sure the the hashes aren't going anywhere but to our pointed pool, as a renter I will constantly check the hashrate i rented....as long as the hashes speed is running accordingly, that's it, no problem at all.

Cheers.
I'm more amused by using the word "suffer" - always good to throw in a word to make people think it's terrible.
One could also say "they have less variance" - means the same thing but without a hidden agenda to mislead people.
Helps sway the minds of those who have no idea what they are doing ...

The only "suffering" I see is renters and to a smaller extent miners.
The proxy happily takes a % no matter what happens.
They don't care to manage history of the miners to ensure the people who are paying their income don't get ripped of - all they care about is their %.

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
rigrenter
Newbie
*
Offline Offline

Activity: 36
Merit: 0


View Profile
September 24, 2015, 06:35:14 AM
 #14

If I may ask: what exactly is the point of withholding blocks? The one and only valid reason is simply to be evil. Because by withholding blocks you don't gain anything, you can't just use the block that you've withhold-ed. So I agree while this is theoretically possible I believe there are aren't any miners who would care to just spoof around, spend time on configuring and executing withholding and gaining nothing from it. As a matter of fact it's actually a bad thing for miners to do this since on the long term they would hurt rental services and would't be able to get the extra money that they are receiving by selling/leasing hashing power/rigs for higher price compared to direct mining. So, in my opinion this is a non-issue at all.
-ck
Legendary
*
Offline Offline

Activity: 4284
Merit: 1645


Ruu \o/


View Profile WWW
September 24, 2015, 07:06:27 AM
 #15

If I may ask: what exactly is the point of withholding blocks?
Keeping diff down or as a malicious attack against a PPS pool.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
kano (OP)
Legendary
*
Offline Offline

Activity: 4620
Merit: 1851


Linux since 1997 RedHat 4


View Profile
September 24, 2015, 08:32:13 AM
 #16

If I may ask: what exactly is the point of withholding blocks? The one and only valid reason is simply to be evil. Because by withholding blocks you don't gain anything, you can't just use the block that you've withhold-ed. So I agree while this is theoretically possible I believe there are aren't any miners who would care to just spoof around, spend time on configuring and executing withholding and gaining nothing from it. As a matter of fact it's actually a bad thing for miners to do this since on the long term they would hurt rental services and would't be able to get the extra money that they are receiving by selling/leasing hashing power/rigs for higher price compared to direct mining. So, in my opinion this is a non-issue at all.
One and only? Hmm ... I guess you've not thought too much about it ...

Well ... if some pool wanted to destroy some of their smaller competition ...
It's quite common for people to hop off one pool onto another one when luck is bad but well within expectation.
Withholding on a non PPS pool will of course make the pool's luck seem worse.

Also there's the simple concept that people will rent hash due to wanting to gamble on that.
Renting hash will of course cost more than the expected BTC you will get, so renting is simply gambling.
Some gamblers can often be influenced by failure, to give it ... just one more try ... to get back their losses.
So if they aren't getting blocks (or getting fewer than expected) then they may well want to rent more ...

A couple of hours ago the data-centre where my main pool server is, was under a major DDoS attack.
It wasn't directed at my pool, but at the large data-centre.
Yep people may do such things simply because they want to and can do them.
That's how it is in the real world ...

Pool: https://kano.is - low 0.5% fee PPLNS 3 Days - Most reliable Solo with ONLY 0.5% fee   Bitcointalk thread: Forum
Discord support invite at https://kano.is/ Majority developer of the ckpool code - k for kano
The ONLY active original developer of cgminer. Original master git: https://github.com/kanoi/cgminer
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!