GSS - Genesis Stake Statistics

Started by xeroc, September 24, 2014, 07:00:05 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

xeroc

ok .. I see now .. the other one states:
" genesis.json    bump testnet version " ..
thanks for pointing out

bitder

Quote from: xeroc on September 26, 2014, 01:07:34 PM
I found my mistake .. a stupid btw :) .. I search for the thresholds in the cumulative sum .. not in the individual address balances :) .. just stupid :)

@bitder: it seems you use a different BTSX genesis json file?! Maybe you use the one from the bitshares_toolkit?!

I think you should be using the following genesis (Feb 28 snapshot)
https://raw.githubusercontent.com/dacsunlimited/bitsharesx/master/libraries/blockchain/genesis_btsx.json

The other one is from the post AGS snapshot.
wallet_account_set_approval delegate.bitder 1

stuartcharles

good work guys, and the distribution very well spread for a starting point.

xeroc

#19
I found my mistake .. a stupid btw :) .. I search for the thresholds in the cumulative sum .. not in the individual address balances :) .. just stupid :)

@bitder: it seems you use a different BTSX genesis json file?! Maybe you use the one from the bitshares_toolkit?!

wget https://raw.githubusercontent.com/dacsunlimited/bitsharesx/master/libraries/blockchain/genesis.json

xeroc


bitder

Quote from: xeroc on September 26, 2014, 06:39:11 AM
I see ...

Could you publish the code you wrote for the above please?

Excellent work


#!/usr/bin/env python
import json
with open('genesis_btsx.json', 'rt') as f:
  b = [ i[1]/500000.0 for i in json.load(f)['balances']]

b.sort()

def gt(b, t):
  print "%10d addresses > %10d BTSX"%(len([i for i in b if i>t]),t)

def top(b, n):
  tn=sum(b[-n:])
  tb=sum(b)
  print "top %6d addresses collectively own (%10d) %3.2f%% of shares"%(n,tn,tn*100.0/tb)

def itop(b,n):
  print "-"*80
  print "top %d addresses individual percentage"%n
  print "-"*80
  tb = b[-n:]
  tb.sort(reverse=True)
  for e,i in enumerate(tb):
    print "%3d %10d (%3.2f%%)"%(e+1,i,i/20000000)

def main():
  print "="*80
  print "total supply: %s, number of addresses: %s"%(sum(b), len(b))
  print "="*80
  for i in range(10):
    gt(b, 100000*2**i)
 
  for i in range(21):
    gt(b, 1000000*i)
 
  for i in range(1,101):
    top(b,i)
 
  itop(b,150)

if __name__ == '__main__':
  main()

wallet_account_set_approval delegate.bitder 1

xeroc

I see ...

Could you publish the code you wrote for the above please?

Excellent work

bitder

Quote from: xeroc on September 26, 2014, 06:04:50 AM
Why devide by 5e5? what is the sum of all stakes then?

The supply in the genesis_btsx.json is BIPS  (1billion with a precision of 10e6)  dividing by 5x10e5 adjusts the BIPS to 2 billion BTSX supply.


$ ./btsx_stake.py
================================================================================
total supply: 1999999999.94, number of addresses: 57973
================================================================================
      2365 addresses >     100000 BTSX
      1379 addresses >     200000 BTSX
       792 addresses >     400000 BTSX
       431 addresses >     800000 BTSX
       182 addresses >    1600000 BTSX
        60 addresses >    3200000 BTSX
        26 addresses >    6400000 BTSX
        15 addresses >   12800000 BTSX
         8 addresses >   25600000 BTSX
         2 addresses >   51200000 BTSX
     57973 addresses >          0 BTSX
       344 addresses >    1000000 BTSX
       128 addresses >    2000000 BTSX
        66 addresses >    3000000 BTSX
        43 addresses >    4000000 BTSX
        35 addresses >    5000000 BTSX
        27 addresses >    6000000 BTSX
        25 addresses >    7000000 BTSX
        21 addresses >    8000000 BTSX
        20 addresses >    9000000 BTSX
        17 addresses >   10000000 BTSX
        17 addresses >   11000000 BTSX
        15 addresses >   12000000 BTSX
        14 addresses >   13000000 BTSX
        14 addresses >   14000000 BTSX
        14 addresses >   15000000 BTSX
        11 addresses >   16000000 BTSX
         9 addresses >   17000000 BTSX
         8 addresses >   18000000 BTSX
         8 addresses >   19000000 BTSX
         8 addresses >   20000000 BTSX


top      1 addresses collectively own (  58783756) 2.94% of shares
top      2 addresses collectively own ( 116215883) 5.81% of shares
top      3 addresses collectively own ( 157771274) 7.89% of shares
top      4 addresses collectively own ( 190946909) 9.55% of shares
top      5 addresses collectively own ( 223154898) 11.16% of shares
top      6 addresses collectively own ( 255362887) 12.77% of shares
top      7 addresses collectively own ( 282127576) 14.11% of shares
top      8 addresses collectively own ( 307893968) 15.39% of shares
top      9 addresses collectively own ( 324971244) 16.25% of shares
top     10 addresses collectively own ( 341644607) 17.08% of shares
top     11 addresses collectively own ( 358311274) 17.92% of shares
top     12 addresses collectively own ( 374067717) 18.70% of shares
top     13 addresses collectively own ( 389663029) 19.48% of shares
top     14 addresses collectively own ( 404917610) 20.25% of shares
top     15 addresses collectively own ( 417725418) 20.89% of shares
top     16 addresses collectively own ( 429209511) 21.46% of shares
top     17 addresses collectively own ( 440587350) 22.03% of shares
top     18 addresses collectively own ( 450355417) 22.52% of shares
top     19 addresses collectively own ( 459722773) 22.99% of shares
top     20 addresses collectively own ( 468729134) 23.44% of shares
top     21 addresses collectively own ( 476972291) 23.85% of shares
top     22 addresses collectively own ( 484644642) 24.23% of shares
top     23 addresses collectively own ( 492006313) 24.60% of shares
top     24 addresses collectively own ( 499160491) 24.96% of shares
top     25 addresses collectively own ( 506245604) 25.31% of shares
top     26 addresses collectively own ( 512746709) 25.64% of shares
top     27 addresses collectively own ( 519130333) 25.96% of shares
top     28 addresses collectively own ( 524931889) 26.25% of shares
top     29 addresses collectively own ( 530649218) 26.53% of shares
top     30 addresses collectively own ( 536298967) 26.81% of shares
top     31 addresses collectively own ( 541828437) 27.09% of shares
top     32 addresses collectively own ( 547242762) 27.36% of shares
top     33 addresses collectively own ( 552606593) 27.63% of shares
top     34 addresses collectively own ( 557763399) 27.89% of shares
top     35 addresses collectively own ( 562915683) 28.15% of shares
top     36 addresses collectively own ( 567822092) 28.39% of shares
top     37 addresses collectively own ( 572700864) 28.64% of shares
top     38 addresses collectively own ( 577461725) 28.87% of shares
top     39 addresses collectively own ( 582104631) 29.11% of shares
top     40 addresses collectively own ( 586613750) 29.33% of shares
top     41 addresses collectively own ( 591030033) 29.55% of shares
top     42 addresses collectively own ( 595234377) 29.76% of shares
top     43 addresses collectively own ( 599361284) 29.97% of shares
top     44 addresses collectively own ( 603290659) 30.16% of shares
top     45 addresses collectively own ( 607217915) 30.36% of shares
top     46 addresses collectively own ( 611082793) 30.55% of shares
top     47 addresses collectively own ( 614867655) 30.74% of shares
top     48 addresses collectively own ( 618532892) 30.93% of shares
top     49 addresses collectively own ( 622197190) 31.11% of shares
top     50 addresses collectively own ( 625860395) 31.29% of shares
top     51 addresses collectively own ( 629403274) 31.47% of shares
top     52 addresses collectively own ( 632881737) 31.64% of shares
top     53 addresses collectively own ( 636360120) 31.82% of shares
top     54 addresses collectively own ( 639815798) 31.99% of shares
top     55 addresses collectively own ( 643182415) 32.16% of shares
top     56 addresses collectively own ( 646532040) 32.33% of shares
top     57 addresses collectively own ( 649850763) 32.49% of shares
top     58 addresses collectively own ( 653111821) 32.66% of shares
top     59 addresses collectively own ( 656334022) 32.82% of shares
top     60 addresses collectively own ( 659551600) 32.98% of shares
top     61 addresses collectively own ( 662749651) 33.14% of shares
top     62 addresses collectively own ( 665867502) 33.29% of shares
top     63 addresses collectively own ( 668906271) 33.45% of shares
top     64 addresses collectively own ( 671928432) 33.60% of shares
top     65 addresses collectively own ( 674940312) 33.75% of shares
top     66 addresses collectively own ( 677941692) 33.90% of shares
top     67 addresses collectively own ( 680921575) 34.05% of shares
top     68 addresses collectively own ( 683886009) 34.19% of shares
top     69 addresses collectively own ( 686783438) 34.34% of shares
top     70 addresses collectively own ( 689675063) 34.48% of shares
top     71 addresses collectively own ( 692553726) 34.63% of shares
top     72 addresses collectively own ( 695427368) 34.77% of shares
top     73 addresses collectively own ( 698284732) 34.91% of shares
top     74 addresses collectively own ( 701141573) 35.06% of shares
top     75 addresses collectively own ( 703995576) 35.20% of shares
top     76 addresses collectively own ( 706797377) 35.34% of shares
top     77 addresses collectively own ( 709566749) 35.48% of shares
top     78 addresses collectively own ( 712334623) 35.62% of shares
top     79 addresses collectively own ( 715077622) 35.75% of shares
top     80 addresses collectively own ( 717815997) 35.89% of shares
top     81 addresses collectively own ( 720527826) 36.03% of shares
top     82 addresses collectively own ( 723216838) 36.16% of shares
top     83 addresses collectively own ( 725902455) 36.30% of shares
top     84 addresses collectively own ( 728539203) 36.43% of shares
top     85 addresses collectively own ( 731174924) 36.56% of shares
top     86 addresses collectively own ( 733799647) 36.69% of shares
top     87 addresses collectively own ( 736407156) 36.82% of shares
top     88 addresses collectively own ( 738983279) 36.95% of shares
top     89 addresses collectively own ( 741545729) 37.08% of shares
top     90 addresses collectively own ( 744103394) 37.21% of shares
top     91 addresses collectively own ( 746628798) 37.33% of shares
top     92 addresses collectively own ( 749150497) 37.46% of shares
top     93 addresses collectively own ( 751662720) 37.58% of shares
top     94 addresses collectively own ( 754114643) 37.71% of shares
top     95 addresses collectively own ( 756530035) 37.83% of shares
top     96 addresses collectively own ( 758923852) 37.95% of shares
top     97 addresses collectively own ( 761310156) 38.07% of shares
top     98 addresses collectively own ( 763693852) 38.18% of shares
top     99 addresses collectively own ( 766053668) 38.30% of shares
top    100 addresses collectively own ( 768380351) 38.42% of shares


--------------------------------------------------------------------------------
top 150 addresses individual percentage
--------------------------------------------------------------------------------
  1   58783756 (2.94%)
  2   57432126 (2.87%)
  3   41555391 (2.08%)
  4   33175634 (1.66%)
  5   32207989 (1.61%)
  6   32207989 (1.61%)
  7   26764689 (1.34%)
  8   25766391 (1.29%)
  9   17077276 (0.85%)
10   16673362 (0.83%)
11   16666666 (0.83%)
12   15756443 (0.79%)
13   15595312 (0.78%)
14   15254581 (0.76%)
15   12807807 (0.64%)
16   11484093 (0.57%)
17   11377839 (0.57%)
18    9768066 (0.49%)
19    9367356 (0.47%)
20    9006360 (0.45%)
21    8243157 (0.41%)
22    7672351 (0.38%)
23    7361670 (0.37%)
24    7154177 (0.36%)
25    7085113 (0.35%)
26    6501105 (0.33%)
27    6383623 (0.32%)
28    5801556 (0.29%)
29    5717329 (0.29%)
30    5649748 (0.28%)
31    5529469 (0.28%)
32    5414325 (0.27%)
33    5363831 (0.27%)
34    5156805 (0.26%)
35    5152283 (0.26%)
36    4906409 (0.25%)
37    4878772 (0.24%)
38    4760861 (0.24%)
39    4642905 (0.23%)
40    4509118 (0.23%)
41    4416283 (0.22%)
42    4204344 (0.21%)
43    4126906 (0.21%)
44    3929374 (0.20%)
45    3927256 (0.20%)
46    3864878 (0.19%)
47    3784861 (0.19%)
48    3665237 (0.18%)
49    3664298 (0.18%)
50    3663205 (0.18%)
51    3542878 (0.18%)
52    3478462 (0.17%)
53    3478383 (0.17%)
54    3455678 (0.17%)
55    3366616 (0.17%)
56    3349624 (0.17%)
57    3318722 (0.17%)
58    3261058 (0.16%)
59    3222200 (0.16%)
60    3217578 (0.16%)
61    3198050 (0.16%)
62    3117851 (0.16%)
63    3038769 (0.15%)
64    3022160 (0.15%)
65    3011880 (0.15%)
66    3001380 (0.15%)
67    2979883 (0.15%)
68    2964433 (0.15%)
69    2897428 (0.14%)
70    2891625 (0.14%)
71    2878662 (0.14%)
72    2873641 (0.14%)
73    2857364 (0.14%)
74    2856840 (0.14%)
75    2854003 (0.14%)
76    2801800 (0.14%)
77    2769371 (0.14%)
78    2767873 (0.14%)
79    2742998 (0.14%)
80    2738375 (0.14%)
81    2711829 (0.14%)
82    2689011 (0.13%)
83    2685617 (0.13%)
84    2636748 (0.13%)
85    2635720 (0.13%)
86    2624722 (0.13%)
87    2607508 (0.13%)
88    2576123 (0.13%)
89    2562449 (0.13%)
90    2557664 (0.13%)
91    2525404 (0.13%)
92    2521698 (0.13%)
93    2512223 (0.13%)
94    2451922 (0.12%)
95    2415392 (0.12%)
96    2393816 (0.12%)
97    2386304 (0.12%)
98    2383695 (0.12%)
99    2359816 (0.12%)
100    2326682 (0.12%)
101    2296374 (0.11%)
102    2290479 (0.11%)
103    2283298 (0.11%)
104    2273360 (0.11%)
105    2247281 (0.11%)
106    2246884 (0.11%)
107    2220930 (0.11%)
108    2218040 (0.11%)
109    2214284 (0.11%)
110    2171617 (0.11%)
111    2159797 (0.11%)
112    2156815 (0.11%)
113    2154175 (0.11%)
114    2133075 (0.11%)
115    2127135 (0.11%)
116    2121827 (0.11%)
117    2102519 (0.11%)
118    2097921 (0.10%)
119    2094096 (0.10%)
120    2087144 (0.10%)
121    2061556 (0.10%)
122    2055383 (0.10%)
123    2053970 (0.10%)
124    2047357 (0.10%)
125    2036753 (0.10%)
126    2027721 (0.10%)
127    2024862 (0.10%)
128    2006044 (0.10%)
129    1994740 (0.10%)
130    1986672 (0.10%)
131    1980159 (0.10%)
132    1964291 (0.10%)
133    1956322 (0.10%)
134    1936345 (0.10%)
135    1932751 (0.10%)
136    1932485 (0.10%)
137    1930349 (0.10%)
138    1922749 (0.10%)
139    1916867 (0.10%)
140    1915761 (0.10%)
141    1909669 (0.10%)
142    1900547 (0.10%)
143    1892317 (0.09%)
144    1890150 (0.09%)
145    1881665 (0.09%)
146    1866750 (0.09%)
147    1861346 (0.09%)
148    1843122 (0.09%)
149    1838428 (0.09%)
150    1834548 (0.09%)

wallet_account_set_approval delegate.bitder 1

xeroc

Why devide by 5e5? what is the sum of all stakes then?

oldman

Quote from: bitder on September 26, 2014, 01:27:07 AM
xeroc, give this a try.

$ cat ./btsx_stake.py

#!/usr/bin/env python
import json
with open('genesis_btsx.json', 'rt') as f:
  b = [ i[1]/500000.0 for i in json.load(f)['balances']]
def gt(b, t):
  print "%10d addresses > %10d BTSX"%(len([i for i in b if i>t]),t)

print "total supply: %s, number of addresses: %s"%(sum(b), len(b))
for i in range(10):
  gt(b, 100000*2**i)




$ ./btsx_stake.py
total supply: 1999999999.94, number of addresses: 57973
      2365 addresses >     100000 BTSX
      1379 addresses >     200000 BTSX
       792 addresses >     400000 BTSX
       431 addresses >     800000 BTSX
       182 addresses >    1600000 BTSX
        60 addresses >    3200000 BTSX
        26 addresses >    6400000 BTSX
        15 addresses >   12800000 BTSX
         8 addresses >   25600000 BTSX
         2 addresses >   51200000 BTSX



This is much more in line with my intuition, for what it's worth.

bitder

xeroc, give this a try.

$ cat ./btsx_stake.py

#!/usr/bin/env python
import json
with open('genesis_btsx.json', 'rt') as f:
  b = [ i[1]/500000.0 for i in json.load(f)['balances']]
def gt(b, t):
  print "%10d addresses > %10d BTSX"%(len([i for i in b if i>t]),t)

print "total supply: %s, number of addresses: %s"%(sum(b), len(b))
for i in range(10):
  gt(b, 100000*2**i)




$ ./btsx_stake.py
total supply: 1999999999.94, number of addresses: 57973
      2365 addresses >     100000 BTSX
      1379 addresses >     200000 BTSX
       792 addresses >     400000 BTSX
       431 addresses >     800000 BTSX
       182 addresses >    1600000 BTSX
        60 addresses >    3200000 BTSX
        26 addresses >    6400000 BTSX
        15 addresses >   12800000 BTSX
         8 addresses >   25600000 BTSX
         2 addresses >   51200000 BTSX

wallet_account_set_approval delegate.bitder 1

toast

That doesn't seem right. 88 * 30,000,000 > 2bn.

Maybe you need to divide by precision?
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

bytemaster

Quote from: xeroc on September 25, 2014, 04:44:23 PM
I forget a correction term .. the numbers in the genesisblock are off by factor 200:

Correction term: 1/ 200.00
address with >          10 :   58,427
address with >          30 :   56,327
address with >          50 :   55,115
address with >          70 :   54,310
address with >          90 :   53,702
address with >         100 :   53,446
address with >         300 :   50,695
address with >         500 :   49,268
address with >         700 :   47,946
address with >         900 :   46,625
address with >       1,000 :   45,964
address with >       3,000 :   39,318
address with >       5,000 :   36,934
address with >       7,000 :   35,404
address with >       9,000 :   34,092
address with >      10,000 :   33,523
address with >      30,000 :   28,427
address with >      50,000 :   26,300
address with >      70,000 :   24,893
address with >      90,000 :   23,571
address with >     100,000 :   22,911
address with >     300,000 :   16,363
address with >     500,000 :   13,736
address with >     700,000 :   12,189
address with >     900,000 :   11,060
address with >   1,000,000 :   10,613
address with >   3,000,000 :    6,174
address with >   5,000,000 :    4,038
address with >   7,000,000 :    2,871
address with >   9,000,000 :    2,129
address with >  10,000,000 :    1,851
address with >  30,000,000 :       88
address with >  50,000,000 :        0

does this look about right?

Looks much better.      Perhaps update the graphs?
For the latest updates checkout my blog: [url="http://bytemaster.bitshares.org"]http://bytemaster.bitshares.org[/url]
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

xeroc

#9
I forget a correction term .. the numbers in the genesisblock are off by factor 200:
python3 script from here: https://github.com/xeroc/pytshares/blob/master/genesisStats.py

xeroc

Quote from: bitder on September 25, 2014, 03:26:55 PM
Quote from: trader on September 24, 2014, 11:52:51 PM
So there are about 200 addresses with a million shares. Sounds about right.
That's way off.
1379 addresses  > 1 million BTSX
128 addresses > 10 million BTSX
8 addresses > 100 million BTSX
3 addresses > 200 million BTSX
top address > 293 million BTSx
I should add some code to generate these numbers .. makes it easier to understand .. thanks for the hint!