[Question] Running a node while joining a staking pool?

From my understanding, if you hold a small proportion of ADA it is better to join a staking pool. However, is there any incentive for running your own node while joining a staking pool? So the idea is that the stake leaders are compensated for run time, electricity, computing power, etc., but are individual nodes rewarded more since they would be dedicating computer power to the staking pool?

Individual nodes are not “dedicating” computer power to a staking pool. What does it even means?

Pools are “quality nodes” that people “hire” with their stake to run the network. If any individual wishes - he can run his own full node without being a pool, but if he does not personally holds a significant stake - his server-support costs will most probably exceed any profits he would receive from node-rewards.

There’s no special separate reward for noble personal node-operators :slight_smile: Completely irrelevant to whether they are also participate in a pool. It would actually be completely counterproductive to both join a pool and run your own node.

The question seems really out-of-context of how the whole system is planned to be working. If this comment did not answer your question - please, try to elaborate what you mean by “dedicating computer power to the staking pool”, for now I suspect that you might be misunderstanding some specifics of the PoS )

I’m sorry, I may not have the correct terminology down nor the specifics. This level of technicality is outside my level of expertise, but I am doing my best to understand.

Here is the scenario that I was trying to get at. I do not hold a significant amount of ADA compared to staking pool leaders. However I do have an extra computer that I can have online 24/7/365. I did not know if there was incentive for me to run my computer 24/7. If there is not an incentive, rather than wasting electricity, would it be better just to have the pool leader delegate my stake? But this already answers that.

But the next question, is there information out there to say if it would be better to run an individual node or to join a staking pool depending on the amount that I plan on staking.

Absolutely no problem whatsoever, this is exactly what forum is for :+1: Just wanted to make it clear in my answer that I am not sure that I understand the question completely :slight_smile:

Great question! So, here’s how it works:

  1. Anyone who runs a full-node - will get the right to create as many blocks as much relative stake he has. So whether it’s you or a stake-pool operator who runs a node - there must be a relatively big stake for this node to be able to make any blocks.

  2. You do not have to have a significant stake to participate in a pool. This is (basically) exactly what pool is for - each separate delegate might not have a big stake to be able to run its own node without losing money on its support, but they “pool it together” and “hire” (by delegating) a person who will run a node for them. In return for this service stake-pool operator takes a percentage of all profits.

  3. Stake-pool operator does not have to have a big personal stake. Basically anyone may become a pool operator by running a node and having a minimal amount of coins required to issue a “pool registration transaction”. But his node will be selected based on all the coins that people delegate to his pool. The main requirements for a pool-operator is to have a good servers and to be able to run and support them properly. This is basically what he “sells” to delegates in return for their money.

  4. A full-node that is running without a stake significant enough for it to win slots (right to create blocks) is basically performs a function of a “relay node”. Relay nodes do not create blocks - but they provide additional “connectivity” and distribution to the system. Because they connect to other full-nodes and participate in data-exchange and validation.

So if you’re gonna run your own full node, but will not have enough stake to make blocks - you will be a “relay node”, and as far as I know there’s no direct monetary incentive for those nodes. Pools are expected to run their own relay nodes, and services that use network API (like exchanges) might run those to have more “direct” and reliable connection to the network. Or people may run those just as a favour to the network :slight_smile: But basically those are running at a loos.

Not directly, but we may perform some simple calculations to estimate a required minimal viable stake:

  1. Rewards will be payed out to nodes once in epoch (5 days, or 21600 slots\blocks).
  2. A node needs 1/21600 = 0.0046% of a total stake in order to win on average 1 slot each epoch
  3. If we assume a total stake of 10 billion ADA (about 30% of total supply) - then 0.0046% of this would be 460’000 ADA.
  4. Winning 1 slot an epoch would bring a node something around 350 ADA (once each 5 days)

From this - you can try to adjust some parameters to see how result changes accordingly. For example:

  1. Having a half of example stake (230’000) would give you accordingly on average - ~350 ADA once per 10 days.

  2. Having a 10th of this stake (46’000) would give you ~350 ADA each 50 days.

  3. Also, if the total stake ends up to be a 5 billion instead of 10 - then for the same stake reward would change to ~700 ADA each 5 days

  4. But also if the total stake ends up to be 20 billion instead of 10 - then reward for the same stake would be ~175 ADA

So having these calculations you may estimate how your stake would correspond to different possible values of the total stake and what possible rewards you could get on average in a month or a year.

5 Likes

pls post your rx address. this answer is worth some ADA!
(and please never send my back 50x ;- )

2 Likes

Any kind donations will be happily and gratefully accepted at https://cardanowiki.info/wiki/Funding and will greatly help to host, support, and improve our awesome community Cardano Wiki :wink:

What am I, Vitalik “giving some ETH away” Buterin to do stuff like this? :smiley:

6 Likes

Thanks for sharing your thoughts on this. I know there is no official data on staking, but it’s always useful to test the upper and lower limits…

Now building on your logic: If we can estimate the cost of running a stake pool according to the minimum parameters (e.g. redundancy, geographic spread, etc.) specified by Cardano, we might arrive at a USD value that the pool needs to keep the network alive.

Also it might give us some sense on what Cardano’s approximate reward per slot will be. If I were designing the incentive scheme, I would put the reward figure high enough to avoid jeopardizing the security of the network.

  1. Let’s say, hypothetically, that running a pool costs is around $2000 per epoch.

  2. If that’s true then, the pool with a maximum stake of 1% (assuming the max number of pools==100) should earn at least this amount per epoch

  3. At current price of 0.21 per ADA, we are talking about 9,524 ADA per epoch (USD2000/0.21). Without even accounting for payment for stakeholders, the pool must at least make this much in ADA.

  4. At its peak capacity, assuming 100% uptime, the pool will win 1% of slots per epoch–> 0.01 * 21,600==216 slots.

  5. If the reward per slot ==350ADA, then the pool will get 75,600 ADA per epoch. This translates roughly to USD15,876 which gives the pool plenty of resources to pay for its costs and reward the stakeholders.

  6. This gives us a break-even ADA price of $0.026

  7. Alternatively we could play with ADA reward/slot to reach the same break-even point. ADA reward/slot of 44.1 at current price of $0.21 per ADA would make it unsustainable to run a pool with operating cost of $2k per epoch.

There are three things worth noting:

a. Server costs are likely to be incurred in fiat and Cardano network should be designed to withstand extreme movements in ADA price.

b. ADA rewards are well within the realm of control of the developers, while ADA price is not. Therefore, if I were designing the reward mechanism of Cardano, I would assign a high enough value to ADA rewards per epoch to compensate for extreme volatility of the coin price in the initial years.

c. Ultimately, the ADA rewards will be dependent on the USD price of running a pool. Again if I were developing the incentive scheme, I would be building redundancies in the system (including sub-optimal pool levels) to make the network resilient to external price shocks including the price of ADA dropping to its launch levels.

I am not sure if my server cost estimates are correct, but I believe my methodology can give you some indication of where ADA rewards per slot may end up.

4 Likes

Elias looks at us kindly and leniently:

image

I think getting the right incentives is a bit more complex, than just getting it “high enough” :slight_smile: You need at least take in consideration points that rewards should also be: “small enough”, “sustainable enough”, “persistent enough”, etc.

I don’t think that a current price of a coin should be (or is) anyhow taken in consideration in designing the incentives. You design the it like a “closed system” and calculate - what would give you the most sustainable solution, and what rewards in ADA should be.

Pools will be forced to try and make profits on whatever reward they get in native coins - and this, in turn, is one of the driving forces behind the price of the coin. For example, bitcoin miners do not receive as many bitcoins so that would cover their losses at a price of $10 per bitcoin. Instead, bitcoin miners invest whatever they can afford to invest - then they mine as many bitcoins as they are able to mine after their investment - and then they try to find a buyer price that would cover their investment.

Do not forget that this number of ~76K of ADA per epoch is the revenue of 1% pool. But the profits of the same pool are defined by the size of the fee it has defined for itself. So if a pool would have 5% fee - then it would receive profits of 3800 ADA per epoch. Or with a fee of 10% - 7600 ADA per epoch.

There’s no available information on how big “an average” pool fee could be - no pools give any estimates at this point (at least I could not find any), since the incentives system is not properly defined yet. But do not forget that the reward system should equally incentivise people to “vote” for good pools, so the fee should be small enough so that different pools could not dump those fees too badly. Pools are basically just service providers in the Cardano system, and people hire them to keep the network live.

Again, this would be extremely irrational to incorporate the “current price of a coin” into the incentives calculation for a system. Per block rewards are only calculated from two parameters:

  1. The inflation rate of the system
  2. The stake share of a pool

The inflation rate for previous calculations is assumed at 5% reserve decrease - which gives the 2.23% total supply inflation in the first year. This is the only number mentioned in the official post (https://www.cardano.org/en/staking/) but might also turn out to be anything else.

The pool stake share is assumed to be at the 1% cap. But again, if you consider a smaller pool - its reward would be considerably less.

Again - this is backwards. The one of the driving forces behind the price of ADA is the server costs in fiat that pool-operators has to cover by whatever reward they are receiving.

Now Elias looks at us angry and he’s really disappointed:

ADA rewards are not “well within the realm of control of the developers”. The sustainable incentives system is not defined just by saying: “I think those guys should make more money, let’s make it 10K ADA per block.” Maybe in some other systems, but not in Cardano.

In order to arrive at a stable and sustainable model you need to take into consideration a ton of variables and nuances of how rational\irrational honest\malicious agents react to different rewards, and what are incentives big enough to keep them interested, but also small enough to keep them from risking too much in order to maliciously reward themselves, and also to keep the inflation sustainable for decades to come, and etc. and etc. and etc.

I hope one day these guys gonna write a book of “How to make things keeping going” that would describe in details exactly how complex it is to design stuff like this :slight_smile:

No. See the whole comment above.

No :slight_smile: See the whole comment above.

Rewards per block are calculated from only these four parameters:

  1. The inflation rate of the system
  2. The length of a slot in seconds
  3. The size of the treasury tax
  4. Transaction fees

That’s it. Transaction fees might be changes by a public vote if the price of ADA changes significantly - this is true. But the only way it could be changed in practice - is to bring it down, what would make rewards lower. This is the only way how rewards might be connected with a current price.

1 Like

This is interesting. I am not saying I fully understand all the nuances, but my initial reaction is simple: if Cardano has a long list of requirement for pools (redundancy, geographic spread, etc.) then it should take into consideration the actual cost of running those pools under various adverse market scenarios. If I am a pool operator and I incur costs in fiat, I need to be able to recover them in fiat. Otherwise no one would open a pool.

If, however, there are no specs from Cardano and I can effectively run a pool from the comfort of my home with two servers, then the cost structure would be quite different. My costs would be equal to running two TVs 24 x 7.

I wonder how you define ‘sustainable’? If we are to have a number of private pools, I would assume we need to consider their motivation to keep the pools running from a monetary perspective.

In early years of the bitcoin network, anyone with a laptop could run a node and receive a ton of reward. Depending on the price, they could make money or lose money. As the rewards got slashed, and more computing power joined the network, those small players organized into pools or dropped their mining activity as it was no longer economically sustainable.

The point I am making is that PoW algorithm dynamically changes to encourage the nodes to mine the coin. So if today, say all the powerful miners left, their space will be filled with smaller players mining away on their laptops as the algo would reduce the hash rate to accommodate the capacity of the network. But even then the mining should at least cover the electricity costs of an individual miner.

Anyway, in PoS I don’t think you have this dynamic network flexibility unless you let the market dictate the pool fees. You can set the validator reward as a decreasing 5% or whatever else you decide, but you would have to let the market decide if a 10% or a 1% pool fee would be enough to cover its costs. That percentage would depend on the cheapest configuration people can come up with to satisfy the needs of the network.

I am assuming, Cardano will have a certain criteria for the ‘approved’ 1/k pool operators. BUT none of this would matter if rewards aren’t high enough to cover the cost of running the pool. In other words even if the pool operator took 100% of pool rewards and still had losses, we wouldn’t have a sustainable network. This is the point I was making about rewards being high enough to pool operators. I am not even talking about stake holders who wouldn’t get anything under this scenario.

I guess it all depends on the minimum specs allowed for Cardano’s 1/k pools and what their minimum cost is. Any idea on this front?

Ok. this will work as long as they are free to set their own mining pool fees. I am assuming the pools will have to meet certain specs to run on Cardano’s network. If these specs are demanding the costs would be high and unless there is a way to pass them onto the individual nodes, no one will run a pool. I am not talking about a profit here. I am talking about paying the electricity bills, etc. just to break even.

What I meant here is that IOHK can physically set the rewards as part of their incentive scheme, while they can’t control the market price of ADA.

Not sure what you are trying to say here. I understand the components of the reward calculation. My point is that a sustainable network should have a way to function and self-adjust depending on external factors like ADA price. Incentives schemes do not have to directly take into consideration the price of ADA, but they have to allow enough flexibility for the market to determine the economic equilibrium under which the system becomes stable.

I think allowing the pools to set their fees is the best way to ensure that, but only if rewards are high enough to incentivize both pool operators and stakeholders to be a part of Cardano.

Thanks for putting that in a sentence. It basically describes why Cardano attracted and kept me like no other project. It takes into account many aspects of daily, personal and economic life and tries to derive a regular system that allows different interests and also takes care of itself. That is much more effort, but then also utility value, than a pure consensus or decentralized digital contracts.

1 Like

Yes, this is completely right. And the pool fees, from what I know, will exactly be allowed to be decided by a free market. And this fact will provide a double solution:

  1. Pools can set and adjust their fees in order to cover their expenses
  2. The lower the price of ADA gets - the higher pool fees go, which makes delegates receive lower dividends from pools, which - in turn - lowers the supply flow and makes price higher :slight_smile:

If this was your main concern initially - then I have misunderstood, yes )

So the pool fees provide the external “lever” that may be adjusted as price fluctuates.

The point I was making is that there’s no fixed intrinsic cost for a coin, so that miners have to receive more coins if price changes. This logic is a bit backwards, since as people join the bitcoin mining - the complexity goes higher and miners start to receive lower amounts of coins, but they don’t leave since this fact itself causes the cost of the coin to go up, since it becomes harder to acquire.

In the PoS the same thing is represented by the amount of total stake - if staking gets less profitable - there will be less stake locked in staking, since it would not be as profitable, but as the amount of total stake gets lower - the staking itself gets more profitable. So the system as a whole will tend towards an equilibrium.

Total stake is another “free market” variable that also will converge to a somewhat stable value as time goes by.

As soon as the decentralisation is fully released - anyone would be free to participate with any kind of a node that would physically be able to run the software. So I’m pretty sure as time goes by we will see all kinds of pools - from professional companies with datacenters and redundancy, to a “notebook on a shelf” pool :slight_smile: And pools of different quality would set different fees in order to cover different costs.

As price goes down - all pools would be forced to raise their fees, and if the dip is significant - there prolly just would be a dip in an average pool quality over the network as a whole, because a lot of people would gladly move stake to a lower-fee pools.

But then it gets mitigated by the dip in the total stake and the rise of profitability and greater opportunity for new small pools to appear and start competing in quality.

2 Likes

Thank you. This is a good discussion.

So, if ‘dividends’ are low, people will stop staking. Ok. Where do those ADAs go? Do they sell them in the open market?

  1. If so, wouldn’t that increase the supply in the markets -->lower the price–> increase the pool fees–> lower the stake?

  2. The inverse will also be true. As prices increase–>pool fee % will go down --> more people with smaller stakes will join pools–>reduction of supply in markets -->increase in staking.

The interplay of these two scenarios, regulated by market prices and pool fees will force the whole system to find equilibrium. I think here, it is best to play with pool fees in absolute terms rather than defining them in % of revenue, as they are fixed in fiat more or less no matter what the price of ADA does. Since these fees are fixed they amplify profits to the stakeholder when the going is good and make it worse if it is bad.

It would be interesting to see the ADA threshold amount that would make participating in a pool a zero-sum game. I am sure at some point it might make sense to run your own node, only paying for electricity, rather than joining a pool.

I like the way you have calculated the chance of getting picked per epoch but how did you come up with a total stake of 10B? The current float is around 25B and if we take out the amounts currently locked in exchanges + IOHK stake and a couple of other whales, we get to 18B max. It seems for the total stake to equal 10B ADA needs to be listed on Coinbase and a couple of more high volume exchanges.

From what I can gather so far, the total stake will be affected by the amount held in the exchanges, demand for ADA from the use of Cardano’s CL (smart contracts, apps, tokens, etc.) and by ADA staking rewards. If the demand for ADA grows as Cardano platform currency then we will see outsized returns for stakeholders and the ecosystem as a whole.

EDIT: formatting.

1 Like

日本語訳がおかしい、変だ。

あなたの翻訳者は解雇されるべきです