- Disabled collateral charging for now. We'll work on this after RC4 is released and update the masternode network after it's working properly. It's not incredibly important at this stage (while we're closed source), so I don't want it holding up the release. Plus it's really the only issue we're experiencing
- Merged rebroad's (https://github.com/rebroad) changes to bring debugging output more in line with the bitcoin project. Output is now much cleaner and can be split by category.
- Removed some debug messages
- Merged mac/windows build icons
- Fixed windows "Apply" configuration bug
- Darksend now shows address instead of "n/a"
- Incremented protocol version to kick off old versions that charge fees. Fees should be completely gone now.
- Added GUI configuration for Darksend Rounds, Enable Darksend and Anonymize amount of DRK
- Removed 5000DRK hard limit
- Fixed another cause of getting hit by collateral
- Send dialog now shows selected balance (Anon, non-anon and Total)
This version uses the new queuing system to seek out compatible transactions (where the same denominations are used). It's also enforcing these limitations now, so it might be a bit slower.
All transactions after this should look like this one:
http://test.explorer.darkcoin.fr/tx/6de2c5204abdea451da930f61bae0f954eef13188a3a37a572a24c9d92057d5d
-
I've switched up the way the masternode network works. 1.) Users now will join a random masternode (1 of the entire list, just completely randomly) 2.) Upon joining if it's the first user, the masternode will propagate a message stating it's taking participants for a merge 3.) Another user will check that queue, if it's got a recent node, it will try that node first, otherwise it will go to 1.)
-
Darksend limited to 5000DRK per wallet.dat. Client will warn about this the first time it's opened, then disable darksend from then on.
-
Fixed some bugs with connecting to the correct masternodes
-
Send was sending way too many coins for all modes, (I sent 100DRK anon and it sent 2000DRK, then sent me change for the rest causing a whole reprocess of everything in the wallet)
-
Client now updates Anonymized balance when you send money out
-
Fixed coin locking issues
- bugfixes
- Added session IDs for masternode communication. Clients were getting confused when they got messages about other sessions (sometimes happened when they all jumped on the same masternode at once)
- Added a pre-session state where the client will query a random masternode and ask if they can perform a merge on N darkcoin without giving any other information. If that amount is compatible without losing anonymity, the client will then add it's entry for merging
- Added code to randomly use the top 20 masternodes, this can dynamically be increased as more transaction traffic starts to happen (although it's not implemented but it could be done later)
- After successful transactions clients will now automatically attempt another session on a random masternode, then repeat until they get any kind of error or run out of funds that need to be processed.
- Fixed a change address reuse issue
- Fixed an issue with the compatible join algorithm (Masternodes will only join the same denominations, this wasn't always the case before)
- Inc protocol to kick old users odd again
- Fixed an issue where clients weren't connected to the correct masternode
- Fixed masternode relay issues
- Anonymous Balance now calculates correctly
- Inc protocol to kick old users odd again
- This version automatically resets the masternode state machine after a short period of inactivity.
- Updated protocol version to kick old masternodes off
- Fixed change calc for Denominations in GUI
- Flare found a logging error for dseep, fixed
- Collateral now includes a fee (sometimes they took forever to get into a block)
- Found race condition with new blocks and clearing darksend entries that was causing some collateral fees
- Found a communication mix up where clients would see messages from the wrong masternode and think it was theirs, also causing collateral fees
- Added "Anonymized Balance" to overview
- Added "anonymized_balance" to getinfo
- Changed dropbox box on Send Dialog to be clearer
- Added text to the confirmation screen with what funds will be sent
- incremented protocol version to force masternode updates
- Darksend Denominate Outputs are now in a random order:
http://test.explorer.darkcoin.fr/tx/072ca56cbf705b87749513a2d2ee02080d506adcf8fe178f6dc2967f0711788e http://test.explorer.darkcoin.fr/tx/32daa8ca46462e7e99f3532251d68a8c3835a080c937bd83b11db74e47b770ff
- Darksend now uses 3 participants instead of two.
- SplitUpMoney can now make collateral inputs when needed
- Transactions now shows darksend transaction types for easier understanding of what's going on:
- Fixed a couple more cases where collateral was charged when it shouldn't have happened (let me know if it happens after this version)
- Fixed the money destruction bug, it was caused by "darksend denominate 8000". I missed a reference and the client passed an empty address to SendMoneyToDestination. rcp darksend source: http://pastebin.com/r14piKuq
- Unlocking/Locking wallet fixes (was spamming the logs)
- Unencrypted wallet fixes (was trying to lock every 10 seconds)
- Flare found and fixed an issue with DGW3 for win32
- Added Darksend detection to the UI
- fixed senttoaddress, it will use all inputs when darksend is disabled now. Otherwise it will ONLY use non-denom.
- "darksend addr amount" now returns the hash of the transaction it creates
Another huge update to the RC client, most of these are stability fixes and anonymity improvements:
- Removed "darksend denominate", darksend now will figure out the most it can denominate. Use "darksend auto" instead.
- Fixed "Unknown State" display error
- Fixed 0.0025 collateral issues caused by issues in the state machine, you should only be charged this amount now if you shutdown your client during the Darksend process.
- Client will only submit 1 transaction into the pool fixing possible anonymity issues
- Masternodes will only merge compatible transactions using the same denominations. For example (500,500,100) would be able to merge with (500,100), (10,1) with (10,1,1), but not (500,1) with (10,1). This improves the anonmity by not allowing someone to follow transactions by the missing denominations.
- Transactions use unique change addresses for every output of each round.
- QT GUI will now ask to unlock the wallet when it detects Darksend wants to do something and lock it when it's done again.
- Darksend is turned off by default in the daemon now. In most cases daemons won't want to run with anonymity (pools, exchanges, etc), if a user does they can override the default setting with -enabledaemondarksend=true
- Fees per round of Darksend are 0.001DRK or $0.00538 at current prices. This means to anonymize 1000DRK with 3 rounds (an average use case) it would cost a user 1.5 cents.
- Protocol version is updated to kick old clients off testnet
DS+ seems to be pretty stable now :-)
-
SplitUpMoney now calculates the balance correctly
-
Denominations are now 1 satoshi higher (denominated inputs will have to be regenerated as the client will not recognize the old ones)
-
SplitUpMoney does a better job of splitting up really large wallets now
-
Fixed crashing issues
-
Added possible fix for masternode list syncing
-
RPC calls are changed a bit:
darksend denominate 100 - Will denominate 100DRK darksend auto - Will run AutoDenominate darksend Xaddr 100 - Will send 100 denominated DRK to Xaddr sendtoaddress Xaddr 100 - Will send 100 non-denominated DRK to Xaddr
- Fixed a few issues with input selection causing the "Insufficent Funds 2" error
- Masternodes now reset themselves when they give "entries is full". Not sure what's causing it but a client will just try again
- Improved the split up function
- Fixed issues with AutoDenom in wallets larger than a few hundred
- Fixed a case for collateral charges where the client gave up when it shouldn't have
- Input selection will now only select denominated, non-denominated or all inputs. This caused ds+ inputs to get interrupted by the splitting mechanism sometimes.
- Added new GUI element for selecting which inputs you want to send
- Fixed darksend+ rounds function, it was returning bad data in some cases causing darksend inputs to never stop being sent through darksend.
- Fixed "Send" dialog to be able to use the different kinds of inputs available. Sending anonymous transactions should now work properly.
- Fixed some coin select issues
- Collateral selection issues
- SplitUpMoney was sending denominated inputs and destroying the anonymity
DoAutoDenominate should work in nearly all cases now. However, there are some known issues:
- Random collateral charges (still will happen, but it's more uncommon.)
- Password protected wallets
Testing commands, you can start multiple wallets up and all denominate on the same masternode for testing purposes: /darkcoin-qt -datadir=/home/user/.darkcoin -listen=0 -darksendrounds=8 -usemasternode="192.168.56.102:19999" /darkcoin-qt -datadir=/home/user/.darkcoin2 -listen=0 -darksendrounds=8 -usemasternode="192.168.56.102:19999"
and even disable darksend auto-denom if wanted: /darkcoin-qt -datadir=/home/user/.darkcoin -listen=0 -darksendrounds=8 -usemasternode="192.168.56.102:19999" -disabledarksend=1
- Added a smart input splitting method. Place 1000+DRK into a brand new wallet and it will be split into many inputs compatible with Darksend
- DoAutodenomination now tries the correct balance (it was getting stuck on the wrong inputs)
- "entries is full" fix for at least one of the causes
- Changed merging parties to two for easier debugging.
- Fixed mod again (missed the one for the actual command you guys are using, I was overriding the default there)
- Fixed AutoDenominate. It seems to work pretty well now.
- Inputs that are large will be broken up automatically for denomination
- Masternodes should change every block now (missed a mod=10 last time)
- Mixing requires 5 clients to merge now, should improve anonymity.
- Mixing rounds are limited to 1000DRK, per block
- Masternodes should change every block now
- DoAutomaticDenomination should happen every block now
- DarkSendRounds had a bug that I fixed, should calculate correctly now
This is a pretty large update to the RC client.
- New column "Darksend Rounds" in coincontrol to show how secure a given input is
- Fixed a few issues causing darksend to fail. We should see many more darksends occuring now if it's fixed.
- Redid denominations to 1, 10, 100, and 500. Maybe this is too simple, but it seems effective, all change from transactions will de denominated automatically again through darksend for the next transactions. We'll see how it works.
- usemasternode option, will override active masternode (only in RC, just for testing)
- min merged transactions
- Fixed payout issues (masternode consessus was paying out to vout(0) by default)
- Improved DarksendInput add entry verification. Masternodes will now reject transactions that look like fees are too low, too high, have spent inputs, etc.
- Incremented protocol version to kick off clients with vout(0) payment bug
- DoAutomaticDenominations 100DRK limit changed to 500DRK (we should see a bunch of denominations happen now)
- Fixed a signing bug with the masternode voting system causing a bunch of issues
- Updated unit tests
- Incremented protocol version to kick off clients with signing bug
- resolves issue with wallet not syncing by adding the capability to retrieve nodes through dnsseed (see dashpay/dash#21)
- Linux 32 and Mac OS X are now officially supported platforms (see dashpay/dash#17)
- improved overall unit test code coverage (see dashpay/dash#13 and dashpay/dash#15)
- minor documentation updates (dashpay/dash#18)
- improved distribution packaging (win: zip, linux: tar.gz, osx: dmg)