BlockSci: A high-performance tool for blockchain science and exploration
github.com
github.com
1. Create a Block Explorer. BlockSci would make a good backend for a block explorer website, because it would benefit from the built-in analysis library, with features like address clustering and parsing multisignature scripts.
2. Support more blockchains. BlockSci supports several blockchains, but there are limitations detailed in the paper [1]. For example, currently we don’t support any script operations not found in Bitcoin. Supporting more altcoins/blockchains would make BlockSci more useful.
3. Identify cold wallets and associated usage patterns. Cold wallet addresses could be identified by various patterns on the blockchain such as infrequent large withdrawals. After identifying these addresses, there are many interesting questions to ask such as studying the rate of deposits vs withdrawals.
4. Improve clustering heuristics. BlockSci’s address linking is based on the two heuristics from the Fistful of Bitcoins paper [2]. These heuristics have known limitations, leading to false positives and negatives; there’s a lot of room for improvement here.
5. Extract hidden messages. There are many messages encoded into the Bitcoin blockchain ranging from Wikileaks cables to Rickrolls [3]. We can find them if we can guess how they are encoded. But can we automatically extract and decode these hidden messages, say, by looking for address strings that look non-random?
[1] https://arxiv.org/pdf/1709.02489.pdf
[2] https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf
[3] http://www.righto.com/2014/02/ascii-bernanke-wikileaks-photo...
How do you handle forks and reorganizations? Can the software detect these and adjust its database to match?
I am interested in contributing to making a Block explorer. You guys have something like this https://blockexplorer.com/ in mind? Is it Ok if I use React? I guess django for the backend.
How much of overlap is there with tools like Jepsen (e.g https://github.com/jepsen-io/tendermint/blob/master/README.m...)