From 3692409dcfd0869d4df350e9597f4c3ba1f9e211 Mon Sep 17 00:00:00 2001 From: Anmol Sharma Date: Sat, 6 Apr 2024 18:31:05 +0530 Subject: [PATCH] docs: add design doc Signed-off-by: Anmol Sharma --- docs/assets/block-diagram.png | Bin 0 -> 178270 bytes docs/design.md | 63 ++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 docs/assets/block-diagram.png create mode 100644 docs/design.md diff --git a/docs/assets/block-diagram.png b/docs/assets/block-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..269f421a2677d8c30d1844525772c0024416cccd GIT binary patch literal 178270 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 Lv4h$B&tCsO(;_9c literal 0 HcmV?d00001 diff --git a/docs/design.md b/docs/design.md new file mode 100644 index 0000000..d4e462b --- /dev/null +++ b/docs/design.md @@ -0,0 +1,63 @@ +# Silent Payment Indexer + +--- + +## Overview of indexer + +The silent payment indexer should serve a silent payment index for each block. +For each block the indexer serves data in a compact block style format (referred to as *“silent block”*). +The silent block is designed to contain everything that a silent payment wallet needs to scan and spend outputs. +The indexer should update the old silent block once the outputs generated in that block are spent. + +--- + +### Scanning + +In order to scan for a silent payment in a wallet, we just need a `scan_tweak`. +The `scan_tweak` is calculated as `input_hash·A` (here `inputHash` and `A` have the same meaning as defined in [BIP 352](https://github.com/josibake/bips/blob/silent-payments-bip/bip-0352.mediawiki)). +The wallet uses it’s `b_scan` to calculate `ecdh_shared_secret = scan_tweak·b_scan` which can be used for scanning as defined in [BIP 352](https://github.com/josibake/bips/blob/silent-payments-bip/bip-0352.mediawiki). + +### Spending + +After detecting a payment the wallet can save the tweak `tk` along with `OutPoint` and value of that UTXO which is enough for spending that UTXO. +We don’t need to store the `script_pub_key` because if we have the private key, we can generate the P2TR `script_pub_key` for the corresponding private key. + +--- + +## Specification for silent block + +- It contains only unspent outputs created in that block. +- It contains the following items for each transaction in a block: + - `txid` of the transaction + - `pub_key` (not `script_pub_key`, just 32 byte x-only public key) of each eligible silent payment output (silent payment outputs are always P2TR) + - `vout` of each eligible silent payment output + - `value` of each silent payment output + - `scan_tweak` for the transaction. +- All encodings are done in big endian : ) +- Each transaction data is serialised as follows: + - 32 byte txid + - A varint encoding the number of eligible silent payment outputs followed by information about each output. + - Each output contains the following information: + - 8 byte value of the output + - 32 byte `pub_key` + - 1 byte `vout` + - 33 byte `scan_tweak` +- Silent block is serialised as follows: + - One byte big-endian encoded silent block type. + - A varint specifying the number of transactions in a silent block. + - Each transaction is encoded as specified above. + +--- + +## Implementation Details + +### High Level Design + +![block-diagram.png](./assets/block-diagram.png) + +- **Provider:** A provider provides all the necessary data required by the core indexer to create and update silent payment indexes. The data can be pulled from various sources and each source will have it’s own provider. + - **Electrs:** This provider uses data files from electrs. + - **Bitcoin RPC:** This provider connects to a bitcoin full node and uses RPC to pull data from it. + - **Bitcoin:** This provider uses block data files (blk*.dat and rev*.dat) files. +- **Block Data Adaptor:** Manages different data sources. +- **Core Indexer:** Generates, saves and updates silent payment indexes. \ No newline at end of file