Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplicated addresses in cluster.addresses #408

Closed
jiagengliu opened this issue May 9, 2020 · 5 comments
Closed

Duplicated addresses in cluster.addresses #408

jiagengliu opened this issue May 9, 2020 · 5 comments
Labels
clustering question Question related to using BlockSci

Comments

@jiagengliu
Copy link

I have found cases where equivalent addresses are counted twice. I wonder if it is intentional?

Reproduction Steps

cluster = cm.cluster_with_address(chain.address_from_string(
    '1PLvcoFj9Ek7ADP2dakggYbdPaFiuZ768t'))
cluster.addresses.to_list()
[a.equiv() for a in cluster.addresses.to_list()]

System Information

Using AMI: Yes
BlockSci version: 0.6
Blockchain: Bitcoin
Parser: Disk
Total memory: 64 GB

@maltemoeser
Copy link
Member

Yeah I think it is, .addresses will iterate through all dedup addresses and return every non-dedup address that has been seen on chain: https://github.com/citp/BlockSci/blob/v0.6/src/cluster/cluster.cpp#L85

@maltemoeser maltemoeser added clustering question Question related to using BlockSci labels May 10, 2020
@jiagengliu
Copy link
Author

@maltemoeser Thank you! I got confused because of the difference between type_equiv_size and address_count.

@maltemoeser
Copy link
Member

@jiagengliu if you're working with equiv addresses, I recently merged #402 which fixed the reverse lookup for script equivalence, e.g. from p2pk->p2sh that is used to find all equiv addresses (it wasn't correctly created before). would require a reparse to correctly build that index

@jiagengliu
Copy link
Author

@maltemoeser Thank you so much! I only worked with clusters recently, which I assume doesn't rely on the reverse lookup? I haven't used that .equiv() extensively but it's definitely useful to know.

@maltemoeser
Copy link
Member

Yep you're correct, the clusterer wasn't affected because it uses the normal/wrapped lookup (P2SH->P2PK/whatever) 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clustering question Question related to using BlockSci
Projects
None yet
Development

No branches or pull requests

2 participants