twobits
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 05:34:37 AM |
|
That's with the block chain already deleted to start from scratch, actually.
Yes, you're right, I just tested. It looks like the i0coin network is dead. Perhaps the maintainer of the software can comment. Just tried i0coin for fun after reading this. I keep bouncing around between 3-5 connections and am sitting @ 14514 blocks
|
█████ █████ ███████ █████ ███ █████████████ █████ ██ █████████████████ █████ █ ██████ ██████ █████ ████ ████ █████████████ █████ ████ █████████████ █████ ████ █████████████ █████ ████ █████ █████ █████ █ ██████ ███████ █████ ██ ███████████ █████ █████ ███ █████████ ████ █████ █████ ███████ ██ | | | ███ ███ ███ ███ ███ ███ ███ ███ ███ | | | | | | ███ ███ ███ ███ ███ ███ ███ ███ ███ | | ►WhitePaper ►One-Pager | ███ ███ ███ ███ ███ ███ ███ ███ ███ | | | | ███ ███ ███ ███ ███ ███ ███ ███ ███ | | ███ ███ ███ ███ ███ ███ ███ ███ ███ | █████ █████ ███████ █████ ███ █████████████ █████ ██ █████████████████ █████ █ ██████ ██████ █████ ████ ████ █████████████ █████ ████ █████████████ █████ ████ █████████████ █████ ████ █████ █████ █████ █ ██████ ███████ █████ ██ ███████████ █████ █████ ███ █████████ ████ █████ █████ ███████ ██ |
|
|
|
|
ArtForz
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 06:08:54 AM |
|
The one week part of "one week or 2016 blocks" retargeting is b0rked. Downloading the chain with a fresh datadir makes it try to retarget at block 1. Then it tries to go back 2016 blocks. from block 1. Boom, NULL pointer. With a client that already has the blockchain up to some point in the past, it'll start disagreeing on what the target should be (again, mistrigger of the after-7-days stuff)... around now. Easy Fix: pull a Thomas and blatantly rip off solidcoins retargeting algo.
|
bitcoin: 1Fb77Xq5ePFER8GtKRn2KDbDTVpJKfKmpz i0coin: jNdvyvd6v6gV3kVJLD7HsB5ZwHyHwAkfdw
|
|
|
smoothie
Legendary
Offline
Activity: 2492
Merit: 1473
LEALANA Bitcoin Grim Reaper
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 06:25:19 AM |
|
Easy Fix: pull a Thomas and blatantly rip off solidcoins retargeting algo.
+1 LOL
|
███████████████████████████████████████
,╓p@@███████@╗╖, ,p████████████████████N, d█████████████████████████b d██████████████████████████████æ ,████²█████████████████████████████, ,█████ ╙████████████████████╨ █████y ██████ `████████████████` ██████ ║██████ Ñ███████████` ███████ ███████ ╩██████Ñ ███████ ███████ ▐▄ ²██╩ a▌ ███████ ╢██████ ▐▓█▄ ▄█▓▌ ███████ ██████ ▐▓▓▓▓▌, ▄█▓▓▓▌ ██████─ ▐▓▓▓▓▓▓█,,▄▓▓▓▓▓▓▌ ▐▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▌ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓─ ²▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓╩ ▀▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▀ ²▀▀▓▓▓▓▓▓▓▓▓▓▓▓▀▀` ²²² ███████████████████████████████████████
| . ★☆ WWW.LEALANA.COM My PGP fingerprint is A764D833. History of Monero development Visualization ★☆ . LEALANA BITCOIN GRIM REAPER SILVER COINS. |
|
|
|
coblee
Donator
Legendary
Offline
Activity: 1654
Merit: 1350
Creator of Litecoin. Cryptocurrency enthusiast.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 06:25:29 AM |
|
The one week part of "one week or 2016 blocks" retargeting is b0rked. Downloading the chain with a fresh datadir makes it try to retarget at block 1. Then it tries to go back 2016 blocks. from block 1. Boom, NULL pointer. With a client that already has the blockchain up to some point in the past, it'll start disagreeing on what the target should be (again, mistrigger of the after-7-days stuff)... around now. Easy Fix: pull a Thomas and blatantly rip off solidcoins retargeting algo.
Well, that's a big failure. I guess this was never tested so it could be released so soon after ixcoin. Given that i0coin price is down the drain, it would probably not even be worth fixing. Even if it was fixed, not many people would even bother downloading a new client. Most people have either moved on to SolidCoins or back to Bitcoin. Well it was fun while it lasted. ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
doublec
Legendary
Offline
Activity: 1078
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 06:32:23 AM |
|
Deposits and withdrawals in for i0coins in the i0coin exchange are suspended until the issue is fixed. This is to prevent withdrawals occurring on a 'split' chain and the receipient on a different split of the chain not getting their funds. Let's hope the developers comes up with a fix!
|
|
|
|
ArtForz
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 07:05:21 AM |
|
Something like this should do the trick (disable the broken one-week crap, switch to solidcoin algo after block 14639). diff -Nur I0coinClientv1.0-linux-stable-orig/src/main.cpp I0coinClientv1.0-linux-stable-dev/src/main.cpp --- I0coinClientv1.0-linux-stable-orig/src/main.cpp 2011-08-18 23:15:50.000000000 +0200 +++ I0coinClientv1.0-linux-stable-dev/src/main.cpp 2011-08-25 08:23:52.143725519 +0200 @@ -644,7 +644,7 @@ return nSubsidy + nFees; } -unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast) +unsigned int static GetNextWorkRequired_OLD(const CBlockIndex* pindexLast) { const int64 nTargetTimespan = 7 * 24 * 60 * 60; // two weeks const int64 nTargetSpacing = 5 * 60; @@ -659,6 +659,7 @@ // Only change once per interval if ( nRemaining != 0) { +/* HORRIBLY BROKEN, *NEVER* use time() in here const CBlockIndex* pindexFirst = pindexLast; for (int i = 0; pindexFirst && i < nRemaining-1; i++) pindexFirst = pindexFirst->pprev; @@ -666,6 +667,7 @@ int64 rema = GetAdjustedTime() - pindexFirst->GetBlockTime(); if(rema < nTargetTimespan) +*/ return pindexLast->nBits; } @@ -691,6 +693,71 @@ if (bnNew > bnProofOfWorkLimit) bnNew = bnProofOfWorkLimit; + + /// debug print + printf("GetNextWorkRequired RETARGET\n"); + printf("nTargetTimespan = %"PRI64d" nActualTimespan = %"PRI64d"\n", nTargetTimespan, nActualTimespan); + printf("Before: %08x %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString().c_str()); + printf("After: %08x %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString().c_str()); + + return bnNew.GetCompact(); +} + +//blatantly stolen from SolidCoin +unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast) +{ + const int64 nTargetTimespan = 12 * 60 * 60; // 12 hours + const int64 nTargetSpacing = 3 * 60; //3 minute blocks + const int64 nInterval = nTargetTimespan / nTargetSpacing; + + // Genesis block + if (pindexLast == NULL) + return bnProofOfWorkLimit.GetCompact(); + +//okay, maybe not this line + if ((pindexLast->nHeight+1) < 14640) + return GetNextWorkRequired_OLD(pindexLast); + + // Only change once per interval + if ((pindexLast->nHeight+1) % nInterval != 0) + return pindexLast->nBits; + + // Go back by what we want to be 14 days worth of blocks + const CBlockIndex* pindexFirst = pindexLast; + for (int i = 0; pindexFirst && i < nInterval-1; i++) + pindexFirst = pindexFirst->pprev; + assert(pindexFirst); + + // Limit adjustment step + int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime(); + int64 nTwoPercent = nTargetTimespan/50; + //printf(" nActualTimespan = %"PRI64d" before bounds\n", nActualTimespan); + + if (nActualTimespan < nTargetTimespan) //is time taken for a block less than 3minutes? + { + //limit increase to a much lower amount than dictates to get past the pump-n-dump mining phase + //due to retargets being done more often it also needs to be lowered significantly from the 4x increase + if(nActualTimespan<(nTwoPercent*16)) //less than a minute? + nActualTimespan=(nTwoPercent*45); //pretend it was only 10% faster than desired + else if(nActualTimespan<(nTwoPercent*32)) //less than 2 minutes? + nActualTimespan=(nTwoPercent*47); //pretend it was only 6% faster than desired + else + nActualTimespan=(nTwoPercent*49); //pretend it was only 2% faster than desired + + //int64 nTime=nTargetTimespan-nActualTimespan; + //nActualTimespan = nTargetTimespan/2; + } + else if (nActualTimespan > nTargetTimespan*4) nActualTimespan = nTargetTimespan*4; + + // Retarget + CBigNum bnNew; + bnNew.SetCompact(pindexLast->nBits); + bnNew *= nActualTimespan; + bnNew /= nTargetTimespan; + + + if (bnNew > bnProofOfWorkLimit) + bnNew = bnProofOfWorkLimit; /// debug print printf("GetNextWorkRequired RETARGET\n");
|
bitcoin: 1Fb77Xq5ePFER8GtKRn2KDbDTVpJKfKmpz i0coin: jNdvyvd6v6gV3kVJLD7HsB5ZwHyHwAkfdw
|
|
|
deepceleron
Legendary
Offline
Activity: 1512
Merit: 1036
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 10:05:54 AM Last edit: August 25, 2011, 10:23:23 AM by deepceleron |
|
birth and death of a fork. the start is late for a day or so. let's see if it will become a zombie after the retargeting It is only truly dead after no one ever speaks its name again.
|
|
|
|
MaGNeT
Legendary
Offline
Activity: 1526
Merit: 1002
Waves | 3PHMaGNeTJfqFfD4xuctgKdoxLX188QM8na
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 10:25:20 AM |
|
Something like this should do the trick (disable the broken one-week crap, switch to solidcoin algo after block 14639).
I think this is how it should be solved.
|
|
|
|
MaGNeT
Legendary
Offline
Activity: 1526
Merit: 1002
Waves | 3PHMaGNeTJfqFfD4xuctgKdoxLX188QM8na
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 25, 2011, 04:17:31 PM |
|
Any updates?
|
|
|
|
virtualfaqs
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2011, 09:58:13 AM |
|
Sorry if this is the wrong place to post, but I couldn't find anywhere else.
Is anyone selling i0coins?
Thanks.
|
|
|
|
MaGNeT
Legendary
Offline
Activity: 1526
Merit: 1002
Waves | 3PHMaGNeTJfqFfD4xuctgKdoxLX188QM8na
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2011, 05:38:27 PM |
|
When is this fixed? Do we need >48 hours to copy/paste some code?
|
|
|
|
ArtForz
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2011, 06:17:12 PM |
|
Well, kr105 seems unable/unwilling/busy/run over by a bus... so... *shrug*.
|
bitcoin: 1Fb77Xq5ePFER8GtKRn2KDbDTVpJKfKmpz i0coin: jNdvyvd6v6gV3kVJLD7HsB5ZwHyHwAkfdw
|
|
|
gw4tt
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2011, 07:00:25 PM |
|
IXCoin is going back up, it's at around 0.0027 right now. Not nearly as impressive as solidcoin, but way better than i0coin.
|
|
|
|
d.james
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 280
Merit: 250
Firstbits: 12pqwk
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 26, 2011, 07:50:59 PM |
|
maybe i0coin should have some premine/bounty after all, so the creator would have some benefit fixing the code.
|
You can not roll a BitCoin, but you can rollback some. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Roll me back: 1NxMkvbYn8o7kKCWPsnWR4FDvH7L9TJqGG
|
|
|
AlexNeto
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 27, 2011, 04:40:52 AM |
|
Does anyone has i0coins for sale? Pm me.
|
|
|
|
kano
Legendary
Offline
Activity: 4578
Merit: 1851
Linux since 1997 RedHat 4
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 27, 2011, 01:45:03 PM |
|
So I guess if whoever was actually in charge of i0coins doesn't do something very soon, we can assume that someone else can/will take over this?
Heck I run my own modified bitcoind client/server for BTC so it's not that hard to do (except I don't have windows)
... and this is a thread about i0coins NOT ix ...
|
|
|
|
d.james
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 280
Merit: 250
Firstbits: 12pqwk
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 27, 2011, 07:36:04 PM |
|
yup, if kr105 doesn't respond very soon we'll just have to adjust the client on our own and hopefully everyone else will update to the same codes.
|
You can not roll a BitCoin, but you can rollback some. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Roll me back: 1NxMkvbYn8o7kKCWPsnWR4FDvH7L9TJqGG
|
|
|
MaGNeT
Legendary
Offline
Activity: 1526
Merit: 1002
Waves | 3PHMaGNeTJfqFfD4xuctgKdoxLX188QM8na
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 28, 2011, 08:39:59 AM |
|
maybe i0coin should have some premine/bounty after all, so the creator would have some benefit fixing the code.
I would like to setup a bounty for fixing i0coins:200 i0coins for the one who fixes it! Who wants to add some more? Quote and add your name to the list! Bounty list:MaGNeT - 200 i0coins
|
|
|
|
d.james
Sr. Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 280
Merit: 250
Firstbits: 12pqwk
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 28, 2011, 10:07:59 AM |
|
I would like to setup a bounty for fixing i0coins:
200 i0coins for the one who fixes it!
Who wants to add some more? Quote and add your name to the list!
Bounty list:
MaGNeT - 200 i0coins d.james - 400 i0coins
Total - 600 i0coins
^^ I'll double your bounty.
|
You can not roll a BitCoin, but you can rollback some. ![Cheesy](https://bitcointalk.org/Smileys/default/cheesy.gif) Roll me back: 1NxMkvbYn8o7kKCWPsnWR4FDvH7L9TJqGG
|
|
|
sd
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
August 28, 2011, 10:41:39 AM |
|
The one week part of "one week or 2016 blocks" retargeting is b0rked. Downloading the chain with a fresh datadir makes it try to retarget at block 1. Then it tries to go back 2016 blocks. from block 1. Boom, NULL pointer. With a client that already has the blockchain up to some point in the past, it'll start disagreeing on what the target should be (again, mistrigger of the after-7-days stuff)... around now. Easy Fix: pull a Thomas and blatantly rip off solidcoins retargeting algo.
Indeed, it should be an easy fix. Not that I've ever looked at the code, there might be reasons why this isn't an easy fix. Software development in one line: Develop -> Test it compiles -> Automated Unit Tests -> Test functionality -> User Acceptance testing -> Alpha -> Beta -> RC -> Production
|
|
|
|
|