NKN2.0 The Debate - concerns, ideas, thoughts

Hi team and community!

I would like to throw up a few balls regarding recent frustrations I have had with NKN which I would hope could lead to constructive debate. Sadly I do not have any cookie cutter solutions but I think these things need to be discussed and I can make some suggestions of my own.
I’m all for directing ALL economic incentives towards mining especially due to the nature of NKN and its benefits with decentralisation and scaling the network. This also means making the barrier to participation as low or non-existent as possible to include and onboard as many nodes as possible.

However it has become abundantly clear that there are actors at play who have an unfair advantage be it through cloud provider gift cards or access to a large amount of computer resources for low or no cost at all.

This has lead to an dangerously centralised network where a few key players own the network one of which owns practically 50% of the entire network at time of writing.
This would in itself not be an issue If a 51% attack can be prevented by ramping up nodes in time to prevent a 51% majority however the secondary economics effects, are in my opinion extremely detrimental (1.42$ usd per month per node at time of writing).

Primarily if someone can run nodes for free it essentially means that this will lead to exactly zero revenue (not even profit, zero revenue) for players for which this network was intended to incentivize. A single entity who runs a node at home (raspberry pi / router for instance).

Now this is an extremely difficult problem to solve and I have no clear solution in mind if there even is one but maybe a compromise has to be struck somewhere, also the argument that more adoption will lead to more profitable home miners can be disregarded for it would be equally if not more likely that the advantageous actors will spin up more nodes proportional to any speculative token value gained.
Some suggested solutions to debate / think about (not in order of preference or feasibility just to get a discussion going):

  • Minimum NKN requirement to run a node
  • KYC / ZK-Identity to limit nodes/user
  • Increasing resource requirement to push out cloud nodes, suggestion would be to choose the most expensive resource on cloud; for example more / faster storage requirements. This would be a one time purchase or perhaps home clients already have access to storage whereas for every cloud node this would be an additional cost.

Network insights:
Commercial nodes have been rolled out however this has been a rather big disappointment for the community. I understand that this is not the focus right now and that internally for the NKN company this is likely to be a huge success and is already netting signed contracts and revenue.
However I am speaking strictly from a coin holders perspective. The issues that I have are as followed:

  • We can’t easily know if our node is running commercial, there is no RPC endpoint info made available.
  • There is zero insight in any off-chain traffic it is hard to get excited about all the partners that are being signed if what we can see from that is exactly nothing; granted this is likely under NDA but estimated metrics or anonymized metrics would be godsent.
  • I’m supposed to be running nCDN now, how much of my disk is being utilized right now, how much bandwith am I providing over nCDN, again no insight.
  • TUNA same story, im running TUNA now supposedly on NKN2.0, am I really though? How do I see if I have any open channels.
  • When will I receive commercial rewards, will this be in form of nano-payments? Also I’m confident pretty much no one in the community even heard about or knows what nano-payments are and how they work.
    I can concede that offchain communications on network scale are possibly impossible to measure and report on however surely there are reasonable estimations to be made using metrics such as subscriptions, nkn payments through nanopayment channels and extrapolating from owned nodes.
    The current ecosystem is entirely opaque and there is almost no insight into anything. The only thing that I can currently have insights into are onchain metrics and my own node relay performance. I think that is inadequate as with NKN2.0 those are pretty much the least interesting metrics those won’t get anyone excited.

Some additional random ideas regarding making nkn more ‘fun’ to hold and network participate.

  • Mining pools to make payout more consistent, no one likes waiting 2 weeks to earn their first 25 cents due to being unlucky.
  • Nano-payments per relay, every single relay nets you a tiny amount on your nanopayment channel.
  • If minimum NKN on a node to participate is not feasible decentralised perhaps this can be facilitated through a centralised solution, all mining nodes for instance should have a minimum amount of NKN on their mining node wallet (1000 NKN for instance) every time a mining node wins a block it can have a potential payout from a NKN mining lottery, this would incentive running more nodes and also lock up NKN and it would draw attention/fun to the mining ecosphere.

Another idea that came to mind which might be feasible regarding pushing out cloud providers; flag and block all 0 ms latency nodes. That should take out large centralised datacenter node clusters. And those nodes add little to nothing to network value at this time. 1st of all they provide no additional geographic coverage, and they provide no additional bandwith as the network is already extremely underutilized. Look at china that is running most services with under 50 nodes in use.

If cloud providers block, nkn nodes hardly can count in fingers. nCDN required high quality internet and data storage for deliver content.

Which is less people will able to provide 100mbps home connection. Now this will also come to play. Who able to invest more in hardware he can run max nodes with good internet.

Blocking 0ms latency nodes seems impossible to implement, because they’re not 0ms from everywhere, and I don’t think there’s a way for a client to know that one node is blocking another, so as to avoid routing through them both.

Nano payment per relay: not that many people hold coins, and even less are willing to spend them, so it would make being a client quite difficult.

This should lead project dead. Open source project don’t not required anything. Like KCY and ZK-Identity. NOIA do kyc now that project in dead state.

My suggestion is provide rewards that node which is really provide service to commercial clients like iqiyi and other clients.

I agree the numbers would drop down significantly, which would mean running a raspberry pi at home which is the intention of NKN would finally be financially significant and motivational, if I could get 10$ per month running a node (cutting down cloud providers could yield that easily) then I could earn back the raspberry pi in a month or three.

Also I dont buy the throughput argument, current traffic is in the kbps range not even close to mbits.
Almost all traffic is in China where there are only a handful of nodes relaying and that seems to be more than sufficient for the NKN partners.

1 Like

It is definitely my least favourite solution as I have stated in the initial post I am shooting out ideas not for because I think it is realistic bu but to engage discussion.

I agree 0ms latency is going to be hard to pull off decentralised but it could be done centralised, again, I’m trying to get a discussion going as I have stated these are difficult problems to solve but in my opinion these things need to be addressed one way or another.

Regarding nanopayments that would not be a payment from clients that use the network that would be an additional revenue stream which could cost the team close to nothing depending on how it scales per relay.

I’m not talking about relays, i’m talking about nCDN. Which is big player in NKN

Current nCDN traffic for every single of your nodes is zero or close to zero I dont see any merit in this argument.

What about future plans sir ? we always use relays not going to provide nCDN in future also ? Future plans lead project long term and alive long live. We should not consider temp solution.

I’d far prefer have 2,500 nodes which are truly decentralised, spread globally, and actually receive a ROI with regular mining and service rewards, than have 22,500 nodes but 20k of them are run by half a dozen people, effectively making all home-run nodes pointless to run at all. Remember “sharing your unused bandwidth” was the project’s plan, not “buy bandwidth from VPS and resell via NKN network”. That just makes NKN a reseller platform for cloud computing and nothing decentralised at all.

Alternatively, I’d suggest the minimum token count to be held per node-wallet, in order for it to be used for relays etc. This figure could be incredibly small, 250 NKN for example, which is nothing for running a handful of nodes, but if someone tries to fire up 5,000 nodes they’d first have to buy 1.2M tokens and hold them indefinitely to do so. This will cut out a lot of idiots with seemingly free resources or those who abuse free credits for AWS etc, destroying the global mining market of the network.

Clearly something needs to change eventually, because the mining is designed to run for 25 years but it won’t get past another 1-2 if there’s only a dozen people running 90% of the network.


I agree sir shaik, and I know you have only the best of intentions.
The problem at this time is that there are 20k nodes of which 19k do nothing but farm in cloud hosting money for financial gains, they have no value for the network in terms of bandwith, they have no value in terms of decentralisation. The only real effect those cloud nodes have right now is that they have decimated any kind of mining revenue for fair players.

If it’s nkn_org spending the money, then I’d rather see it go into hardcore development of applications (by 3rd parties), to increase the amount of traffic, than simply extra mining rewards

Fair enough Id love to see that too!

what about waiting system ? Like nyzo do. When resources required can join otherwise still wait till resources required

I think that caters more to cloud hosts than home hosts. If your internet goes down, then you’re back in queue. A cloud host doesn’t really go down that much.

250NKN “stake” seems like a good solution.


However, it will make firing up your home node a bit frustrating since you have to go buy the coins from somewhere. So off to coinbase you go and stuff

Im sure we can put together a faucet for that sir, any single home node runner I would gladly help out for the cause.