spacemeshos / go-spacemesh

Go Implementation of the Spacemesh protocol full node. 💾⏰💪
https://spacemesh.io
MIT License
748 stars 211 forks source link

Concerns Regarding Growing Centralization in Spacemesh #5413

Closed bugxzhu closed 8 months ago

bugxzhu commented 8 months ago

Dear Spacemesh Team,

I am writing to express my concerns regarding the increasing centralization among users in the Spacemesh network. It has become apparent that mining pools hold a significant advantage over the official program. For instance, I've observed that mining pools have set up their own post servers allowing for posts within 24 hours without missing the subsequent epochs. I am curious about the underlying principles enabling this functionality. This disparity between the capabilities of the official program and those of mining pools has created an unfair environment for users employing the official software. I fear this could lead to further concentration of mining power. Additionally, the ability of mining pools to shut down their servers after post completion to save on electricity costs is another considerable advantage.

I am interested to know if there are plans in the near future to introduce a system where one official node corresponds to multiple post services. This could potentially address the unfairness experienced by users and mitigate the centralization of mining power. Furthermore, I believe efforts should be made to curb further centralization. Failing to address these concerns might lead the project down a path resembling another Chia-like scenario, which I'm sure is not aligned with the project's goals and vision.

As a supporter of the project, I genuinely hope to see Spacemesh continue its development both technically and within the community while upholding its core principles of decentralization. I would greatly appreciate hearing your thoughts on these matters and any plans for improvements in the future.

Thank you for your dedication and hard work that you and the entire team have put into the project.

Sincerely,

pigmej commented 8 months ago

Hello,

Answering one after another.

1) Post-service is still a work in progress. It will debut at 1.3.x with a single service per node, but most sub-protocols already support multiple, so we're working hard to add that functionality to the core. Please expect test releases "soon". It's mainly tracked https://github.com/spacemeshos/pm/issues/259

2) Anyone can run any poet; by running a longer cycle gap, you lose ticks; if you lose ticks, you lose some part of the weight; you get fewer rewards if you lose part of the weight. That's assuming the same poet speed. Everything is described https://github.com/spacemeshos/poet/blob/develop/docs/poet_operator_manual.md So that you know, the node can use only ONE poet.

Does that answer your concerns @bugxzhu ?

bugxzhu commented 8 months ago

I am writing to explore the idea of allowing anyone to run a PoET service and its implications, particularly in balancing rewards while using large-capacity drives with the official Spacemesh program.

The concept of enabling anyone to run a PoET service seems promising. However, I am concerned about how to achieve a balance in earnings and third-party services while using the official program. Specifically, when employing large-capacity drives, how does the revenue compare between utilizing the official program and opting for third-party services?

As I understand it, with the official program, a large-capacity hard drive might lose an epoch, whereas using a third-party service may result in missing some reward points but allow for continuous earning over two epochs. In practical terms, would the difference in actual rewards be significantly substantial between these two scenarios, assuming the use of a 16TB hard drive?

I am keen to gain insights into the potential earnings and trade-offs associated with these options. Understanding the comparative advantage or disadvantage in rewards between running the official program and utilizing third-party services will be valuable information for users contemplating their mining strategies.

Your input on this matter would be greatly appreciated as it could help users make informed decisions about their mining setups.

Thank you for your time and consideration. @pigmej

pigmej commented 8 months ago

Hey,

Running your own poet is possible since day0 and is considered to be feature.

Poet is kinda like a more sophisticated clock, which, (super big oversimplification warning) instead of counting seconds, counts how big a tree it builds. The bigger the tree, the more weight can be added, let's say. For example:

Going to your example with 12 vs 24h

Our public poets are running for 13.5 days in a 14-day period, so 324 out of 336 hours. If someone runs a poet with 24h gap, that means that they can run 312 out of 336 hours.

So now, a given person would need a 4% faster poet to minimize the loss.

So, to answer your question: if both poets are equally as fast, then the 24-hour cycle gap will yield you 4% less rewards.

To compare the revenues, you basically need to do the math based on the above assumptions.

And again anyone can use any poet, anyone can run their own poet, it's feature.

bugxzhu commented 8 months ago

Thank you for providing insights into the functionality of PoET and the considerations regarding mining practices in the Spacemesh network. Your explanation regarding the differences in rewards and the impact of running PoET cycles within a 24-hour period has been informative.

As far as my understanding goes, some significant miners have started using larger capacity hard drives and have connected to mining pools that allow 24-hour post cycles. Apart from the differences in earnings, the advantages of larger hard drives are evident in terms of space-saving and the avoidance of additional equipment. These are key considerations among miners.

In light of these observations, I would like to emphasize that encouraging more solo miners compared to pool miners would contribute significantly to decentralization. Therefore, it is crucial for the official Spacemesh program to maintain its advantages.

My suggestion is to further enhance the features and capabilities of the official Spacemesh program to incentivize and cater to solo miners, ensuring that their experience remains competitive in terms of rewards and efficiency.

I appreciate your attention to these matters and eagerly await any plans or developments in the official program that align with these suggestions.

Thank you for your time and consideration.

Best regards @pigmej

pigmej commented 8 months ago

I'll close that issue as I feel all that could be said is already there. If I'm not right, then please reopen :)