You are viewing a single comment's thread from:

RE: SteemReports - The Anatomy of Steem and Steemit

in #steemit6 years ago

The biggest problem I see is that the incentive structure is wrongly set up. Running a RPC node is MUCH more expensive than a witness node. Yet there is no direct compensation for doing so. The compensation for running a simple witness are probably about right - depending on how "decentralized" one wants the network to be.

But the heavy weightligting is being done by the RPC nodes, for which no reward is designed in the blockchain.

Sort:  

I agree, but can't think of an effective way to reward people running RPC nodes. The majority of load probably comes from reads and not writes, and therefore has no impact on the chain, so isn't possible to do automatic reward calculation.

you can take a statistic approach, using dedicated transactions that reward RPC nodes once a week, say, on the basis of some data analytics: sum up all the transactions in the week, then divide in slices equivalent to the share served by each RPC node and allocate a part of the reward pool in proportion.

BTW, I re-used your drawing (with attribution) in my latest witness update, I hope you don't mind : https://steemit.com/witness-category/@lux-witness/second-week-full-steem-ahead

There are 2 problems I can imagine with that:

  1. I don't think it's currently possible to tell which RPCs relayed each transaction, and adding an extra signature to all transactions would create a lot of extra data.
  2. Under this proposal, abusive parties could submit extra transactions though their RPC to artificially inflate their share of the RPC rewards.
  1. would indeed mean a serious upgrade - but this would anyway be major upgrade. I would be surprised though if there wasn't something already because otherwise 2. would already be possible today if the RPC were "transparent" for the blockchain. Not for rewards but a malicious RPC node could try to play all sorts of mischief if the witnesses were not able to tell what RPC node was responsible for what interaction ...
  2. Not sure, see above. Anyway it would have to be well discussed and analyzed, every detail will matter in the implementation. I think the risk of the status quo (no rewards for running an RPC) is bigger than the risk of a botched implementation of rewards for RPC