Pages:
Author

Topic: Proof of Stake Coin List - page 11. (Read 49065 times)

full member
Activity: 155
Merit: 100
February 14, 2014, 02:01:59 PM
#33
Thanks for the code - I'll update the list.
sr. member
Activity: 321
Merit: 250
February 14, 2014, 03:35:33 AM
#32
Butterflycoin (BFC) is also POS.  Sha256.

Quote
grep MAX_MINT_PROOF_OF_WORK *.h
main.h:static const int64 MAX_MINT_PROOF_OF_WORK = 30 * COIN;   //30 Coin per block
main.h:static const int64 MAX_MINT_PROOF_OF_STAKE = 0.01 * MAX_MINT_PROOF_OF_WORK;      //1% annual interest

Quote
// miner's coin base reward based on nBits
int64 GetProofOfWorkReward(int nHeight, int64 nFees, uint256 prevHash)
{
        int64 nSubsidy = 30 * COIN;

        return nSubsidy + nFees;
}

// miner's coin stake reward based on nBits and coin age spent (coin-days)
int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime)
{
    int64 nRewardCoinYear;


    // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013.

    CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest
    CBigNum bnTarget;
    bnTarget.SetCompact(nBits);
    CBigNum bnTargetLimit = bnProofOfStakeLimit;
    bnTargetLimit.SetCompact(bnTargetLimit.GetCompact());

    // ButterflyCoin: reward for coin-year is cut in half every 64x multiply of PoS difficulty
    // A reasonably continuous curve is used to avoid shock to market
    // (nRewardCoinYearLimit / nRewardCoinYear) ** 4 == bnProofOfStakeLimit / bnTarget
    //
    // Human readable form:
    //
    // nRewardCoinYear = 1 / (posdiff ^ 1/4)


    CBigNum bnLowerBound = 1 * CENT; // Lower interest bound is 1% per year
    CBigNum bnUpperBound = bnRewardCoinYearLimit;
    while (bnLowerBound + CENT <= bnUpperBound)
    {
        CBigNum bnMidValue = (bnLowerBound + bnUpperBound) / 2;
        if (fDebug && GetBoolArg("-printcreation"))
            printf("GetProofOfStakeReward() : lower=%"PRI64d" upper=%"PRI64d" mid=%"PRI64d"\n", bnLowerBound.getuint64(), bnUpperBound.getuint64(), bnMidValue.getuint64());
        if (bnMidValue * bnMidValue * bnMidValue * bnMidValue * bnTargetLimit > bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnTarget)
            bnUpperBound = bnMidValue;
        else
            bnLowerBound = bnMidValue;
    }
    nRewardCoinYear = bnUpperBound.getuint64();
    nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE);


    int64 nSubsidy = nCoinAge * 33 / (365 * 33 + Cool * nRewardCoinYear;

    if (fDebug && GetBoolArg("-printcreation"))
        printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits);

    return nSubsidy;
}

sr. member
Activity: 321
Merit: 250
February 14, 2014, 03:27:11 AM
#31
starcoin GetProofOfStakeReward:

Quote
// miner's coin stake reward based on nBits and coin age spent (coin-days)
int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime)
{
    int64 nRewardCoinYear;

        CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest
        CBigNum bnTarget;
        bnTarget.SetCompact(nBits);
        CBigNum bnTargetLimit = bnProofOfStakeLimit;
        bnTargetLimit.SetCompact(bnTargetLimit.GetCompact());

        // StarCoin: reward for coin-year is cut in half every 64x multiply of PoS difficulty
        // A reasonably continuous curve is used to avoid shock to market
        // (nRewardCoinYearLimit / nRewardCoinYear) ** 4 == bnProofOfStakeLimit / bnTarget
        //
        // Human readable form:
        //
        // nRewardCoinYear = 1 / (posdiff ^ 1/4)


        CBigNum bnLowerBound = 1 * CENT; // Lower interest bound is 1% per year
        CBigNum bnUpperBound = bnRewardCoinYearLimit;
        while (bnLowerBound + CENT <= bnUpperBound)
        {
            CBigNum bnMidValue = (bnLowerBound + bnUpperBound) / 2;
            if (fDebug && GetBoolArg("-printcreation"))
                printf("GetProofOfStakeReward() : lower=%"PRI64d" upper=%"PRI64d" mid=%"PRI64d"\n", bnLowerBound.getuint64(), bnUpperBound.getuint64(), bnMidValue.getuint64());
            if (bnMidValue * bnMidValue * bnMidValue * bnMidValue * bnTargetLimit > bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnTarget)
                bnUpperBound = bnMidValue;
            else
                bnLowerBound = bnMidValue;
        }

        nRewardCoinYear = bnUpperBound.getuint64();
        nRewardCoinYear = min((nRewardCoinYear / CENT) * CENT, MAX_MINT_PROOF_OF_STAKE);

    int64 nSubsidy = nCoinAge * 33 / (365 * 33 + Cool * nRewardCoinYear;
    // if (fDebug && GetBoolArg("-printcreation"))
        printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d nRewardCoinYear=%"PRI64d"\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits, nRewardCoinYear);
    return nSubsidy;
}

Quote
$ grep MAX_MINT_PROOF_OF_STAKE *.h
main.h:static const int64 MAX_MINT_PROOF_OF_STAKE = 1 * CENT;

sr. member
Activity: 321
Merit: 250
February 14, 2014, 03:21:25 AM
#30
Lebowskis (LBW) is also Proof of Stake.    Scrypt algo.

Quote
grep MAX_MINT_PROOF_OF_STAKE *.h
main.h:static const int64 MAX_MINT_PROOF_OF_STAKE = 1 * CENT;

Quote
// miner's coin stake reward based on nBits and coin age spent (coin-days)
int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime)
{
    int64 nRewardCoinYear;

    if(fTestNet || nTime > PROTOCOL_SWITCH_TIME)
    {  
        // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013.

        CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest
        CBigNum bnTarget;
        bnTarget.SetCompact(nBits);
        CBigNum bnTargetLimit = bnProofOfStakeLimit;
        bnTargetLimit.SetCompact(bnTargetLimit.GetCompact());

        // Lebowskis: reward for coin-year is cut in half every 64x multiply of PoS difficulty
        // A reasonably continuous curve is used to avoid shock to market
        // (nRewardCoinYearLimit / nRewardCoinYear) ** 4 == bnProofOfStakeLimit / bnTarget
        //
        // Human readable form:
        //
        // nRewardCoinYear = 1 / (posdiff ^ 1/4)

        CBigNum bnLowerBound = 1 * CENT; // Lower interest bound is 1% per year
        CBigNum bnUpperBound = bnRewardCoinYearLimit;
        while (bnLowerBound + CENT <= bnUpperBound)
        {
            CBigNum bnMidValue = (bnLowerBound + bnUpperBound) / 2;
            if (fDebug && GetBoolArg("-printcreation"))
                printf("GetProofOfStakeReward() : lower=%"PRI64d" upper=%"PRI64d" mid=%"PRI64d"\n", bnLowerBound.getuint64(), bnUpperBound.getuint64(), bnMidValue.getuint64());
            if (bnMidValue * bnMidValue * bnMidValue * bnMidValue * bnTargetLimit > bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnTarget)
                bnUpperBound = bnMidValue;
            else
                bnLowerBound = bnMidValue;
        }

        nRewardCoinYear = bnUpperBound.getuint64();
        nRewardCoinYear = min((nRewardCoinYear / CENT) * CENT, MAX_MINT_PROOF_OF_STAKE);
    }
    else
    {
        // Old creation amount per coin-year, 5% fixed stake mint rate
        nRewardCoinYear = 0.015 * CENT;
    }

    int64 nSubsidy = nCoinAge * 33 / (365 * 33 + Cool * nRewardCoinYear;
    if (fDebug && GetBoolArg("-printcreation"))
        printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits);
    return nSubsidy;
}
sr. member
Activity: 321
Merit: 250
February 14, 2014, 03:18:36 AM
#29
Here's snowcoin's GetProofOfStakeReward() function.   Perhaps y'all can decipher it better than I, for the OP summary.

Quote
grep MAX_MINT_PROOF_OF_WORK *.h
main.h:static const int64 MAX_MINT_PROOF_OF_WORK = 5 * COIN;    //5 Coin per block
main.h:static const int64 MAX_MINT_PROOF_OF_STAKE = 0.05 * MAX_MINT_PROOF_OF_WORK;      //5% annual interest

Quote
// miner's coin stake reward based on nBits and coin age spent (coin-days)
int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime)
{
    int64 nRewardCoinYear;


    // Stage 2 of emission process is PoS-based. It will be active on mainNet since 20 Jun 2013.

    CBigNum bnRewardCoinYearLimit = MAX_MINT_PROOF_OF_STAKE; // Base stake mint rate, 100% year interest
    CBigNum bnTarget;  
    bnTarget.SetCompact(nBits);
    CBigNum bnTargetLimit = bnProofOfStakeLimit;
    bnTargetLimit.SetCompact(bnTargetLimit.GetCompact());

    // snowcoin: reward for coin-year is cut in half every 64x multiply of PoS difficulty
    // A reasonably continuous curve is used to avoid shock to market
    // (nRewardCoinYearLimit / nRewardCoinYear) ** 4 == bnProofOfStakeLimit / bnTarget
    //
    // Human readable form:
    //
    // nRewardCoinYear = 1 / (posdiff ^ 1/4)
    CBigNum bnLowerBound = 1 * CENT; // Lower interest bound is 1% per year
    CBigNum bnUpperBound = bnRewardCoinYearLimit;
    while (bnLowerBound + CENT <= bnUpperBound)
    {
        CBigNum bnMidValue = (bnLowerBound + bnUpperBound) / 2;
        if (fDebug && GetBoolArg("-printcreation"))
            printf("GetProofOfStakeReward() : lower=%"PRI64d" upper=%"PRI64d" mid=%"PRI64d"\n", bnLowerBound.getuint64(), bnUpperBound.getuint64(), bnMidValue.getuint64());
        if (bnMidValue * bnMidValue * bnMidValue * bnMidValue * bnTargetLimit > bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnRewardCoinYearLimit * bnTarget)
            bnUpperBound = bnMidValue;
        else
            bnLowerBound = bnMidValue;
    }
    nRewardCoinYear = bnUpperBound.getuint64();
    nRewardCoinYear = min(nRewardCoinYear, MAX_MINT_PROOF_OF_STAKE);


    int64 nSubsidy = nCoinAge * 33 / (365 * 33 + Cool * nRewardCoinYear;

    if (fDebug && GetBoolArg("-printcreation"))
        printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits);

    return nSubsidy;
}
full member
Activity: 155
Merit: 100
February 13, 2014, 03:55:12 PM
#28
Most of the time with these coins the stake mints early during the window. From my past experience, usually the first day eligible. ymmv

these 3 coins are all zero premine zero block halving coins.


CAP 5% every 30 days  daily mintage(pow) 14,400    current minted:  2,800,000     10 per min      

HBN 2% every 10 days  daily mintage(pow) 14,400    current minted:  3,000,000      5 per 30 sec

TEK 40% every 30 days daily mintage(pow)  1,440    current minted:     326,000      1 coin per min


The true power of the stake is in compounding interest.

Here is a calculator to run the math out a few months with.(select compound interest)

http://ncalculators.com/interest/monthly-interest-calculator.htm


Happy Staking!



+1 to this thundertoe - good statement on compounding interest.
Just a  question on this, I was looking at the code this morning for CAP & HBN - and it looks like they both have the NVC code where they'll start @ 100% and decrease based upon stake diff to a minimum stake. However, CAP and HBN vary because their min stakes are 1% and 100% respectively. Am I reading this correctly? So while they start the same now, as more coins come to market they won't stay the same?
newbie
Activity: 42
Merit: 0
February 13, 2014, 02:45:45 PM
#27
Very nice list.  Grin
legendary
Activity: 938
Merit: 1000
February 13, 2014, 02:36:13 PM
#26
Most of the time with these coins the stake mints early during the window. From my past experience, usually the first day eligible. ymmv

these 3 coins are all zero premine zero block halving coins.


CAP 5% every 30 days  daily mintage(pow) 14,400    current minted:  2,800,000     10 per min      

HBN 2% every 10 days  daily mintage(pow) 14,400    current minted:  3,000,000      5 per 30 sec

TEK 40% every 30 days daily mintage(pow)  1,440    current minted:     326,000      1 coin per min


The true power of the stake is in compounding interest.

Here is a calculator to run the math out a few months with.(select compound interest)

http://ncalculators.com/interest/monthly-interest-calculator.htm


Happy Staking!

full member
Activity: 155
Merit: 100
February 13, 2014, 12:46:10 PM
#25
what's these 30 days min, 90 days max mean?

time to find a pos block

Thanks...I've added some description above. And I've shortened the table with:
Stake Age (SA) = min days / max days

Added GLX, EBT
hero member
Activity: 784
Merit: 500
February 13, 2014, 01:09:11 AM
#24
what's these 30 days min, 90 days max mean?

time to find a pos block
legendary
Activity: 1806
Merit: 1003
February 13, 2014, 01:02:55 AM
#23
what's these 30 days min, 90 days max mean?
hero member
Activity: 784
Merit: 500
February 13, 2014, 12:43:44 AM
#22
EBT is pow/pos, and young, so add it please !
full member
Activity: 148
Merit: 100
February 12, 2014, 11:26:33 PM
#21


   GalaxyCoin Scrypt / POS   Cool
full member
Activity: 155
Merit: 100
February 12, 2014, 10:15:21 PM
#20
Good initiative, but you should highlight the "founders" of each category and add the "100%-PoS" coins.


etc.

Agreed and done...
full member
Activity: 155
Merit: 100
February 12, 2014, 07:05:08 PM
#19
Updated the listing.
Added info on CAP, BTG, TES, BCX, NVC...
Please help if you know any more coins or can help clarify the coins already there.  
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
February 12, 2014, 07:04:16 PM
#18
Good initiative, but you should highlight the "founders" of each category and add the "100%-PoS" coins.

So it would look like this:

PoS/PoW hybrid coins (PPC descendants):

SHA-256:
Peercoin
Deutsche eMark
....

Scrypt:
Novacoin
Tagcoin
...

Scrypt-N:
Yacoin
Ybcoin
...

Pure PoS coins:
Nxt
....

etc.
full member
Activity: 155
Merit: 100
February 12, 2014, 06:56:56 PM
#17
Look like, hobo, tek and Philosopherstone  is my coins.

That's part of what I'd like to discuss with this thread. While ROI is one thing, you also have to look at the dev team, community, and long term plans. If the foundation of the coin is strong, I'd start to think about it as an investment. Because if I put money into something, I don't want it to disappear or shrink to nothing because the coin dies. I would say HBN is strongest of the 3, followed by PHS. I am not impressed by TEK...someone please prove me wrong. 
sr. member
Activity: 448
Merit: 250
February 12, 2014, 02:00:42 PM
#16
Look like, hobo, tek and Philosopherstone  is my coins.
newbie
Activity: 5
Merit: 0
February 12, 2014, 01:52:57 PM
#15
TES is 1% every 30 days
full member
Activity: 142
Merit: 100
February 12, 2014, 04:50:27 AM
#14
Thanks for this thread..

i don't need to open each wallet to see wich one is POS or not (yes i forgot each time to note POS coin)...
Pages:
Jump to: