{
  "id": 6409286,
  "title": "CTF Defcon 2019 — CaptureTheCoin Write-up — Linkable payment 300",
  "url": "https://urgent.news/2026/09/09/ctf-defcon-2019-capturethecoin-write-up-linkable-payment-300",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-09T10:28:31.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/vietjovi/ctf-defcon-2019-capturethecoin-write-up-linkable-payment-300-2d2b"
  },
  "original_language": "en",
  "account": "The challenge involves identifying a flaw in a digital currency client using a CryptoNote key/transaction model. The goal is to obtain the tracking key of a node running this client. The node being targeted is misconfigured, and its error log is publicly accessible via an RPC endpoint. The challenge provides two files: txs.json, containing the transactions, and err_log.json, containing the error logs.\n\nThe setup involves a destination key, P = rA, and a one-time public key, P = aR, with the tracking key being the single 160-bit hexadecimal number a. The elliptic curve used in this challenge is brainpoolP160r1.\n\nThe task is to find the tracking key by analyzing the transactions and error logs. The transactions in txs.json are found to be invalid, with their destination keys not matching the expected format. The error logs in err_log.json indicate an \"UndefinedComparisonError\" for each invalid transaction.\n\nBy examining the error logs, one can determine the tracking key (a) by comparing the destination keys (P) in the invalid transactions to their corresponding points on the elliptic curve. The valid points on brainpoolP160r1 can be checked using SageMath, and the B value from the invalid transactions can be calculated using the expression B = (Y^2 - X^3 - A*X) mod p. Once B is determined, the tracking key a can be found, which serves as the flag for the challenge.",
  "summary": "Defcon 2019 CTF Write-up - CaptureTheCoin Website: https://capturethecoin.org/ Linkable Payments Score: 300 The Question: Your goal is to recognize a flaw in a particular implementation of a digital currency client, that utilizes CryptoNote key/transaction model, and use it to get the tracking key of the node running this client. Setup The node that you are targeting is misconfigured; it's error…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}