Bitcoin Fog operator’s conviction upheld without Chainalysis disclosing source code

By CryptoSlate | Created at 2026-10-14 16:08:08 | Updated at 2026-10-14 20:38:48 5 hours ago

The Bitcoin Fog appeal upheld expert testimony based on proprietary wallet tracing, with explained methods and corroboration supporting its admission. Roman Sterlingov’s effort to obtain the software’s source code failed on the record presented to the courts.

Blockchain analysis company Chainalysis drew attention to that result in October 13 commentary, presenting it as further validation of its Reactor software. The judgment itself came on September 25, when the D.C. Circuit affirmed Sterlingov’s convictions and 150-month sentence for operating Bitcoin Fog, a service that mixed users’ bitcoin to obscure transaction trails.

The decision matters because it explains how proprietary analysis became usable courtroom evidence and why this particular disclosure challenge failed. Its reasoning keeps three questions separate: whether expert testimony is reliable enough to admit, whether addresses have been attributed correctly, and what that evidence establishes about a person.

How the court assessed wallet tracing

Under Federal Rule of Evidence 702, the party offering a qualified expert must demonstrate, more likely than not, that the testimony will help the fact-finder, rests on sufficient facts or data, uses reliable principles and methods, and reflects a reliable application of those methods to the case.

Daubert supplies considerations for that reliability inquiry, including testing, peer review, known or potential error rates, and general acceptance. The appeals court explained that these considerations are flexible and nonexhaustive.

The appellate posture also matters. The panel reviewed admission of the testimony for abuse of discretion, recognizing the trial judge’s latitude both in deciding how to assess reliability and in reaching a reliability determination.

FBI witness Luke Scholl and Chainalysis analyst Elizabeth Bisbee testified that Reactor clustered and attributed more than 900,000 Bitcoin addresses to Bitcoin Fog.

The opinion describes three kinds of clustering heuristics, or inference rules. Co-spend clustering treats addresses used together as transaction inputs as being controlled by one person or entity. Behavioral clustering looks for matching transaction patterns, including change-address behavior and digital fingerprints. Intelligence-based clustering adds information from sources such as data leaks, court documents and data partnerships.

The prosecution’s case also contained evidence beyond clustering. The opinion recounts IP-overlap analysis, Sterlingov’s earlier activity concerning mixers and darknet promotion, financial records, and Bitcoin Fog’s cessation of operations shortly after his arrest.

What the checks actually showed

Both Reactor witnesses acknowledged that the software had not been peer-reviewed and that they did not know its error rate. The panel nevertheless found other markers of reliability: the witnesses’ experience, comparisons with information obtained later through legal processes, use by law enforcement and private-sector specialists, explanations of the methods, and corroboration.

Two checks deserve particular care. First, the opinion cites a government contractor’s confirmation that Reactor correctly clustered and attributed 99.9% of a large group of addresses in another case. The opinion supplies that percentage without a complete public sampling design. Its stated scope is those addresses in that other case; using it as a product-wide error rate would expand the result beyond that scope.

Second, Scholl checked five known addresses used by Bitcoin Fog during the government’s undercover transactions. Reactor’s Bitcoin Fog cluster contained four. Sterlingov characterized the result as a 20% error rate, but the panel accepted the trial court’s explanation that Reactor was conservative and underinclusive for the purposes of this case.

Missing a known service address and wrongly assigning an unrelated address to that service are different errors.

A separate empirical study illustrates the value of comparing attribution with known service data. The 2025 Ghost Clusters paper compared Chainalysis attribution with seized-wallet data from BestMixer, Hansa Market and Wall Street Market. It found conservative coverage and few but nonzero false positives, with coverage varying across services and their historical periods.

The researchers compared attribution snapshots across the three services’ historical periods. The paper appeared after Sterlingov’s 2024 trial.

Why the source-code challenge failed

The district court ordered Reactor’s heuristics and underlying assumptions made available to Sterlingov’s counsel and qualified experts under a protective order. It restricted Sterlingov’s personal access because of concerns that the information could help someone circumvent tracing techniques. The panel also noted that Sterlingov’s experts had refused to review the disclosures regardless of the protective order’s scope.

Access to those materials was distinct from access to the program’s source code. The appellate opinion says the district court repeatedly asked Sterlingov to explain why the code was material and relevant to his defense. He did not provide that explanation. The panel also noted that the trial court had displayed willingness to provide the code if the need was justified.

The constitutional arguments faced additional appellate limits. The constitutional objections newly advanced over access to the full software, including code, received plain-error review because they had not been raised below. A previously raised objection concerned Sterlingov’s personal access to the heuristic material. The panel distinguished the two, while saying the constitutional claims were unpersuasive under either discussed standard.

The Confrontation Clause argument also failed. The panel rejected the theory that the machine-generated outputs required source-code disclosure under the right to confront witnesses. Even if it accepted Sterlingov’s argument that human programming judgments made the outputs an inference from a human-designed model, it said that would not require production of the code on the facts presented.

Due process involved both forfeiture and an alternative substantive conclusion. Sterlingov’s opening appellate brief did not contest denial of the Rule 17(c) subpoena request, so the panel found that challenge and due-process claims bound up with it forfeited. It also rejected an independent due-process theory because he had not shown a material impairment of his defense.

 corroborated Reactor testimony upheld, heuristics available to counsel and qualified experts, and source-code demand rejected without an explained material need. The result is case-specific.

Which inference the evidence must support

The older research helps explain why service attribution and personal ownership need separate treatment. Sarah Meiklejohn and colleagues’ 2013 Bitcoin clustering paper distinguished control of an address from ownership of customer funds: a wallet service can control addresses holding money owned by different users.

The paper also warned that its change-address heuristic could make incorrect links that merge unrelated clusters, particularly as transaction behavior changes.

Evidence naming a service has a different job from evidence identifying its operator or establishing a customer’s ownership.

The evidence rules retain a route for probing an expert’s basis. Rule 705 allows an expert to state an opinion without first setting out the underlying facts or data unless the court orders otherwise, but permits requiring disclosure of those facts or data on cross-examination.

The practical lesson from Sterlingov is therefore specific. Explained methods, corroboration and protected access to methodology can support admission of proprietary tracing testimony. In this case, the failure to explain the code’s material connection to the defense and the way the objections were raised helped defeat the disclosure challenge.

Read Entire Article