Bitcoin Forum

Bitcoin => Electrum => Topic started by: Taghi on July 20, 2020, 10:05:47 AM



Title: SPV query record (logs/dataset)
Post by: Taghi on July 20, 2020, 10:05:47 AM
I am a master's student. I investigate on lightweight clients (SPVs) in the Bitcoin network. I need a data-set contains addresses that SPVs queried from a full node during a specific time interval.
I am running a Bitcoin's full node and also an ElectrumX server on my PC. Can you help me how to record or see logs of lightweight client queries? their bloom filter etc.
However, I think I do not get any queries from lightweight clients. I want to ask you if you are running any full nodes with well-advertised IP addresses? If you are, may I ask you to share the record of queries from SPV clients? Also, the related SPV client's Bloom Filter.

For sure, I will acknowledge and thank your engagement and help in my thesis and paper.


Title: Re: SPV query record (logs/dataset)
Post by: Taghi on July 21, 2020, 02:10:32 PM
Thanks for your reply,

I only want the query-rate of each address. I want to compare the rate of using an address in the blockchain and the rate of querying of the address. I don't think this kind of information may violate someone's privacy.


Title: Re: SPV query record (logs/dataset)
Post by: hugeblack on July 22, 2020, 06:21:04 AM
I only want the query-rate of each address. I want to compare the rate of using an address in the blockchain and the rate of querying of the address.
Can you explain in more detail what exactly you are looking for? ???  Do you mean the difference between the number of times a person checks address and the number of times he uses it? or you mean blokchain.info?

anyway, Electrum works differently from other SPV clients.
Also, I do not think that there will be useful data that can be found through SPV clients, perhaps the only data is useful for blockchain analysis which violate someone's privacy.



Title: Re: SPV query record (logs/dataset)
Post by: Taghi on July 22, 2020, 07:32:37 AM
Let me explain.

In the Bloom filter, the false-positive addresses are chosen randomly. So, addresses in a bloom filter (correct addresses and false-positive ones) have different usage frequency and query frequency. This side information can help an adversary full node easily find the right addresses in a bloom filter.

Hence, I am trying to show that if an address belongs to a lightweight client, the number of requests made by the client to get transactions containing the address is proportional to the number of occurrences of the address in the blockchain.

I know the Electrum works a bit differently, but I thought that it is the most straightforward way to communicate with lightweight clients. I am running a bitcoin full node at the address of [j3zla562edof65jn.onion][/https://bitnodes.io/nodes/j3zla562edof65jn.onion-8333/] and a ElectrumX hidden service at the address of [dpojvtzgm5dcg5ds.onion][/https://1209k.com/bitcoin-eye/ele.php]. However, there is no open session to my ElectrumX service Except my wallet and the all_seeing_eye.

Anyway, thanks for your reply. I appreciate it if someone helps me with collecting the dataset.


Title: Re: SPV query record (logs/dataset)
Post by: Taghi on July 22, 2020, 10:34:38 AM
Thanks,

I have seen the paper. I will continue the research and propose a new method to preserve the privacy of lightweight clients.


Title: Re: SPV query record (logs/dataset)
Post by: Taghi on July 25, 2020, 01:28:12 PM
Yes, I've seen those BIPs. However, I did not know that any wallet already uses them!
thank you very much  ;)