http://blockviewer.comI would like to announce the start of a new project that attempts to not only give everyone an interactive way to visualize and interact with the block chain, but to also have an easy and fun way to determine addresses owned by the same person and how that person interacts with others:
http://blockviewer.com/#/owns/1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36vhttps://i.imgur.com/f2VCG.pngIn the above screenshot, the owner in the middle has 43 addresses that are all owned by him:
https://i.imgur.com/CAetK.pngIn addition to knowing all linked addresses, a high level network of "owners" has been constructed which can also track payments between other high level owner addresses as well:
https://i.imgur.com/hfOxS.pngHere we can see this owner entity received 183 payments from others, and sent 27 payments to other owners. Expanding one of the owners out of the folders, it is revealed that he sent 127.37 BTC to another person (who happens to control 5 addresses).
This application exploits the weakness identified in Satoshi's original paper (pg.6 sec. 10) where he stated that
"Some linking is still unavoidable with multi-input transactions, which necessarily reveal that their inputs were owned by the same owner. The risk is that if the owner of a key is revealed, linking could reveal other transactions that belonged to the same owner." This application has constructed this high level owner network on top of the normal block chain, which is also traversable by simply clicking:
http://blockviewer.com/images/low-level.pngIf you would like more information on how I did this, check out my use case here:
http://toolongdidntread.com/bitcoin/the-bitcoin-social-network-part-1/ (Note: this database does not explicitly identify forum users yet. I will be enabling that information later on.)
The block chain is a graph, why are we not displaying it as such? If you would like to your public address against it, simply type in your address in the search box and select "Owner Address". If all worked well, it will have all the other addresses that have been linked to you through the weakness, and you can see how well it determined where you sent BTC to other people.
KNOWN ISSUES:There are so many it's tough to even begin. This is definitely a "Use At Your Own Risk" as it is bound to crash, get turned off, shut down at any time for maintenance, etc.
The queries stop after 5000 nodes have been returned to protect the server. I hope to implement pagination soon.
The API allows you to download subgraphs in a standardized .gexf data format that can be used by graph visualization tools like Gephi. This will still stop queries after returning 5000 nodes.
The visualizer and client-side javascript is a mess. I will be cleaning it up quite a bit.
It's not very user friendly at the moment, nodes are difficult to click on, and the documentation is pretty ugly. I wanted to get this out anyway so power users could check it out.
At the moment, I am using blockchain.info's API that rate limits me which results in data that is probably like a day old. If piuk has it in his heart to forgive me for crashing his server, I would love another API key
Anyway, I built this because its so much easier to track payments using the block chain as a graph instead of pulling up HUGE lists that are on blockchain.info. The database is colossal, and its only getting bigger. Think of this as more of a sleuthing tool
I can't wait to hear your comments, suggestions, ideas, and the inevitable troll who says its a scam. Thanks!