Pages:
Author

Topic: Please help to find out why can't mining block 7887 of CosmosCoin(CMC) (Read 1536 times)

legendary
Activity: 1064
Merit: 1002


 it's the most functional coin in the community right now.
member
Activity: 70
Merit: 10
I'm not a dev actually but I sent 50 as a thank you. I just like supporting coins that try new things and aren't premined.

I send 100, I don't have many CMC, I want to buy some CMC from this community, who want to sell CMC please contact with me.
full member
Activity: 162
Merit: 100
I'm not a dev actually but I sent 50 as a thank you. I just like supporting coins that try new things and aren't premined.
member
Activity: 70
Merit: 10
Great thanks to you, I want to buy the bad blocks from you and I really appreciate your great help.

I didn't mine any 'bad' blocks; there was only one which was on the end of the chain.

You're welcome Smiley, it wasn't a huge deal though, and I didn't actually figure out the problem, just work around it.

If you'd like to send me some CMC you can here: C72cU8HH6ryHSScDqMymtYYxu5kEWjN9bx

Great, can you share how did you patch the chain? How the bad block could be attached to the chain?
I believe he just updated the code as outlined above and started mining using a version based on that code, no?

This is correct. The patch itself was:
Code:
if (GetHash() == uint256("0x000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205"))
    return error("CheckBlock() : hash == 000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205");

Basically it would just fail if you tried to add block 0x000000082f31f... to the main chain, allowing me to mine from the previous block and create an alternate chain which took precedence when it became longer. Then the rest of the network took over and there were like 200 blocks in 2 minutes (the difficulty was low because it recalcs for every block).

JDDev and cosmoscoin, not sure if either or both of you are developing this, but your block target and retarget time are low enough that you might get problems. I'm not certain that is what allowed the 7886 block; the PoS aspect might have had quite a bit to do with it. In any case, there's evidently a bug that needs to be worked out.

The scheme of CMC is retarget every block, as you see the block target and retarget time is too low, I don't know how to figure this out.
It seems that NVC, Bitgem and bottlecaps don't have this problem, so I really don't know why.
member
Activity: 70
Merit: 10
Great thanks to you, I want to buy the bad blocks from you and I really appreciate your great help.

I didn't mine any 'bad' blocks; there was only one which was on the end of the chain.

You're welcome Smiley, it wasn't a huge deal though, and I didn't actually figure out the problem, just work around it.

If you'd like to send me some CMC you can here: C72cU8HH6ryHSScDqMymtYYxu5kEWjN9bx

Great, can you share how did you patch the chain? How the bad block could be attached to the chain?
I believe he just updated the code as outlined above and started mining using a version based on that code, no?

This is correct. The patch itself was:
Code:
if (GetHash() == uint256("0x000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205"))
    return error("CheckBlock() : hash == 000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205");

Basically it would just fail if you tried to add block 0x000000082f31f... to the main chain, allowing me to mine from the previous block and create an alternate chain which took precedence when it became longer. Then the rest of the network took over and there were like 200 blocks in 2 minutes (the difficulty was low because it recalcs for every block).

JDDev and cosmoscoin, not sure if either or both of you are developing this, but your block target and retarget time are low enough that you might get problems. I'm not certain that is what allowed the 7886 block; the PoS aspect might have had quite a bit to do with it. In any case, there's evidently a bug that needs to be worked out.

Because CMC doesn't have premine, and I don't have many CMC, I can send you 100 CMC, thanks again.
member
Activity: 70
Merit: 10
CMC implements quite a few innovations, first PoS coin with transaction comments. Also it has no premine
lol, thats all? Really.....  wait, yup, just as I thought, this post is full of noobs...

 Have fun with your novelty cosmo coin kids. Youll learn someday.

I respect your opinion, but we are working on CMC and try to make it a good coin for the community, although CMC doesn't have many innovations, but it's the most functional coin in the community right now.
member
Activity: 88
Merit: 12
Max Kaye
Great thanks to you, I want to buy the bad blocks from you and I really appreciate your great help.

I didn't mine any 'bad' blocks; there was only one which was on the end of the chain.

You're welcome Smiley, it wasn't a huge deal though, and I didn't actually figure out the problem, just work around it.

If you'd like to send me some CMC you can here: C72cU8HH6ryHSScDqMymtYYxu5kEWjN9bx

Great, can you share how did you patch the chain? How the bad block could be attached to the chain?
I believe he just updated the code as outlined above and started mining using a version based on that code, no?

This is correct. The patch itself was:
Code:
if (GetHash() == uint256("0x000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205"))
    return error("CheckBlock() : hash == 000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205");

Basically it would just fail if you tried to add block 0x000000082f31f... to the main chain, allowing me to mine from the previous block and create an alternate chain which took precedence when it became longer. Then the rest of the network took over and there were like 200 blocks in 2 minutes (the difficulty was low because it recalcs for every block).

JDDev and cosmoscoin, not sure if either or both of you are developing this, but your block target and retarget time are low enough that you might get problems. I'm not certain that is what allowed the 7886 block; the PoS aspect might have had quite a bit to do with it. In any case, there's evidently a bug that needs to be worked out.
full member
Activity: 162
Merit: 100
Ok, as you have PXC in your sig, what innovation did PXC add? Nothing, and on top of that had a huge premine.
newbie
Activity: 42
Merit: 0
CMC implements quite a few innovations, first PoS coin with transaction comments. Also it has no premine
lol, thats all? Really.....  wait, yup, just as I thought, this post is full of noobs...

 Have fun with your novelty cosmo coin kids. Youll learn someday.
member
Activity: 70
Merit: 10
CMC implements quite a few innovations, first PoS coin with transaction comments. Also it has no premine

Correct answer.
member
Activity: 70
Merit: 10
Things seem to be working okay at this point. Thanks so much. If you post your CMC address, I'd love to send you some CMC.

Great thanks to JDDev, I can send XertroV some CMC too, I mined some CMC, XertroV, please give me your CMC address and I want to buy the bad blocks from you.
member
Activity: 70
Merit: 10
Looks like your target reduced massively at block 7887, from 00000008359d00... to 000000004c847400...; ie 7 zeros to 8 zeros at the start.

Was a retarget intended for block 7887? And can you post the raw block for 7886; there might be something hiding there.

Edit:
nBits for the block you're trying to mine are nBits=1ccc8474
nBits for the previous blocks were nBits=1d08359d

Sure these are correct? This error message indicates they are not: ERROR: CheckProofOfWork() : nBits below minimum work
1ccc8474 < 1d08359d

Edit again:

Ignore most of the above, didn't realise CMC was based on PPC. There are retargets every block, so changing nBits is expected. The reason these are so drastically different is because of the algorithm used to calculate them and the leniency on block timestamps.


Great thanks to you, I want to buy the bad blocks from you and I really appreciate your great help.
full member
Activity: 162
Merit: 100
CMC implements quite a few innovations, first PoS coin with transaction comments. Also it has no premine
newbie
Activity: 42
Merit: 0
Because Cosmos coin is another shit pump and dump waste of time.
full member
Activity: 162
Merit: 100
I believe he just updated the code as outlined above and started mining using a version based on that code, no?
sr. member
Activity: 588
Merit: 250
Great, can you share how did you patch the chain? How the bad block could be attached to the chain?
full member
Activity: 162
Merit: 100
Things seem to be working okay at this point. Thanks so much. If you post your CMC address, I'd love to send you some CMC.
member
Activity: 88
Merit: 12
Max Kaye
time stamp for block 7885 is weird, it is 2 hrs after the block 7886

Hmm.

I've got an alternate chain now:

7885: 000000082148a6f66e17bab8d41af11171bc6f4d9416f983ddad0212a41775c0
7886: 000000061f7cee86da6458d5fbf02694db41c58e4d38aaea58606e3faefa3522
7887: 000000942feafab66ec53301532853634ccedecdc8b5fbc4fc5bebba75ba60a1
7888: 00000059bf77cf922474c474cceea4c006a58900625ac13781ede01d3aa77b34

I've mined the last 3.



Edit: fixed with this:

Quote
Try the following, I can confirm you don't download block 7887 (height 7886).

Patch main.cpp so the definition of CBlock::CheckBlock now reads:

Code:
bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const
{
    // These are checks that are independent of context
    // that can be verified before saving an orphan block.

    // --- patch start
    // blacklist
    if (GetHash() == uint256("0x000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205"))
        return error("CheckBlock() : hash == 000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205");
    // --- patch end

    // Size limits
    if (vtx.empty() || vtx.size() > MAX_BLOCK_SIZE || ::GetSerializeSize(*this, SER_NETWORK, PROTOCOL_VERSION) > MAX_BLOCK_SIZE)
        return DoS(100, error("CheckBlock() : size limits failed"));

Only one miner will need to implement this, to blacklist block 0x000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205, then chains should reorganize once a longer chain is produced.

No idea if this will help, but it might get you around the issue. From what I can tell you shouldn't have a difficulty adjustment at this point in time.

Didn't get to post it before it was fixed.



Update:

For posterity here is some info on the bad fork:

Code:
xertrov@x-work:~/src/cosmoscoin/src$ ./cosmoscoind getblock 000000082148a6f66e17bab8d41af11171bc6f4d9416f983ddad0212a41775c0
{
    "hash" : "000000082148a6f66e17bab8d41af11171bc6f4d9416f983ddad0212a41775c0",
    "confirmations" : 21,
    "size" : 266,
    "height" : 7885,
    "version" : 4,
    "merkleroot" : "2d75ef37fe8228e06a78410e6bfc6ac98bbf8e41ecf72838e754299f26243a67",
    "mint" : 3.50000000,
    "time" : 1372834490,
    "nonce" : 2004907776,
    "bits" : "1d0827a9",
    "difficulty" : 0.12262345,
    "previousblockhash" : "00000004a11a5a3080247c1c1c795d96e7330179d185475eaee48ed698604040",
    "nextblockhash" : "000000061f7cee86da6458d5fbf02694db41c58e4d38aaea58606e3faefa3522",
    "flags" : "proof-of-work",
    "proofhash" : "000000082148a6f66e17bab8d41af11171bc6f4d9416f983ddad0212a41775c0",
    "entropybit" : 0,
    "modifier" : "bdfd70fa8e720a8b",
    "modifierchecksum" : "4e1d99b3",
    "tx" : [
        "2d75ef37fe8228e06a78410e6bfc6ac98bbf8e41ecf72838e754299f26243a67"
    ],
    "signature" : "3046022100cc37a265784beb958ad0ec0fdce5aadc92c5350bf17b08569d7b1f91536feba80221008cae649f4aa08b1b78756d74dc75d6ee30633e6abaac08a32a5f7841298c22a8"
}

xertrov@x-work:~/src/cosmoscoin/src$ ./cosmoscoind getblock 000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205
{
    "hash" : "000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205",
    "confirmations" : 0,
    "size" : 265,
    "height" : 7886,
    "version" : 4,
    "merkleroot" : "e15d62ba8b4bdf80911c4725c7b1225d4fd981359a2ae431e50918420835ffeb",
    "mint" : 0.00000000,
    "time" : 1372827494,
    "nonce" : 1900102656,
    "bits" : "1d107075",
    "difficulty" : 0.06082897,
    "previousblockhash" : "000000082148a6f66e17bab8d41af11171bc6f4d9416f983ddad0212a41775c0",
    "flags" : "proof-of-work stake-modifier",
    "proofhash" : "000000082f31f8c70dd7f9a857f04fe14f7df2a57bb9bc1f54d336c70dea6205",
    "entropybit" : 0,
    "modifier" : "a814232a8e720a8b",
    "modifierchecksum" : "f4fab8c5",
    "tx" : [
        "e15d62ba8b4bdf80911c4725c7b1225d4fd981359a2ae431e50918420835ffeb"
    ],
    "signature" : "304502204629c8a3dadc0db98ed078b34dd8cba2156e42cd65abcd173db86483745fd2f4022100987e51ae95c839254c4f7e9fc4f2164cdb4269c59775b9e28d5be34c652d77b2"
}



Does anyone want to buy 14 Cosmoscoins?
sr. member
Activity: 476
Merit: 250
time stamp for block 7885 is weird, it is 2 hrs after the block 7886
member
Activity: 88
Merit: 12
Max Kaye
I mined the block twice, but both were rejected.

That's not the issue. The issue is that the block you're mining has the wrong nBits in the block header.
Pages:
Jump to: