Confusion with Provide and Validate (rewards, triggers, behind the scenes)

TL;DR questions at bottom.

I understand that Providers give liquidity to the pDEX via PRV and another coin. They earn rewards when a transaction is made using the provided pair, and the source of the rewards is a fee paid by the end users (in PRV?) when they convert one pCoin for another (e.g. pETH for pBTC).

I also understand that Validators use nodes to confirm blocks on the Incognito chain. They earn rewards when they mine new blocks, and the source of the rewards is a culmination of transaction fees paid by the end users in…various pCoins? …PRV? I know Validators earn PRV rewards for mining new blocks, like any other blockchain, but then there are additional rewards…?

What I don’t understand is the exact difference in source of reward fees between Provide and Validate. I also don’t understand fully the different activities that trigger each reward, apparently.

TL;DR questions:
Provide:

  1. Am I correct that the action that generates a Provide reward is when someone converts between the two provided pCoins (e.g. pETH trade with pBTC)?
  2. When a Provider provides pETH, how does that Provider choose the “paired” pCoin? Example: a Provider wants to provide 50% to pETH and 50% pBTC.
  3. Do Providers have anything to do with when a user shields a coin, or does Provide only affect transactions between two pCoins?

Validate:
4. Am I correct that the action that triggers Validator rewards is ALSO transactions between two pCoins?
5. If the fee a user pays for a transaction goes to the Provider for that pair, where does the Validator block reward come from?
6. If the users are paying fees in PRV to transact between pCoins, where do the non-PRV rewards come from that Validators get (e.g. pETH)?

No.

Provide rewards are generated by Nodes staked with PRV from Provide. These Nodes are run by Incognito. However these Nodes are not part of the 176 fixed validators nor part of the Incognito protocol. These Nodes are run on the behalf of the users participating in Provide.

On the Incognito pDEX, pCoins can only be paired with PRV. You may see non-PRV markets such as pETH/pBTC, however these are cross-pair markets.

No and no.

Provide is a liquidity mechanism; it has nothing to do with Shielding or Transactions.

No.

A validator earns rewards while in a shard committee. The validator will earn rewards for blocks produced, regardless whether those blocks contain transactions or not.

Transaction fees are paid to the validators. Provide does not receive any rewards for transactions. Block rewards are part of the Incognito protocol.

Some Send transactions can be paid using pCoin instead of PRV. Not all pCoins can be used to pay for Send transactions.

6 Likes

Thank you for such a quick and thorough response. I have some follow-up questions below, but I first wanted to express my gratitude. I very much want to fully grasp all these concepts so I can jump in with confidence. I know you had some links, but for the concepts I’m still missing, could you provide documentation I could review, when possible? A lot of what I find is highly fragmented or very surface-level. Most everything I find on providing liquidity and validating is trying to convince me to do it without explaining the back-end.

So Validators receive the transaction fees (garnered by block creation). That’s simple, and I got that. I guess my confusion lies with how Providers get rewards, still. I understand the service the liquidity pool gives and why it’s needed, but I don’t see where the PRV actually comes from for rewards if not from the transaction fees. You mentioned Provide has nothing to do with Transactions or Shielding. This seems to contradict what Incognito says in this video. It seems to say Providers get the transaction fees proportionally to how much the provided…but I thought those transaction fees went to Validators for block validation? So I thought maybe it was fees associated with Shielding/Unshielding. But no?

Can you outline the steps between Providing and reward creation:

  • Provider gives PRV+pCoin
  • Incognito team stakes Node (with what PRV? PRV from Providers?)
  • … More PRV gets created with voodoo magic because the Node isn’t involved with the Incognito protocol (so not transaction fees like the video says)? …
  • PRV gets sent to Provider.

Also, if the Nodes involved with Provide being run “on behalf of” the Providers aren’t involved with the Incognito protocol, how is the PRV being generated that the Providers get? What even is the point of Nodes not on the chain?

I was basing my question off that same video again, since he says you can provide 50% pUSDT and pBTC… so… how exactly did the person in his example provide that pair…? Or is that just wrong?

Maybe I’m stupid, but I was under the impression block rewards (for the completion of a block) come from the transaction fees from users. That’s the incentive to produce/validate a block, so how can a block not have transactions? Where would the reward pCoin come from?

1 Like

Reward PRV comes from the Nodes run by the Incognito on behalf of the users participating in Provide.

The video references the first version of Add, which was the original method for providing liquidity to the pDEX. The mechanism described in that video is no longer used. (It can be confusing that the original version of Add was called Provide.)

Nonetheless, you are confusing Add and Provide. Both are liquidity providing mechanisms on the Incognito pDEX.

https://we.incognito.org/t/liquidity-v-2/5916

Add is for two-sided liquidity. Liquidity is created by supplying both PRV and an equal value of pCoin. A user supplying liquidity for BTC using Add will need to supply both $1000 of pBTC AND $1000 of PRV.

Provide is a single sided liquidity mechanism. Liquidity is supplied through a process that matches the necessary PRV for liquidity to the supplied pCoin. A user supplying liquidity for BTC only needs to supply the $1000 of pBTC; the PRV will be supplied from the Provide pool.

These Nodes run by the Incognito team for Provide are distinct and completely separate from the 176 fixed validators run by the Incognito team. This is a continual source of confusion, especially for new users.

The Provide vNodes are no different than the vNodes and pNodes run by any given community member. These Nodes compete for the same 80 community slots, just like your pNode(s) or vNode(s). The block rewards generated by these Nodes are used to pay Provide rewards and match pCoins supplied through Provide.

The Fixed Validators do not compete for those 80 community slots. The Fixed Validators are used to secure the network during this early transition phase to decentralization. They participate in every epoch. The rewards generated by these Nodes are used to fund the DAO, supporting IT infrastructure and support the Core Team.

Grant was explaining the mechanism of liquidity in an AMM using a somewhat generic example. He was also describing the initial version of Add (then called Provide) that has been replaced by the current version of Add (without the transaction rewards) and Provide.

Block rewards are created as part of the Incognito network protocol. In principle this is no different than the BTC rewarded to BTC miners or ETH rewarded to ETH miners. That BTC or ETH reward is created by the respective network protocol upon successful mining of a valid block.

Blocks are created on a prescribed schedule for BTC and Incognito networks, for example. Approximately every ten minutes for BTC and every 40 seconds for Incognito. Therefore a block with no transactions can be considered valid if no transactions are submitted to the mempool for mining/validation during that period.

https://www.theblockcrypto.com/linked/1964/close-to-19-of-mined-bitcoin-blocks-were-empty

9 Likes

You, sir, are a gentleman and a scholar. Last question (on this topic): if the rewards for Providers come from vNodes staked on behalf of the Provider, is the Provider only given a percentage of what the vNode generates? I’m asking this in comparison to running a full Node. Example: comparing Providing 1750 PRV vs personally staking 1750 PRV directly on a vNode.

I think a lot of my confusion came from outdated videos and posts, so thanks for getting me straight with your patient replies. I understand why you mentioned some of this can be confusing for people, especially with so much old information floating around indistinguishable, at a glance, from updated, correct information. I wish there were an authoritative central repository with categorized documents explaining each piece of the infrastructure so that it would only have modern information; don’t want to be a bother with too many questions that I could just look up. I suppose as the project becomes more stable, the team will have more time to put into organizing the documentation.

1 Like

A participant in Provide is not receiving a static portion of block rewards from a vNode but rather an APY% determined by the value of the supplied pCoin as specified in the app – ie pBTC earns 10% APY, pXMR earns 13% APY, etc. This will be a percentage of what any given vNode might earn, but is not directly related to what the vNodes earn. The earnings of all the vNodes staked for Provide are pooled together and that pool is used to pay out the rewards to individual Provide users and match the PRV half of the liquidity pool as needed.

3 Likes

Welcome to the community @int1 and thank you for the great questions you asked @Mike_Wagner…and indeed thank you MW for all the awesome response posts you made to int1’s questions they were quite informative… :sunglasses: :grinning:

2 Likes

Oh I’m full of questions. Maybe not so many answers (yet), but plenty of questions :grimacing: Glad to be learning all I can about the infrastructure so I can participate fully in investing, staking, developing, donating, contributing, etc. People (me) don’t support what they don’t understand, so I appreciate the patient help from MW.

4 Likes

Of course, @Mike_Wagner did an excellent job explaining how everything works. Couldn’t have said it better myself.

If you have any questions please don’t hesitate to ask, we also have a community discord and a telegram if you are interested.

It took me a while to fully wrap my head around everything. If i’m going to be honest, the documentation isn’t the best and it can lead to a lot of confusion. But we are definitely here to help.

3 Likes