Welcome to the Dash Forum!

Please sign up to discuss the most innovative cryptocurrency!

v0.10.17.x Testing

Discussion in 'Testing' started by eduffield, Nov 27, 2014.

Thread Status:
Not open for further replies.
  1. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    ****** PLEASE UPDATE TO v10.17.0 *******

    - This supports a complete InstantX implementation. This implementation has teeth, the masternodes have the final say if a specific transaction will make it into the block. To do this, they can actually orphan conflicting blocks, up to five blocks deep if an attack happened. To pull off such an attack, the attacker would propagate a lock request, masternodes would form a lock, then the attacker would mine a conflicting transaction. With this implementation, that block will be orphaned.
    - Current setting, requires 7 of 10 masternodes to form a lock
    - Masternodes MUST have their port open, or they will be forced into an inactive state (not implemented yet)
    - Each InstantX transaction will use a different set of masternodes. These are chosen based on the POW hash of the block that transaction was included in. This means you can't tamper with the masternodes you'll use, but the system can use all masternodes at once.
    - Masternode network backwards compatibility, dsee/dseep messages now will be backwards/forwards compatible. Masternodes in the list will have protocol versions, so the code will know which are compatible with their versions.
    - Gradual forced masternode updates, the network will now support paying out-of-date masternode versions for a period of time while allowing the network to update. Each update will have a deadline (probably 1 week after an update is released) before payments stop. This means the network could support multiple versions of Darksend at once, which is ideal.
    - Support "min protocol version" for Darksend, allowing mixing between different versions of compatible protocols.
    - New parameter -masternodeminprotocol = Only track masternodes beyond this version
    - New parameter -wallet = Use a wallet other than wallet.dat (UdjinM6)
    - New command "masternode list protocol"
    - Wallet will stay locked during Darksend and only be able to mix (UdjinM6)
    - Improved CalculateScore, using a much harder to trick calculation

    Code:
    // Deterministically calculate a given "score" for a masternode depending on how close it's hash is to
    // the proof of work for that block. The further away they are the better, the furthest will win the election
    // and get paid this block
    //
    uint256 CMasterNode::CalculateScore(int mod, int64 nBlockHeight)
    {
        if(pindexBest == NULL) return 0;
    
        uint256 hash = 0;
        if(!darkSendPool.GetLastValidBlockHash(hash, mod, nBlockHeight)) return 0;
        uint256 hash2 = HashX11(BEGIN(hash), END(hash));
    
        // we'll make a 4 dimensional point in space
        // the closest masternode to that point wins
        uint64 a1 = hash2.Get64(0);
        uint64 a2 = hash2.Get64(1);
        uint64 a3 = hash2.Get64(2);
        uint64 a4 = hash2.Get64(3);
    
        //copy part of our source hash
        int i1, i2, i3, i4;
        i1=0;i2=0;i3=0;i4=0;
        memcpy(&i1, &a1, 1);
        memcpy(&i2, &a2, 1);
        memcpy(&i3, &a3, 1);
        memcpy(&i4, &a4, 1);
    
        //split up our mn hash
        uint64 b1 = vin.prevout.hash.Get64(0);
        uint64 b2 = vin.prevout.hash.Get64(1);
        uint64 b3 = vin.prevout.hash.Get64(2);
        uint64 b4 = vin.prevout.hash.Get64(3);
    
        //move mn hash around
        b1 <<= (i1 % 64);
        b2 <<= (i2 % 64);
        b3 <<= (i3 % 64);
        b4 <<= (i4 % 64);
    
        // calculate distance between target point and mn point
        uint256 r = 0;
        r +=  (a1 > b1 ? a1 - b1 : b1 - a1);
        r +=  (a2 > b2 ? a2 - b2 : b2 - a2);
        r +=  (a3 > b3 ? a3 - b3 : b3 - a3);
        r +=  (a4 > b4 ? a4 - b4 : b4 - a4);
    
        /*
        LogPrintf(" -- MasterNode CalculateScore() n2 = %s \n", n2.ToString().c_str());
        LogPrintf(" -- MasterNode CalculateScore() vin = %s \n", vin.prevout.hash.GetHex().c_str());
        LogPrintf(" -- MasterNode CalculateScore() n3 = %s \n", n3.ToString().c_str());*/
    
        return r
    
    How can you help?

    - Run a masternode
    - Point hashing power at my pool (I'm going to be attacking InstantX and will need most of the hashing power)
    - Test InstantX

    **** Downloads : v0.10.17.0 ***********************************

    Source: https://github.com/darkcoin/darkcoin/tree/instantx

    --

    Windows 32bit:
    https://github.com/darkcoinproject/darkcoin-binaries/raw/master/instantx/windows/darkcoind.exe
    https://github.com/darkcoinproject/darkcoin-binaries/raw/master/instantx/windows/darkcoin-qt.exe

    Mac OS X:
    https://github.com/darkcoinproject/...aster/instantx/mac/darkcoin-0.10.17.4-osx.dmg

    Linux 32bit:
    https://github.com/darkcoinproject/darkcoin-binaries/raw/master/instantx/linux/32/darkcoin-qt
    https://github.com/darkcoinproject/darkcoin-binaries/raw/master/instantx/linux/32/darkcoind

    Linux 64bit:
    https://github.com/darkcoinproject/darkcoin-binaries/raw/master/instantx/linux/64/darkcoin-qt
    https://github.com/darkcoinproject/darkcoin-binaries/raw/master/instantx/linux/64/darkcoind
     
    #1 eduffield, Nov 27, 2014
    Last edited by a moderator: Nov 29, 2014
    • Like Like x 23
  2. yidakee

    yidakee Well-known Member
    Foundation Member

    Joined:
    Apr 16, 2014
    Messages:
    1,812
    Likes Received:
    1,168
    Trophy Points:
    283
    YESSS !!! :D

    SHOTGUN !! lol ...
     
    • Like Like x 3
  3. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group Moderator

    Joined:
    Apr 8, 2014
    Messages:
    1,919
    Likes Received:
    1,278
    Trophy Points:
    1,283
    Ahhhh I was waiting for this moment.
    Testing ready...
     
    • Like Like x 3
  4. flare

    flare Administrator
    Dash Core Team Moderator

    Joined:
    May 18, 2014
    Messages:
    2,306
    Likes Received:
    2,436
    Trophy Points:
    1,183
    Awesome :)
     
    • Like Like x 2
  5. oblox

    oblox Well-known Member

    Joined:
    Aug 6, 2014
    Messages:
    1,032
    Likes Received:
    537
    Trophy Points:
    183
    eduffield Not to take thunder away from testing instantx, but the smart contract fix to the dead change issue fell flat. What timeframe can we realistically expect a fix for darksend? Is it time to bite the bullet and realize that microdenominations and future pruning are the only logical means of solving this issue with change beyond the lowest denomination going to the network (miners/masternodes).
     
  6. splawik21

    splawik21 Grizzled Member
    Dash Core Team Foundation Member Dash Support Group Moderator

    Joined:
    Apr 8, 2014
    Messages:
    1,919
    Likes Received:
    1,278
    Trophy Points:
    1,283
    - wallet = Use a wallet other than wallet.dat (UdjinM6)
    - wallet will stay locked during Darksend and only be able to mix (UdjinM6)

    very utile, I`ll mix definitly more now rather than before with always wallet opened.
     
  7. jiggytom

    jiggytom Member

    Joined:
    Nov 14, 2014
    Messages:
    104
    Likes Received:
    22
    Trophy Points:
    68
    where should we point hashing power?
     
  8. Lukas_Jackson

    Lukas_Jackson Member

    Joined:
    Nov 9, 2014
    Messages:
    160
    Likes Received:
    70
    Trophy Points:
    88
    Good I'm on holiday...and at home :D
     
  9. UdjinM6

    UdjinM6 Official Dash Dev
    Dash Core Team Moderator

    Joined:
    May 20, 2014
    Messages:
    3,637
    Likes Received:
    3,536
    Trophy Points:
    1,183
    Few notes on "locking for anonymization only" feature:
    a) This feature still need to be tested in almost every possible way to break it from usual user perspective. Though I think it should be pretty robust - don't just trust me, try to break it yourself please ;)
    b) Be aware that wallet is locked ONLY in tx sending and importing/dumping private keys code (and in UI of course), it still keeps passphrase in memory to be able to sign mixing transaction just like when you unlock it completely. So advanced hacker/trojan who can scan memory and knows exactly what he is looking for will be able to get it or switch protection off. Common security rules is still a must-to-follow anyway.
     
    #9 UdjinM6, Nov 27, 2014
    Last edited by a moderator: Nov 27, 2014
    • Like Like x 6
  10. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    What do you mean it fell flat? From what I can tell that solves the problem entirely.
     
  11. vertoe

    vertoe Three of Nine

    Joined:
    Mar 28, 2014
    Messages:
    2,574
    Likes Received:
    1,656
    Trophy Points:
    1,283
    Posting on Page 1 in an epic, game-changing thread. Can't wait to test.
     
    • Like Like x 2
  12. oblox

    oblox Well-known Member

    Joined:
    Aug 6, 2014
    Messages:
    1,032
    Likes Received:
    537
    Trophy Points:
    183
    There are a ton of unanswered questions begging for answers. Feel free to answer them and then we can re-evaluate but so far it seems you either run the risk of the receiver not having funds to send back for change (because you can't use the excess change the initial party sent), the added problems of timing and how it will conflict with instantx implementation, the security issue of needing to have the wallet unlocked in order to send the second tx, additional steps running secondary daemons, how party B gets the address of party A (address C) etc, etc. On paper, it looks like it solves it but I think a few in there don't see how it actually would when you delve into the details.

    Please, by all means, answer the questions everyone asked in the thread and we'll have a better idea of whether or not this works.
     
  13. BrainShutdown

    BrainShutdown Well-known Member
    Foundation Member

    Joined:
    Apr 8, 2014
    Messages:
    149
    Likes Received:
    71
    Trophy Points:
    188
    :D
     
  14. Propulsion

    Propulsion The buck stops here.

    Joined:
    Feb 26, 2014
    Messages:
    1,008
    Likes Received:
    467
    Trophy Points:
    183
    Dash Address:
    XerHCGryyfZttUc6mnuRY3FNJzU1Jm9u5L
    Qt shows version v0.10.16.16-39-gd839c0b-beta.

    Daemon shows 10.17.00.

    Both compiled from the instantX branch.
     
  15. Light

    Light Well-known Member
    Foundation Member

    Joined:
    Jun 4, 2014
    Messages:
    347
    Likes Received:
    258
    Trophy Points:
    233
    Holy Instant Turkey!!! I though we are gonna fix Darksend first and then start testing InstantX.

    That being said, I appreciate that you are working on this even during Thanksgiving :)
     
    #15 Light, Nov 27, 2014
    Last edited by a moderator: Nov 27, 2014
  16. crowning

    crowning Well-known Member

    Joined:
    May 29, 2014
    Messages:
    1,428
    Likes Received:
    2,005
    Trophy Points:
    183
    That would be Instant-Fix.

    First we test InstantX :tongue:
     
  17. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    https://darkcointalk.org/threads/change-contracts-using-atomic-transfers.3067/page-7#post-31090
     
    • Like Like x 1
  18. Propulsion

    Propulsion The buck stops here.

    Joined:
    Feb 26, 2014
    Messages:
    1,008
    Likes Received:
    467
    Trophy Points:
    183
    Dash Address:
    XerHCGryyfZttUc6mnuRY3FNJzU1Jm9u5L
    eduffield For masternodeminprotocol use 70046 for the config file?

    Code:
    masternodeminprotocol=70046
    Also have any addresses to send to?
     
  19. TaoOfSatoshi

    TaoOfSatoshi Grizzled Member

    Joined:
    Jul 15, 2014
    Messages:
    2,688
    Likes Received:
    2,600
    Trophy Points:
    1,183
    Fantastic! Been waiting for this moment, also! Evan, working on Thanksgiving weekend? You are truly a machine! You rocked it in that video explaining the benefits of Darkcoin, BTW! I will help in any way I can, in between getting people to SEE THE LIGHT, AND GET INTO THE DARK! :D:D:D
     
    • Like Like x 1
  20. eduffield

    eduffield Core Developer

    Joined:
    Mar 9, 2014
    Messages:
    1,084
    Likes Received:
    5,319
    Trophy Points:
    183
    Do a "git fetch origin" then qmake && make . Looks like you're missing the tag.
     
  21. Propulsion

    Propulsion The buck stops here.

    Joined:
    Feb 26, 2014
    Messages:
    1,008
    Likes Received:
    467
    Trophy Points:
    183
    Dash Address:
    XerHCGryyfZttUc6mnuRY3FNJzU1Jm9u5L
    Didn't work but that's alright. All the functionality like the "Instant X" option is present in QT nonetheless.

    Oh and it's usually on my end anyway so no worries! ;)
     
  22. Walter

    Walter Active Member
    Masternode Owner/Operator

    Joined:
    Jul 17, 2014
    Messages:
    231
    Likes Received:
    201
    Trophy Points:
    103
    This is going to be good... :):):)

    I'll set up a couple of test MNs shortly.

    Walter
     
    • Like Like x 1
  23. Propulsion

    Propulsion The buck stops here.

    Joined:
    Feb 26, 2014
    Messages:
    1,008
    Likes Received:
    467
    Trophy Points:
    183
    Dash Address:
    XerHCGryyfZttUc6mnuRY3FNJzU1Jm9u5L
    If anyone would like to send Instant X Transactions, here is my address: mtuET9MwFsL5jMWXwiN3Rdo1WyND7uG99q. Either through darksend or regular, I'm not picky.
     
    • Like Like x 1
  24. aaxx1503

    aaxx1503 Active Member

    Joined:
    Feb 28, 2014
    Messages:
    113
    Likes Received:
    106
    Trophy Points:
    93
    Hell yeah [​IMG]
     
    • Like Like x 1
  25. TaoOfSatoshi

    TaoOfSatoshi Grizzled Member

    Joined:
    Jul 15, 2014
    Messages:
    2,688
    Likes Received:
    2,600
    Trophy Points:
    1,183
    Official Twitter updated! Can I get some RTs? The world knows now! Let's do this!

    Fire up the Darkcoin Anthem, and test away....

     
  26. moli

    moli Grizzled Member

    Joined:
    Aug 5, 2014
    Messages:
    3,262
    Likes Received:
    1,837
    Trophy Points:
    1,183
    Wt... What is this?
     
  27. aaxx1503

    aaxx1503 Active Member

    Joined:
    Feb 28, 2014
    Messages:
    113
    Likes Received:
    106
    Trophy Points:
    93
    Was browsing amazon and saw this at the same time as the announcement which I found funny lol.
     
  28. moli

    moli Grizzled Member

    Joined:
    Aug 5, 2014
    Messages:
    3,262
    Likes Received:
    1,837
    Trophy Points:
    1,183
    I just sent you some tDRK to empty my old wallet on testnet. :)
     
  29. r-ando

    r-ando Well-known Member
    Foundation Member

    Joined:
    Jun 22, 2014
    Messages:
    413
    Likes Received:
    250
    Trophy Points:
    233
    I'm going to be smiling all day :)
     
  30. Propulsion

    Propulsion The buck stops here.

    Joined:
    Feb 26, 2014
    Messages:
    1,008
    Likes Received:
    467
    Trophy Points:
    183
    Dash Address:
    XerHCGryyfZttUc6mnuRY3FNJzU1Jm9u5L
    The 216.51249981 one? I received it but that was 15 minutes ago. Since then I've dropped my connection count from >10 to 4 and haven't received a block since. The TX is at 0 confirmations.

    Block count for my client is currently showing 70603 with 7 MN's.
     
Thread Status:
Not open for further replies.