A possible solution to spam

Premise:

In the Nano network, the PR nodes are the equivalent of the mining pools in the PoW networks and are responsible for voting for transactions.

Wallets that delegate their vote are like miners joining mining pools.

Voting is continuously redistributed between nodes with transactions and the delegation of owners of each individual account can be changed at any time.

In Nano, consensus is reached through a vote and not through the PoW. When quorum is reached, the block is confirmed.

A node can send any number of transactions by making a proof of work for each and this proof of work is the main anti-spam system on the network.

Problem:

There is currently no simple solution to spam that does not involve the use of PoW-based disincentives or the possible introduction of fees.

Idea:

Create qualification tiers that depend on several factors:

Base Tier: nodes that do not reach the PR level can only transmit transactions with a high PoW level (e.g. PoW x 10,000)

Principal Tier: PR nodes subject to an intermediate PoW level. (e.g. PoW x 100)

Operator Tier: Nodes enabled by the PR vote and identified by a cryptographic signature with a public / private key or by a digital certificate (eg wallet managers, exchanges, payment processors, etc.). This key is manually entered into an optional list that can be enabled in the node configuration file. When the signature gets quorum, the node can create and send blocks with low or zero PoW.

Advantages:

The PoW remains residual only as a disincentive towards nodes that do not reach the consent of the users or that are not invested or even economically involved in the network.

Consensus remains based on voting and quorums.

The recognition of the role of Operator also depends on a consensus among the managers of the main nodes, it is a recognition of one's role.

At any time, when delegate votes change, users can decide to revoke permissions. Thus occurs the natural demotion of the malicious actors.

There is no user censorship, all nodes can continue to send infinite transactions each with their own PoW level.

Nano is environmentally friendly and aims to be a lightweight, highly efficient and cost-effective network.

Disadvantages:

This measure is not sufficient in case of grid saturation and must in any case be combined with other methodologies to guarantee a sustainable grid.

The signature that identifies the Operator node is an additional field, it requires additional time and an additional vote.

2 Likes

It is a sort of representative democracy: the accounts are the voters, the nodes without quorum (unelected candidates) can carry out operations but in a limited way. PR nodes (Members of Parliament) can do many more operations, with reduced POW. The PRs (Members of Parliament) can in turn elect higher category operators (the "ministers") who are authorized to carry out operations at an even lower POW level.

All these authorizations can be revoked at any time by the voters (accounts, wallets) by modifying the representative field

1 Like

The network is too important, it is the most important thing, it must be protected, it must not be wasted but at the same time decentralization and its efficiency must not be penalized.
This solution does not impose any obligation, each node is free to adopt the solution or not. The majority, based on the weight of the vote, decides.

The POW can be avoided for example if we let to perform only a small number of TXS to nodes with a little number of nano delegated.

As example, a small node can only perform 1tx every 10 (or more) minutes with each peer it is directly connected. But, if delegated as PR can perform much more Txs.

This limits the maximum tps a new node can perform if not well delegated. A "never seen before" node can perform a txs after a set time to discurage the building of several nodes.

This kind of incentivizes centralization, as the more centralized the votes get, the faster the node can transact, which nature would fight back with hardware limitations...

Let's say a node transmits a transaction and it will only get accepted by other nodes with a small PoW (like today), but upon receiving the transaction the node stores it with a timestamp, if the same node is transmitting another transaction the nodes will take into account the last PoW difficulty for that peer and timestamp, if timestamp is too close for the PoW to be true (as in, pre-mining and spamming) the block is rejected.
This forces nodes to calculate for a larger PoW each time, you can pre-mine those, but they will take a while, and it's smarter to wait between transactions than to calculate a highter difficulty PoW.
So to scale the network forces people to be connected on different nodes as a high traffic node would be drawned in PoW, descentralization makes it scale again.
The point is, the bottleneck must be the PoW vs time (which is within the node's reach to control) and not the overall network bandwidth, as it's uneven throughout the network.

This implies transactions would have to be signed by a wallet and the connected node...
This also implies on a side chain where we store blocks by origin node and not by account...

For a spammer to be effective they would have to spin lots of nodes, essencially making an expensive botnet of deaf nodes just so he could coordinate an attack.

tl;dr: PoW scaling by node, not by account. Descentralization, bang.

This is an interesting idea. I like it a lot. How many nodes would be in each tier? How does a node go from one tier to another?

Also, how would this stop spam? Can't the spammer just use the Operator nodes to send their transactions?