Author

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

sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
80 and 90% of what?

Of *stake* (% of entire balance of NXT).


It's pure theoretical then. There is no way in hell anyone is ever going to hold 80% of stake.

If someone starts buying Nxt to even get close to 50%, 1 Nxt would be like $10,000 or something  (costing the stakeholders millions of dollars to get there).


Why would anyone who spends that much money to acquire 50% of Nxt, then do anything that will destroy his own wealth? Isn't that the idea behind proof of stake?

Selfish mining is possible even at 25% or 33% (IIRC). That is why we need some sort of 'let's call it penalty for the moment until somebody has better idea'.

But I agree, that stakeholder must have very reasonable reasons to do so.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Why would anyone who spends that much money to acquire 50% of Nxt, then do anything that will destroy his own wealth?

A good point - and understand that I am not "advocating to do anything" at this stage - just presenting some statistical analysis (something that this project needs to have done before making "claims" about percentages and "safety").
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
wins( a ) / wins( b ) = 0,344954566

Sure?

The simulator figures are correct and unedited - I will release the source code later so you can play with it yourself.

The actual outcome of any 1 run is of course "random" (as it can be using "srand" and "rand").


Ah, okay. I think that needs some more consideration. But your simple model might help understand.

What is the alternative approach to penalty you mentioned?
hero member
Activity: 644
Merit: 500
80 and 90% of what?

Of *stake* (% of entire balance of NXT).


It's pure theoretical then. There is no way in hell anyone is ever going to hold 80% of stake.

If someone starts buying Nxt to even get close to 50%, 1 Nxt would be like $10,000 or something  (costing the stakeholders millions of dollars to get there).


Why would anyone who spends that much money to acquire 50% of Nxt, then do anything that will destroy his own wealth? Isn't that the idea behind proof of stake?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
wins( a ) / wins( b ) = 0,344954566

Sure?

The simulator figures are correct and unedited - I will release the source code later so you can play with it yourself.

The actual outcome of any 1 run is of course "random" (as it can be using "srand" and "rand").
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
80 and 90% of what?

Of *stake* (% of entire balance of NXT).
hero member
Activity: 687
Merit: 500
Alright so i need a little help understanding something. I have two servers running on two separate computers. Both servers have the same account unlocked. I know the answer is going to be no, but i just want to understand how and why.. Does this double my chances of forging a block?

it doesnt, and in fact I believe CfB has stated in the past that this is a very bad practice, for reasons I cant understand though.  does anyone know why this is bad?  And if its so bad, what do we need to work on to mitigate the threat?
Yeah id love to see the reasoning. Im hoping we can get some insight. Thank you for the reply, ill stick to just one server then.

It doesn't double the chance to forge a block, but when you do forge a block, you will do it twice and thus, you are creating a fork.
hero member
Activity: 784
Merit: 500
So let's run two more simulations over 100 years with the 1st giving the major stakeholder 80% and the second 90%:

blocks = 52560000
a: 10
b: 10
c: 80
wins( a ) = 9245377
wins( b ) = 9225484
wins( c ) = 34089139
best_streak( a ) = 10
best_streak( b ) = 9
best_streak( c ) = 38

blocks = 52560000
a: 10
b: 90
wins( a ) = 13480613
wins( b ) = 39079387
best_streak( a ) = 13
best_streak( b ) = 53

As we can see our 90% stake holder achieved a "lucky streak" of over 50 blocks - so clearly even 50 confirmations potentially isn't going to protect us from a 90% "attack".


80 and 90% of what?
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
So let's run two more simulations over 100 years with the 1st giving the major stakeholder 80% and the second 90%:

[...]

blocks = 52560000
a: 10
b: 90
wins( a ) = 13480613
wins( b ) = 39079387
best_streak( a ) = 13
best_streak( b ) = 53

As we can see our 90% stake holder achieved a "lucky streak" of over 50 blocks - so clearly even 50 confirmations potentially isn't going to protect us from a 90% "attack".


wins( a ) / wins( b ) = 0,344954566

Sure?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Could you increase the numbers of nodes? Say 1,000, 10,000 and 1,000,000.

Of course that can be done but is irrelevant (what matters is stake proportion here).

I will be releasing the source code to my simulator so you will be able to play with it yourself if you are interested.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
So you are saying is that the functionality of transferring stakes to pools  should not be implemented?

I am presenting some statistical modelling in a way I hope the community might follow (rather than in math) so that we can work out the best solution for TF.
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
Maybe, I missed that part: why are streaks dangerous?

Without penalty or some other approach the forger who gets a long streak can "undo that many confirmations" by building a "secret" chain.


Smiley

Could you increase the numbers of nodes? Say 1,000, 10,000 and 1,000,000.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
So let's run two more simulations over 100 years with the 1st giving the major stakeholder 80% and the second 90%:

blocks = 52560000
a: 10
b: 10
c: 80
wins( a ) = 9245377
wins( b ) = 9225484
wins( c ) = 34089139
best_streak( a ) = 10
best_streak( b ) = 9
best_streak( c ) = 38

blocks = 52560000
a: 10
b: 90
wins( a ) = 13480613
wins( b ) = 39079387
best_streak( a ) = 13
best_streak( b ) = 53

As we can see our 90% stake holder achieved a "lucky streak" of over 50 blocks - so clearly even 50 confirmations potentially isn't going to protect us from a 90% "attack".
hero member
Activity: 644
Merit: 500
But what if I increased the largest holding to say 60% (by removing "f" and giving his balance to "e")?


So you are saying is that the functionality of transferring stakes to pools  should not be implemented?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Maybe, I missed that part: why are streaks dangerous?

Without penalty or some other approach the forger who gets a long streak can "undo that many confirmations" by building a "secret" chain.
newbie
Activity: 44
Merit: 0
Final Draft Of Texas Bitcoin Conference Brochure

http://www.scribd.com/doc/209289198/NXT-Brochure-Draft


There are several designers in the NXT community, maybe someone can give you better input, maybe even do some quick magic on the layout.

Any friendly graphics dudes want to have a go at cleaning up the layout?

I'll give it a try. Is it supposed to be 3-fold?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
But what if I increased the largest holding to say 60% (by removing "f" and giving his balance to "e")?

Again over 100 years:

blocks = 52560000
a: 10
b: 10
c: 10
d: 10
e: 60
wins( a ) = 5945713
wins( b ) = 5937915
wins( c ) = 5931002
wins( d ) = 5923375
wins( e ) = 28821995
best_streak( a ) = 7
best_streak( b ) = 7
best_streak( c ) = 7
best_streak( d ) = 8
best_streak( e ) = 27

So "e" has one of 50% of the times (as expected) and had a slightly better "lucky streak" (27 vs 26) - still seems to look good for 30 confirmations right?

Well now I run it again removing "e" and transferring the balance to "d" and we get the following:

blocks = 52560000
a: 10
b: 10
c: 10
d: 70
wins( a ) = 7159269
wins( b ) = 7143871
wins( c ) = 7136512
wins( d ) = 31120348
best_streak( a ) = 8
best_streak( b ) = 8
best_streak( c ) = 8
best_streak( d ) = 33

So 30 confirmations isn't looking so good when one player has 70% of the stake.
sr. member
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
So let's now extend our sample from 1 year to 10 years and see what we get:

blocks = 5256000
a: 10
b: 10
c: 10
d: 10
e: 10
f: 50
wins( a ) = 519010
wins( b ) = 517408
wins( c ) = 518301
wins( d ) = 517377
wins( e ) = 517117
wins( f ) = 2666787
best_streak( a ) = 6
best_streak( b ) = 5
best_streak( c ) = 6
best_streak( d ) = 7
best_streak( e ) = 8
best_streak( f ) = 22

Again "f" has around 50% of the blocks and he has improved on his longest "winning streak" but only by 2 more.

So it's starting to look as though without any sort of change (be it penalty or other) we would really want to have a few more than 22 confirmations to be comfortably "safe" from such an attack.


Maybe, I missed that part: why are streaks dangerous?
full member
Activity: 238
Merit: 100
People, please don't use third party websites to check hashes. It defeats the purpose of the hash.

If you're using Windows, download this to check the hashes easily and quickly. It's open source and free:

http://code.kliu.org/hashcheck/

But how do you calculate SHA256 with this? It only gives me SHA1 and MD options.
Thanks
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Just to get an even clearer picture lets try a 100 year simulation:

blocks = 52560000
a: 10
b: 10
c: 10
d: 10
e: 10
f: 50
wins( a ) = 5189498
wins( b ) = 5182029
wins( c ) = 5175688
wins( d ) = 5171205
wins( e ) = 5166631
wins( f ) = 26674949
best_streak( a ) = 7
best_streak( b ) = 7
best_streak( c ) = 7
best_streak( d ) = 8
best_streak( e ) = 8
best_streak( f ) = 26

Once again "f" has won roughly 50% of the blocks and his largest winning streak is longer but again not that much longer (when you consider how long he's been at it).

So although we need proper math to get the exact % it starting to look as though with "no penalty" this system would appear to be quite safe if you waited for 30 confirmations (or is it?)...
Jump to: