Ive got the repo up @ I would add the code tonight, but as It would take some looking around and understanding I will save it for tomorrow. If anyone would like to make the required changes, can see the post(s) below PM me and I will add you to the REPO, Spakler, anyone else interested etc. We will also need to compile the new wallet for each platform after making the required changes, no? As well set up an initial dns seed with the blockchain? All kind of new to me but im learning! Let's get this fixed. Anyone else like to help please post here: forums.casinocoin.org KGW Fix; https://bitcointalk.org/index.php?topic=552895.0Expermintal, Not sure about this: https://bitcointalk.org/index.php?topic=552895.140Let's get started with some new details. Website: http://casinocoin.org (updates to be completed very soon) social media: facebook, twitter, google+ posted soon when have confirmed sources. forums: http://forums.casinocoin.orgreddit: http://www.reddit.com/r/casinocoinsrepo: All coin details will stay the same, besides some much needed updates to the KGW. We might as well move this to CasinoCoin-qt v2.0 and get completely away from 1.x Version to help eliminate confusion.
|
|
|
Still no fix.... ?
It looks like the chain may have forked itself. We are working to get a new stable chain out but first need to get cryptsy, and all miners on board Going to send out some pms tonight to pool owners etc
|
|
|
Please read afew pages back to see up to date info on whats going on. We understand it is the KGW Bug/Exploit. but I will take a loot at the post you pointed me to, thanks! " // Bitcoin used 10-minute blocks; this uses six minute blocks. static const int64_t nTargetSpacing = 6 * 60; // seconds per block, nominal. static const int64_t nFastInterval = nTargetSpacing * 0.95; // seconds per block desired when behind schedule static const int64_t nSlowInterval = nTargetSpacing * 1.05; // seconds per block desired when ahead of schedule static const int64_t nTimeZero = 1400000000; // nominal date at which this blockchain starts, since unix epoch
void avgRecentTimestamps(const CBlockIndex* pindexLast, int64_t *avgOf5, int64_t *avgOf7, int64_t *avgOf9, int64_t *avgOf17) { int blockoffset = 0; int64_t oldblocktime; int64_t blocktime;
*avgOf5 = *avgOf7 = *avgOf9 = *avgOf17 = 0; if (pindexLast) blocktime = pindexLast->GetBlockTime(); else blocktime = 0;
for (blockoffset = 0; blockoffset < 18; blockoffset++) { oldblocktime = blocktime; if (pindexLast) { pindexLast = pindexLast->pprev; blocktime = pindexLast->GetBlockTime(); } else { // genesis block or previous blocktime -= nTargetSpacing; } // for each block, add interval. if (blockoffset <= 5) *avgOf5 += (oldblocktime - blocktime); if (blockoffset <= 7) *avgOf7 += (oldblocktime - blocktime); if (blockoffset <= 9) *avgOf9 += (oldblocktime - blocktime); *avgOf17 += (oldblocktime - blocktime); } // now we have the sums of the block intervals. Division gets us the averages. *avgOf5 /= 5; *avgOf7 /= 7; *avgOf9 /= 9; *avgOf17 /= 17; }
// This is a novel getnextwork algorithm. It responds quickly to huge changes in hashing power, is immune to time warp // attacks, and regulates the block rate to keep the block height close to the block height expected given the nominal // block interval and the elapsed time. How close the correspondence between block height and wall clock time is // depends on how stable the hashing power has been.
unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock) { int64_t avgOf5; int64_t avgOf9; int64_t avgOf7; int64_t avgOf17; int64_t toofast; int64_t tooslow; int64_t difficultyfactor = 10000; int64_t now; int64_t BlockHeightTime; int64_t nIntervalDesired;
unsigned int nProofOfWorkLimit = Params().ProofOfWorkLimit().GetCompact();
if (pindexLast == NULL) // Genesis Block return nProofOfWorkLimit;
if (TestNet()) { // Special difficulty rule for testnet: If the new block's timestamp is more than 2* 10 minutes then allow // mining of a min-difficulty block. if (pblock->nTime > pindexLast->nTime + nTargetSpacing*2) return nProofOfWorkLimit; else { // Return the last non-special-min-difficulty-rules-block const CBlockIndex* pindex = pindexLast; while (pindex->pprev && pindex->nHeight % nInterval != 0 && pindex->nBits == nProofOfWorkLimit) pindex = pindex->pprev; return pindex->nBits; } }
// Regulate block times so as to remain synchronized in the long run with the actual time. The first step is to // calculate what interval we want to use as our regulatory goal. It depends on how far ahead of (or behind) // schedule we are. If we're more than a day ahead or behind, we use the maximum (nSlowInterval) or minimum // (nFastInterval) values; otherwise we calculate a weighted average somewhere in between them. The closer we are // to being exactly on schedule the closer our selected interval will be to our nominal interval (nTargetSpacing).
now = pindexLast->GetBlockTime(); BlockHeightTime = nTimeZero + pindexLast->nHeight * nTargetSpacing; if (now < BlockHeightTime + 86400 && now > BlockHeightTime ) // ahead of schedule by less than a day. nIntervalDesired = ((86400 - (now - BlockHeightTime)) * nTargetSpacing + (now - BlockHeightTime) * nFastInterval) / 86400; else if (now + 86400 > BlockHeightTime && now < BlockHeightTime) // behind schedule by less than a day. nIntervalDesired = ((86400 - (BlockHeightTime - now)) * nTargetSpacing + (BlockHeightTime - now) * nSlowInterval) / 86400; else if (now < BlockHeightTime) nIntervalDesired = nSlowInterval; // ahead by more than a day. else nIntervalDesired = nFastInterval; // behind by more than a day. // find out what average intervals over last 5, 7, 9, and 17 blocks have been. avgRecentTimestamps(pindexLast, &avgOf5, &avgOf7, &avgOf9, &avgOf17);
// check for emergency adjustments. These are to bring the diff up or down FAST when a burst miner or multipool // jumps on or off. Once they kick in they can adjust difficulty by a factor of nine or ten every ten blocks, and // they can kick in very rapidly after massive hash power jumps on or off. The emergency speed-up adjustment uses // shorter intervals for quicker reaction times measured in blocks - which when it's needed will be longer in // minutes.
toofast = (nIntervalDesired * 3) / 4; tooslow = (nIntervalDesired * 4) / 3;
if (avgOf7 < toofast && avgOf9 < toofast && avgOf17 < toofast) { //emergency adjustment, slow down difficultyfactor *= 5; difficultyfactor /= 4; } else if (avgOf5 > tooslow && avgOf7 > tooslow && avgOf9 > tooslow) { //emergency adjustment, speed up difficultyfactor *= 4; difficultyfactor /= 5; }
// If no emergency adjustment, check for normal adjustment. else if ((avgOf7 > nIntervalDesired && avgOf9 > nIntervalDesired && avgOf17 > nIntervalDesired) || (avgOf7 < nIntervalDesired && avgOf9 < nIntervalDesired && avgOf17 < nIntervalDesired)) { // 3 averages too high or 3 too low. Doesn't matter which. This will be executed occasionally on the basis of // random variation, even if the settings are perfect. It regulates one-fifth of the way to the calculated point. difficultyfactor *= (5 * nIntervalDesired); difficultyfactor /= (avgOf17 + (4 * nIntervalDesired)); }
// limit to doubling or halving.... though I'm pretty sure there are no realistic conditions where this will make a // difference. if (difficultyfactor > 20000) difficultyfactor = 20000; if (difficultyfactor < 5000) difficultyfactor = 5000;
uint256 bnNew; uint256 bnOld;
bnOld.SetCompact(pindexLast->nBits);
if (difficultyfactor == 10000) // no adjustment return(bnOld.GetCompact());
bnNew = bnOld * 10000; bnNew /= difficultyfactor;
if (bnNew > Params().ProofOfWorkLimit()) bnNew = Params().ProofOfWorkLimit();
LogPrintf("GetNextWorkRequired RETARGET\n"); LogPrintf("Actual time %d, Scheduled time for this block height = %d\n", now, BlockHeightTime ); LogPrintf("Nominal block interval = %d, regulating on interval %d to get back to schedule.\n", nTargetSpacing, nIntervalDesired ); LogPrintf("Avg intervals of last 5/9/17 blocks = %d / %d / %d.\n", nTargetSpacing, avgOf5, avgOf9, avgOf17); LogPrintf("Difficulty Before Adjustment: %08x %s\n", pindexLast->nBits, bnOld.ToString()); LogPrintf("Difficulty After Adjustment: %08x %s\n", bnNew.GetCompact(), bnNew.ToString());
return bnNew.GetCompact(); }
"
|
|
|
I'm a back-end PHP developer with Git skills. I added you on skype, will help out where i can.
Perfect! I have some php experience as well, will be on skype later tonight. If you wanted to do a small signup here just so we have it on record, http://forums.casinocoin.org/index.php?topic=41
|
|
|
If a fix is made make sure it is not the one Potcoin implemented as they are still getting their blockchain stuck with the same timewarp exploit. They are currently stuck as well.
Hey cartman would love for your help here if all possible! Setting up a new git, and going to make the required changes to the code(or get the one perv posted) then init the changes etc. May need some help compiling, managing the git, and getting the info out there. Going to Coordinate everythign through the other forums at forums.casinocoin.org and will create a separate thread for the discussions Will contact all known services and pools in the next few days. Anyone looking to develop for casinocoin (must be an active member around this thread with some programming, development, design, or scripting skills (know who you guys are!) or have a good portfolio can backup your skills.) Anyone looking to help market for casinocoin (social media, videos, guides, ads, etc) Please contact me either via pm on this forum, on the casinocoin forum, on my skype @matthewspada, or via email contact@casinocoin.org
|
|
|
guys,What is the next step in the programme?I will be keeping track of it
We need to fix this: The recent discovery of a potential weakness in the widely used Kimoto Gravity Well (KGW) has caused widespread disruption in the alt-coin world. Some of the most popular alt-coins including Dogecoin, Auroracoin, Maxcoin and Potcoin have implemented variations of the Kimoto Gravity Well into their protocols as a way to reduce their susceptibility to multipool jumping. The vulnerability, called the Time Warp Exploit, basically takes advantage of KGW’s method for difficulty retargeting, allowing an attacker with sufficient hashing power to mine at a much lower difficulty level. If such an attack occurred, the attacker would be able to mine all of the blocks at an artificially low difficulty while the blockchain would appear frozen or stuck to the rest of the miners. Then once the attacker released the block chain it would take a long time for the miners to re-synchronize with the blockchain and to validate the attacker’s blocks. May have found the attacker/Pool and it could be unintentional. Will keep everyone posted(im on mobile atm) MegaMineros pool-440126 48 left tmack2 11/05 05:19:28 4.43 50.00 18,151 6,829 1,544 8.51 Blockchain-Block Approx Time Transactions Coins Transferred Total Coins Difficulty 440127 2014-05-10T22:21:50-07:00 2 100.00000000 21,669,235 0.935 - See more at: http://altexplorer.net/chain/CasinoCoin#sthash.LG8wsSnV.dpuf
|
|
|
Out of town can respond further later tonight. It's due to the KGW bug addressed in the previous posts and is exactly why we need to 1)fork into our own blockchain and fix these problems. 2) wait around and lose potential users and wait for Transcoder. Cab view the chain here and notice that one last difficulty swing. https://altexplorer.net/chain/CasinoCoin
|
|
|
Why did someone make the casinocoin reddit PRIVATE? I had access now don't.
|
|
|
Tournament starts in 5 minutes!!! Its free.. You can win CSC why not give it a try..! We can wait for you www.cccitypoker.com
|
|
|
Thanks to everyone who is still around I remember all of you! Going to use twitter and set up a facebook account soon, in the forth coming weeks we will see what has to be done with the coin/chain! There is daily tournaments at cccitypoker as well we have added advanced entry tournament (1week) We will also be displaying a countdown to each tournament on the homepage in the next day or so having some minor JS issues
|
|
|
Added pool, edited existing list!
|
|
|
So, what's the plan regarding the github repo? If transcoder has disappeared, maybe it's time we bite the bullet and fork the repo. What are your thoughts?
I say we give it another week, making It 1 full month without having the main developer here. We can fork but will take some time to get everyone on board including cryptsy, my gambling sites, explorers, miners, etc etc Id like to get other thoughts as well, thanks gold Cartman what do you think? Vert hby?
|
|
|
Almost 150k Views on this thread. I'm still all for moving our active community members to our forums @ casinocoinforumsAlthough it is not fun to talk with yourself If we can get some active members, will need moderator, and general help running the forums. Everyone is rallying around the coins the believe in and we should do the same! i've seen a lot of you around here for quite some time and can't say thanks enough!
|
|
|
If positive, welcome her here on bitcointalk of CSC as well. Not a better person to find to promote CSC!! CSC will skyrocket!! See you have contact now! Hope she will play and invite her friends. Good catch of mine CSC will be her coin, mark my words. Hoping to get here in a Large freeRoll with quite a bit of people in there to make it a fun tournament! Even if you don't play poker its never a better time to learn. It's fun, makes you think, and a good way to contribute to the reach of CSC! We still have 0% Rake www.cccitypoker.com
|
|
|
Another free roll tonight at 1130 est That's in 3 hours! All you have to do is showup and have the chance to win www.cccitypoker.com
|
|
|
Free roll in approx 1 hour! Need min 9 players to start 5000CSC in the Pot.
|
|
|
Would love to get her in with CSC and would provide a big starting wallet! It seems that there is a select few who have sticken with casinocoin over the last few months and I'd like To hear from yous on the best ways to attract more people, and get them to the poker site
You can twitter more often to that same community she is twitting with. Women don't make a choice that fast Don't give up, the looks on twitter of CSC are good. Maybe name CasinoCoin instead of CSC. Nice logo!!! Use that as well. Alright Ill keep on it! I've noticed as well twitter is a great way to build around a community. With the help of social media and the daily freerolls I hope people come and keep playing! We are still at 0% Rake and have a tournament in an hour and half for 5000CSC this is a freeroll free entry tournament! Need a min of 9 players to start.
|
|
|
If positive, welcome her here on bitcointalk of CSC as well. Not a better person to find to promote CSC!! CSC will skyrocket!! Would love to get her in with CSC and would provide a big starting wallet! It seems that there is a select few who have sticken with casinocoin over the last few months and I'd like To hear from yous on the best ways to attract more people, and get them to the poker site
|
|
|
|