The P2P Revolution: Network of Momentum Phase 1

Objective: Deliver Network of Momentum Phase 1

Our current objective is to transition to NoM Phase 1. We have a basic list of things we need to do in order to successfully deliver Phase 1. I’m here to expand this list and provide some missing pieces of the puzzle.

Missing links

  • Network incentives
  • Peer-to-peer layer
  • PoW links
  • Dynamic Plasma

I’ve started this list with the network incentives point because it is the backbone of a decentralized network. This is the reason why Bitcoin still exists today and will exist in the future as well. I’ll be quoting the original whitepaper to support my views. I’ll use the whitepaper as a reference point and adapt it to our current realities.

“In order for the network to function properly, a cryptoeconomic layer will be put in place for all network participants.”

Bitcoin is a peer-to-peer cash system that runs on a decentralized network of (full) nodes that are maintained and operated by volunteers. During the Block Size Wars, there was an ongoing debate to sacrifice decentralization for better scalability. The wars ended with irrelevant forks appearing and disappearing and Bitcoin surviving and thriving ever since. It survived because it chose the path of small blocks to safeguard the peer to peer network.

Small blocks represent the trade-off made to preserve the status-quo of the current peer-to-peer network that relies on volunteers around to world to operate and maintain it. If the size of the blocks were to be raised back in 2017, the volunteer based p2p network would have crumbled and killed one of the most important properties of Bitcoin: decentralization.

Why? Because running a node in Bitcoin is purely based a voluntary decision. Miners are engaged in the hashing competition, not running decentralized infrastructure. Many blockchains made the fatal mistake to scale too early, putting immense pressure on their underlying, volunteer based peer to peer networks. This totally compromised decentralization in favor of scaling. How many of you can run a Solana or a BNB Chain full node?

“… a novel anti-sybil and anti-spam mechanism called proof of work links that will enhance connectivity within the network and limit certain attacks by sharing their commitment and contributing resources for routing and efficient data delivery.”

Luckily, this mistake was avoided by Zenon by imposing a hard cap for transaction throughput. We still have a chance to get it right. That’s why we need to create strong incentives for a thriving peer-to-peer network layer.

Now let’s see how and why a hybrid system will prevail, where feeless transactions will coexist with fee based transactions.

“The sentinel nodes will benefit from the fees by consuming them in order to compute the PoW links.”

In a healthy peer to peer network that aims for decentralization, participants are incentivized to run full nodes. That is exactly the reason why Syrius wallet features an embedded full node. Every one of you running a full node is great for decentralization and self-sovereignty, but without enough public nodes, we saw how the p2p network struggled to serve new users entering into the ecosystem. If there are no incentives to run full nodes, free riding issues will arise and the peer to peer network will eventually collapse. Bitcoin avoided this by hard capping the block size, but NoM is designed to scale Bitcoin, so we can’t afford this cap indefinitely.

Therefore, fee based incentives are mandatory for the provisioning of the peer to peer layer. Moreover, users should have all the options to transact the way they want to. Even the whitepaper embraces fees in order to deter denial of service attacks and incur a cost for the attacker:

“… adding a transaction fee, which means that the attacker will make the sentinels unavailable at the cost of investing resources in the system, which is a positive aspect for the network and a negative one for the attacker, taking into account that the consensus is unaffected.”

In my opinion, the following hybrid system will emerge for NoM Phase 1:

  • Feeless transactions
    • Supply PoW
    • Fuse QSR
  • Fee based transactions
    • Supply ZNN
    • Burn ZNN

To be continued …

Nice post but I still think you’re overstretching your fee views out of ideology. Plasma abstract the fee away but they still exist in the form of QSR (token cost) and PoW (electricity cost). I fail to see why we should sacrifice one of the core of the NoM in the sake of abritrary non benchmarked views.

Have some prawn dumplings, you’re not you when you’re hangry

From what you’re saying, we need to incentivise people to run full nodes/public nodes to allow NoM to indefinitely scale Bitcoin’s indeterminate growth? I see you talking about sentinels … I think we should hear the fully fleshed out argument before deciding.

I kind of agree with chadass. We already have fees in the form of electricity/qsr. I’m concerned because last I heard the NoM devs were quite divided on this, but I guess that’s why you’re elaborating on the case for fees …

I’m reading the white paper again. I do think some sections of the white paper refer to a “fee” as PoW performed or Plasma fused by the user.

However, there are other sections of the paper that I believe refer to a “fee” as something different than generating plasma. For example, this section on page 9. This refers to incentivized nodes.

We all know running nodes is costly. And those who run them are centralizing forces. But if the network was designed to incentivize running nodes through fees, we can change that.

However, in order to prevent denial of service attacks, the queries can require a fee that needs to be applied in order to return a valid response: for example, a user can use the sentinel nodes for querying the state of the ledger or sentry nodes to get updates regarding its account chain.

I could not find anything in particular from Kaine on this topic in TG, except for this.

1 Like

Take a look at the white paper again with an open mind. I think ensuring feeless transactions is very important, critical.

There are several discussions in the white paper that seem to refer to fees as something other than fused plasma. Specifically related to Sentinels in order to incentivize nodes. Aliens arguments are correct about BTC and the block wars. Had they increased block size fewer people would be running full nodes.

NoM hopes to scale BTC. We will need to uncap our limits. How do we do that while ensuring decentralization and participation? We need to incentivize participants to run full nodes (sentinels). Pillars and Sentinels are the only players that have both chains.

We don’t want people querying Pillars and eventually it will be costly and centralized for a few individuals to run public nodes as we scale.

Solution > Incentive sentinels to run the full node and allow them to be searched. I don’t know how this “fee” relates to the emissions given to Sentinels for performing their job.

Is the fee discussed in the white paper a new fee, or does it refer to the emissions paid to Sentinels to do their job?

I think Vilkris proposal makes sense and should be investigated for real rather than coming back with another big stretch in order to make the network lessfee.

We need to incentivize the public infrastructure with fees paid by users. Users are able to opt out of the fee lane. It is not mandatory to pay fees.

Bitcoin sacrificed scaling for decentralization such that everyone can run Bitcoin Core on their Raspberry Pi with a modest internet connection.

If we want to scale, we need a strong (if you make money you also afford better hardware, etc) p2p layer that doesn’t rely on volunteers. So far my point is valid: only @0x3639 and a few other community members run public infrastructure for NoM. This isn’t sustainable in the long term.

Sentinels are already rewarded by the protocol with rewards. Public nodes that service users are not. Full nodes must be incentivized.

Sentinels are a special kind of full node that create PoW links and are already incentivized by protocol rewards. Full nodes on the other hand are public nodes that participate in the p2p network and are not incentivized at all. That’s why 99% of people in crypto don’t run public infrastructure (except Bitcoiners), despite benefitting from it (censorship resistant p2p payments).

There is some ambiguity regarding this, but whoever wrote this whitepaper knows that incentivizing the peer to peer layer with fees is critical in maintaining decentralization.

Therefore, implementing a hybrid system satisfies all the conditions presented in the whitepaper. Moreover, Mr Kaine specifically wrote that he is in favor of “incentivizing network decentralization at p2p layer”.

@Chadass please come up with arguments if you want to participate in the discussion. I don’t think you fully understand the implications for the long term sustainability of the network.

I came with argument numerous times, including here, you came with ideology and rephrasing your point over and over.

My main point is the following: how abstracting the fee with plasma through QSR and PoW offers less security and scalability / robustness than using native tokens as fee. Both comes with a cost that mitigate spam and attacks, however the later is a bandaid. I’m not the only one saying that.

Beside and those are your words from another post on this forum: “we don’t have the manpower to implement the feeless route” which means you’re willing to go for a “good enough” idea which poorly mimick others. You never answered this one, and that’s a pretty big one. You might be more technical than anyone of us, but after you wrote that, you can’t keep talking about long term implication. The decision we will take right now will indeed have long term implication, I don’t think you fully understand that. You can’t keep ignoring whatever doesn’t fit your narrative.

Lastly, you talk about incentives for public nodes. Okay good, but do you genuinely think the fee will work here? We have already rewards for Sentinels, Pillars and stakers, a part of that could go to public nodes and that would be much more effective. 0.000003 ZNN per tx will incentive what? Nobody will run public nodes for a fraction of a cent per month. Imagining QSR would apreciate just because of that is a stretch.

Maybe you just want more funding?

@aliencoder - given unlimited resources, can you envision / describe a feeless solution?

I’ll read the white paper again. Does it distinguish between Sentinels and full nodes? I was thinking Sentinels are the full nodes, but maybe I’m confused.

Some are discussing using the bridge fee with the extraData rpc endpoint as a way to incentivize nodes. I personally do not think that is sustainable. I think the incentivization needs to live within our ecosystem.

Why can’t Sentinels act as full nodes open to the public and they receive their incentivization through protocol emissions?

1 Like

Native token as fee equals utility. Whether you want to admit it or not, this is the case. And again, I don’t want to replace PoW or QSR fusing.

Can you post a screenshot where I say this?

I don’t have a narrative. I have plans to make this network sustainable in the long run.

I agree. That’s why we can compute a rough estimate:

Let’s say the network will be able to process 100 TPS and momentums will be at 10% capacity on average => 864000 transactions settled daily
Let’s assume an average fee of 0.02 ZNN per tx (for the fee lane) and that 33% of all transactions are on the fee lane => 5760 ZNN daily for incentivizing public nodes.

FYI current ZNN daily emission is 4320 ZNN that is divided between all network participants (all Pillars, Sentinels, stakers, delegators). Public full nodes will be able to earn much more, creating a market around servicing users. We should also burn a fraction of those fees in order to achieve equilibrium for ZNN.

The numbers are conservative and we can make more accurate simulations, but you get the point.

I don’t seek funding. I seek a comprehensive solution.

This is a cryptoeconomic problem, not a technical one. We can’t solve everything with technical solutions. Bitcoin is amazing because it managed to solve economic and technical problems at the same time.

Yes. Sentinels create PoW links. Full nodes can be Sentinel nodes if they lock collateral. The backbone of the peer-to-peer network are full nodes. Not your node, not your rules.

It’s an amazing first step in the right direction. But not enough.

Sentinels need to lock collateral. You need to be heavily invested into the network to setup a Sentinel node. And Sentinels are fine, they already receive their fair share of rewards from protocol emissions.

But not everyone will have that kind of collateral in the future. The peer-to-peer layer is not incentivized and we already saw that no one except a few members will setup public nodes. This is definitely not sustainable in the long run.

Would sentinels need to be public to relay txs and attach pow links?

A few months ago, I made a post about incentivizing public nodes, in which I focus more on third-party funding mechanisms. The solutions could work but they may also not be sustainable.

I didn’t take into account two other revenue streams:

  • transaction fees
  • protocol emissions

I’m not entirely in favor of introducing fee lanes and whatnot, but we could potentially alter emissions to pay access nodes.

Saito pays its consensus (pillar), routing (sentinel), and access nodes [1, 2].

I’m envisioning a similar solution:

  • pillars continue to be rewarded as they are today
  • sentinels are paid per pow link
  • access nodes are paid for the transactions they forward to sentinels
  • sentinels and access nodes are paid from protocol emissions for their participation in confirmed transactions

Alternatively, same model except:

  • sentinels are paid per pow link from emissions
  • access nodes are paid by users with non-plasma transaction fees
    • users can avoid this by running their own infra or connecting to a different node

Anyways, multiple solutions to this problem. Hopefully we solve this one soon.

1 Like

Couldn’t we learn a thing or two from Nostr?

They have literally 0 incentives to run a Relay, yet they seem to be thriving. Is it sustainable? I don’t know, but I’m sure they have had this argument before.

Maybe this is an opportunity to not only add P2P BTC merge mining into the picture, but look at how we could help Nostr too. I’ve seen @georgezgeorgez mention leveraging nostr as a communication protocol for stuff like markets, running our own relays would be a requirement in that case. These technologies are complementary to our grand vision. My two cents.

1 Like

The problem with 3rd party solutions is that they’re not sustainable over long periods of time or supporting a huge user base.

This looks like the model I’m describing. Users are not forced to pay fees if they run their own node (thus supporting the p2p layer).

We must solve this issue before Phase 1.

They are not a peer-to-peer network: “it does not rely on P2P techniques, and therefore it works.”

The answers are in the README.

We will add p2p merge-mining for sure, but let’s first solve all remaining issues before starting the actual implementation.

I also see Nostr as a complementary tech, but not at the core of our stack.

Now I’m starting to understand. Slow learner.

Pillars > Full Node and Provide consensus and incentivized by the protocol

Sentinel > Full Node, costly to setup, their job is to relay messages and generate PoW links. They are compensated through protocol emissions. They are expensive to setup and “hard” to run. It will be difficult for the general public to run them so we cannot rely on Sentinels as “Public Nodes”. There won’t be enough of them.

Public Nodes > We need as many as possible to improve security and decentralization. There is no incentive to run them today. But users need access to them to process TXs and query the chain. We don’t want “Infura” to run them and we don’t want me to run them. We want the community to run them, like BTC. But, our nodes might be more costly to run (for a number of reasons). So there needs to be an incentive.

This is where fees come in. I don’t think we want to introduce more inflation into the system and emit protocol rewards to Public Nodes. We don’t need more inflation. Users can avoid node fees by running their own node. But if they don’t have the technical skills or desire to do that, they can just add a fee to their TX to pay for someone else’s node. That way we don’t rely on Infura or me, and we have a public p2p node layer that is paid for by 3rd party fees.

A user could avoid fees by simply syncing syrius and use the embedded node. But if they cannot wait, they can use the public node “layer” and pay a fee.

  1. Does a user select a public node from a “list” and pay a fee to them?
  2. Or, is there a public node “layer” that shares in all fees received provided they are up and offering access to the network?
3 Likes

Exactly. With 5k ZNN/50k QSR we can compute a max upper limit to how many Sentinels the network can have.

Even in Bitcoin there are no incentives, but there is a very low entry barrier (and a “node” culture) such that the average Joe can still run a node.

I’ll add that the nodes that service users must be public. But running your own node is a starting point.

This seems like an “UX” problem.

Only public full nodes that gossip (route) transactions should be incentivized. We must be able to quantify their work.

Sentries are a good candidate to take this role for the network.

With this approach we can still market NoM as feeless. But if a user wants access to a public node and is not willing to sync syrius themself, they have an option to pay a small fee.

I think this discussion is separate from Dynamic Plasma. Accessing a public node is different than ensuring your TX gets processed.

  1. Will users get confused by paying a fee to access a public node and then experience difficulties in getting a TX processed? Or do you think incentivized Public Nodes and Dynamic Plasma are linked?
  2. Will a user be confused by paying a fee to access a public node and also needing to generate Plasma?

They are linked because dynamic Plasma is the system that protects the network against spam, while enhancing its operations (adding weight to the ledger via PoW, provisioning the p2p layer via fees, etc). Plasma should be generated with PoW, QSR and ZNN.

Public nodes will be incentivized only by the users that pay fees. They will compete to service users regardless, because they will see only the “plasma” field. Ideally, they won’t know how that Plasma was generated. This remains an open question.

If we solve dynamic Plasma and fix the incentive problems, we can obtain all the properties required by a self-sufficient, decentralized network.

I want to highlight that only public nodes should be incentivized aka the ones that actually route transactions and contribute towards the peer-to-peer layer.