100% paying nodes

I am here to write up a small forum post about a issue we are more and more facing.
First things first, I think we all seen how the leasing UI improved, it became more clean and easier to use, however it also exposes the issues. And it’s a very one sided system, doesn’t show token payments, doesn’t allow for showing what nodes do for the network etc. So let’s start with the problem.

100% nodes will grow, even without contributing, without marketing, without being active, just by paying 100%

The current client shows the payout percentage from the nodes, however this also enforces lazy people to not do research to nodes and just lease them, for the money. Greed has been in humans since we existed and the new client bolsters this. If you look at the current node overview, you will see that new nodes popped up, however the ones that pay 100% are growing heavy, while the other older nodes lose heavy or new nodes don’t grow so fast.

What are the consequences and risks

  • We will lose node owners in the long run

  • We will get less new nodes, and if they start they aren’t even motivated to become listed in the wallet since they would only get more work with 0 personal profit from it, so they prefer to lease to a 100%. I know from 4 people who just don’t see a reason to be listed with this one sided UI.

  • We lose decentralization, since the new node UI, tradisys his leasers grew from 5.1 to 5.4m. Which is worrying. While nodes like cryptin, who is active and creates content went from 670 to 550k leased. Another very active/long term node, wavesnode.net went from 2.3m to 1.88m. On the opposite an overpaying node, caveman lab went from nothing to 3.2m within a matter of days rather then weeks.
    I let my own node out the equation to give neutral examples.

  • We won’t attract new pools, since there is nothing to gain from it, so when old ones stop, or lose share, the network becomes more and more controlled by a few.

  • We won’t attract professional nodes like on other networks, neither outsiders.

  • There is no real initiative to run test/stagenet nodes or be active as a node owner, since it doesn’t matter anyway. The only thing what matter is %.

What can be done
There are a few possibility’s that could make impacts short term. One could say it’s a protocol issue to be solved, however not a single protocol prevents node owners to overpay. (Which currently already does exists)

  • Remove payout percentage from within the wallet UI and randomize the list, leasers then can still lease to each node. But the ones who are lazy will just select the top one, since the list is randomized it’s more fair, and you would expect the smaller nodes also to gain a bigger share again. And then nodes would need to really put effort in to convince leasers, since the chance they lease otherwise to a random node increases.

  • Remove 100% paying nodes from the wallet. Since the wallet is already a whitelist from node’s we could easy enforce as an additional rule to have a maximum payout percentage. It’s a requirement which each node can full-fill for itself, so it’s quiet fair. And if they do think they deserve the leasers, because they are better or have great marketing, the leasers will come to there node anyway.

  • Make a list based on other vectors then %, for example, how long does the node exist, has the node been hacked, has the node a good up time, does the node run test/stagenet nodes, is the node active within waves community like the WA or other things.

  • Nodes and leasers could also team up as a last resort to go in some kind of strike. We could deny to run test/stagenet nodes. We could deny to help grow the system they lock the non 100% paying nodes out from indirectly. We could even raise a front with multiple nodes to prevent new feature activation. This is ugly and it will hurt waves, but a centralized blockchain will hurt even more in the long run. Actors within waves ecosystem who don’t come or leave hurt even more.

  • We could gather 51% from the network and blacklist the nodes who pay-out 100%, this will cause some chaos and indeed hurt the network. But like one from the nodes said: “I am not going to change anything unless I am forced to.” Or another quote: “I don’t care about the nodes and who leases or who not, since I don’t earn from it.” But he does forget that some active nodes do care, and do work very hard. This is hinted as a solution by one from the biggest node who also pays out 100%.

What can leasers do

  • Stop supporting 100% nodes (partly), It sounds like it goes against human nature to give away some profit, but what is this few percentage if we bring in: more nodes, more outsiders since there is profit to gain, and therefor make waves-protocol stronger as a whole?

  • If you lease to a node, review the leases, look what else does a node contribute and lease according to this. Like I gave the example, cryptin, very active, translator, blog post writer, active in the WA and he is punished by the gross from the leasers.

  • Help us educate your friends, family and get a movement away from 100% nodes. Again it might feel like going against human nature, but think long term about things.

As last I would like to add a poll as to how the community thinks this can or should be resolved. And I would like to invite each and everyone off you to talk discuss and join the solution instead be part from the problem.

  • Remove 100% paying nodes from the wallet, and only show 95% or below
  • Remove payment percentage from the wallet
  • Hide top 3 biggest nodes from the wallet UI
  • Create another score index/ requirements to be listed in the wallet, which endorse skill, knowledge and activity
  • Make the node list in the wallet votable by the Waves Association, and therefore let them be guards about payment percentage and other rules.
  • Everything from the above
  • Do nothing
  • I will clarify my solution in the comments

0 voters

2 Likes

I endorse this topic :). The current UI is a lot better but it comes with a flaw. It does only show payout percentage in WAVES which leaves out a lot. Some nodes do a lot of other stuff for the ecosystem or have a token payout scheme and this is not being shown by the current UI.

I think the goal should be to have as much nodes as possible in the network. 100% paying nodes leaves no reason for anyone with a big stack of Waves to run a node and causes a few big nodes to have a huge part in the network.

The UI can be used to steer users in the right direction. If you really want to lease to a big node you can always do it manually. Id say remove the biggest (top 5?) nodes from the UI, randomize nodes list, remove payout percentage and / or remove 100% paying nodes. Im not sure which measure would work (if at all) but I think something should be done to counter this problem. Trial and error i`d say. :slight_smile:

1 Like

Suppose someone lease 100 Waves it must be divided into 3 lot transactions.

  1. 33.3% to highest stake node (more than 1 Million)
  2. 33.3% greater than 500k and less than 1M.
  3. 33.3% to Less than 500k.

By this way leasing will be divided accordingly. Even if someone will try to cheat with multiple node again the ratio will be divided. So cheat chances are less.

There should be a maximum cap for each week lease, suppose last week leasing was 100k, someone was to put 300k more leasing on same node it will not allow more than 10% (30k) in a week of last week leasing.

If Waves node team can build a tracking system to store on blockchain for weekly, sure everyone can notice the growth of node and maximum cap condition will not allow user to lease more than 10% a week.

Before all, some general considerations of mine

I think that the UI is a great thing for all leasing pools.
Not only because it makes the leasing process easier for users and it encourages even the laziest to lease their waves, but also because it allows you to track the payments received and, let me tell you, make comparisons with other leasing pools.


Profit, Frequency, Trust

Because it is useless to go around it, the main reason that push most of common people to lease is profit.

A lot of importance in my opinion is also covered by the frequency of payments.
I personally had no problems with weekly or monthly payments but things change according to one’s own experience.

Since the list was added, wanting to support all the leasing pools, I equally splitted some of my Waves into 15-16 leasing pools. However it must be said that not all pools behave correctly. And for this reason I deleted some leasing because after 10-11 days i didn’t received any payments.

This is really annoying and I have to say thanks to the new tracking sistems if I can see that they never paid. This is a good think.

I would like to emphasize that it is not a question of lost earnings, the thing that bothers most is feeling cheated and feeding the incorrect way of acting of some pools.


Premise before my proposed solutions

I am not a leasing pool owner nor do I know exactly how they work.
(OT I’ve always wanted to have one but I don’t have the basic skills to do it. The guides read so far require programming prerequisites that I don’t have. Therefore I had to give up. /OT)



What I propose if it is possible

  • set a maximum of Waves to be leased in a leasing pool
  • force each leasing pool to pay the same percentage (I would delegate to those who are more experienced the task of finding the way)

I repeat, I don’t know if these are viable solutions. It just my non-expert opinion.


What I would like to keep

I would continue to see all the leasing pools, even the biggest nodes, payment percentage and possibly even more statistics.


Future improvements

It would be fantastic to be able to install a node with a few clicks to make this opportunity accessible even to the less experienced and facilitate decentralization.

Such an easy click setup already exist in azure and ankr. However do you think it will have a lot of use when new nodes barely find leasers unless 100% paying?

Certainly not, the goal should always remain that of putting each node in the same starting conditions to be chosen. However I don’t think it is only a question of paying 100% or more.

Certain standards of seriousness and reliability of the node itself should be respected and still have a very important weight. I would not to guarantee anything to nodes with poor standards.

  • I proposed the payment of same percentage and a fixed cap of waves to be leased in each pool. i.e. maximum 100.000 Waves per node (it’s just an example).
  • Or a dynamic cap that should change based on the total of waves to be leased and the number of nodes.
  • Another idea could be a cap to be applied to lessors: if i have 1000 Waves on my account and there are 10 pools i can maximum lease 100 Waves in each pool.

However all these solutions do not guarantee that all node will reach the 100% of the cap. And I think this is also right.

This because there remains always the important question of reliability, seriousness, professionalism that makes the difference: if payments are not made regularly or if there is no communication, a lessor will turn to another node or could prefere to not lease at all if the others already reached the cap.

This is just my opinion, right or wrong.

A lot of these suggestions are changes that can only be made on protocol level though. We can try to address this situation with UI changes short term and find out what (if at all) works.

I would love to hear more views on this in this topic. Please speak up :).

I like the UI idea so far, but with the current method, the risk is that a relatively new node can start paying 100%, collecting a 3 mln waves in short time and stops paying leaser. Only 1 or 2 payments are enough to collect a nice sum with 3 mln leased.

IMHO, a fair method could be this (it was already suggested):

Waves team gives a weighted score to nodes depending on some node characteristic.
It should be better if the verification of the points is automatic.

Example (scores and balancement to fix):

  1. age of node since first payment (1 point for every month, for example – maybe capped so new nodes will reach old nodes in a certain time)
  2. does the node pays regularly? (- 0.x point per missing payments from the beginning)
  3. does the owner run a testnet node? (0 or 1 point)
  4. does the owner run a stage node? (0 or 1 point)
  5. does the node has a website and is it updated? (0 or 1 point)
  6. does the node contribute to the community in some way? (from 0 to 5 points)
  7. does the node have leased then x waves (-1 point for every x waves over the limit)
  8. does the node pays over 100% (-x points for every points over 90%)

The nodes should ordered by score descending

2 Likes

Most of your proposals sound like: “Lets build the communism, take all from rich and distribute between lazy”.

Care to elaborate? This is not leading to a fruitful discussion.

I believe the only thing that may help lies on the protocol level. In no way centralisation problem can be solved by convincing people.
Ideally, leasing to a pool with minimal balance should be awarded in some way and vice versa, leasing to whales should be as difficult as possible. I repeat, not client level, but protocol

Protocol level can never limit something. Nodes even now pay already more then the protocol gives them.
What the UI does is make it even more easier to lease to the biggest pool… Also a protocol change is never a solution we can do in a short time frame. However, since you are convinced about protocol level, care to elaborate how exactly?

What do you think about forcing the splitting of leased Waves across multiple leasing pools?

Given an amount of waves held in an account, set a maximum percentage of Waves that can be leased in each leasing pool.

Max 20% to be leased each leasing pool = force to lease to at least 5 leasing pools
Max 10% to be leased each leasing pool = force to lease to at least 10 leasing pools
Max 5% to be leased each leasing pool = force to lease to at least 20 leasing pools

The lower the percentage, the greater the distribution of the leased Waves on more leasing pools.

I disagree. Sure, this is a LPoS problem however it’s not easily fixed on protocol level either. I think the best course of action that can be taken is to educate users and use the UI to steer them in the right direction.

If users still want to stake to any other node after that than it’s their choice ofcourse :).

From top of my head I can propose 2 ideas that can be implemented via protocol.

  1. Leaser Reward Token (paid to leaser, amount is something like L / (x + G), where L is lease size, G is node generating balance, x is some constant to fine tune)
  2. Probability of successful lease transaction - return error most of time when trying to lease to whale

easy to find a way around it, just split waves wallets