It is about time that I give a progress update on my CashFusion Red Team Phase One Flipstarter.

As a reminder, the long term goal of CashFusion Red Team is to investigate any weaknesses in the CashFusion CoinJoin protocol and/or CashFusion user behavior and attempt to mitigate them. The main projects of Phase One are to improve the fusionstats.redteam.cash web app and release the rbch R package for statistical analysis of the BCH blockchain.

In the weeks after my Flipstarter was successfully funded, I stumbled upon a statistical weakness in Monero’s decoy selection algorithm. I chose to temporarily shift my focus from CashFusion Red Team to developing a plan to address the weakness, which eventually became OSPEAD: Optimal Static Parametric Estimation of Arbitrary Distributions.

Recently I have shifted back to CashFusion Red Team. So far I have accomplished about half of the tasks I set out to do.

Release of rbch

Earlier this month, the first version of rbch was approved for distribution through the Comprehensive R Archive Network (CRAN). This means that every R user in the world can now install rbch by simply typing

install.packages("rbch")

into their R console. Documentation for the package is available on the CRAN website. Special thanks to Bernhard Pfaff who wrote rbtc, which was the basis for rbch.

Improvements to fusionstats.redteam.cash

So far the improvements in the “production” instance of fusionstats.redteam.cash have been modest. Data on CashFusion transaction fees have been added to the searchable table that displays each CashFusion transaction. Automatic realtime updating of the data is coming soon.

Near-term work

Upcoming features on fusionstats.redteam.cash are being tested on beta.redteam.cash, with development work occurring on the beta branch of the GitHub repository. Already available is a Sankey diagram, which visualizes the flow of BCH into and out of CashFusion transactions.

I have posted a roadmap of features being developed for the web app. Among them are tools to calculate and visualize the quantity of BCH flowing into and out of the CashFusion “pool”. Comments on the roadmap are welcome. A revision to the aesthetics of the web app is in the works as well.

In the near future I plan to move fusionstats.redteam.cash from Njalla hosting to 1984.is, which offers VPS configurations with more resources than Njalla. As I originally said in my Flipstarter proposal that I would use Njalla for hosting, please let me know if you object to this move and I would reconsider.

I am also working on benchmarking the RPC-JSON performance of each of BCH’s full node implementations, as I mentioned in my Flipstarter proposal. Since using rbch requires processing a huge amount of data requested through RPC-JSON, these results can help myself and other users of rbch to attain the best performance.

Finally, with rbch and the igraph R package I have begun computing the proportion of the entire unspent transaction output (UTXO) set of BCH that has a CashFusion transaction as an ancestor. This is an important research question since it can give a sense of how well-integrated CashFusion is with the BCH blockchain as a whole.

This post also appeared on read.cash