Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: x3m on August 20, 2018, 01:28:02 PM



Title: Chain analysis
Post by: x3m on August 20, 2018, 01:28:02 PM
AFAIK it all starts from importing a blockchain into a graph database, then you can start analyzing behavioral patterns, relations between addresses, ...
Does anyone know where can I get further info regarding this subject?
What will be the impact of this analysis with the rise of LN, sidechains and other anonymity solutions?
Thanks.


Title: Re: Chain analysis
Post by: TheArchaeologist on August 20, 2018, 01:43:43 PM
AFAIK it all starts from importing a blockchain into a graph database..
What exactly is a graph database? Making things visual is just so we as a human can easier understand things. At a lower level it just tables and columns :)

Quote
What will be the impact of this analysis with the rise of LN, sidechains and other anonymity solutions?
Anything no longer recorded on-chain (like with lightning) isn't available on the blockchain so it can't be used for analyzing.


Title: Re: Chain analysis
Post by: x3m on August 20, 2018, 01:52:17 PM
AFAIK it all starts from importing a blockchain into a graph database..
What exactly is a graph database? Making things visual is just so we as a human can easier understand things. At a lower level it just tables and columns :)

Quote
What will be the impact of this analysis with the rise of LN, sidechains and other anonymity solutions?
Anything no longer recorded on-chain (like with lightning) isn't available on the blockchain so it can't be used for analyzing.

https://en.wikipedia.org/wiki/Graph_database (https://en.wikipedia.org/wiki/Graph_database)
In order to perform an analysis you must have the right tools. Actually it's not just tables and columns if you compare graph to relational databases. They have been designed for different scopes.


Title: Re: Chain analysis
Post by: x3m on August 20, 2018, 04:24:14 PM
Does anyone know where can I get further info regarding this subject?

There are few researches that you can find easily, even though i never thoroughly read the research and mostly focused on de-anonymization :
https://papers.nips.cc/paper/6735-deanonymization-in-the-bitcoin-p2p-network.pdf (https://papers.nips.cc/paper/6735-deanonymization-in-the-bitcoin-p2p-network.pdf)
http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf (http://orbilu.uni.lu/bitstream/10993/18679/1/Ccsfp614s-biryukovATS.pdf)
https://arxiv.org/ftp/arxiv/papers/1510/1510.07782.pdf (https://arxiv.org/ftp/arxiv/papers/1510/1510.07782.pdf)
https://jonasnick.github.io/papers/thesis.pdf (https://jonasnick.github.io/papers/thesis.pdf)
https://arxiv.org/pdf/1801.07501.pdf (https://arxiv.org/pdf/1801.07501.pdf)
www.blockchainresearchnetwork.org/wp-content/uploads/2018/04/Khalilov-and-Levi-2018-A-Survey-on-Anonymity-and-Privacy-in-Bitcoin-like-.pdf (http://www.blockchainresearchnetwork.org/wp-content/uploads/2018/04/Khalilov-and-Levi-2018-A-Survey-on-Anonymity-and-Privacy-in-Bitcoin-like-.pdf)

There are specific research for de-anonymization attempt for CoinJoin and mixing service, even though i couldn't find any. Besides, there are few popular chain analysis services such as https://www.chainalysis.com/ (https://www.chainalysis.com/).

What will be the impact of this analysis with the rise of LN, sidechains and other anonymity solutions?

Maybe more people will have privacy/anonymity (even though Bitcoin is only pseudonymous) concern and they might support on-chain anonymity & scaling solutions such as Schnorr Siganture and MAST.

Thanks for all the links. Browsing around I've already ran across https://www.chainalysis.com/ (https://www.chainalysis.com/) but unfortunately it's a product. What I'm looking for are tutorials, documents, scientific papers (maybe based on graph theory) that can explain me the basis of chain analysis and then decide if it's worthwhile to dive more deep into the subject.
If you think about use cases it may have the potential to become a new branch of computer forensics.


Title: Re: Chain analysis
Post by: Conasse on August 20, 2018, 07:42:33 PM
Sorry if the question is stupid to you but isn't the basis of chain analysis about big data and primitive AI?


Title: Re: Chain analysis
Post by: bob123 on August 21, 2018, 08:22:51 AM
What exactly do you want to achieve?

Do you want to build a tool which allows you to analyze specific patterns between addresses/individuals ?
This would for example represent transactions/addresses and their relations in a human-readable way.

Or do you want to create a program which automatically collects and processes data (e.g. which is looking for specific events etc. happening) ?


These two differ quite heavily and so does the approach.


Title: Re: Chain analysis
Post by: x3m on August 21, 2018, 11:39:06 AM
What exactly do you want to achieve?

Do you want to build a tool which allows you to analyze specific patterns between addresses/individuals ?
This would for example represent transactions/addresses and their relations in a human-readable way.

Or do you want to create a program which automatically collects and processes data (e.g. which is looking for specific events etc. happening) ?


These two differ quite heavily and so does the approach.

I would say the first example is more suitable but at the moment I'm not going to build a tools I'd rather like to understand the theory and the approach. Any suggestion?

IMHO I do not see it hard to achieve the second result ... scheduling a blockchain analyzer could be enough at a first stage.

BTW my request could be somehow related to this post (but it's much more generic) https://bitcointalk.org/index.php?topic=267618.0 (https://bitcointalk.org/index.php?topic=267618.0)


Title: Re: Chain analysis
Post by: TheArchaeologist on August 21, 2018, 12:13:12 PM
BTW my request could be somehow related to this post (but it's much more generic) https://bitcointalk.org/index.php?topic=267618.0 (https://bitcointalk.org/index.php?topic=267618.0)
If you are looking for this kind of information you could just use/build a parser for all unspent transactions. I also made a parser myself which parses all used addresses (420 Million plus at the moment). But this is all done by using a traditional relational database since I'm not fully aware what a graph database is ;)


Title: Re: Chain analysis
Post by: x3m on August 21, 2018, 01:14:05 PM
BTW my request could be somehow related to this post (but it's much more generic) https://bitcointalk.org/index.php?topic=267618.0 (https://bitcointalk.org/index.php?topic=267618.0)
If you are looking for this kind of information you could just use/build a parser for all unspent transactions. I also made a parser myself which parses all used addresses (420 Million plus at the moment). But this is all done by using a traditional relational database since I'm not fully aware what a graph database is ;)

Interesting, can you share some details?
Have you used a RDBMS like MySQL or similar?
Have you had any issues importing the blockchain in the DB?   
What did you do it for? Did you discover something interesting?

Please share.


Title: Re: Chain analysis
Post by: TheArchaeologist on August 21, 2018, 02:44:21 PM
Quote
Have you used a RDBMS like MySQL or similar?
Yes, I used MariaDB and SQLite3.

Quote
Have you had any issues importing the blockchain in the DB?
Not really , but be prepared it takes a lot of time and diskspace especially when you add some indexes.

Quote
What did you do it for? Did you discover something interesting?
To do some analysis. I started with finding addresses with easy to guess brainwallets. You can see some info in this thread:
https://bitcointalk.org/index.php?topic=4768828

And some more detailled info in this thread:
https://bitcointalk.org/index.php?topic=2488493.0 (last page)