From my "average investor" point of view, I believe high and fast TPS will be the one thing that most dramatically sets Nxt apart from the competition. Once it becomes clear to the average investor that Nxt can take on not just Bitcoin, but Visa as well, this one fact will be become the main force to drive widespread adoption. This is something that everyone can understand immediately, without the need for complex explanations and examples of how it might be used in future.
Since marketing to-date has already focused on this, it should remain a top priority. At the very least, it would be good to have a system in place by April that can handle 100+ TPS with a clear roadmap of how 1000+ TPS can be achieved in the near future.
Also, high TPS is coming with eMunue, so this is not something we can ignore if we are to remain competitive in this area:
http://forum.emunie.com/index.php/topic/226-processing-at-visa-scale/OK, time for my evening rant on blockchain to go along with my morning rant here:
https://bitcointalksearch.org/topic/m.4951414I've decided that as usual CfB has the last say with Yoda style wisdom:
Blockchain pruning / minimization is for survival.
U should undestand that everything is in ur own hands. Pruning is not a rocket science. Just make a snapshot at some block height and use it as Genesis Block 2.
So let's talk about taking this 1000 TPS into our own hands.
Do we want to demonstrate 1000 TPS if it is at all possible? Hell yes. We have promoted NXT as a 1000+ TPS Visa killer. By God
if it can be done, then we should demonstrate it as soon as possible on a testnet. If we succeed the price of NXT will explode. A 300 GB chain pruned once per month is ridiculous for a 1000 TPS system. I take back my request to show that is possible. Even if you show it is possible, it's not a realistic scenario that will ever happen. Instead let's develop and demonstrate a scenario that could really happen.
I propose that we demonstrate the production of sixty 1000 TPS blocks in a testnet with sixty different NXT nodes in a one hour period. This means that 60,000 test/fake transactions that can be generated beforehand and aimed at the appropriate node that is generating that minute's block. These fake transactions can be spit out by a relative handful of high speed servers logged into the testnet; the number of these transaction generating servers is TBD.
We start with whatever the real NXT chain is just before the test. 60,000 transactions at 128 bytes per transaction will add 7.32 megabytes to the blockchain during the hour of the demonstration. This seems like a reasonable amount.
I also propose that as part of the demonstration that we do blockchain pruning three times, at 20 minutes into the test, at 40 minutes into the test, and as the last block of the test.
Notice that if we do this right we may still be able to use smartphones and Raspberry Pis in a 1000 TPS system. In any given minute that is NOT a genesis block recalculation / pruning event, there is a block produced that is only 128K, and it's getting added to a file that's only at most ten or so megabytes long. That doesn't sound too bad...
But it does imply that we might need beefier servers to do the genesis block reforging. So some subset of all nodes with more capability would be selected every 20 minutes to do the presumably bigger chore of recasting a new genesis block. This is a modification to transparent forging : every 20 minutes, pick from a small list of genesis block reforgers. Maybe this opens up up to a 51% attack. We can figure out how to stop that by adding more genesis nodes, right?
We can do this ourselves to show ourselves that it works. We can then allow the press / the VCs / our competing cryptocoins to come up with their own input spreadsheets that have their proposed transaction inputs and what they expect as their account balance outputs after one hour. We don't know their inputs or their outputs. We provide seven blockchains for their inspection at the end: the original starting test blockchain, plus the before and after pruning blockchains from 20, 40 and 60 minutes into the test.
If we succeed in doing this, and demonstrating it under fire by sceptics in a testnet,
THEN THE PRICE OF NXT EXPLODES AND WE ARE HEROES. AND RICH.We MUST implement blockchain pruning. It is not optional. Bitcoin does not have it. If we do, we get ENORMOUS bragging rights. What are we waiting for? Turing complete language bolted onto NXT is an optional bit of fun.
Blockchain bloat pruning is A VITAL ESSENTIAL MUST-DO TASK, SO WHY NOT START ON THIS TASK TODAY???Now after this burst of enthusiasm I must admit that I am not a programmer that can jump into this task. We have got identify these programmers from with our own ranks and we've got to bribe them with a ridiculous NXT bounty to motivate them to jump on this task and complete it. We have also got to define
and fund the infrastructure required to create
and sustain this 1000 TPS testnet so that any critics that want to demo it can do so at any time. Two things I CAN do is keep ranting so this doesn't fall through the cracks, and ask questions whose answers can perhaps guide those smarter than me towards a solution.
And I will do these two things, because I think coming up with a 1000 TPS one-hour simulator is really, really important. So here's my first questions:
Do we currently know enough about the format of the NXT blockchain where we can start thinking about converting an existing blockchain into a new Genesis Block? Or is there going to be a change to the NXT blockchain between now and open source release that will require us to wait for that release?
Let's just answer the questions one at a time, and discuss what it would take to make this testnet a reality.
Humor me. Let's see how far we can get with this. It's really really really important.
Let me hear a HELL YEAH!