Skip to content

Unexpected results from the /tweaks endpoint #20

@cygnet3

Description

@cygnet3

I'm currently building blindbit-oracle from commit 608321534e374930bee1338c298748e931289e00.
I'm testing out the /tweaks endpoint, but I'm not understanding the result I'm getting.

I'm inspecting block 214953 on signet. This block contains 8 sp-eligible transactions.

Looking at the /tweaks endpoint (dust limit + cut-through):

curl --request GET  'http://localhost:8000/tweaks/214953' | jq 'length'
8

One would expect this endpoint to return an empty array, since every output in this block has been spent. But instead, we get all 8 tweaks.

When adding a dustLimit parameter:

curl 'http://localhost:8000/tweaks/214953?dustLimit=80000' | jq 'length'
8


curl 'http://localhost:8000/tweaks/214953?dustLimit=85000' | jq 'length'
4

Here we see that 4 transactions are being filtered out with this dust limit. Looking at all txs, 4 transactions contain an output that has <85000 sats, so these are likely the ones being filtered out. These txs also contain other (spent) outputs, but I suppose these are ignored (since this is the endpoint with cut-through).

To me, these results don't make a lot of sense. I have noticed that on Signet, a lot of addresses are being reused. Could it be that the addresses being reused affects the tweaks index?

Here's my blindbit.toml for reference:

blindbit.toml
host = "127.0.0.1:8000"
chain = "signet"
rpc_endpoint = "http://127.0.0.1:38332"
rpc_pass = "..."
rpc_user = "..."
sync_start_height = 200000
max_parallel_tweak_computations = 4
max_parallel_requests = 4
tweaks_only = 0
tweaks_full_basic = 0
tweaks_full_with_dust_filter = 1
tweaks_cut_through_with_dust_filter = 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions