• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

v0.10.16.x Testing

Status
Not open for further replies.
Ok, so I'm not able to follow along, but interesting note (maybe) is that, I just started up my testnet wallet, and set it to denonminate 8 rounds and was immediately charged one 0.001 and one 0.100 DRK. I'll be back in a few hours.
 
Hummm, my wallet crashed. Were we supposed to use a fresh wallet? Anyway, I'm saving my debug file in case you want it, Evan. I was only trying to denominate, I wasn't a masternode.
 
2 tMN on the way~



Edit: Now, Both of my tMN are not showed in the list. Before they disappear from the list, their status showed "0" on the list. logs sent....
 
Last edited by a moderator:
We're going to be testing v16 to see if we can find any issues before launching on mainnet. This branch is the full release of what I had done of InstantX, but with InstantX disabled, so there's a lot of changes:


What we need to launch:

- We need masternodes

2 tMN on the way~

Why does it seem to show a few MNs when I run masternode list and then 5 min later they are gone and now one is showing 0

now I see MN sending to many dsq messages
 
Last edited by a moderator:
My wallet is telling me "not capable masternode". I think it's fully capable....
 
Up to 31 PTY, no denominations... coin control has wacky denoms, 1024, 512, 256, 128, 64, 32, 16 unlike the regular 100, 10, 1. After awhile, darksend said disabled and the button still specified stop darksend mixing as if it was still running. Getting some errors about darksend transaction being too recent as well.
 

Attachments

  • debug.TXT
    720.1 KB · Views: 137
Why does it seem to show a few MNs when I run masternode list and then 5 min later they are gone and now one is showing 0

now I see MN sending to many dsq messages

Same thing happened here. One of my tMN showed 0 in masternode list but it shows
masternode started remotely in the masternode debug.

And yes, so many dsq -- masternode sending too many dsq messages. xxx.xxx.xxx.xxx:19999

Don't know if it's normal for debuging?
 
Did that several times. Starting from scratch again.

- Privekey is the same in Local&Remote?
- testnet = 1?
- masternodeaddr is correct?
- restart my Local&Remote
Then, it works....

That's what i did when it happened 2 hourse ago.. Hope may help.

BTW. it need 15 confirms before create a new tMN with a new wallet.
 
Hummm, my wallet crashed. Were we supposed to use a fresh wallet? Anyway, I'm saving my debug file in case you want it, Evan. I was only trying to denominate, I wasn't a masternode.

Same here.. after 3rd round completed - 200/8

edit: And again after restart when I press "Start Darksend Mixing"
 

Attachments

  • debug.txt
    66.9 KB · Views: 133
Last edited by a moderator:
Windows wallet keeps seeing 0 masternode count.

I guess we need to stop and wait for the wallet update tomorrow?
 
Thank you for the quick testnet implementation of a fix. I got a few questions and concerns regarding this implementation though.

- Masternodes can now make a limited number of zero-fee transaction for Darksend. These are special transactions that require a signature that only the masternodes can create.
Interesting. How many zero-tee Txs can they make within what time frame? How is this enforced? What if the network grows and more and more pool adapt a "only Txs with fees policy" (like it's becoming the case in the Bitcoin network)? Is it viable for an attacker to get several Masternodes in order to spam the network? (He can send the 1k DRK to another MN address and keep going).
Also, this might cause masternode pools and private masternodes to arise, which do not require a proof of payment (subscribtion). A group of people could use those nodes without paying or supporting the network (which in turn might lead to a faster adaption of the "only Txs with fees policy", which will make the zero-fee transactions of masternodes useless.
I am not saying it is useless, but when DRK evolves, some of those things might become a problem.

- Darksend now has no fees to track what-so-ever, all that will ever be in Darksend transactions are Darksend denominations.
- I've implemented a subscription based model for darksend, the per-round idea was flawed and could have been attacked. Instead, the subscriptions are the exact amount as a collateral charge, so if you get charged collateral it's actually just buying more time for Darksend.
How exactly do they work? Who is getting the subscription and where is it paid from? How long is a subscription valid for? Is it for a specific amount of time, a specific amount of blocks, or a specific amount of darksend rounds?
How do you proof you have an active subscription to a MN? There has to be some proof of payment, likely a TxID that's been signed. However, in this case the masternode still knows the address paying the fee - it's the address that signed the proof of payment. This address might not be in the blockchain, but a masternode could still get the 3 origin address by looking up the addresses that signed the proof of payment and then go on de-anonymizing the participants. Ofc this only works for the last MN in the darksend chain.
Besides, I don't see paying a fee per round as being a flawed idea. It's just the current implementation that has been flawed. I think it can work great.
- Clients remember which masternodes they've connected to in the past and won't use them against.
I really like this addition. It seems so little but it's actually a really good improvement for anonymity.

Many thanks go to Aswan for finding the security issue with Darksend, donations for the work can be sent here:
DRK: XnNazPB1fPS59P9CfEtZWtqcmDttFWNj7A
BTC: 1FGJjQHesURPnLWFEU1R5fZy8PdP7KBkEY

Thank you eduffield

And thanks to everyone for the kind donations :)
 
How can I start a hot test MN? Is putting a 1000drk and masternode=1 in conf file enough?
It needs an additional masternodeprivkey=xxxx... line in darkcoin.conf (generate the value with 'masternode genkey') and after a restart you'll need a "masternode start" to finish it.
 
****** PLEASE UPDATE TO v10.16.2 *******

- Fixed errors in new matching algorithm (causing collateral charges)
- Removed subscriptions, instead collateral will be charged randomly (0.1DRK, 1 in 10 sessions or so). Collateral is paid directly to the miners, so this should give them enough incentive to mine the free transactions.
- Fixed DoAutomaticDenomination issues, was happening every second
- Added variable session amounts to improve anonymity and matching
- Allow collateral to be created from denominated money (more anon)
- Fixed "masternode sending too many dsq messages" problems, shouldn't see that anymore

----

CI-builds for v0.10.16.2

Source:
https://github.com/darkcoin/darkcoin/tree/ds-zero-fee/src

Windows 32bit:
http://bamboo.darkcoin.qa/artifact/DRKW-DEV/JOB1/build-31/gitian-win-darkcoin-bin/32/darkcoin-qt.exe
http://bamboo.darkcoin.qa/artifact/...tian-win-darkcoin-bin/32/daemon/darkcoind.exe
http://bamboo.darkcoin.qa/artifact/...oin-bin/32/darkcoin-0.10.16.2-win32-setup.exe

Mac OS X:
http://bamboo.darkcoin.qa/artifact/...-osx-darkcoin-dist/darkcoin-0.10.16.2-osx.dmg

Linux 32bit:
http://bamboo.darkcoin.qa/artifact/.../gitian-linux-darkcoin-bin/bin/32/darkcoin-qt
http://bamboo.darkcoin.qa/artifact/DRKL-DEV/JOB1/build-32/gitian-linux-darkcoin-bin/bin/32/darkcoind

Linux 64bit:
http://bamboo.darkcoin.qa/artifact/.../gitian-linux-darkcoin-bin/bin/64/darkcoin-qt
http://bamboo.darkcoin.qa/artifact/DRKL-DEV/JOB1/build-32/gitian-linux-darkcoin-bin/bin/64/darkcoind
 
Thank you for the quick testnet implementation of a fix. I got a few questions and concerns regarding this implementation though.

Interesting. How many zero-tee Txs can they make within what time frame? How is this enforced? What if the network grows and more and more pool adapt a "only Txs with fees policy" (like it's becoming the case in the Bitcoin network)? Is it viable for an attacker to get several Masternodes in order to spam the network? (He can send the 1k DRK to another MN address and keep going).
Also, this might cause masternode pools and private masternodes to arise, which do not require a proof of payment (subscribtion). A group of people could use those nodes without paying or supporting the network (which in turn might lead to a faster adaption of the "only Txs with fees policy", which will make the zero-fee transactions of masternodes useless.
I am not saying it is useless, but when DRK evolves, some of those things might become a problem.

How exactly do they work? Who is getting the subscription and where is it paid from? How long is a subscription valid for? Is it for a specific amount of time, a specific amount of blocks, or a specific amount of darksend rounds?
How do you proof you have an active subscription to a MN? There has to be some proof of payment, likely a TxID that's been signed. However, in this case the masternode still knows the address paying the fee - it's the address that signed the proof of payment. This address might not be in the blockchain, but a masternode could still get the 3 origin address by looking up the addresses that signed the proof of payment and then go on de-anonymizing the participants. Ofc this only works for the last MN in the darksend chain.
Besides, I don't see paying a fee per round as being a flawed idea. It's just the current implementation that has been flawed. I think it can work great.

The zero-fee throttling is enforced by the queuing system here:

https://github.com/darkcoin/darkcoin/blob/ds-zero-fee/src/darksend.cpp#L159

Basically, what's happening is the masternodes aren't allowed to send queue messages more often than the rest of the network (with a good margin of error in the calc). So when connecting to a masternode, it's best to connect to one that hasn't been used recently, otherwise now it will reject you and tell you to go elsewhere. This serves two purposes, 1.) to stop queue gaming (sending out DSQ's all of the time to collect as many sessions as possible) 2.) To limit the amount of transactions a masternode can make. You'll notice only other masternodes can increment the counter.

After a queue message is accepted, the masternode is flagged as able to send 1 free transaction. Each Darksend session broadcasts a DSQ to the whole network, so this means the whole network knows that masternode is able to send that transaction, including the miners.

What if the network grows and more and more pool adapt a "only Txs with fees policy" (like it's becoming the case in the Bitcoin network)? As in the Bitcoin network, we're aiming at implementing header-first blocks (InstantX benefits from this too). This should allow the network to grow and process these transactions with very little effect on the miners.

I've ditched the subscription concept in favor of randomly charging the collateral as a fee. This is paid directly to the miners, so it'll actually pay for the free blocks they mine. With per-round fees attached to the translation we really can't get the fee's below 0.0125DRK, which is really expensive if you're anonymizing 1DRK. However, with free-transactions and collateral, the system could take different amounts of collateral depending on which denominations are used. E.g. Charge 0.005DRK for 8 rounds of 1DRK., 0.02DRK for 8 rounds of 10DRK, etc.

The other issue with fees, you would mix for example 10 fees at once up front with 3 other people. Now every round in the Darksend transaction you make ,they're all traceable back to that transaction ID (which gives you 9 possible users for 8 rounds, with 3 different mixing TXIDs). Whereas without fees, there's nothing to track, so 8 rounds could be 8^3 users. I think this idea scales and is a huge improvement to the anonymity.
 
Last edited by a moderator:
Status
Not open for further replies.
Back
Top