monero/utils
jeffro256 b0bf49a65a
blockchain_db: add k-anonymity to txid fetching
Read more about k-anonymity [here](https://en.wikipedia.org/wiki/K-anonymity). We implement this feature in the monero daemon for transactions
by providing a "Txid Template", which is simply a txid with all but `num_matching_bits` bits zeroed out, and the number `num_matching_bits`. We add an operation to `BlockchainLMDB` called
`get_txids_loose` which takes a txid template and returns all txids in the database (chain and mempool) that satisfy that template. Thus, a client can
ask about a specific transaction from a daemon without revealing the exact transaction they are inquiring about. The client can control the statistical
chance that other TXIDs (besides the one in question) match the txid template sent to the daemon up to a power of 2. For example, if a client sets their `num_matching_bits`
to 5, then statistically any txid has a 1/(2^5) chance to match. With `num_matching_bits`=10, there is a 1/(2^10) chance, so on and so forth.

Co-authored-by: ACK-J <60232273+ACK-J@users.noreply.github.com>
2023-08-01 17:25:25 -05:00
..
conf Clarification of boolean options in config file 2018-07-18 20:07:05 +02:00
fish Merge pull request #8855 2023-06-27 11:41:57 -05:00
gpg_keys gpg_keys: bump my key validity by another two years 2022-11-17 17:45:14 +00:00
health Copyright: Update to 2023 2023-01-16 13:00:18 +01:00
logs network: log traffic and add a simple traffic analysis script 2020-01-26 00:33:41 +00:00
python-rpc blockchain_db: add k-anonymity to txid fetching 2023-08-01 17:25:25 -05:00
systemd systemd: remove outdated torsocks example 2022-02-08 19:49:00 +01:00
translations translations: fix "monero_" prefix when taking languages from file 2019-11-15 13:21:46 +00:00
.gitignore year updated in license 2015-01-02 18:52:46 +02:00
doxygen-publish.sh cleaning up, removing redundant files, renaming, fixing incorrect licenses 2015-05-31 13:40:18 +02:00