In a forum post the other day on ChiaForum.com, Flexpool made a series of claims based on a recent run of good luck they have had. You can read the whole thread linked above, but this quote is really what the gist of it hangs on.
Funnily enough you make more with our pool than running solo. There isn’t one specific reason but an overall technical advantage makes our farmers more likely to win blocks.
Flexpool, ChiaForum.com
Let’s talk about this claim for a second. Extraordinary claims require extraordinary evidence, and so far they have not provided any. First, to get it out of the way, it is functionally impossible for the pool infrastructure to affect the farmers winning blocks in any way whatsoever when using the normal Chia client. The pool just isn’t involved in that process. In fact, in the code itself, submitting a winning proof to the network happens before submitting a partial to your pool so even if that function was stuck somehow it wouldn’t affect you if you had won a block -that would have already happened. To farm a block while part of a pool your pool does not need to be online at all. Only to claim the reward.
I asked Gene Hoffman, COO and President of Chia Network if the pool being totally offline would affect a block reward, and this was his response “Farmers are the only that have to be in sync and happy unless you’re running centralizing software. One of the many reasons not to run those centralized offerings.”
Flexpool is saying that one of the reasons for this is that they claim a reward within 2 blocks while pools based on reference code will take 30 to 40 blocks. I checked with the pools. It is configurable, most have it configured far below that but enough that they don’t have to worry about a late sync or anything causing issues. They are not having problems of farmers winning a block, hitting Change Pool, and waiting 100 blocks to then solo claim the reward because they are not waiting 100 blocks to claim. So while it is possible that a pool here or there has had a reward snagged because a service was offline, this is absolutely not causing widespread reward depression.
Now the argument that you win more with them than running solo is ludicrous. Yes, during their lucky streak you probably would have (not me, I’m on a much luckier streak than Flexpool is even) but that will not last forever. Again, possible some people have their setups misconfigured with high latency, but I don’t think that will affect everyone nor FlexFarmer fix everyone it affects. And it makes their claim extremely subjective, and not applicable to everyone.
Except that they are claiming it will last forever and apply to everyone, due to their technical superiority. In fact, Chris from FlexPool approached me and offered to sponsor an article looking into pool payouts so they seem that confident since I doubt he thought he could buy my opinion. I declined. But I wanted to look into it anyway, and even a cursory glance suggests it is not possible to the degree they are claiming.
Now, there is a slight possibility that the infrastructure they have setup with FlexFarmer is as good as a well configured solo farmer, and that people who had their farms misconfigured are more likely to win blocks once they switch to FlexFarmer. I have asked for numbers on their FlexFarmer service, but just due to the nature of numbers it would have to be a whopping 28% better at winning blocks AND 50% of their farmers would need to be using it in order to account for their 14% superiority claim.
So what is going on? Let me speculate on what I think for a second, and allow FlexPool to give their own explanaton of why they are so lucky. Or what technological marvel they have developed to create such a huge advantage for their pool for a process that their pool isn’t part of. I do think that the luck of winning a block on the Chia network is heavily influenced by how well a farmer’s network and storage is configured. And I think that people with proper setups will farm blocks more often than they should just based on netspace on a pool. But the pool is not responsible for any of that, and the best possible pool code will not help a farmer farm a block. That leaves two possibilities.
The first is that they are getting lucky. This is what I think. They run their pool well, its consistent, drives don’t go to sleep because of difficulty 1 and they have just plain gotten lucky. This is the most likely explanation.
The second possibility is that they are underreporting netspace. I really doubt this is true, but a Reverse EcoChia would absolutely show them winning more blocks than luck would show. If they are doing this it is certainly by accident and would involve using an Exabyte instead of an Exbibyte somewhere, or a mistake like that. Knowing how gifted a developer Alex at FlexPool is, I think their numbers are spot on, but it is a significantly more likely explanation than somehow connecting to FlexPool lets your farmer farm blocks more often.
Here is Alex at FlexPool’s response as to exactly why they think they are farming so well compared to other pools. This is a more reasonable explanation than they are making publicly about why they might be farming better when using FlexFarmer.
First thing everyone needs to acknowledge that there is no way to earn more than what the optimistic calculator shows (luck excluded).
Common reasons on why OG farming results in less amount of XCH farmed is that the blocks are being lost sometimes. Most common reason for this are stale blocks, that cannot be accepted to the canonical chain. Many users (I confirm this personally) have farmed OG with a huge stale rate without suspecting anything, and after they have switched to Flexpool, only then they have realized that they were losing a significant chunk of their rewards. Another reason for this is poor p2p connectivity. This is a huge problem with “decentralized” Chia farming in general because the node setups users have at home are no way close to what we run at Flexpool. Most of users are having pretty bad bandwidth, having the 8444 p2p port closed, and having low amount of peers in general. The lower the amount of peers, the higher chance of the block being orphaned.
A pretty large chunk of Flexpool users are using FlexFarmer, and FlexFarmer itself so far seems to be much more efficient at sealing and submitting blocks than regular “decentralized” Chia farming. It uses our own Golang Chia libraries instead of relying on Python ones provided by Chia developers. Python itself is the slowest programming language among the popular ones, and besides this there are a lot of unoptimized code out there we have optimized on our side. With all this the % of lost blocks with FlexFarmer is all time 0% as of today.
Most of pools and others are running what Chia developers have provided to them, and they have no idea what they are doing nor what is going on around. Highly likely they already lose % of blocks, but they simply aren’t noticing that, and saying “it is just bad luck”.
A really good metric for the pool performance would be the amount of blocks it takes for the pool to claim the block. Regular Python Chia pools take really a lot of time to do that, and there is a super high chance for them to be stolen via leaving the pool and claiming the block rewards as they were solo mined. With Flexpool it is no more than one or two blocks, compared to 50+ for regular Python pools.
That being said, luck may also play a role in this number since we have been quite lucky recently.
Alex, Lead Developer Flexpool
This feels possible to me, occasionally, for some people, I still don’t think it can account for 14% across the board, only a couple of points at most. Because I think farmers having issues are just as likely to use FlexPool with the default client as any other pool and so FlexPool would see this issue too mostly. And I think plenty of farmers have their stuff setup properly. I have spoken to very competent developers who have told me that python-wrapped-c is just as fast as GoLang, possibly faster depending on the individual codebases. If they are correct this has fairly significant implications for reward fairness beyond even their claims about their pool rewards. I just don’t think they are to the degree required to swing their pool anywhere close to 14%.
However, I do 100% agree with Alex about the problem with the BitTorrent style decentralization with 100s of thousands of home computers of various security posture and performance responsible for the network. The architecture meets an ideological bar that it does not meet technically, with issues created that are hard to overcome as long as critical nodes are run on raspberry pis. That is before you even consider the security requirements.
I would really like to see some data from FlexPool and the other pools and farmers to confirm or deny the stale / missed blocks claim. It would be relatively easy to figure out with a TON of INFO level logs from people around the world, but without that its all just speculation. In fact, if pool’s wanted to ensure they are maximizing rewards they could offer a log analysis service to farmers in order to check for discrepancies for farmers who might not know how to.
As for the other pools, I have spoken to a number of farmers that farm both with FlexPool and other pools (as well as just different combinations of different pools) and they get basically exactly the same awards with FlexPool as any other, Some weeks are a little better, some weeks are a little worse. But never by more than a percent or two.
FlexPool has been consistent in their claims about how their reworked GoLang Chia infrastructure is superior in every way to the base Chia software. I wouldn’t even be surprised if that was true. But even if it is, it absolutely will not farm blocks 14% more often unless someone has their storage or network infrastructure misconfigured.