Author

Topic: NXT :: descendant of Bitcoin - Updated Information - page 1054. (Read 2761642 times)

full member
Activity: 224
Merit: 100
If we do pruning (aka restart genesis) every 1k blocks, I'm pretty sure even the slowest smartphone can do it in under a second. Assuming a constant 1000tps, that's 60,000,000 transactions every 1000 blocks. I'm not sure how many processor cycles it takes to iterate through each transaction and do addition/subtraction to the proper accounts. I'm pretty sure my galaxy S2 (old phone, I know) can crunch that in a few seconds tops.

Even if the device couldn't crunch all that data within the minute, what is prevent the node from precalculating? For example, as each new block is added, the node will add all of the transactions that happened in that block to the ones that happened before. In this way, when the 1000th block hits, all of the nodes will already have the complete picture, ready to broadcast, forming a seamless transition between the old genesis and the new. Those who have a different picture (less difficulty) will be rejected.

Lastly, this:


Did the author really attribute NXT's success to the ~60 members of reddit? Terrible article, it reeks of paid advertising.

I officially request that the NXTcommunityfund put out a bounty for the first person that successfully forges a block onto a simulated 300 GB NXT blockchain in a testbed setup.  Full specifications of system used and documentation of experiences in accomplishing the task required to claim the reward.
If infrastructure committee does not take care of this, i will create bounty

I like fee of .1 nxt for now, we can adjust again later

I think marketing should shift to 100 tps and this allows raspis to be useful, let moores law keep doubling our tps. Bitcoin blockchain does not gain tps with moores law, nxt does

In two years 300 gb wont seem so big

Also, nxt core is such that all cool stuff, mission critical, competitor defensive, fun and quirky, everything can be developed in parallel as long as we have the resources.

We now have nearly 1 million usd budget to be able to fund everything in parallel, plus as nxt gains value so does budget!

These are very good developments for nxt! We are discussing seious issues and ways to improve all aspects of nxt. Everyone can contribute. I am so proud to be part of NXT!!!

James
Where did 300GB come from? That's way too much.
Nxt needs about 32GB (theoretical, unreachable maximum) for balances...

Now that you mention this, I do remember C-f-b mentioning 32GB would be the hard limit, but why is this?
newbie
Activity: 39
Merit: 0
Fee voting tally google doc spreadsheet.  Please check your vote and PM me if I made a mistake.

https://docs.google.com/spreadsheet/ccc?key=0Akjrt0LTBXgcdFFkSGMwXzd4Q2NPU21yU2NOYWVldlE&usp=sharing


Well done, sir!
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
A blockchain needs to be as long as longest possible fork, at least. I don't know, half a day? Definitely not 20 blocks.  

Agreed - so a new "genesis" block would have to be the balance of all accounts from before the last possible "re-org" point.

BTW - said "genesis" block is going to become "huge" in the future (if we had one million accounts then surely we are talking 200-300 MB which you are not very likely to be able to be sending to nodes very quickly - or are we working on some sort of special format to "compress" a genesis block?).

Although it could be divisive it might also be worth "pruning" tiny balance accounts (ones with less than or equal to the minimum fee say) and having those as "fee rewards" for the construction of the new genesis block (this gives some added incentive to create it rather than just to "skip your turn" because of the "work involved").
sr. member
Activity: 404
Merit: 250
https://nxtforum.org/
VOTE 0.1 FEE per transaction
This will encourage those new nxters who's only income are from faucets.
If they get 2 nxt, they are likely happy to send 1nxt out for fun or to a friend and still end up with some balance.


EVERYONE MUST UPDATE TO 0.6.0 to AVOID ANY LOSSES


Quote
162.243.82.115      162.243.82.115      0      2 B      140 B      NRS (0.6.0) @ MOON
full member
Activity: 148
Merit: 100


If we can recast a genesis block every 20th block as part of the routine operation of the NXT blockchain, we have accomplished something very, very special - a self limiting blockchain that grows very slowly.
A blockchain needs to be as long as longest possible fork, at least. I don't know, half a day? Definitely not 20 blocks. 
full member
Activity: 196
Merit: 100
Do  pruned and non-pruned blockchain node can interact with each other?
They would have to.  THe genesis node has got to distribute the new genesis block to the non-genesis nodes in the minute.  And while the new genesis block is being forged, no new transactions for that minute.  The transaction nodes know that a genesis node is thinking.
full member
Activity: 148
Merit: 100
Immediate monstercrash starting 6.0 on my VPS....
The monstercrash is due to blockchain storage property re-added to web.xml. *.nxt files work.
full member
Activity: 238
Merit: 100
I agree with rickyjames on the blockchain pruning.
It should be done soon to test.

I guess you just need to recreate a genesis block and restart from that.
But network can't do that instantly, there will be downtime. How do we handle that?

A requirement is a machine that can do a genesis block in under a minute from an existing blockchain so it fits in with the tick-tock once per minute pattern of block forgings.  Is this even remotely feasible for a say 5 MB blockchain?  Discuss.

I believe the way it will have to work is a network-wide rule of "every Xth block" or "blockchainsize=Y" or some other defined situation that requires the next block to be a new genesis synthesis. I believe the new genesis systhesis will have to be done for free by the forging node though.  But as long as the network REQUIRES it, then at the point that the condition requires it, then all forging nodes will forget about processing new transactions and will work on forging the new genesis, and if some forging node tries to forge a block with transactions, the network will reject it.

So standard forging rules for the new genesis as the next block will occur.  And if a node cant keep up to perform the task (rasPI, smartphone,etc) then another node will step in, just like happens with new blocks now

Will require a minute of downtime every genesis though, best case, assuming it can be done automatically, which should be possible.

At least should be possible whenever the devs give up the secret to the genesis.

Im all in for this testnet though, can easily generate VPSs running instances of NXT.  very cool project.  We can load up a smartphone and raspi with tons of testNXT so as to force them to forge more often to get an idea of their performance


ETA we will not be able to use a "genesis node" for forging the new genesis, it must be a network wide rule thing that other nodes can reject new genesis if need be (to avoid centralization)
sr. member
Activity: 392
Merit: 250
Do  pruned and non-pruned blockchain node can interact with each other?
full member
Activity: 196
Merit: 100
I agree with rickyjames on the blockchain pruning.
It should be done soon to test.

I guess you just need to recreate a genesis block and restart from that.
But network can't do that instantly, there will be downtime. How do we handle that?

A requirement is a machine that can do a genesis block in under a minute from an existing blockchain so it fits in with the tick-tock once per minute pattern of block forgings.  Is this even remotely feasible for a say 5 MB blockchain?  Discuss.
sr. member
Activity: 392
Merit: 250
I agree with rickyjames on the blockchain pruning.
It should be done soon to test.

I guess you just need to recreate a genesis block and restart from that.
But network can't do that instantly, there will be downtime. How do we handle that?

Who create that genesis block and distribute it? Or maybe everyone can create it with a simple tool.
How do we coordinate everyone?

Maybe client could integrate a pruning feature
full member
Activity: 196
Merit: 100
(I did read it all)

Im with you.  But genesis synthesis is not trivial, and right now is actually unknown.  Will it need to be made as an automatic process, where every 500K blocks a forger must forge for free the new genesis block?  I kind of think so.

Then we have the problem where I dont think dev will release specifics on the genesis block, to prevent clones.  Remember CfB's traps he has for clones who make their own genesis?

500K blocks is 500,000 minutes of time and that's a blockchain pruning slightly less than once per year.  During that time it will grow by 500,000 * 128K = 3.84 TB.  We have got to forge a genesis block a LOT more often to keep the overall block chain small enough so Raspberry Pis and Smartphones can still participate in regular add-128K-of-transactions blocks (if they can - that's part of what we're testing and why they call it a testnet.  Maybe we got to Odroids.  Maybe we box ourselves in to nothing but VPSs and a few super VPSs.  We don't know.  Let's find out.)

If we can recast a genesis block every 20th block as part of the routine operation of the NXT blockchain, we have accomplished something very, very special - a self limiting blockchain that grows very slowly.  It may not be JD Bruce's mod-the-account balances every block idea come to life, but as a kluge it could give us 1000 TPS in a test net sooner rather than later.

As for clones, let's build this first and keep the high ground through innovation.

This is worth trying.  Let's do it.
sr. member
Activity: 460
Merit: 250
Immediate monstercrash starting 6.0 on my VPS....

Same. Seems to work fine starting from scratch.
full member
Activity: 238
Merit: 100
(I did read it all)

Im with you.  But genesis synthesis is not trivial, and right now is actually unknown.  Will it need to be made as an automatic process, where every 500K blocks a forger must forge for free the new genesis block?  I kind of think so.

Then we have the problem where I dont think dev will release specifics on the genesis block, to prevent clones.  Remember CfB's traps he has for clones who make their own genesis?
hero member
Activity: 854
Merit: 1001
Immediate monstercrash starting 6.0 on my VPS....
hero member
Activity: 854
Merit: 1001
I can manage an mmmm, YEAH!

I think i get where ricky is going, seems +1 worthy.

Very late, upgrading VPS, not enthousiastic much.
full member
Activity: 238
Merit: 100
CfB:

How will new cryptos that use AM on top of NXT as their blockchain deal with the periodic purges of AM transactions?

And will implementation of .01 versus .001 for fees require differing amounts of work from dev teams ?
full member
Activity: 196
Merit: 100

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.4951414

I'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!
newbie
Activity: 56
Merit: 0
0.25   Passion_ltc
0.01   landomata
0.1   CIYAM Open
0.1   longzai1988
0.1   LiQio
0.1   pinarello
0.01   minusbalancer
0.1   TwinWinNerD
0.1   BitcoinForumator
0.1   grex
0.1   bitcoinpaul
0.01   smaragda
0.01   mthcl
0.05   Jack Needles
0.1   gimre
0.001   Intel
0.01   Hegemon
0.1   lyynx
0.1   voldemort628
0.01   Ezravdb
0.1   Noltev
0.01   fmiboy
0.1   bidjl29
0.1   abuelau
0.1   seek4dream
0.1   wesleyh
0.1   achimsmile
0.1   Sebastien256
0.01  rriky92

FYI, compiling votes.  Here's what I've got from the thread so far.  Some not explicit (ie: +1 comment) taken as valid vote.

(Average = 0.0752)

sorry been at work and looking after sick wife
my vote for trans fees

0.1

0.1 as well for me.
sr. member
Activity: 336
Merit: 250
AKA jefdiesel
0.25   Passion_ltc
0.01   landomata
0.1   CIYAM Open
0.1   longzai1988
0.1   LiQio
0.1   pinarello
0.01   minusbalancer
0.1   TwinWinNerD
0.1   BitcoinForumator
0.1   grex
0.1   bitcoinpaul
0.01   smaragda
0.01   mthcl
0.05   Jack Needles
0.1   gimre
0.001   Intel
0.01   Hegemon
0.1   lyynx
0.1   voldemort628
0.01   Ezravdb
0.1   Noltev
0.01   fmiboy
0.1   bidjl29
0.1   abuelau
0.1   seek4dream
0.1   wesleyh
0.1   achimsmile
0.1   Sebastien256
0.01  rriky92

FYI, compiling votes.  Here's what I've got from the thread so far.  Some not explicit (ie: +1 comment) taken as valid vote.

(Average = 0.0752)

sorry been at work and looking after sick wife
my vote for trans fees

0.1
Jump to: