Post
Topic
Board Announcements (Altcoins)
Re: [ANN] Catcoin - NEW THREAD - FORK INCOMING AT BLOCK 21346 - Scrypt MEOW!
by
kuroman
on 02/02/2014, 20:55:46 UTC
THE FORK WORKS

First difficulty oscillation: BOTTOM 1, TOP 139
Second diff oscillation: BOTTOM 1.19, TOP 79

GOING DOWN

Diff 196 now.

What do you say now?

I say the network hash is almost 600 Mhash, it should have long since slowed down if it wasn't the fact that it's still rocketing upwards can only mean there is a lot more net-hash here than we realized. I'll re-evaluate tomorrow when the blockchain explorer gets repaired.


As for the diff, I've been monitoring it this couple of days, and been switching pools and trying to understand what's the matter, I've done some simulations under matlab, I understand more or less, the jerky reaction of the network despite the new parameters, so here is my analysis :

1-Profitibility pools don't switch to the most profitable coin instantly, they keep mining coin, as long as it has a decent profitibality, and I think this allows this pools to mine for a certain amount of time

2-Despite the 1 Block diff change, the value that wasn't taken in consideration is the 10min target time, (this value cannot be changed is a core value of the coin) but I think the importance of this, is that unlike other coins with very quick block target time, our value gives the time to huge brandwidt to join in and keep mining, while the 12% limite was supposed to limite the inflantion both ways, the delayed reaction of profitability pool, cause them to join once the diff is really low and leave once it is considerably high and leaving the coin with block time in hours.

So tl,dr the new fork parameters doesn't work as perfectly because profitabilty pools don't just switch in the exact instant the coin becomes the most profitible and leave the instant it is the most profitable but keep mining for a while. This doesn't mean the fork failled, it is not the case, the situation is better than what it was a few days ago when were stuck with high diff for a long periode of time, it's just that it doesn't work perfectly and nothing is perfect.

What I suggest, is too keep the dev work on going and lets think about solutions to keep the coin healthy, I'm still thinking gravity well is a good solution, but we should study before hand if it possible to implement it, and how it can interact with our long block target time


Great! Finally data to visualize.

(http://catcoins.biz/charts/)



I used your data to plot a bit more:


I am gone surfing those waves up right!


I'm worry about those waves on diff vs block number graph. I think there is a problem.

A ecли ты здecь из 2ch'epcкoй бaнды кpyтыx xaцкeвoв-пpoгpaмиcтoв-финaнcиcтoв
и пpoчeгo cбpoдa "oфигeнныx poccийcкex шкoлoтeeв и пpoxoдимцeв", кoтopыe тyт,
чтoб "выдaвить битoк c xoмякa", yбeйcя oб cтeнy.

My post in old CATcoin thread. It's matlab model of diff recalc.
Quote from: strelok369 link=https://bitcointalk.org/index.php?topic=380130.msg4468559#msg4468559
Code(matlab):

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc

N = 36*10+1;
hashrate   = zeros(1, N);
difficulty =  ones(1, N);
blocktime  = zeros(1, N);

lastchange = 1;
hashrate(1,1) = 1000;

%imaging floating hashrate somehow (i'm not a wizard of probability theory)
for i=2:N
   change = rand(1,1)/4*sqrt(i-lastchange);
   if change>1
      hashrate(1, i) = rand(1,1)*1000*2+100;
      lastchange = i;
   else
      hashrate(1, i) = hashrate(1, i-1);
   end
end

%hashrate   = [ones(1, (N-1)/3)*100 ones(1,(N-1)/3).*1000 ones(1, (N-1)/3+1)*100];
%single stepup stepdown
%end imaging floating hashrate somehow

%diff and approximate blocktimes with sliding window
for i=1:37
    blocktime(1,i) = (difficulty(1,i)*2^32/(hashrate(1, i)*1e6)/60);
end

for i=(37+1):N
    average  = sum(blocktime (1, (i-36):(i-1)))/36; %average of blocktimes
    averdiff = sum(difficulty(1, (i-36):(i-1)))/36; %very important, otherwise unstable
    difficulty(1,i) = averdiff/(average/10); %10 is target, such recalc have astatism
    blocktime(1,i) = (difficulty(1,i)*2^32/(hashrate(1, i)*1e6)/60);
end
%end diff and approximate blocktimes with sliding window

%show results for window
fig1 = figure(1);
stairs(hashrate./100, 'color' , 'red');
hold on
stairs(difficulty./10, 'color' , 'green');
stairs(blocktime, 'color' , 'blue');
hold off
%end show results for window

difficulty =  ones(1, N);
blocktime  = zeros(1, N);

%diff and approximate blocktimes with classic recalc
lastrecalc = 1;
for i=2:N
   if i-lastrecalc > 36
       average  = sum(blocktime (1, (i-36):(i-1)))/36;
       difficulty(1,i) = difficulty(1,i-1)/(average/10); %10 is target, such recalc have astatism
       lastrecalc = i;
   else
       difficulty(1,i) = difficulty(1,i-1);
   end
   blocktime(1,i) = (difficulty(1,i)*2^32/(hashrate(1, i)*1e6)/60);
end
%end diff and approximate blocktimes with classic recalc

fig2 = figure(2);
%show results for classic
stairs(hashrate./100, 'color' , 'red');
hold on
stairs(difficulty./10, 'color' , 'green');
stairs(blocktime, 'color' , 'blue');
hold off
%end show results for classic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Matlab arrays starts from 1 not 0;

Warning: if sliding window then in next difficulty must take part average
difficulty on window, not previous difficulty, othervise system unstable.


Is actual algorithm use average diff as good as blocktime?
If it use average without construction such as red_line_in_code_above
it will have diff spikes and hollows.
Correct it immediately if it's so. We will be anough with sliding window,
no need to invent bicycles with 12% and other excesses to diff recalc
algorithm and imagine yourself gods of cryptoworld.

And where is old logo? It was much better than actual.
Actual one have lack of one thing (it can be called idea byt in is not fully correct).
I don't know how to say about it, try to ask artists. Those thing, which make you
recognise product in mass. Like doge on dogecoin sign, like BTC on bitcoin logo,
Like double front grille in BMW.



I agree with the averdiff sum, also you choose N=36*10+1 can you explain to me why *10? did you try to plot the diff function?