You are viewing a single comment's thread from:

RE: CBR – The Way to Split Coins (DRAFT)

in #gridcoin7 years ago

It seems like you're assuming that all of the coins in a single UTXO will stake. When I stake with my wallet though, that's not the case - only a portion of my coins stake.

I assume that wallet balance is a sum of UTXOs and if it stakes one of the UTXOs is locked for 16 hours (mature time).
I don't fully understand mechanics and there is no good documentation - the only way is to go through the code, but I'm not so fluent plus time constraints...

Sort:  

I don't fully understand mechanics and there is no good documentation - the only way is to go through the code, but I'm not so fluent plus time constraints...

I agree it's not easy to find that information, but it might be a sticking point in this analysis.

Assuming that your assumption is correct though, I'm not sure about your calculation of the staking coins S = nI - nB, since this equals n(I - B) which could be negative if I'm understanding correctly; in other words I'm not sure that C = nB.

Regarding the time constraints, I completely understand, I'm struggling with finding time to contribute myself. I think that we can all help each other refine our models, we don't have to work alone. Your analysis of/response to my model has altered the approach I'm taking.

Good catch. We can assume I > B or better I -> infinity ( or n -> 0). Good think is we can test the final equation writing a rather simple simulation program.

Are you sure about:

It seems like you're assuming that all of the coins in a single UTXO will stake. When I stake with my wallet though, that's not the case - only a portion of my coins stake.

As wallet =/= UTXO (or address =/= UTXO) a portion of a wallet will stake, but whole UTXO.
It should be impossible to lock just a part of UTXO. You can check list of UTXOs with a command

listunspent

It's great to inspire and motivate each other!

We can assume I > B or better I -> infinity ( or n -> 0)

I'm not sure this is a safe assumption to make. It looks like B can be very large, e.g. if N = 10 and M = 100 then B = 64, and C = nB = 640, which is impossible since C is the number of coins cooling down, and cannot exceed N.

If we look at this iteratively, we start with N = nI coins. In the beginning, S = N = nI. Suppose n of those coins stake, meaning one UTXO stakes. Then S = N - n = nI - n = n(I - 1). If another n coins stake, then S = N - 2n = nI - 2n = n(I - 2). So if j is the number of staked blocks in the last 16 hours, then S = n(I - j). If I = j, i.e. if the number of staked blocks = number of UTXOs, this implies that all of the coins have staked and S = 0.

If it is the case that when you stake, all of the coins in a UTXO stake, then B should equal I, meaning that the maximum number of blocks you stake should equal the number of UTXOs you have.

If I understand your model correctly, it seems like there is an assumption that the probability of staking a block = number of your coins/number of total coins. Another way of saying this is if you have 10 coins in one UTXO out of 100, and your chance of staking is 10%, then someone else with 20 coins in one UTXO will have a 20% chance of staking. If this is correct, then by linearity of expectations, it shouldn't make a difference how many UTXOs you have - you could have one, or many, but the number of blocks you stake over a large enough time period should be the same. If however it is the case that you have a higher probability of staking a block by splitting coins in a single UTXO into two separate UTXOs, then an analysis can be made as to how much a person can exploit this.

Are you sure about: ...
As wallet =/= UTXO (or address =/= UTXO) a portion of a wallet will stake, but whole UTXO.

I'm not sure at all, I was wondering myself out of ignorance.

You can check list of UTXOs with a command

That's good to learn, thanks!

N = 10 and M = 100 then B = 64, and C = nB = 640

No, as sum(n) = N; usually we use n to count things, here I've used it (not a great choice) as a value of one utxo. To have a chance to stake 64 times (within 16h) you would have to split N = 10 into 64 chunks of n=0.15625 each (equal ns for simplicity).

@tomasbrod commented on splitting coins, but his message is not clear to me.

Also,

  • B – (time) maximum number of blocks that N coins can stake when M is a total number of staking coins

is not accurate enough

I meant

  • B – (time) maximum number of blocks that N coins can stake within 16 h when M is a total number of staking coins
    (now updated in the main text, thanks)

No, as sum(n) = N; usually we use n to count things, here I've used it (not a great choice) as a value of one utxo.

I'm not sure this contradicts my original point, as the formula for B still only contains N, M, and t.

To have a chance to stake 64 times (within 16h) you would have to split N = 10 into 64 chunks of n=0.15625 each (equal ns for simplicity).

This is what I'm trying to get at, that the maximum number of blocks a person can stake is equal to the number of UTXOs that person has. Theoretically, if one makes more UTXOs than there are blocks in some time period, then a person could theoretically stake all of those blocks, though the probability of that will be extremely low.

Coin Marketplace

STEEM 0.22
TRX 0.20
JST 0.035
BTC 90822.08
ETH 3148.18
USDT 1.00
SBD 3.11