swartzfeger
|
|
February 26, 2014, 08:00:58 AM |
|
AND... did I just FORGE MY FIRST BLOCK???
[2014-02-26 01:27:45.428] DEBUG: Account 13891739725946840876 generated block 7618915659976390890
Bah, I think that was some sort of rogue, orphaned block. Ah well.
|
|
|
|
Eadeqa
|
|
February 26, 2014, 08:04:32 AM |
|
Close but it doesn't show their stake (so a little tricky to quickly work out what I want to). That was wrong link anyway Top generators: http://blocks.nxtcrypto.org/nxt/nxt.cgi?action=35The highest generator has generated 15% of blocks. The number 2 and 3 have 8% 4, 5 are about 4% number 60 is 0.2%
|
|
|
|
Eadeqa
|
|
February 26, 2014, 08:07:20 AM |
|
Close but it doesn't show their stake (so a little tricky to quickly work out what I want to). That was wrong link anyway Top generators: http://blocks.nxtcrypto.org/nxt/nxt.cgi?action=35The highest generator has generated 15% of blocks. The number 2 and 3 have 8% 4, 5 are about 4% number 60 is 0.2% And highest generator has Balance Total : 50,005,026 NXT that account has generated 15% of blocks
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:09:40 AM |
|
As maths and stats are not something so easily understood by everyone I've created a little simulation program to help visualise things.
It doesn't try to take into account timing and just works out the best block based upon a random number and your stake (so I set it up with some hard-coded balances and then each time I run it I get different output but always with similar results as you'd expect).
Here an example of a simulation of 1440 blocks (i.e. 1 day assuming max. number of blocks per day were found).
blocks = 1440 a: 10 b: 10 c: 10 d: 10 e: 10 f: 50 fafcfbffaefdfebfddffaafcffaffcfffacfebfedffffbffbfcfdfabfffdcffafcfbfcaccbecbdf eedffcbefafcffffbcffffffcfbffbffccbffffffffffffcffefd cfafcbfdacbfeffffdcfeffefffafffcadcffabfbffffecfbfbdfdffffaecbdbffffffcddefffcf cefdebaeaffdbbfbcbcfafbdefafdffaffeffefbfffceaefffffb ffabfffccbcdbbffceeccfbdefcffbfddbccfadffffffbffffbdabfcffacfbbdfafdffedffeefce ffbbfafcebefffffecfffffcdfaefabffbbfaffcffffffffebeef ffbfbffdfdbabfecfeffefbacffcfbddefccdecfeeffbadfdfbadeddfecfccbcddbeaeffadabfec fcffffaafffaecfaffefffeebfffcffffbffffdaffffffafcfffb fcdbfbcfdfffadccfefbdffffeffadaedfffabfdfcfcfaeaffedffddfffffcbdffdffdffdbfefff cabfefcafbeffdeabfdefdeffdfaddfacfdbfeebaccbffeefcfff bfdfffefffffefffffbeffbbffceaafbfefcfbdcfdfcfdffffeffffedcfeffbfafffecfdfaffbce fafffffbbafffeccafffefafaffafffaaefffbbeefccddafefccf efcfbfffbffbfcfffbffcffecffffffaafbfffeefeadaacffbfffdfebfcffffefffffdacdefdeac fbfffddfcafffefffffefcbbaadfdcafffefdfffefffffcfbfebb bfdffcffbdbaafeffffcadfefbfcffbfeefcefbeefbddfdfffbdfffabcbafeddbfabfafeffdfffb efcfbeffffedfffaebedffbfffcfeffcbfafffbffdddfffaffcff bffdffaeecfdfffbfffabfbaffffffffdeadffefbacdfdeffdfeeafffbffffcfdfdefedbccaffaf bebfeffcefffffdfffcedbbffecfacdefffeffcfeeccfedcccfdf ffffceffceedddeffaeffebfefedfdfbffbfffbfcffffbfeffafccffffeffecffdffafcffefefff dfffffdafcafffeffffaffffffbfeffaffeffffcfcfdefcfcbaff eeebbfcfffffccffbfcfaaeffafbffbbfffefeffcfbfbfefccdffbfbbffbcdeceffffffafcfcadf affdfdcfecffadffffdbbbffffafafbfcffeffbee wins( a ) = 116 wins( b ) = 153 wins( c ) = 151 wins( d ) = 130 wins( e ) = 162 wins( f ) = 728 best_streak( a ) = 2 best_streak( b ) = 3 best_streak( c ) = 3 best_streak( d ) = 3 best_streak( e ) = 3 best_streak( f ) = 12
The wall of text is the "letter" that I've used to name the account holder who was the "lucky miner" and I've bolded the longest running "streak" of wins that have occurred.
So we can see that account "f" won 728 of the 1440 blocks which makes sense as that account has 50% of the stake.
Another interesting point is that in 1 day "f" was able to find the best block 12 times in a row (not something good at all if we are trying to avoid a so-called >50% attack).
|
|
|
|
EvilDave
|
|
February 26, 2014, 08:12:06 AM |
|
Final Draft Of Texas Bitcoin Conference Brochurehttp://www.scribd.com/doc/209289198/NXT-Brochure-DraftThis goes to the printer in Austin in 36 hours. Anybody have any comments to tell me I've said something stupid, please tell me now. The website new2nxt.com is live and it's mine. I will clean it up during the rest of the week and over the weekend. I intend for it to be (yet another) newbie site to find info and links on how to get started with NXT. Thank you, donor who shall remain forever nameless, for funding the printing of these brochures. The NXT community is full of REALLY GREAT people. Hi Rickyjames First of all, thanks for your work. I quickly flew over the text and it seems good to me (no details checked, but it is mainly marketing anyway). But what I don't like is the design: too many colors, too many different fonts in too many sizes. I'm not a graphic artist/designer or the like, but the overall layout looks a little tacky, at least to me. There are several designers in the NXT community, maybe someone can give you better input, maybe even do some quick magic on the layout. Cheers, LiQio @rickyjames: got to agree with LiQio. Too many colours. I'll have a quick proof read of the text in the next couple of hours, and get that back to u. Any friendly graphics dudes want to have a go at cleaning up the layout?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:18:28 AM |
|
So let me now run a simulation over 1 year (I won't include each winner but I hope you can agree from the day example the calculations being made by the simulator are fine).
blocks = 525600 a: 10 b: 10 c: 10 d: 10 e: 10 f: 50 wins( a ) = 52004 wins( b ) = 51687 wins( c ) = 51995 wins( d ) = 51717 wins( e ) = 51370 wins( f ) = 266827 best_streak( a ) = 5 best_streak( b ) = 6 best_streak( c ) = 7 best_streak( d ) = 6 best_streak( e ) = 5 best_streak( f ) = 20
So once again "f" has roughly 50% of the best blocks but more interestingly he has now managed a "best streak" of 20 blocks in a row (double what we have currently being considering to be "safely confirmed").
Clearly if we do nothing about this situation then we would be facing a potentially rather nasty problem (especially as in these examples "f" only has 50% of the stake rather than >50% of it).
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:24:46 AM |
|
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.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:31:54 AM |
|
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?)...
|
|
|
|
zorke
|
|
February 26, 2014, 08:35:39 AM |
|
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
|
|
|
|
ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
February 26, 2014, 08:37:26 AM |
|
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?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:37:50 AM |
|
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.
|
|
|
|
mvag
Newbie
Offline
Activity: 44
Merit: 0
|
|
February 26, 2014, 08:39:29 AM |
|
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?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:39:40 AM |
|
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.
|
|
|
|
Eadeqa
|
|
February 26, 2014, 08:43:10 AM |
|
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?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:45:54 AM |
|
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".
|
|
|
|
ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
February 26, 2014, 08:47:00 AM |
|
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. Could you increase the numbers of nodes? Say 1,000, 10,000 and 1,000,000.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:47:43 AM |
|
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.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
February 26, 2014, 08:49:25 AM |
|
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.
|
|
|
|
ChuckOne
Sr. Member
Offline
Activity: 364
Merit: 250
☕ NXT-4BTE-8Y4K-CDS2-6TB82
|
|
February 26, 2014, 08:50:38 AM |
|
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?
|
|
|
|
mcjavar
|
|
February 26, 2014, 08:51:21 AM |
|
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?
|
|
|
|
|