I say again, WE ARE IGNORING THE CRYPTOCOIN 1.0 FOUNDATION OF NXT AND THIS IS A MISTAKE. We should be systematically shaking the trees for vendors who will put NXT logos beside their "Bitcoin accepted here" logos (like I see Salsacz doing a few posts back!). We should be working RELENTLESSLY on increasing TPS as a demo to the world. IF we build 1000 TPS, they will come.
Sigh... NXT is simply not capable of this right now.. Someone who knows more - please correct me if I'm wrong.We don't have Transactions-Per-Second, we have Transactions-Per-Block
We have a limit of 250 transactions per block
We have a block every 60 seconds
So no matter how many forging nodes we have we can only process this many transactions which is about
3 TPS with up to 60second latency i.e. up to a 60second delay from when you submitted your transaction to when it was processed, but if more than 250 transactions are broadcast since the last block then you wait for the next block and so on...
Currently if the incoming rate were 1000tps then we would get a 3 minute delay in transaction confirmation which increased every minute by 3 minutes...
Solutions - not sure - I can see some problems...
If the current block rate is maintained then you have a block capable of storing 60k transactions once per minute - problem is that if you were running at 10tps then you would store 600 transactions in a 60k transaction block - that's a waste.
If you increase the block rate to 5s per block, then you need 5000tps per block to do 1000 tps with a 5s latency, but again if we only have an incoming rate of 10tps then you store 50tps in a 5000tps block..
Ultimately the capacity you provide drives the 'bloat' of the block chain and if there are no transactions it still grows...
So I don't think you can fix this without a smarter architecture and / or a smarter block chain...
THIS KIND OF TPS IS NOT CRYPTO V1.0 - all of the current V1 Crapcoin copies don't solve this problem either.
Perhaps we need parallel block chains that run at a faster block time that enables blocks to be ready to process incoming transactions but these would still bloat. Unless they could be re-processed slow time to compress unfilled blocks into new full blocks.
The other way around the processing time is to have 'instant transactions' where the account has pre-committed a balance to future transactions - a kind of pre-pay - this has also been discussed.
You could look at a single block chain as a 3tps processing unit with a 60s latency, so if you could run multiple in parallel then you get 3,6,9,12 tps for example which is another possible solution, then if you could shift the chains out of sync so one forged at 00s, one at 10s, one at 20s - you could try to do it this way - I have no idea if that is possible but I know how to build parallel transaction processing and I've tried to translate the concept into this architecture.
Where people are talking about parallel blockchains and instant transactions they are often trying to deal with this problem - but this is not crypto 101...
I think this community has the people to come up with the solution in a way which is good and sustainable BUT it will take time.