Pages:
Author

Topic: -- Miner's Official Coin LAUNCH - NUGGETS (NUGS) -- - page 68. (Read 121524 times)

legendary
Activity: 2940
Merit: 1090
So something like:

Code:
int64 static GetBlockValue(int nHeight, int64 nFees, uint256 prevHash)
{
        int64 nSubsidy = 0 * COIN;

        std::string cseed_str = prevHash.ToString().substr(8,7);
        const char* cseed = cseed_str.c_str();
        long seed = hex2long(cseed);

        int rand = generateMTRandom(seed, 1000000);

        if(nHeight == 1)
                nSubsidy = 1100000 * COIN; //.5% Public Wallet Premine

        else if(nHeight == 2)
                nSubsidy = 1100000 * COIN; //.5% Coin Owner Premine

        else if(nHeight > 250 && nHeight <= 14726880){
                nSubsidy = 49 * COIN;   //Standard 49 Coin Reward
                if(nHeight > 5000  && (rand > 0 && rand < 9723))
                                nSubsidy = 10045 * COIN;  //The super block Protocol Random 250x Block Award
        }
    return nSubsidy + nFees;
}

I didn't check whether its the usual integer random number, zero to one less than number given, or some weird custom job the luckyblocks coder came up with; if we know it runs from zero through one less than number of sides we can leave out the "rand < 0 &&" clause.

-MarkM-
sr. member
Activity: 574
Merit: 250
I would say give some hours to make up binaries, then a day or two for it to kick in at least.

Okay, and (using 'bc'):

120 * 60
7200
last / 70
102.85714285
100000/last
972.22222228

So 972 sides of a 100,000 sided die or 9722 sides of a 1,000,000 sided die or 97222 sides of a 10,000,000 sided die, etc.

Sound about right or did I do the arithmetic in reverse somewhere in there and get totally the wrong result? (Should have gone to bed long ago...)

-MarkM-


I am in the same boat, too tired to think... but there supposed to be what, 51 blocks an hour, so 102 ever two hours...   so a 1% chance should more or less hit a VGB every two hours? So by that 100,000 rounding all over the place to your 97222 being more exact.  Seems in the ballpark.

hero member
Activity: 708
Merit: 500
BUYING!!! BUYING!!!!!!

Are you one of the lucky people who got part of the 1,500,000+ Nugget giveaway?

Don't know if Vlad2Vlad actually sent the coins, or when/if the network will be alive enough to use your coins?  

No worry!  

I will buy your PRIVATE KEY!     No network needed, just the ability to dump or extract the private key from the wallet.  

Message me for details and pricing, or if you need help with extracting your private key Wink

This is for a limited time only, so act quick.

hahahahhahahah   yea, how many blockchain versions are out there and which chain actually got the bounty coins, are they even valid anymore?

I'm running the first version I found and got my 100000
thanks Vlad  Smiley
legendary
Activity: 2940
Merit: 1090
I would say give some hours to make up binaries, then a day or two for it to kick in at least.

Okay, and (using 'bc'):

120 * 60
7200
last / 70
102.85714285
100000/last
972.22222228

So 972 sides of a 100,000 sided die or 9722 sides of a 1,000,000 sided die or 97222 sides of a 10,000,000 sided die, etc.

Sound about right or did I do the arithmetic in reverse somewhere in there and get totally the wrong result? (Should have gone to bed long ago...)

-MarkM-
sr. member
Activity: 574
Merit: 250
it rolls 100,000-sided die, and only ten sides of that die are "lucky", so on average one block per ten thousand blocks is "lucky".
How does this work in terms of nodes validating blocks? In other coins they check the number of generated coins is valid and fail to validate if a number greater than the subsidy value is there. In this coin if the random check succeeds the subsidy value will be higher. Any other node validating the block would also need to hit that random value successfully to actually validate it without rejecting the block as invalid. And every node on the network would need to do that everytime it validates the blockchain.

How does this coin prevent that from happening? If it doesn't validate the block amount then people could change the source to any subsidy they want.

Edit: See the check in ConnectBlock that the generated coins is not greater than GetBlockValue. The value of that will change for each node that tries the random number.

Seed is based on a block hash all have, and then feed into a deterministic pseudo random generator.
legendary
Activity: 1078
Merit: 1005
All nodes roll the same deterministic die, so for any given block they all know whether or not the next block is to be lucky.
Ah, I see! The seed is the previous block hash and is passed to the random number generator.

Edit: It seems to use a substring of the prevhash. If difficulty reaches a certain value (bitcoin levels?) won't it always produce the same substring and therefore the same random value?
sr. member
Activity: 574
Merit: 250
I am at block 2600

Me too, now.

if the chance of getting lucky is to be increased, the chances increase that the result would think we should have had a lucky block hours ago, so lets figure out the desired number of sides of how many sided a die should be lucky and make it only roll that die after block what, 2700? Or sooner? Or later?

-MarkM-


I would say give some hours to make up binaries, then a day or two for it to kick in at least.

legendary
Activity: 2940
Merit: 1090
All nodes roll the same deterministic die, so for any given block they all know whether or not the next block is to be lucky.

-MarkM-
legendary
Activity: 1078
Merit: 1005
it rolls 100,000-sided die, and only ten sides of that die are "lucky", so on average one block per ten thousand blocks is "lucky".
How does this work in terms of nodes validating blocks? In other coins they check the number of generated coins is valid and fail to validate if a number greater than the subsidy value is there. In this coin if the random check succeeds the subsidy value will be higher. Any other node validating the block would also need to hit that random value successfully to actually validate it without rejecting the block as invalid. And every node on the network would need to do that everytime it validates the blockchain.

How does this coin prevent that from happening? If it doesn't validate the block amount then people could change the source to any subsidy they want.

Edit: See the check in ConnectBlock that the generated coins is not greater than GetBlockValue. The value of that will change for each node that tries the random number.
legendary
Activity: 2940
Merit: 1090
I am at block 2600

Me too, now.

if the chance of getting lucky is to be increased, the chances increase that the result would think we should have had a lucky block hours ago, so lets figure out the desired number of sides of how many sided a die should be lucky and make it only roll that die after block what, 2700? Or sooner? Or later?

-MarkM-
sr. member
Activity: 574
Merit: 250
it rolls 100,000-sided die, and only ten sides of that die are "lucky", so on average one block per ten thousand blocks is "lucky".

A day is 1440 minutes, block target is a minute and ten seconds...

So yeah it just never "got lucky" because the chance of doing so is way lower than Vlad's design called for.

So there has been no fork yet and on average would only be one every 10000 blocks.

"Both" blockchains are the same blockchain so far.

-MarkM-


Ah, yeah, then the every two hours average is defiantly not what is happening.
sr. member
Activity: 574
Merit: 250
What block are you on? I am seeing 2597

Maybe we can just have the lucky blocks start at some future block since all seems fine so far up to block 2597 to my nodes even though mine believe in the chance that such blocks could have occurred at any time since block 251. Evidently the block hashes are such that it does not think any should have occurred so far.

We should not set it far ahead though probably else we'd just be allowing even more time for, thus chance of, a fork...

It is strange though because if the "chance" is deterministic once the main chain's top block is such that the chance says the next block is a lucky one then all my nodes should have stuck right there, rejecting any non-lucky next block built on that...

-MarkM-


I am at block 2600

legendary
Activity: 2940
Merit: 1090
Code:
int64 static GetBlockValue(int nHeight, int64 nFees, uint256 prevHash)
{
        int64 nSubsidy = 0 * COIN;

        std::string cseed_str = prevHash.ToString().substr(8,7);
        const char* cseed = cseed_str.c_str();
        long seed = hex2long(cseed);

        int rand = generateMTRandom(seed, 100000);

        if(nHeight == 1)
                nSubsidy = 1100000 * COIN; //.5% Public Wallet Premine

        else if(nHeight == 2)
                nSubsidy = 1100000 * COIN; //.5% Coin Owner Premine

        else if(nHeight > 250 && nHeight <= 14726880){
                nSubsidy = 49 * COIN;   //Standard 49 Coin Reward
                if(rand > 50000 && rand < 50011)
                        nSubsidy = 10045 * COIN;  //The super block Protocol Random 250x Block Award
        }
    return nSubsidy + nFees;
}

it rolls 100,000-sided die, and only ten sides of that die are "lucky", so on average one block per ten thousand blocks is "lucky".

A day is 1440 minutes, block target is a minute and ten seconds...

So yeah it just never "got lucky" because the chance of doing so is way lower than Vlad's design called for.

So there has been no fork yet and on average would only be one every 10000 blocks.

"Both" blockchains are the same blockchain so far.

-MarkM-
newbie
Activity: 52
Merit: 0
BUYING!!! BUYING!!!!!!

Are you one of the lucky people who got part of the 1,500,000+ Nugget giveaway?

Don't know if Vlad2Vlad actually sent the coins, or when/if the network will be alive enough to use your coins?  

No worry!  

I will buy your PRIVATE KEY!     No network needed, just the ability to dump or extract the private key from the wallet.  

Message me for details and pricing, or if you need help with extracting your private key Wink

This is for a limited time only, so act quick.

hahahahhahahah   yea, how many blockchain versions are out there and which chain actually got the bounty coins, are they even valid anymore?

I am running the original version, and got them just fine... with 26 confirms now.

Thanks Vlad.
legendary
Activity: 1176
Merit: 1260
May Bitcoin be touched by his Noodly Appendage
legendary
Activity: 2940
Merit: 1090
Well if the VGB are still not working then, they wont lose anything, if it is fixed the the first found VGB should split the chain.   Though if the majority of the hashing power is the first version, then and VGB found would become orphans maybe?  Guess someone should unit test the VGB code.

What block are you on? I am seeing 2597

Maybe we can just have the lucky blocks start at some future block since all seems fine so far up to block 2597 to my nodes even though mine believe in the chance that such blocks could have occurred at any time since block 251. Evidently the block hashes are such that it does not think any should have occurred so far.

We should not set it far ahead though probably else we'd just be allowing even more time for, thus chance of, a fork...

It is strange though because if the "chance" is deterministic once the main chain's top block is such that the chance says the next block is a lucky one then all my nodes should have stuck right there, rejecting any non-lucky next block built on that...

-MarkM-
legendary
Activity: 3052
Merit: 1534
www.ixcoin.net
PURCHASING CLOSED!  SORRY!

I reached my budget for the buying of private keys from the bounty payout.   Sorry to anyone who was asleep during the buying Smiley

Closing out the rest of the deals now, and looks like I will soon control private keys with about 1,000,000 NUGs on them, maybe bit more, maybe a bit less.

p.s. yea, yea, technically these are "shared private keys" until transferred to a new address Wink


Well, csn you share what you were laying for say 100,000 coins? 
legendary
Activity: 3052
Merit: 1534
www.ixcoin.net
Quote
I reverted to the one that matches the only released version with a binary so far.  I suggest we go from the release, and make a fix for the golden blocks that is at a future block, so no one who used the release loses stuff.

Would they lose anything? There is still no indication that any lucky blocks actually happened.

Maybe the random chance that was supposed to work out as averaging to happen every two hours is actually wrong and simply has not yet happened in all this time despite the blockchain having been moving along just fine all this time.

People were definitely mining all along, as blocks kept showing up. None of the nodes were misbehaving, as in trying to distribute an invalid blockchain.

So it kind of looks like somehow the lucky blocks luckily did not happen yet, maybe just by variance aka the grace of God or maybe because the chance of them happening is set way too low to cause them to happen every two hours on average...

-MarkM-



Th odds weren't that low.  It was set at .01 I think.  I thought that was too high and too easy.  But the odds wouldn't matter if the algo says a golden block has to be found every. 120 minutes. Something Is wrong.
member
Activity: 98
Merit: 10
PURCHASING CLOSED!  SORRY!


I reached my budget for the buying of private keys from the bounty payout.   Sorry to anyone who was asleep during the buying Smiley

Closing out the rest of the deals now, and looks like I will soon control private keys with about 1,000,000 NUGs on them, maybe bit more, maybe a bit less.

p.s. yea, yea, technically these are "shared private keys" until transferred to a new address Wink
sr. member
Activity: 574
Merit: 250
Quote
I reverted to the one that matches the only released version with a binary so far.  I suggest we go from the release, and make a fix for the golden blocks that is at a future block, so no one who used the release loses stuff.

Would they lose anything? There is still no indication that any lucky blocks actually happened.

Maybe the random chance that was supposed to work out as averaging to happen every two hours is actually wrong and simply has not yet happened in all this time despite the blockchain having been moving along just fine all this time.

People were definitely mining all along, as blocks kept showing up. None of the nodes were misbehaving, as in trying to distribute an invalid blockchain.

So it kind of looks like somehow the lucky blocks luckily did not happen yet, maybe just by variance aka the grace of God or maybe because the chance of them happening is set way too low to cause them to happen every two hours on average...

-MarkM-




Well if the VGB are still not working then, they wont lose anything, if it is fixed the the first found VGB should split the chain.   Though if the majority of the hashing power is the first version, then and VGB found would become orphans maybe?  Guess someone should unit test the VGB code.
Pages:
Jump to: