Author Topic: some BTS stats  (Read 7972 times)

0 Members and 1 Guest are viewing this topic.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Good catch
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.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?
IIRC, I had discussion on this issue with Vikram a while back about the slates, and we don't have uniqueness checking for slates currently.

Does that mean if two transactions are voting for the exact same set of delegates they could end up with different slate IDs? If true, does that mean toast's script is only looking at unique slate IDs rather than unique sets of delegates? But even if that was true, that still wouldn't explain the discrepancy between the stats toast posted and the transactions I talked about. Either there would have to be 137m BTS stake with a "unique slate" (whatever that means) in the stats OR there would have to be a 62m BTS stake with a "unique slate" and another 75m BTS stake with a "unique slate" in the stats. But the stats clearly show no 137m BTS stake "unique slate" nor does it show a 62m BTS stake "unique slate".

The other possibility is that those balances were grouped together after toast ran his script, but considering those transactions were made on Jan 28 (less than a day after toast's original post), I highly doubt it.

Ah, I think I found the bug with toast's script that explains the discrepancy I quoted above.

https://github.com/BitShares/bitshares/commit/8a19a15c1880f8f3251acb8c8fc081b2430a4634
I'm pretty sure this part of the code
Code: [Select]
    const auto scan_balance = [&]( const balance_record& rec )
    {
        auto id = rec.condition.slate_id;
        if( slates.find(id) != slates.end() )
            slates[id] = rec.balance;
        else
            slates[id] += rec.balance;
    };
should instead be
Code: [Select]
    const auto scan_balance = [&]( const balance_record& rec )
    {
        auto id = rec.condition.slate_id;
        if( slates.find(id) == slates.end() )
            slates[id] = rec.balance;
        else
            slates[id] += rec.balance;
    };
or even simplified down to just
Code: [Select]
    const auto scan_balance = [&]( const balance_record& rec )
    {
        auto id = rec.condition.slate_id;
        slates[id] += rec.balance;
    };
but I don't know if I like this because it isn't very explicit about what's going on.

The if statement with the != actually checks if the slate id already exists in the map slates and if it does it then replaces the existing value, else it adds to a non-existent value (which causes it to create a new entry in the map with a default value of share_type() == int64_t() == 0 and then adds rec.balance to it). This is the opposite of the desired behavior, and it leads to ignoring all balances with the same slate id except for the last one returned by the unordered iterator, which would be consistent with discrepancy I described in this thread.

By the way, I believe the same reversal bug exists with stats_unique_account_registrars() (https://github.com/BitShares/bitshares/commit/a388e05e35bdc5b737a4f8d63eba3ed06dfba4fa). But I'm not really sure what is going with that function and why it is supposed to give any meaningful result.

Also, I should warn that this is based on me just reading the code and interpreting what it should be doing. I was too lazy to actually bother correcting the mistake and seeing if it fixes the discrepancy.

Offline abit

  • Committee member
  • Hero Member
  • *
  • Posts: 4664
    • View Profile
    • Abit's Hive Blog
  • BitShares: abit
  • GitHub: abitmore
bitshares millionaires are people with 1m bitshares. We definitely don't have 70 $1m positions..

Although apparently at the beginning of this year we had one person with a position worth more than $1m. Is that the remaining BTS funds from AGS that are held by bytemaster or is that someone else?

Also, I'm a little confused by these stats. I'm looking at http://bitsharesblocks.com/blocks/block?id=1645217 and http://bitsharesblocks.com/blocks/block?id=1645222. Transaction #1645217.1 is voting with 62m BTS and transaction #1645222.5 is voting with 75m BTS. The second transaction is reported in toast's stats as the one slate with stake worth between 74,333,503 BTS and 81,766,853 BTS. But there doesn't seem to be any other slate between 61,432,647 BTS and 67,575,911 BTS in the stats. Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?

Big transaction in block #1645217: slate id = 10982962704604936192.000000
Big transaction in block #1645222: slate id = 10982962704604936192.000000

They are indeed the same.
Could the confusion here be that one contains positive votes and the other is mainly a negative vote? So some of the votes that were previously cast for someone have just been removed, perhaps...
Say, if I have 100 BTS, and I transfer 50 bts to myself, it'll show as a 50-bts voting, right?
BitShares committee member: abit
BitShares witness: in.abit

Offline dannotestein

  • Hero Member
  • *****
  • Posts: 760
    • View Profile
    • BlockTrades International
  • BitShares: btsnow
bitshares millionaires are people with 1m bitshares. We definitely don't have 70 $1m positions..

Although apparently at the beginning of this year we had one person with a position worth more than $1m. Is that the remaining BTS funds from AGS that are held by bytemaster or is that someone else?

Also, I'm a little confused by these stats. I'm looking at http://bitsharesblocks.com/blocks/block?id=1645217 and http://bitsharesblocks.com/blocks/block?id=1645222. Transaction #1645217.1 is voting with 62m BTS and transaction #1645222.5 is voting with 75m BTS. The second transaction is reported in toast's stats as the one slate with stake worth between 74,333,503 BTS and 81,766,853 BTS. But there doesn't seem to be any other slate between 61,432,647 BTS and 67,575,911 BTS in the stats. Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?

Big transaction in block #1645217: slate id = 10982962704604936192.000000
Big transaction in block #1645222: slate id = 10982962704604936192.000000

They are indeed the same.
Could the confusion here be that one contains positive votes and the other is mainly a negative vote? So some of the votes that were previously cast for someone have just been removed, perhaps...
http://blocktrades.us Fast/Safe/High-Liquidity Crypto Coin Converter

Offline svk

bitshares millionaires are people with 1m bitshares. We definitely don't have 70 $1m positions..

Although apparently at the beginning of this year we had one person with a position worth more than $1m. Is that the remaining BTS funds from AGS that are held by bytemaster or is that someone else?

Also, I'm a little confused by these stats. I'm looking at http://bitsharesblocks.com/blocks/block?id=1645217 and http://bitsharesblocks.com/blocks/block?id=1645222. Transaction #1645217.1 is voting with 62m BTS and transaction #1645222.5 is voting with 75m BTS. The second transaction is reported in toast's stats as the one slate with stake worth between 74,333,503 BTS and 81,766,853 BTS. But there doesn't seem to be any other slate between 61,432,647 BTS and 67,575,911 BTS in the stats. Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?

Big transaction in block #1645217: slate id = 10982962704604936192.000000
Big transaction in block #1645222: slate id = 10982962704604936192.000000

They are indeed the same.
Worker: dev.bitsharesblocks

Offline dannotestein

  • Hero Member
  • *****
  • Posts: 760
    • View Profile
    • BlockTrades International
  • BitShares: btsnow
Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?
IIRC, I had discussion on this issue with Vikram a while back about the slates, and we don't have uniqueness checking for slates currently.

Does that mean if two transactions are voting for the exact same set of delegates they could end up with different slate IDs?
That's my understanding, yes. I don't know how Toast's script works, so can't comment on that.
http://blocktrades.us Fast/Safe/High-Liquidity Crypto Coin Converter

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?
IIRC, I had discussion on this issue with Vikram a while back about the slates, and we don't have uniqueness checking for slates currently.

Does that mean if two transactions are voting for the exact same set of delegates they could end up with different slate IDs? If true, does that mean toast's script is only looking at unique slate IDs rather than unique sets of delegates? But even if that was true, that still wouldn't explain the discrepancy between the stats toast posted and the transactions I talked about. Either there would have to be 137m BTS stake with a "unique slate" (whatever that means) in the stats OR there would have to be a 62m BTS stake with a "unique slate" and another 75m BTS stake with a "unique slate" in the stats. But the stats clearly show no 137m BTS stake "unique slate" nor does it show a 62m BTS stake "unique slate".

The other possibility is that those balances were grouped together after toast ran his script, but considering those transactions were made on Jan 28 (less than a day after toast's original post), I highly doubt it.

Offline dannotestein

  • Hero Member
  • *****
  • Posts: 760
    • View Profile
    • BlockTrades International
  • BitShares: btsnow
Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?
IIRC, I had discussion on this issue with Vikram a while back about the slates, and we don't have uniqueness checking for slates currently.
http://blocktrades.us Fast/Safe/High-Liquidity Crypto Coin Converter

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
bitshares millionaires are people with 1m bitshares. We definitely don't have 70 $1m positions..

Although apparently at the beginning of this year we had one person with a position worth more than $1m. Is that the remaining BTS funds from AGS that are held by bytemaster or is that someone else?

Also, I'm a little confused by these stats. I'm looking at http://bitsharesblocks.com/blocks/block?id=1645217 and http://bitsharesblocks.com/blocks/block?id=1645222. Transaction #1645217.1 is voting with 62m BTS and transaction #1645222.5 is voting with 75m BTS. The second transaction is reported in toast's stats as the one slate with stake worth between 74,333,503 BTS and 81,766,853 BTS. But there doesn't seem to be any other slate between 61,432,647 BTS and 67,575,911 BTS in the stats. Furthermore, if you compare the delegates those two transactions are voting for you can see that they are identical. So shouldn't their sum, approximately 137m BTS, be reported as a single slate in the stats somewhere?

Offline matt608

  • Hero Member
  • *****
  • Posts: 878
    • View Profile
bitshares millionaires are people with 1m bitshares. We definitely don't have 70 $1m positions..

Yet.   ;D

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
bitshares millionaires are people with 1m bitshares. We definitely don't have 70 $1m positions..

I was just roughly estimating chunks of equal areas under the cumulative distribution curve. You could put it into excel to see a clearer picture.

For the last thing I meant that to get 50% approval you only need the consensus of people with less than 1m BTS.
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.

Offline dannotestein

  • Hero Member
  • *****
  • Posts: 760
    • View Profile
    • BlockTrades International
  • BitShares: btsnow
There are about 6300 distinct balances that have account registrations associated with them

Here is a list of how many slates have more than a given amount of BTS for a range of values. This is a decent approximation of unique voters with more than 1000 voting BTS.

Code: [Select]
742 slates have more than 1067  (BTS)
736 slates have more than 1173
726 slates have more than 1291
718 slates have more than 1420
710 slates have more than 1562
708 slates have more than 1718
706 slates have more than 1890
691 slates have more than 2079
687 slates have more than 2287
681 slates have more than 2516
675 slates have more than 2768
653 slates have more than 3044
651 slates have more than 3349
648 slates have more than 3684
641 slates have more than 4052
634 slates have more than 4457
629 slates have more than 4903
612 slates have more than 5394
608 slates have more than 5933
599 slates have more than 6526
595 slates have more than 7179
590 slates have more than 7897
583 slates have more than 8687
577 slates have more than 9555
558 slates have more than 10511
554 slates have more than 11562
549 slates have more than 12718
541 slates have more than 13990
532 slates have more than 15389
524 slates have more than 16928
511 slates have more than 18621
487 slates have more than 20483
475 slates have more than 22532
461 slates have more than 24785
452 slates have more than 27264
446 slates have more than 29990
435 slates have more than 32989
429 slates have more than 36288
403 slates have more than 39917
387 slates have more than 43909
377 slates have more than 48300
354 slates have more than 53130
344 slates have more than 58443
333 slates have more than 64287
325 slates have more than 70716
311 slates have more than 77787
301 slates have more than 85566
289 slates have more than 94123
258 slates have more than 103535
247 slates have more than 113889
241 slates have more than 125277
232 slates have more than 137805
222 slates have more than 151586
219 slates have more than 166744
212 slates have more than 183419
190 slates have more than 201761
177 slates have more than 221937
172 slates have more than 244131
164 slates have more than 268544
158 slates have more than 295398
151 slates have more than 324938
143 slates have more than 357432
137 slates have more than 393175
129 slates have more than 432493
123 slates have more than 475742
110 slates have more than 523317
100 slates have more than 575648
97 slates have more than 633213
95 slates have more than 696535
88 slates have more than 766188
84 slates have more than 842807
77 slates have more than 927088
70 slates have more than 1019797
66 slates have more than 1121776
62 slates have more than 1233954
57 slates have more than 1357349
55 slates have more than 1493084
54 slates have more than 1642393
53 slates have more than 1806632
45 slates have more than 1987296
40 slates have more than 2186025
39 slates have more than 2404628
35 slates have more than 2645091
30 slates have more than 2909600
23 slates have more than 3200560
23 slates have more than 3520616
22 slates have more than 3872677
18 slates have more than 4259945
17 slates have more than 4685940
16 slates have more than 5154534
16 slates have more than 5669987
14 slates have more than 6236986
13 slates have more than 6860684
11 slates have more than 7546753
9 slates have more than 8301428
7 slates have more than 9131571
7 slates have more than 10044728
5 slates have more than 11049201
5 slates have more than 12154121
5 slates have more than 13369533
5 slates have more than 14706487
4 slates have more than 16177136
4 slates have more than 17794849
4 slates have more than 19574334
4 slates have more than 21531768
4 slates have more than 23684944
4 slates have more than 26053439
3 slates have more than 28658783
2 slates have more than 31524661
2 slates have more than 34677127
2 slates have more than 38144840
1 slates have more than 41959324
1 slates have more than 46155257
1 slates have more than 50770782
1 slates have more than 55847861
1 slates have more than 61432647
1 slates have more than 67575911
1 slates have more than 74333503
0 slates have more than 81766853

Possible interpretations:
About 750 people have more than 1000 BTS voting. There are around 70 bitshares millionaires voting. About 500 have more than $100 worth. The top shareholder has as much BTS as the next 3 or 4. All these put together have about as much as the next 20-50? Those in turn might be in a minority counting all voters with over a few hundred dollars's worth. 50% approval might not need anyone with more than a few million BTS.
Hi Toast, could you comment a little more on how the stats you collected lead to your possible interpretations above (e.g. what math are you doing to get these numbers)? Also, is a bitshares millionaire someone with a million bitshares? or the equivalent in USD :-) And what did you mean by 50% approval might not need more than a few million BTS? AFAIK, it would take more than a few million BTS votes to elect a delegate....
http://blocktrades.us Fast/Safe/High-Liquidity Crypto Coin Converter

Offline sudo

  • Hero Member
  • *****
  • Posts: 2255
    • View Profile
  • BitShares: ags
I've done a similar analysis of accounts and get a similar number: 6373 "unique" accounts.

Here's a list of the balance ids that have registed the most accounts:

Code: [Select]
  { id: 'BTSN5uR4xwRhy9DGvwZFJAABFQbzYmzFe7Sw', count: 292 },
  { id: 'BTS6KNAX5vSVaaGP2WDF38ahXTsYT1CnGdqd', count: 305 },
  { id: 'BTSHxEtRkm9PRsWVuwF5RN18NMo3hHabGSt1', count: 337 },
  { id: 'BTSEmoBdfbVyRjtKDzzWey8bUkFzss15ckhb', count: 345 },
  { id: 'BTS4SFQkabQdqtH3SkYNqRgWGdPdkQV8EgUH', count: 360 },
  { id: 'BTSMmSji86zu814RHw7kweDaq186hjS3GEez', count: 365 },
  { id: 'BTSzfwpd2Gu3i6TEXfMxdmukUSpauPT49Fd', count: 484 },
  { id: 'BTSKZ4eK2GFe2qdr7yU2oXuA6i8hGCW3ASyE', count: 497 },
  { id: 'BTS8k82LVDy8A9SfmZoefPsK5JniuC8Tp2rt', count: 567 },
  { id: 'BTSPo8nCvd2img4nTwjSQEbsmDiFQ2X6j4fr', count: 2430 }

I've also added "unique" accounts data to the accounts chart on bitsharesblocks:

http://bitsharesblocks.com/charts/accounts




 +5%

Offline svk

I'll have a look tomorrow but I'm guessing thats all the btc38xxxxx accounts
Worker: dev.bitsharesblocks

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
I added an issue for this and the accounts stat, will add them soon.

https://github.com/svk31/bitsharesblocks/issues/30

 +5%

I've also added "unique" accounts data to the accounts chart on bitsharesblocks:

http://bitsharesblocks.com/charts/accounts

 +5%

Here's a list of the balance ids that have registed the most accounts:

Code: [Select]
  { id: 'BTSN5uR4xwRhy9DGvwZFJAABFQbzYmzFe7Sw', count: 292 },
  { id: 'BTS6KNAX5vSVaaGP2WDF38ahXTsYT1CnGdqd', count: 305 },
  { id: 'BTSHxEtRkm9PRsWVuwF5RN18NMo3hHabGSt1', count: 337 },
  { id: 'BTSEmoBdfbVyRjtKDzzWey8bUkFzss15ckhb', count: 345 },
  { id: 'BTS4SFQkabQdqtH3SkYNqRgWGdPdkQV8EgUH', count: 360 },
  { id: 'BTSMmSji86zu814RHw7kweDaq186hjS3GEez', count: 365 },
  { id: 'BTSzfwpd2Gu3i6TEXfMxdmukUSpauPT49Fd', count: 484 },
  { id: 'BTSKZ4eK2GFe2qdr7yU2oXuA6i8hGCW3ASyE', count: 497 },
  { id: 'BTS8k82LVDy8A9SfmZoefPsK5JniuC8Tp2rt', count: 567 },
  { id: 'BTSPo8nCvd2img4nTwjSQEbsmDiFQ2X6j4fr', count: 2430 }

Wow 2430! I'm guessing most of these balances are just registering common name accounts thinking they can squat on them?