Author

Topic: [ANN][CLAM] CLAMs, Proof-Of-Chain, Proof-Of-Working-Stake, a.k.a. "Clamcoin" - page 476. (Read 1151252 times)

sr. member
Activity: 434
Merit: 250
"The mass of men lead lives of quiet desperation."
I find all this staking talk very confusing as I am relatively new to crypto. Right now I have around 5 clams staking have gotten 1 stake for .11. 510 confirms later balance went back to spendable to start staking again. From what I have read so far( Huh) I should send .5 to myself 10 times to make it stake a bit faster?
hero member
Activity: 784
Merit: 1002
CLAM Developer
So!
Ideas anyone?
More algos coming to the multi-pool anytime soon?

Hmmmmm.... We were just reviewing 'coins' to add last night, to keep profitability up.

We do have plans to add additional algorithms on the Multi-Pool....

If we had reason to believe that a new algorithm would increase the hash on the pool, as opposed to diluting it - we are not against that at all!



FAUCET!!

Easy enough to put together -> but we have no ready-made pre-mine to pump into it; it would need to be a community affair.



Just want to re-iterate something we have said recently, via Twitter.
I will simply copy the relevant 'tweet's:

"A promise to all CLAMS users: the block chain has no moral opinion. We will never fork to seize coins."
https://twitter.com/ClamClient/status/488504931758776321

"A bookkeeper who "fudges" the books, has no place being trusted to keep the public ledger. Pressure is moot."
https://twitter.com/ClamClient/status/488506196886708224

"VeriCoin, Do this fork, and you have successfully 51% double spent your own network."
https://twitter.com/ClamClient/status/488508451161534464

If you agree, let those who hear your voice know that CLAMS believes in only the block chain as the arbiter of the public ledger...
full member
Activity: 223
Merit: 100
So!
Ideas anyone?
More algos coming to the multi-pool anytime soon?
Viking coin has 5 Mill.coins only ,but almost dead though. May be interesting to pick up. Dunno.
full member
Activity: 223
Merit: 100
hero member
Activity: 700
Merit: 500
So!
Ideas anyone?
More algos coming to the multi-pool anytime soon?
hero member
Activity: 784
Merit: 1002
CLAM Developer
Maybe you do, but "lucky" blocks will almost always have "messy" rewards, going to 7 or 8 decimal places.
I just plotted a chart showing how likely various rewards are:

What it's saying is that:
98.4682% of the time, your reward is exactly 0.1
99.5% of the time, your reward is very close to 0.1 (0.1003 or less),
99.6% of the time, your reward is 0.106 or less,
99.7% of the time, your reward is 0.2256 or less,
99.7659% of the time your reward will be less than 1,
99.8% of the time, your reward is 2.4948 or less,
99.8475% of the time, it's less than 10,
99.9% of the time, it's less than 47.702,
99.9239% of the time, it's less than 100,
etc.
...

That curve looks just about perfect Grin

Dooglus, You've went above and beyond!
We love it so much we went ahead and added it to the OP Post.
Did some fiddling in an attempt to render up a similar curve last night - amounting to much gnashing of teeth and little progress.
Much appreciated.

"The Brains" made essentially the same argument to me last night that you have just made in the thread here.
Hopefully the both of you are correct; and the lottery system is protected by the rarity, incentives, and structure of the reward.
If we find that isn't the case, nothing prevents us from reviewing the situation and improving the code base of coarse.



et. al.

Even with conventional proof-of-stake, there is a certain output (coin pile) size that is most "efficient".  In conventional proof-of-stake, this efficiency comes from the additional coins earned through compound interest, with the sweet spot being the point at which you stake an output immediately once it is mature, without having enough weight to stake prior.

In CLAMS, this should be quite similar, except of coarse that the efficiency and reward comes from staking additional lottery blocks as opposed to maximizing compound interest.

I think Dooglus' explanation of how this would function in terms of splitting up outputs was quite accurate with my understanding, and so I will re-post it here:

Each time you use a transaction output to create a block, it takes 510 blocks before the resulting (slightly bigger) output is "mature". While you're waiting for the 510 blocks you can't spend or mine with that output.

You can split your output into 2 smaller outputs (by sending half of its value to yourself). Each smaller output will on average take twice as long to mine a block and so won't make a net difference to your "income", except if the 510 block waiting period is significant. That is, if your large coin is big enough that you would normally expect it to mine a block within 510 blocks, it's worth splitting it up until the parts are small enough that they each take an average of more than 510 blocks each to mine.

There may be some additional efficiency gained in CLAMS that is similar to the "compound interest" argument.
Successfully staking more often will not earn you additional compound interest (as the reward is not based on the size or age of your output (coin pile)).  However, if your pile is inefficient and not staking shortly after reaching maturity - the additional coins from previous staking would increase weight and make the next staking somewhat easier.  Does that make any sense?



I want to thank Dooglus and Phzi for answering questions here in the post while I was away.

I know I speak for the entire team when I say, "Thank you" for your involvement.



Now!

We have a wide and reasonably fair distribution, though work needs to be done to "shout it to the rooftops".
We have a Proof-Of-Pearl/Lottery system, that has stake incentives that are fair, even, and align with the interests and security of the network.

The next target is ease-of-use, utility, and liquidity.
Also, I have made a pledge to myself to be much more pro-active and communicate better, concerning information and transparency with any future updates!



We have some projects that we are currently working on, that we aren't quite ready to let out of the bag just yet, but nothing is set in stone and additional ideas are what it is all about.

So!
Ideas anyone?
legendary
Activity: 2940
Merit: 1333
Not quite.  The more CLAMs at an output, the more often it can stake.  But, the reward for staking is the same irrelevant of how many CLAMs are in the staked output.

That's right. So breaking your outputs up doesn't increase your expected return, *except* if your output is big enough that it would normally be staking before the 510 block maturation period had expired.

The only real change caused by having the block reward not be proportional to the days destroyed is that you can't stop staking for a month then come back and collect a month's worth of staking all at once. It's a stake-it-or-lose-it model now, which is better.

And the lottery is so hard to win that it's not worth gaming.

All in all I think it's a good change.
legendary
Activity: 2940
Merit: 1333
So.Sending of multiples of .73 to myself of the 7.3 Clams I have will Stake 10x more often? Seems easier than what I realize maybe.

No, each one will be 10 times less likely to stake, but there will be 10 times as many of them.

The only difference is that the 510 waiting period is no longer significant compared to the expected time between stakings, so you won't be waiting for the 510 blocks to expire - you'll be waiting for your tiny outputs to stake because they're tiny.

I think the net effect will be slightly (nowhere near 10x) faster staking.
hero member
Activity: 700
Merit: 500
So.Sending of multiples of .73 to myself of the 7.3 Clams I have will Stake 10x more often? Seems easier than what I realize maybe.
Not quite.  The more CLAMs at an output, the more often it can stake.  But, the reward for staking is the same irrelevant of how many CLAMs are in the staked output.
full member
Activity: 223
Merit: 100
Interesting. Can you tell me what is your Stake to mine those amounts per Block? Mine is only mining every 510 Blocks or so.

Each output in your wallet can only mine once every 510 blocks.

The secret is to have multiple outputs in your wallet.

I just discovered that if a single output mines twice within 28 hours then the client itself splits it up into 2 roughly equal pieces, so they'll each mine less often in future (look up about 3 posts).
So.Sending of multiples of .73 to myself of the 7.3 Clams I have will Stake 10x more often? Seems easier than what I realize maybe.
legendary
Activity: 2940
Merit: 1333
Interesting. Can you tell me what is your Stake to mine those amounts per Block? Mine is only mining every 510 Blocks or so.

Each output in your wallet can only mine once every 510 blocks.

The secret is to have multiple outputs in your wallet.

I just discovered that if a single output mines twice within 28 hours then the client itself splits it up into 2 roughly equal pieces, so they'll each mine less often in future (look up about 3 posts).

Edit: note also that the amount you get per block is now independent of everything other than luck. Almost all blocks get 0.1 CLAM, and a few lucky ones get more, up to 1000 CLAMS (see the chart I posted here not long ago).
full member
Activity: 223
Merit: 100


Interesting, I've just noticed that PoS blocks do not appear in my transaction list. But they clearly show for you. I'm on a commandline client under *nix, presumably you're using the Windows -qt client?

My client has definitely staked before - it did so when I was about to send to Poloniex, locking part of the balance for about a day. The amount showed under 'stake' via 'getinfo'

The only transactions showing in the transaction list are the initial grants (30000+ confirms) and 3 sends a few days ago. Am I missing something?

edit: just to confuse things, a client I'm running on another machine - same version, same OS - does show PoS blocks as expected ('generate')
Interesting. Can you tell me what is your Stake to mine those amounts per Block? Mine is only mining every 510 Blocks or so.
full member
Activity: 223
Merit: 100
I'm only getting stakes reward every 500 blocks(.1 Clam) Is there anything I can change? Thank you.

Each time you use a transaction output to create a block, it takes 510 blocks before the resulting (slightly bigger) output is "mature". While you're waiting for the 510 blocks you can't spend or mine with that output.

You can split your output into 2 smaller outputs (by sending half of its value to yourself). Each smaller output will on average take twice as long to mine a block and so won't make a net difference to your "income", except if the 510 block waiting period is significant. That is, if your large coin is big enough that you would normally expect it to mine a block within 510 blocks, it's worth splitting it up until the parts are small enough that they each take an average of more than 510 blocks each to mine.
Thx
legendary
Activity: 2940
Merit: 1333
I'm wondering what happened here:

http://khashier.com:2750/block/ca3766ab458030a2661c83aaaeb4e1ed816969bdd2e285f36a0e4525a144692f

I used a single 4.61 clam output to mine a block.

As a result I got back two separate outputs (2.3 and 2.31).

Why did that happen? The client for some reason decided that my 4.61 should be split into two smaller outputs?

Edit: I had previously used the same address twice to mine a block. Both those times it only made a single new output:



Edit2: I guess I've found the answer for myself.

The code says:

Code:
unsigned int nStakeSplitAge = 1 * 24 * 60 * 60;

...

                if (GetWeight(block.GetBlockTime(), (int64_t)txNew.nTime) < nStakeSplitAge)
                    txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake

...

    if (txNew.vout.size() == 3)
    {
        txNew.vout[1].nValue = (nCredit / 2 / CENT) * CENT;
        txNew.vout[2].nValue = nCredit - txNew.vout[1].nValue;
    }

...

ie. if an output stakes twice within 24 hours, split it up into two halves, where one half is rounded down to the nearest cent.

Now according to the block explorer it was a little over 24 hours, but maybe the timestamps aren't accurate. Checking with my local client, it seems like there really were 25 hours between the two events:



so I'm still not sure what's going on here.

Edit3: figured it out - GetWeight() takes off another 4 hours:

Code:
unsigned int nStakeMinAge = 4 * 60 * 60; // 8 hours

So if an output mines twice within 24+4 = 28 hours the output will be split.
legendary
Activity: 2940
Merit: 1333
I'm only getting stakes reward every 500 blocks(.1 Clam) Is there anything I can change? Thank you.

Each time you use a transaction output to create a block, it takes 510 blocks before the resulting (slightly bigger) output is "mature". While you're waiting for the 510 blocks you can't spend or mine with that output.

You can split your output into 2 smaller outputs (by sending half of its value to yourself). Each smaller output will on average take twice as long to mine a block and so won't make a net difference to your "income", except if the 510 block waiting period is significant. That is, if your large coin is big enough that you would normally expect it to mine a block within 510 blocks, it's worth splitting it up until the parts are small enough that they each take an average of more than 510 blocks each to mine.
full member
Activity: 223
Merit: 100
I'm only getting stakes reward every 500 blocks(.1 Clam) Is there anything I can change? Thank you.
sr. member
Activity: 479
Merit: 250
mac users are on the sidelines waiting to claim their clams?
legendary
Activity: 2940
Merit: 1333
I just plotted a chart showing how likely various rewards are:

https://i.imgur.com/9ZpEh4M.png

What it's saying is that:

99.76% of the time your reward will be less than 1,
99.84% of the time, it's less than 10,
99.9% of the time, it's less than 60,
99.92% of the time, it's less than 100,
etc.
Thanks for running the calculations and creating this chart.  Definitely makes the hard-fork much more understandable.

To be clear, I ran simulation for 10 million different hashes, counted up the rewards, and plotted it. Interesting how most of the chart is very close to a straight line when plotted with a log y axis.

I've been thinking about the best strategy re. deliberately not submitting min-reward blocks. It looks to me like withholding is possibly never a good strategy.  For example, 99.84% of the time the reward is less than 10, so if you decided to withhold blocks until you got a reward of 10 or more, on average you would be withholding way more than 100 0.1 blocks before you got your reward of 10. Similarly you need to withhold more than 1000 blocks to expect to get a reward of 1000 times 0.1 or more. And so on.

In short it looks like withholding low-reward blocks in the hope of getting a high-reward block later may be a losing strategy.
hero member
Activity: 700
Merit: 500
I just plotted a chart showing how likely various rewards are:

https://i.imgur.com/9ZpEh4M.png

What it's saying is that:

99.76% of the time your reward will be less than 1,
99.84% of the time, it's less than 10,
99.9% of the time, it's less than 60,
99.92% of the time, it's less than 100,
etc.
Thanks for running the calculations and creating this chart.  Definitely makes the hard-fork much more understandable.
legendary
Activity: 2940
Merit: 1333

That appears to be a standard 0.1 block. The extra 0.01 is probably from fees.

Aw....  I thought I ruled  Tongue

Maybe you do, but "lucky" blocks will almost always have "messy" rewards, going to 7 or 8 decimal places.

I just plotted a chart showing how likely various rewards are:



What it's saying is that:

98.4682% of the time, your reward is exactly 0.1
99.5% of the time, your reward is very close to 0.1 (0.1003 or less),
99.6% of the time, your reward is 0.106 or less,
99.7% of the time, your reward is 0.2256 or less,
99.7659% of the time your reward will be less than 1,
99.8% of the time, your reward is 2.4948 or less,
99.8475% of the time, it's less than 10,
99.9% of the time, it's less than 47.702,
99.9239% of the time, it's less than 100,
etc.

Edit: I just noticed I set a new personal best mining reward:
http://khashier.com:2750/block/564c29502b6df08cc9ee84892b85e7ce9e03ac7fae4478375efab1d836b8ff96 got 0.16 clams - the 0.10 minimum and 6 separate 0.01 fees. Smiley

Edit2: added more data points to the text description
Jump to: