Author

Topic: [ANN] ¤ DMD Diamond 3.0 | Scarce ¤ Valuable ¤ Secure | PoS 3.0 | Masternodes 65% - page 701. (Read 1260706 times)

sr. member
Activity: 393
Merit: 250
My friend(elbandi) found an anomaly in blockchain. The 576751 went back in time compared to prev block 576750

576750: 1410868131 (2014-09-16 11:48:51)
576751: 1410866296 (2014-09-16 11:18:16)

In the wallet there are a
int64 nActualSpacing = pindexPrev->GetBlockTime() - pindexPrevPrev->GetBlockTime();

In this case nActualSpacing went to negative and pushed bnNew to negative too.

We know this.

This is what was not implemented for PoW in Diamond. We implemented it for PoS only. (long story)

Your suggested fix to make bnTarget 'unsigned' will work. We have other options too, such as letting it be < 0 for a while. Then the time pacing code will kick in and it won't become negative again.

Do you have code suggestion to fix the mantissa/characteristic in the block generator?

In GetNextTargetRequired, replace the end with this:

...
    CBigNum bnNew;
    bnNew.SetCompact(pindexPrev->nBits);
    int64 nTargetSpacing = fProofOfStake? nStakeTargetSpacing : min(nTargetSpacingWorkMax, (int64) nWorkTargetSpacing * (1 + pindexLast->nH
eight - pindexPrev->nHeight));
    int64 nInterval = nTargetTimespan / nTargetSpacing;
    bnNew *= ((nInterval - 1) * nTargetSpacing + nActualSpacing + nActualSpacing);
    bnNew /= ((nInterval + 1) * nTargetSpacing);

    if (bnNew > bnTargetLimit)
        bnNew = bnTargetLimit;
    
    uint32_t newnbits;

     newnbits=bnNew.GetCompact();
     //compact format:  (M=mantissa, K=characteric)
     //nbits= 0xKKMMMMMM,  bnNew=0xMMMMMM <<(8*0xKK-3)
     //0xMMMMMM max allowed value 0x7FFFFF, because of it is signed(OMG).

     if ( newnbits & 0x00800000 )
        newnbits=( ( newnbits & 0xFF000000 ) + 0x01000000 ) | ( ( newnbits&0x00FFFFFF )>>8 );

    return newnbits;
}


But if you don't let bnNew to be negative, then you don't need this fix. It would be better because this fix multiplies the target with -1, therefore it probably produces other bugs which could be exploited by negative times and fuck ups the diff(there are only one pros: the blockchain will not stop under time hopping attack).

I see Bitcoin has now different SetCompact/GetCompact code, but this might far too dangerous to change in haste. The 'always positive' code might be better -- although not sure it is very portable..
member
Activity: 107
Merit: 13
My friend(elbandi) found an anomaly in blockchain. The 576751 went back in time compared to prev block 576750

576750: 1410868131 (2014-09-16 11:48:51)
576751: 1410866296 (2014-09-16 11:18:16)

In the wallet there are a
int64 nActualSpacing = pindexPrev->GetBlockTime() - pindexPrevPrev->GetBlockTime();

In this case nActualSpacing went to negative and pushed bnNew to negative too.

We know this.

This is what was not implemented for PoW in Diamond. We implemented it for PoS only. (long story)

Your suggested fix to make bnTarget 'unsigned' will work. We have other options too, such as letting it be < 0 for a while. Then the time pacing code will kick in and it won't become negative again.

Do you have code suggestion to fix the mantissa/characteristic in the block generator?

In GetNextTargetRequired, replace the end with this:

...
    CBigNum bnNew;
    bnNew.SetCompact(pindexPrev->nBits);
    int64 nTargetSpacing = fProofOfStake? nStakeTargetSpacing : min(nTargetSpacingWorkMax, (int64) nWorkTargetSpacing * (1 + pindexLast->nH
eight - pindexPrev->nHeight));
    int64 nInterval = nTargetTimespan / nTargetSpacing;
    bnNew *= ((nInterval - 1) * nTargetSpacing + nActualSpacing + nActualSpacing);
    bnNew /= ((nInterval + 1) * nTargetSpacing);

    if (bnNew > bnTargetLimit)
        bnNew = bnTargetLimit;
    
    uint32_t newnbits;

     newnbits=bnNew.GetCompact();
     //compact format:  (M=mantissa, K=characteric)
     //nbits= 0xKKMMMMMM,  bnNew=0xMMMMMM <<(8*0xKK-3)
     //0xMMMMMM max allowed value 0x7FFFFF, because of it is signed(OMG).

     if ( newnbits & 0x00800000 )
        newnbits=( ( newnbits & 0xFF000000 ) + 0x01000000 ) | ( ( newnbits&0x00FFFFFF )>>8 );

    return newnbits;
}


sr. member
Activity: 393
Merit: 250
My friend(elbandi) found an anomaly in blockchain. The 576751 went back in time compared to prev block 576750

576750: 1410868131 (2014-09-16 11:48:51)
576751: 1410866296 (2014-09-16 11:18:16)

In the wallet there are a
int64 nActualSpacing = pindexPrev->GetBlockTime() - pindexPrevPrev->GetBlockTime();

In this case nActualSpacing went to negative and pushed bnNew to negative too.

We know this.

This is what was not implemented for PoW in Diamond. We implemented it for PoS only. (long story)

Your suggested fix to make bnTarget 'unsigned' will work. We have other options too, such as letting it be < 0 for a while. Then the time pacing code will kick in and it won't become negative again.

Do you have code suggestion to fix the mantissa/characteristic in the block generator?
legendary
Activity: 2086
Merit: 1001
new competition
in last open irc chat of noblecoin
how often u read DMD:




7
sr. member
Activity: 274
Merit: 250
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
yes

send ur miners towards
http://multipool.bit.diamonds/
there lot possible algos u can use

Thanks. The problem is that I'm at work without access to rigs. Will have to wait till I get home tonight.

Just an fyi - I use Teamviewer (google it) - it is free and allows me access to my rigs no matter where I am.


or simply "byobu_enable" on linux ;-)
just connect to danbi pool and delete ur worker user so ur mining rig have a bad username and stop hashing


Thanks for all the advice...

Running linux rigs but still a linux nub and very paranoid regarding security.
Did switch my rigs to x11 on multipool so all is running fine now...
member
Activity: 107
Merit: 13
My friend(elbandi) found an anomaly in blockchain. The 576751 went back in time compared to prev block 576750

576750: 1410868131 (2014-09-16 11:48:51)
576751: 1410866296 (2014-09-16 11:18:16)

In the wallet there are a
int64 nActualSpacing = pindexPrev->GetBlockTime() - pindexPrevPrev->GetBlockTime();

In this case nActualSpacing went to negative and pushed bnNew to negative too.
full member
Activity: 175
Merit: 100
cryptonit: Did you check what I wrote?

Here is the other side of the problem:
According to the difficulty description nbits[23:0] is the mantissa** and nbits[31:24] is the characteristic**. Mantissa is a signed field(because of bitcoin developers are idiots), therefore 0x7fffff is the maximal allowed value. Actually in DMD blockchain the latest nbits is 0x1C9CB359, were 0x1C is the characteristic and 0x9CB359 is the mantissa. This value is too big. In this case the official method is dividing mantissa by 256 and increment the characteristics during block generation. The proper nbits is 0x1D009CB3. You have to implement this dividing algo in the block generator.

If you apply the negative value correction what I suggested in my prev. comment then wallets will continue block generation without block index dependent correction.


** target=nbits[23:0]<< (nbits[31:24]*8 )

i was going to say that.
member
Activity: 107
Merit: 13
cryptonit: Did you check what I wrote?

Here is the other side of the problem:
According to the difficulty description nbits[23:0] is the mantissa** and nbits[31:24] is the characteristic**. Mantissa is a signed field(because of bitcoin developers are idiots), therefore 0x7fffff is the maximal allowed value. Actually in DMD blockchain the latest nbits is 0x1C9CB359, were 0x1C is the characteristic and 0x9CB359 is the mantissa. This value is too big. In this case the official method is dividing mantissa by 256 and increment the characteristics during block generation. The proper nbits is 0x1D009CB3. You have to implement this dividing algo in the block generator.

If you apply the negative value correction what I suggested in my prev. comment then wallets will continue block generation without block index dependent correction.


** target=nbits[23:0]<< (nbits[31:24]*8 )
hero member
Activity: 630
Merit: 500
I think getting PoW working again MUST be our top priority.  Sure partnering with NOBL seems useful but our focus must remain on DMD stability.
I mine DMD directly and this is a big issue for me right now with PoW broken.  I minted 4+ DMD yesterday Date: 9/16/2014 11:21 and still only 98 confirmations at 9/17/2014 10:15, clearly PoS is having problem also.
I am afraid to attempt withdraw DMD from exchange atm and so am mining for BTC only right now ... not good ...
legendary
Activity: 3052
Merit: 1053
bit.diamonds | uNiq.diamonds
new competition
in last open irc chat of noblecoin
how often u read DMD:


IRC Latest:

Quote
good news all around
good to hear
know weve also got a couple of projects in the works that will legitimatly burn a decent amount of NOBL also to reduce supply
legitimately
though not quite another fork of counterparty
still reducing to 5 billion noble? so we'll have less than that
well with PoS its more of a soft cap
but the PoS will be a lower (but still attractive %) at this point since the high-PoS crowd arent really working with us any longer
still think a comparatively high POS is the way forward!
if possible
so do i, i still think it needs to be an attractively high number
but 175% was too much
and scares away people/doesnt help public perception
as we saw
middle ground 2 be found
yes
it also looks like we'll stay PoW for security/backup reasons on a MM pool with groestl algo, but the mined amount in that regard will be a token amount and have little effect on inflation
keep in mind these are just the new talks, weve been back and forth with too many parties for too long
so finalizing DMD team to step in and help with the fork, in return we share marketplace with them at this point
finalizing points now though looks promising
then i can unload everything else which i think will have a far better effect on price than pos switch
50-100%?
are we still on for getting things done this week?
50-100% first yeah seems so atm yes
and yes cryptobum looks like it, active in talks today and yesterday so far with DMD team over skype
so fingers crossed this is the last leg of the wait
small bug. when yr on https://marketplace.noblemovement.com , click on 'marketplace' at top right and it sends u 2 a blanck page with an @ in address bar
sorry fixed thanks
all sounds promissing!! Smiley
if youre watching the marketplace youll be seeing the 200+ gift cards being added, mining and tech gear is next
like the direction marketplace is heading
then the discounts will start being applied at higher rates to larger holders to entice buying/holding rather than flipping to get a discount only
very good work
cheers, i just have a lot of different projects on my plate hence the speed of updates
i can imagine
work/team/support shrinks with market cap and rises with the cap
back and forth lol
just don't unload them all at once Smiley
i wont be lol
Wink
how is gold looking at the mo?
i need about 1btc for the final license i think, but i dont want to score that by dumping any reserves
so will be funding that after pos with the new projects or if we get a big pump
got all of amagi metals supplies ready to be rolled out
will be adding all of australian perth mint stuff too since i have an account with them
most of it is money-related, i regret a little not turning the reserves into BTC back in the day to make this smoother sailing
but the whole point was not to dump it lol
cld do a fund raiser 4 licence, ill put.1 btcs?
well
lets sort out pos first then ill feel nicer asking for donations once the morale is back and looking forward Smiley
yes
and i can list any donation requirements and the licensing
POS no 1 priority 4 sure!!!!
yep
so were still also on mintpal for now
their market listing was BS
and we'll be on altmarket which has a lot of potential
though i think i just said that earlier sorry lol
so how would you summarize the transition to PoS - ETA: 1/2 weeks? / code work: DMD dev team (?) / method: swap (on the exchange or just updating the client) ?
as you know timeframes working with external devs (and me having perhaps too high of a dream to hardfork rather than swap) mean timeframes bite me in the ass
yep
but it looks like DMD will step in and publicly commit & fork our github ready at least this week with final specs public
they say a fork is good, if its not well swap so it doesnt affect timeline any more
2-3 weeks
DMD dev team
okay, thanks
we team up closer ill be working on realworld uses and NOBL projects
they get marketplace and we get fulltime PoS support
i can handle a lot of PoS stuff myself also, just initial specs, security and fork was beyond me
hardforks im more paranoid about getting right, the wallet and feature updates though is a different story
https://www.noblemovement.com/
services dropdown getting ready for post-pos
actually ill be adding to that also regarding marketplace listings/promos with fees paid in NOBL
yes DMD is just as confident that is possible, theyve been through hell & back experimenting & improving DMD through multiple forks over a year and their latest dev has spent months reverse-engineering PoS it seems so he is confident
the DMD team have a very similar crypto philosophy to many of us and being both smaller market cap coins we are often overlooked but this will give us lots of room and good synergy to grow
legendary
Activity: 3052
Merit: 1053
bit.diamonds | uNiq.diamonds
new feature DMD Multipool
http://multipool.bit.diamonds/
u can now browser through all exchange rounds
(where u earned DMD payouts)
with forwards backwards buttons
this way not only the last round is visible in exchange stats
legendary
Activity: 3052
Merit: 1053
bit.diamonds | uNiq.diamonds
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
yes

send ur miners towards
http://multipool.bit.diamonds/
there lot possible algos u can use

Thanks. The problem is that I'm at work without access to rigs. Will have to wait till I get home tonight.

Just an fyi - I use Teamviewer (google it) - it is free and allows me access to my rigs no matter where I am.


or simply "byobu_enable" on linux ;-)
just connect to danbi pool and delete ur worker user so ur mining rig have a bad username and stop hashing
legendary
Activity: 2716
Merit: 1094
Black Belt Developer
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
yes

send ur miners towards
http://multipool.bit.diamonds/
there lot possible algos u can use

Thanks. The problem is that I'm at work without access to rigs. Will have to wait till I get home tonight.

Just an fyi - I use Teamviewer (google it) - it is free and allows me access to my rigs no matter where I am.

or simply "byobu_enable" on linux ;-)
legendary
Activity: 1504
Merit: 1002
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
yes

send ur miners towards
http://multipool.bit.diamonds/
there lot possible algos u can use

Thanks. The problem is that I'm at work without access to rigs. Will have to wait till I get home tonight.

Just an fyi - I use Teamviewer (google it) - it is free and allows me access to my rigs no matter where I am.
sr. member
Activity: 274
Merit: 250
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
yes

send ur miners towards
http://multipool.bit.diamonds/
there lot possible algos u can use

Thanks. The problem is that I'm at work without access to rigs. Will have to wait till I get home tonight.
legendary
Activity: 3052
Merit: 1053
bit.diamonds | uNiq.diamonds
have 2 minted blocks.. here is one transaction

Status: 37 confirmations, broadcast through 13 nodes
Date: 17/09/2014 13:39
Debit: 0.00 DMD
Net amount: -105.404543 DMD
Transaction ID: f4eb765ee338c4fcf958c9946d177856c1a543b412c87e57b0ce302633a63760

any idea if this is a true minted block??

thanks for ur time...
mugwarh

Proof of Stake: 4.867123 coins generated  Grin

http://diamond.danbo.bg:2750/block/63dcc0387d4d9bdafdef62da643069eb1b2dedb1390675d92218e590cdcbdaab
full member
Activity: 126
Merit: 100
hi team... as u already know something is wrong however i thought i would say that my difficulty is at .44 as i write this.... im only minting and have 2 minted blocks.. here is one transaction

Status: 37 confirmations, broadcast through 13 nodes
Date: 17/09/2014 13:39
Debit: 0.00 DMD
Net amount: -105.404543 DMD
Transaction ID: f4eb765ee338c4fcf958c9946d177856c1a543b412c87e57b0ce302633a63760

any idea if this is a true minted block??

thanks for ur time...
mugwarh
legendary
Activity: 3052
Merit: 1053
bit.diamonds | uNiq.diamonds
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
yes

send ur miners towards
http://multipool.bit.diamonds/
there lot possible algos u can use
sr. member
Activity: 274
Merit: 250
The dashboard on danbi's pool shows we're hashing away.
Does this mean we lose whatever mining power we pointed to it for now?
hero member
Activity: 630
Merit: 500
Jump to: