Feathercoin daemon and wallet production version 0.17.0.1

Feathercoin - Analysis of possible maximum Transactions block / Dustcoin "attack" 25/10/2016


  • Moderators | Tip wrapper

    @wrapper Feathercoin - Analysis of attempted, maximum Transactions block attack / Dustcoin settings probe - 25/10/2016

    Overview and Conclusions

    This analysis is a investigation of FTC blockchain timings and activity. Over 24 Hours … from 25/10/2016, triggered by a transaction number peak level on that day.

    The high level of transactions on 25/10/2017 were analysed. In can be seen there are multiple attempts to spent thousands of dust coins. The number of transactions maxed out per block at 1100. This would need re-testeing on the test network, but the max transaction per block seen, is probably a function of the dust coin script that was run and fund limits.

    The dustcoin event started at 3:00pm 25/10/2016 and ended at 21:00pm 25/10/2016. It effected blocks 1439149 to 1439500.

    The average block time over 24hrs is bad at 2:00

    The charts are showing a positive increase in transactions / transaction values / amounts and baseline mining over the previous analysis.
    The percentage of blocks with transactions has increase compared to previous analysis, up to 34% of block from 25%. The transfer to fee rate is up at 9%.

    Transactions less fees also show a positive increase.

    The analysis is ongoing but data analysis is stored on Github :
    https://github.com/wrapperband/FTCBlockTimeAnalysis/tree/master/2016-10-25 FTCTransactionAnalysis

    Overview of the 24 Hour period 25/10/2016

    FTC Fees over 24 Hours 144000 FTC
    Transactions less fees 1320786 FTC
    9.17 x Transaction Value to Fee ratio
    Percentage Blocks with Transaction 34.89%

    Temporal Anomalies

    Block Time Trans no. Value Diff CoinDaysDest Time TranTrue TimeAnomaly
    1439647 2016-10-25 23:51:26 2 1139.14681824 7.15 121.79 02:00 1
    1439646 2016-10-25 23:49:26 1 80 7.27 0 02:01 0 1
    1439645 2016-10-25 23:51:27 4 316.97514404 7.512 17.89 05:46 1
    1438984 2016-10-25 12:11:16 2 279.71 8.094 1378.22 01:53 1
    1438983 2016-10-25 12:09:23 1 80 8.094 0 02:18 0 1
    1438982 2016-10-25 12:11:41 1 80 8.229 0 02:54 0

    This charts shows the transaction peak at 25/10/2016 :

    Transaction Peak

    Feathercoin Difficulty

    This chart shows the variation difficulty as the hash rate of different (coin switching) pools is directed a FTC. The red chart is seen to vary cyclicly at about 15 minutes.

    The blue raising line is the block against time. The less variation in has, the straighter this line will be, so it is an indicator of how much the difficulty calculator (eHRC) is being stressed.

    Transaction Peak

    Feathercoin Block Times

    In this chart the green lines show the actual block times. In this case there were no very high block times > 10 mins, but there were more block times > 8 mins than usual.

    Block Times

    Feathercoin Number of Transactions - Unscaled

    This is a new chart to analyse the high level of transactions on 25/10/2017. In can be seen there are multiple attempts to spent thousands of dust coins. The number of transactions maxed out per block at 1100. The size of an extracted csv file of 24 hours data was 25 MB, hinting a a possible test of transaction limits.
    This would need re testeing on the test network, as the max transaction per block seen, it may be a function of the dust coin script that was run.

    Frequency of Transactions

    Feathercoin Value of Transactions - Unscaled

    This shows the value of the transactions.

    Transaction value

    Feathercoin Number of Transactions - Scaled

    This chart shows the normal level of transactions, scaled down.
    Frequency of Transactions

    Feathercoin Value of Transactions - Scaled

    This scaled chart shows the normal value of transactions level.

    Transaction value

    Feathercoin Difficulty over 3 hrs early 26/10/2016

    This chart shows one of the tempoaral anomalies aftet 25/10/2016 at 11:pm till 2:45am. It is a close up of difficulty variation, over 3 hrs or so.

    Transaction value

    Feathercoin Block Time Average for each 10 Blocks 25/10/2016

    The average block time for the 24 hrs was (anomalously) high at 2 mins. As this didn’t seem consistent with the visual observation of average on the charts, it was possibly due to difficulties averaging time format in the spreadsheet.

    To confirm / check that a chart of the block time averaged was OK, a new chart was created averaged over 10 blocks.

    Transaction value


  • Moderators | Tip wrapper

    @Wrapper said in [Feathercoin Transactions and mining Difficulty - 48

    The chart for the 25/10/2016 shows a type of “attack” called a “Dustcoin attack”. Which tries to spend thousands of the lowest amount, or dust level.

    This, didn’t raise any issues. There are still question marks about, why it stopped at 1100 per block (we think 1MB) - In which case, I am postulating it was Seg-Wit Bitcoin guy doing a cheap test (10,000 transactions) of what would happen on flood.

    I would assume there would be some effect on the block time (due to the fact that eHRC can only react ), the less variation the more stable the block time will be.

    However, preliminary, it looks like FTC could handle more transactions than they could send a minute, but the jury is still out to further info.

    @AmDD said quote :

    I can provide some info here as I was the “attacker”. I simply setup a loop to send dust to another address I control. I used my VPS as the sending wallet so the loop probably just ran as fast as the VPS would allow which could be why it limited it to 1100 transactions per block. It could also have hit the block limit of 1mb, but I’m not sure how to tell if that was the case or not. I honestly thought it would be a lot higher than 1100.

    I seem to recall setting the loop to 30,000 but also that not all the transactions went through, or at least not what I expected to see. My only monitoring tools were a blockchain explorer which could skew my data.

    The purpose of the test was simply to see how the network would react. Nothing malicious intended.

    I will say that this reinforced my issue with crypto and dust. I now have a wallet (the receiving wallet) with 38,000 transactions that total 2.7FTC and I cant do anything with it due to it being all dust.


  • Moderators | Tip wrapper

    @AmDD - Thanks for the info. @Aciddude has been exporting some of the records to csv, so he may get some more information on the block sizes. We also need to keep your dust spending mining results in mind for further info.

    Any Overall details like the size of each transaction, which did or didn’t go though, how much each was for and the dust cost?


  • Moderators | Tip wrapper

    @AmDD I’ve added a bit more analysis. This is a new chart zoomed into 3pm to 9pm 25/10/2016.

    Feathercoin Number of Transactions - 3pm to 9pm 25/10/2016

    This chart shows the high level of transactions.

    Frequency of Transactions

    Feathercoin Difficulty - - Zoomed into 3pm to 9pm 25/10/2016

    This chart shows the variation difficulty zoomed into the dustcoin event. It shows the variation of Difficulty as the hash changes. Bottlenecks in making dust transactions will occur if the high hash is not accepting them and they are not required to take such a proportion, as is taken.
    The zoom chart shows the timings in more detail, so you can see as the block times increase.

    Transaction Peak

    Feathercoin Block Times - Zoomed into 3pm to 9pm 25/10/2016

    This chart shows Block times during the high level of transactions, zoomed in to 3pm to 9pm.

    Frequency of Transactions

    Feathercoin Transaction Values - Zoomed to 3-9pm 25/10/2016

    This chart shows Transaction Values during the high level of transactions, zoomed in to 3pm to 9pm.

    Frequency of Transactions


  • Moderators | Tip wrapper

    Feathercoin High Value Block 9-11:30pm 25/10/2016

    Transaction value

    Feathercoin Difficulty zoomed in to 9-11:30pm 25/10/2016

    The high value event crca 12:40pm does not seem to be co-incident with a high hash / difficulty event.
    Perhaps a reason multipools should review their switching policy, the algoryths make the assumption the block fee is the only income.

    Transaction value


  • Moderators | Tip AcidD

    I did a “getpeerinfo” when had 83 peers connected to my Block Explorer

    https://fsight.chain.tips/FTC_connected_nodes_23_05_2017.xlsx

    On the above Excel sheet i’ve highlighted old clients and clients that shouldn’t be connecting to the FTC network.


  • Regular Member | Tip FlatBlack

    @aciddude soori to interupt…
    .
    by ‘clients that shouldn’t be connecting to the FTC network.’… can elaborate a bit more…?
    .
    again, so soori to interrupt…


  • Moderators | Tip AcidD

    @FlatBlack said in Feathercoin - Analysis of possible maximum Transactions block / Dustcoin "attack" 25/10/2016:

    @aciddude soori to interupt…
    .
    by ‘clients that shouldn’t be connecting to the FTC network.’… can elaborate a bit more…?
    .
    again, so soori to interrupt…

    Have a look at the sheet and you tell me 😉


  • Moderators | Tip wrapper

    @FlatBlack You can use the Debug console in the help menu of the Feathercoin Wallet to send instructions and poll the network. One of those commands is “getpeerinfo” which tells the IP addresses connected to that node.

    The original Bitcoin code from Satoshi, the peers.dat file was a text document, it has since been changed to a binary format. But, it is a peer to peer network and the code needs to connect to someone …

    I suggest reading the Feathercoin guide :
    https://github.com/wrapperband/FeathercoinWalletGuide


  • Moderators | Tip wrapper

    @AmDD Further to consolidating dust payments, I was readings this :

    https://bitcoin.stackexchange.com/questions/5583/how-can-i-combine-all-the-tiny-amounts-ive-received-to-minimise-transaction-fee

    I’m sure similar criteria apply to FTC blockchain. e.g.

    Quote :
    "If your coins are old enough (say, 3 months for 10 BTC and a 200KB transaction size) [3], then the official client might not enforce the minimum fee on your transaction. Otherwise you may need to use a modified client that doesn’t enforce a minimum fee.

    In any case you will need to point your client to Lightfoot Hosting’s free transaction relay, which will relay any transaction to the network [2], so it can be picked up by Eligius."

    However, looks like over 1/3 of your dust payments got through. It would be interesting to see if that was due to the high proportion of Feathercoin p2pool, or other pool types not adjusting to prefer certain transactions.


  • Regular Member | Tip FlatBlack

    @aciddude 👍🏼 😅


  • Regular Member | Tip FlatBlack

    @wrapper thanx for d ‘simple-guide’ n link… 🙇🏻


  • Regular Member | Tip AmDD

    @wrapper said in Feathercoin - Analysis of possible maximum Transactions block / Dustcoin "attack" 25/10/2016:

    @AmDD Further to consolidating dust payments, I was readings this :

    https://bitcoin.stackexchange.com/questions/5583/how-can-i-combine-all-the-tiny-amounts-ive-received-to-minimise-transaction-fee

    I’m sure similar criteria apply to FTC blockchain. e.g.

    Quote :
    "If your coins are old enough (say, 3 months for 10 BTC and a 200KB transaction size) [3], then the official client might not enforce the minimum fee on your transaction. Otherwise you may need to use a modified client that doesn’t enforce a minimum fee.

    In any case you will need to point your client to Lightfoot Hosting’s free transaction relay, which will relay any transaction to the network [2], so it can be picked up by Eligius."

    However, looks like over 1/3 of your dust payments got through. It would be interesting to see if that was due to the high proportion of Feathercoin p2pool, or other pool types not adjusting to prefer certain transactions.

    This was long enough ago that I dont remember the details and I didnt record the data anywhere. That being said, I remember doing 2-3 different runs, one of which was looped about 30,000 times. I recall seeing on the explorer that the transactions in the blocks did not add up to the 30-40,000 total transactions BUT my receiving wallet does have about 38,000 transactions into it so they all must have gone through. I’ll look into what my options are with the dust now - or Ill just hold it until FTC is $1000 each 🙂


  • Moderators | Tip wrapper

    @AmDD cheers for the info.

    @Flatblack

    I assembled a guide for moderators doing support or FAQ, and not so frequently asked questions, you may find an informative read …

    [Support] Mode of Failure Analysis. Part 1 - Faults, Causes and Solutions
    http://forum.feathercoin.com/topic/4606/support-mode-of-failure-analysis-part-1-faults-causes-and-solutions

    [Support] Mode of Failure Analysis. Part 2
    http://forum.feathercoin.com/topic/4694/support-mode-of-failure-analysis-part-2-faults-causes-and-solutions

    [Support] Mode of Failure Analysis. Part 3
    http://forum.feathercoin.com/topic/4946/support-mode-of-failure-analysis-part-3-faults-causes-and-solutions


  • Regular Member | Tip FlatBlack

    @wrapper ayyyee, fren…
    🙇🏻 thanx a lot wit d links…
    much appreciation…


  • Regular Member | Tip gonnaforget

    What’s up with all these attacks against FTC? Was it because there was someone who was big into a competing coin, or was it just for fun?


  • Moderators | Tip wrapper

    @gonnaforget said in Feathercoin - Analysis of possible maximum Transactions block / Dustcoin "attack" 25/10/2016:

    What’s up with all these attacks against FTC? Was it because there was someone who was big into a competing coin, or was it just for fun?

    There are a few things quoted as “Attacks”. There have not been times when it is proved there is a deliberate attack, i.e. someone has paid or has enough power to try to double spend.

    This resulted in the first major update to Feathercoin to implement Automatic Check pointing or ACP. Once this happened and there was a “double spend issue”, FTC would reject that chain - i.e. It becomes an Orphan chain.

    However, Feathercoin still abides by the normal rules and the longest chain wins. So there are 2 competing chains untill the attacker error chain gives up or the normal chain becomes longer.

    There similar reasons Bitcoin has also suffered longer orphan chains than originally specified, but FTC does suffer a couple of long chains early on.

    There is another known “attack”, it turned out to be someone testing, one was an attempt to flood the network with dust payments, was noticed later but had no detrimental effect.

    I designed eHRC initially as a potential replacement for ACP but in the end it was used to reduce the effect of coin switching. It does make it harder for someone to achieve network dominance for long enough to do anything. So we don’t tend to get the long orphan chains.