[00:02.680 --> 00:04.300] Hi everyone, thanks for being here. [00:05.000 --> 00:08.080] My name is Mathieu Lavoie and I'm presenting with David. [00:08.620 --> 00:11.300] Today we're going to present to you about BitCluster. [00:11.520 --> 00:14.000] That is a tool that we're going to release at the end of the talk. [00:14.300 --> 00:18.280] In fact, it's already on GitHub and we released a database also. [00:19.420 --> 00:27.380] It's the tool that is able to de-anonymize some actors or some entity in the Bitcoin network. [00:29.480 --> 00:32.460] So, first of all, who are we? [00:32.740 --> 00:34.020] I am Mathieu Lavoie. [00:34.140 --> 00:37.800] I work as a Pentester for a large Canadian financial institution. [00:38.520 --> 00:43.540] I'm also a close friend of the NordSec organization, Security Conference in Montreal. [00:44.500 --> 00:47.560] And I'm presenting also with David Déscary-Hétu. [00:48.120 --> 00:55.860] Hi everyone, so I'm an assistant professor in Montreal who's been looking at the cybercrime and online instant markets for a number of years now. [00:58.100 --> 01:03.140] All right, so we're going to go... the talk is pretty long, so we're going to go straight to the point. [01:05.140 --> 01:09.140] So, first of all, we're going to start with a little bit of cliche, what this talk is not about. [01:10.120 --> 01:15.020] Definitely this talk is not about creating another Bitcoin currencies broken clickbait title. [01:15.020 --> 01:16.160] I'm sorry. [01:18.400 --> 01:27.640] We're not going to divulge... or not going to tell the names or owners of Bitcoin wallets into the network, at least not all of them. [01:28.720 --> 01:36.900] And we're also not going to show you a way of magically retrieving the private key for a Bitcoin wallet and then spend all the money as you want. [01:38.160 --> 01:39.020] Sorry, guys. [01:40.640 --> 01:45.980] What this talk is about is a lot of detail about how does Bitcoin works. [01:47.820 --> 01:54.320] That you... when you're going to understand those concepts, you're going to understand the limit of the pseudo anonymity of Bitcoin. [01:54.660 --> 02:05.880] So you understand how transaction works, why we are able to get some details about the node, how we are able to correlate all the data that is public and to find interesting stuff into this network. [02:07.780 --> 02:10.160] That brings us to the limit of pseudo anonymity. [02:11.380 --> 02:17.580] Well, yes, Bitcoin is anonymous into quote, but there are some limits. [02:17.840 --> 02:19.400] So we're going to present those limits. [02:19.600 --> 02:29.700] And we're going to present also if you don't use well the tools, if you don't use well Bitcoin and how you don't understand how it works, how you make it cut by our tools. [02:30.000 --> 02:31.700] And finally, our tools, BitCluster. [02:32.800 --> 02:33.980] We're going to do the tool release. [02:34.380 --> 02:40.340] We're going to present the tool with a small demo, explain how does it works, what does it do, and also what you can do with this. [02:40.480 --> 02:43.100] So the case study will be presented by David. [02:46.600 --> 02:48.300] So the Bitcoin auto imparts. [02:48.480 --> 02:57.560] I'm sorry for those who are cryptography experts, but I need to give some basic details about how does it work so everybody will be able to understand the rest of the talk. [02:59.680 --> 03:02.380] Some details that we're going to show are... [03:02.380 --> 03:07.420] It's supposed to give you some information about how we achieve the anonymization of the network. [03:09.880 --> 03:15.720] So if you want to participate into the Bitcoin network, you need an ID. [03:16.020 --> 03:17.580] And an ID is an address. [03:18.280 --> 03:22.540] It's an address where you can receive money and you can send money. [03:23.880 --> 03:25.920] To get an address is pretty simple. [03:26.480 --> 03:28.080] You need to generate a pair of key. [03:28.300 --> 03:29.860] A private and a public key. [03:30.480 --> 03:37.300] The public key will be encoded and will be encoded as an addresses. [03:38.280 --> 03:42.380] So in summary, a public key is an addresses. [03:42.380 --> 03:47.140] It's just represented as a simpler representation of it. [03:47.780 --> 03:52.600] We've seen approximately 146 million different wallets. [03:53.100 --> 04:02.060] And as I said previously, those wallets or addresses are generated by the user itself. [04:02.060 --> 04:05.520] So on your own machine with OpenSSL, with your own Bitcoin client. [04:05.740 --> 04:08.720] It's not a central authority that delivers the addresses. [04:09.000 --> 04:12.240] It's the user that generates them directly on his machine. [04:13.700 --> 04:17.520] And for the rest of the talk, we're going to talk about wallets and addresses. [04:18.100 --> 04:19.720] Both mean the same thing. [04:23.220 --> 04:27.520] Now that you have an addresses and you generate and you're pretty proud of it. [04:27.640 --> 04:28.540] Now you want to use it. [04:29.060 --> 04:30.540] How are we going to be able to use it? [04:30.720 --> 04:32.960] Well, we have to make a transaction. [04:33.280 --> 04:36.340] And the transaction will be included of what we call a blockchain. [04:36.720 --> 04:40.200] So the blockchain is in the simpler representation. [04:40.660 --> 04:51.040] Like for this talk, it can be seen only as the public ledgers of all transactions that have been made up to there since the beginning of Bitcoin. [04:53.120 --> 04:56.800] It stores transactions into blocks and the new blocks is created every 10 minutes. [04:57.040 --> 05:01.340] That means that new transactions are included into the blockchain every 10 minutes. [05:06.440 --> 05:08.500] The interesting part now, the transaction. [05:09.120 --> 05:14.160] So now that you have an address, now that you know how a transaction gets validated, what is a transaction actually? [05:15.480 --> 05:20.440] Well, a transaction is composed by input and output. [05:21.360 --> 05:26.220] Input are money that you own, that you want to spend. [05:27.040 --> 05:29.360] And output is where you want to send the money. [05:31.140 --> 05:33.340] Sorry, I'm just going to take my glass of water. [05:36.630 --> 05:37.230] Alright. [05:41.640 --> 05:46.300] An input is a reference to a past transaction where you receive money. [05:46.300 --> 05:49.920] So for example, David sent me through Bitcoin two months ago. [05:50.420 --> 05:57.120] When I want to spend those Bitcoin, what I do is I tell the network, remember when David gave me Bitcoins? [05:57.420 --> 06:00.360] Alright, now I want to spend it and I want to send it to someone else. [06:00.560 --> 06:05.620] So what I do is I refer to the transaction where I did receive the money as in the input. [06:06.040 --> 06:14.700] And to prove that I own these addresses that did receive money, I sign this input with the private key associated to these addresses. [06:14.700 --> 06:18.900] So you may remember that when you generate an addresses, you have the public key and the private key. [06:19.020 --> 06:22.080] You keep the private key for yourself for obvious reason. [06:22.440 --> 06:25.340] And you encode the public key to get an addresses. [06:26.960 --> 06:33.080] So you take the private key associated to the addresses, you sign the input, and the transaction will be considered as valid. [06:39.600 --> 06:43.180] So how can we achieve the designation with those information? [06:43.880 --> 06:51.060] Well, as you may guess already, it's related to private key and to transaction, but we're going to go a bit deeper into that. [06:53.580 --> 07:02.140] The title is misleading, it's not the Bitcoin desanimizer, it's the Bitcoin desanimizer for people who don't know how to use Bitcoin. [07:02.840 --> 07:15.200] Like, for like a little example, if you are asking for help on Stack Overflow to create a new crypto market named Silk Road, usually you're not good to use Bitcoin. [07:20.660 --> 07:28.360] So in this example, I forgot to tell you that in the transaction, you can have multiple input and multiple output. [07:28.840 --> 07:32.000] So you can send in one transaction money to a different person. [07:32.000 --> 07:49.140] And if you want to send money, a big amount of money to someone and you don't have this money in addresses, you can use multiple addresses that you own and merge it together and then be able to pay your debt. [07:50.380 --> 08:00.620] So in this example, I take a transaction that where I did receive 3 Bitcoin and another one where I did receive 6 Bitcoin and I'm paying someone 9 Bitcoin. [08:03.120 --> 08:07.000] Well, in this case, there's some information that leaks. [08:07.760 --> 08:19.400] What I mean is, you did use two different addresses at the same time and were able to sign both of these addresses with their each private key. [08:19.600 --> 08:29.640] So you were able to sign the private key from the addresses that have 3 Bitcoin and you were able to use the private key for the addresses that you have 6 Bitcoin. [08:29.640 --> 08:34.660] So what you're telling here is that you own both of those private key. [08:34.860 --> 08:38.860] And as you may recall, a private key is private. [08:39.240 --> 08:52.260] So that means that if the transaction was validated by the network, that means that the person that did the transaction had the both private key. [08:52.260 --> 08:59.340] So in this case, we are linking those two addresses to an entity or an actor of the network. [09:01.920 --> 09:06.920] And what happens if you reuse addresses over and over? [09:06.920 --> 09:09.660] Well, actually, this happened. [09:10.580 --> 09:16.320] So here are three transactions with two input, two input and three input. [09:16.760 --> 09:26.300] And what I can do with this, I'm able to know that all of these addresses are related to the same person because they are reusing addresses. [09:26.640 --> 09:29.700] So here, there's a reusing addresses between two transactions. [09:29.920 --> 09:32.200] So I'm able to merge those both transactions. [09:32.460 --> 09:35.620] And I'm also able to do the same thing with the other addresses. [09:35.880 --> 09:40.520] So it's still using another addresses on two other transactions. [09:40.800 --> 09:46.720] So I have the full link here that I'm able to merge all those three nodes to a big node. [09:46.720 --> 09:50.380] I'm going to give an ID, and this case will be the ID 2345. [09:53.970 --> 10:03.690] So that's how we're going to achieve to create all the... to cluster all the addresses into nodes that we are representing identity or our actor in the network. [10:04.010 --> 10:07.710] And then after, we can recall it back and see the money movement between those actors. [10:07.930 --> 10:16.890] So instead of seeing transaction, we see money movement in blob of addresses that are representing identity or person into the network. [10:19.960 --> 10:23.960] So in summary, the assumption made to do the tools is... [10:24.860 --> 10:26.580] Transactions are assigned with private key. [10:27.420 --> 10:28.860] Private key are private. [10:29.740 --> 10:35.420] And one and only one entity can or should know the private key. [10:36.300 --> 10:41.540] Ergo, all the addresses that you see on the previous slide are necessarily... [10:42.420 --> 10:48.260] owned by a single entity, actors or person, as you may call it. [10:51.780 --> 10:53.460] So why is this possible? [10:53.680 --> 10:57.180] It's because people are reusing addresses over and over instead of generating new addresses. [10:58.520 --> 10:59.580] As you should do. [11:00.640 --> 11:04.480] And in this case, the first way of blowing a cover is pretty simple. [11:04.480 --> 11:10.400] So we take the same example again, the three Bitcoin and the six Bitcoin transaction. [11:12.700 --> 11:26.880] But instead of sending money... instead of sending nine Bitcoin to an addresses, I will use... I will send eight Bitcoin to an addresses and send back the change to an addresses I already own. [11:28.020 --> 11:34.760] So in this example, the three Bitcoin addresses is the same as the one that did receive the change, the one Bitcoin change. [11:34.920 --> 11:45.580] And when I will use the one Bitcoin change in another transaction in the future, I will also taint other addresses and taint it to the node that already contains addresses. [11:48.630 --> 11:55.170] The number two, the solution number two to blow your cover is to give the same addresses to multiple people. [11:55.550 --> 12:03.090] So for example, I want to receive here a transaction from Joe, a transaction from Fred and a transaction from David. [12:04.710 --> 12:09.610] I'll give them both... I'll give them the same addresses to those three persons. [12:09.890 --> 12:13.850] So I'll give the same addresses to David, to Fred and to Joe. [12:14.990 --> 12:17.310] And they're all going to send me the money. [12:19.270 --> 12:30.670] And when... sorry... when I will reuse the money I just received, I will also taint it with multiple addresses and be able to correlate all these addresses into a single node. [12:30.670 --> 12:33.270] What you should have done is this. [12:34.590 --> 12:36.390] This is how not to blow your cover. [12:36.730 --> 12:48.950] So for each person you want to receive money, actually what you do is you generate a new addresses because you can generate as many addresses as you want and you should generate each time a new address each time you make a transaction. [12:49.750 --> 12:54.070] And when you're going to spend the money you receive, you will not taint each other. [12:54.070 --> 13:05.150] Here, you will not taint all the addresses, you will just taint a part of the addresses and I will not be able to merge all those nodes into one big node containing a lot of addresses. [13:10.380 --> 13:13.400] Here, we're talking about an old wine that was never opened. [13:14.540 --> 13:18.060] That means that we're not the first one to think about this concept. [13:18.060 --> 13:24.660] It has been discussed in the white papers and academic research since 2011. [13:25.320 --> 13:29.520] A good one, a good paper about it is the one from MIT about the clustering. [13:29.920 --> 13:31.220] The title is on the screen. [13:32.820 --> 13:39.980] And also, there's a website that I didn't know until David told me, I think it's three months ago. [13:40.380 --> 13:45.800] It's called Wallet Explorers that did approximately the same things but not in the same way. [13:45.800 --> 13:52.460] So, they are clustering all the addresses together but they're not giving the same information. [13:55.080 --> 14:06.940] The problem with those tools or those two achievements is, for example, for the white paper, the research has been done on only a small part of the network. [14:07.260 --> 14:11.000] So, they take a really, really small part of the Bitcoin transaction and they do the research on it. [14:11.000 --> 14:15.980] So, it's not part of all the Bitcoin transactions that have been done up to date. [14:17.220 --> 14:19.360] Also, proof of concept code is not available. [14:20.000 --> 14:24.680] Radata of the result or the input is not available either. [14:25.340 --> 14:28.600] And any information about the concrete methodology is not available either. [14:29.380 --> 14:33.100] For Wallet Explorer, it's a closed source website. [14:33.100 --> 14:35.400] You can only query it through the web. [14:35.720 --> 14:38.060] So, you don't have any access to the Radata. [14:38.260 --> 14:39.680] It's not able to download it. [14:39.960 --> 14:43.920] It's only representing the raw transaction nodes. [14:44.060 --> 14:47.260] So, it's not grouping them, the transaction, the money movement per nodes. [14:47.540 --> 14:51.640] So, you won't see, like, for example, Silk Road sending money to MTGux and back and forth. [14:51.840 --> 14:54.640] You'll just see Silk Road, raw transaction. [14:56.840 --> 14:59.560] But the tagging is quite accurate on this website. [14:59.740 --> 15:01.120] So, they did a really good job on tagging. [15:02.660 --> 15:05.100] But you cannot have access to database. [15:05.320 --> 15:06.700] You cannot have access to raw data. [15:06.900 --> 15:08.140] You cannot have anything. [15:09.360 --> 15:10.980] And it's closed source. [15:11.180 --> 15:13.800] So, you cannot, like, do whatever you want with this. [15:14.960 --> 15:16.820] That's the reason why BitCluster is there. [15:17.380 --> 15:18.080] It's open. [15:18.220 --> 15:19.180] It's open-source. [15:19.340 --> 15:19.740] It's free. [15:19.880 --> 15:21.460] And the database will be released. [15:21.960 --> 15:23.540] It's already available on Torrent. [15:23.780 --> 15:33.580] So, it's 2,200 gigabytes of data representing all the addresses that have been seen in the network and all the transactions regrouped by nodes into a database. [15:33.760 --> 15:35.820] So, you can query it and take the information as you want. [15:37.280 --> 15:39.260] And we encourage you to customize it. [15:39.520 --> 15:41.880] To make millions of queries directly to the database. [15:42.240 --> 15:44.480] And to expand it to something really, really cool. [15:44.640 --> 15:46.340] So, it's up to you now. [15:48.720 --> 15:50.620] So, a bit about designing BitCluster. [15:52.380 --> 15:54.560] It started with a good intention. [15:54.860 --> 15:56.440] A good code design and everything. [15:56.660 --> 15:57.880] And it wasn't able to scale. [15:58.120 --> 16:00.140] So, I had to scrap everything out. [16:00.400 --> 16:03.760] And do something quick and quick. [16:04.020 --> 16:05.380] And, like, really, really efficient. [16:05.560 --> 16:08.520] But not really, really, really nice to see. [16:08.660 --> 16:12.020] So, the code is pretty, really difficult to follow. [16:12.220 --> 16:15.360] What I've been profiled and optimized over and over and over. [16:16.420 --> 16:18.360] So, the concept is pretty, pretty simple. [16:18.720 --> 16:19.260] It's basic math. [16:19.880 --> 16:20.800] The data is public. [16:21.560 --> 16:23.660] It's only node and addresses. [16:25.060 --> 16:25.580] It's... [16:25.580 --> 16:27.320] So, you represent it in a graph. [16:27.480 --> 16:27.920] It's easy. [16:28.040 --> 16:29.080] It totally fits in memory. [16:29.400 --> 16:32.460] Well, why did somebody didn't do it already? [16:35.450 --> 16:37.130] This is where the fun parts begin. [16:38.570 --> 16:40.630] It's hitting a wall around A. [16:40.990 --> 16:44.050] At this point, I was already accepted in a conference with a tool release. [16:44.390 --> 16:48.330] So, I started, like, a Sunday afternoon and said, Oh, well, I should begin my tools. [16:48.410 --> 16:48.990] It will be easy. [16:49.090 --> 16:51.530] At the end of the day, I will have something that will be working. [16:52.390 --> 16:53.470] So, I started with the blog. [16:53.710 --> 16:54.690] Take each transaction of the blog. [16:54.830 --> 16:55.370] Take each input. [16:56.010 --> 16:57.050] Calculate the Bitcoin addresses. [16:57.470 --> 16:58.110] Put it in a graph. [16:58.110 --> 17:01.230] And, actually, this happened. [17:26.030 --> 17:27.430] Yeah, that's pretty accurate. [17:27.650 --> 17:29.150] So, I have been accepted in the talk. [17:29.590 --> 17:31.550] Presenting a tool that doesn't work. [17:32.270 --> 17:34.430] So, I have to do something about it. [17:34.530 --> 17:35.590] So, that's what we do. [17:35.770 --> 17:36.730] So, round B, I... [17:36.730 --> 17:39.930] Okay, now I have to optimize a code and see another method of calculate the addresses. [17:40.370 --> 17:43.010] I did something that seems to work. [17:43.890 --> 17:47.070] But, all the addresses that generate it does not exist in real life. [17:47.230 --> 17:48.950] So, I have a problem somewhere. [17:48.950 --> 17:51.010] And, finally, I was able to do something that... [17:51.010 --> 17:52.950] The final recipe here was... [17:53.670 --> 17:55.450] I need two computers. [17:55.750 --> 17:56.870] One for the crawler in Python. [17:57.050 --> 17:58.890] One for the hosting the Mongo database. [18:00.590 --> 18:04.130] I'll create partial graph of 5,000 blocks in Python. [18:04.450 --> 18:09.650] I merge them into all the big graph that is there in the DB. [18:09.870 --> 18:17.850] And, while it's merging the data in the DB in the full graph, I start, again, building the new graph in Python while it's still inserting in the DB. [18:17.850 --> 18:21.690] And, I repeat step two to four for a week at least. [18:22.310 --> 18:25.690] But, you don't have to do it again because the database is now available publicly. [18:25.830 --> 18:28.490] You can just download it, like, within the Torrent. [18:28.610 --> 18:34.650] So, it's approximately 20 gig of compressed text in a Torrent that you can download and install. [18:34.810 --> 18:36.110] So, we don't have to wait a week now. [18:38.710 --> 18:43.270] So, the minimum system requirement for BitCluster is the fastest processor you can afford. [18:45.110 --> 18:46.530] 500 gig of SSD. [18:47.070 --> 18:48.330] And, SSD is really, really important. [18:48.550 --> 18:51.710] You're not going to do anything if you store it in HDD. [18:52.750 --> 18:55.650] 32 gig of RAM and 64 is way better. [18:56.270 --> 18:57.170] Python 64-bit. [18:57.750 --> 19:03.150] It's really important because you will reach the four gig limit in a 32-bit process. [19:04.090 --> 19:05.310] A week of free time. [19:07.650 --> 19:13.170] As I said previously, you don't need that anymore since the database is available on the Internet and you can download it. [19:13.170 --> 19:18.390] But, if you want to recreate it from scratch, you need a week of free time and multiple table flips. [19:20.250 --> 19:26.710] So, the total stat is, we seem up to date 146 million different addresses or wallet. [19:27.590 --> 19:38.490] We see approximately, we see exactly more than 58 million different nodes that are presenting person or actor in the network. [19:39.230 --> 19:43.290] So, that makes an average of two to three addresses per user. [19:44.970 --> 19:51.370] The largest node with the most wallet is, with no surprise, empty guts. [19:51.850 --> 19:55.850] So, 12 million addresses is associated with the empty guts node. [19:56.950 --> 19:58.910] And, the total amount of transactions. [19:58.930 --> 20:06.210] So, in our transaction DB, the number of row is 387 million rows in the transaction database. [20:08.150 --> 20:09.970] So, the DB schema is quite simple. [20:10.510 --> 20:12.030] You have the table addresses. [20:12.350 --> 20:15.830] It's the wallet addresses and the node ID associated with this address. [20:16.170 --> 20:20.350] And, in transaction, you have the source and destination node ID. [20:20.430 --> 20:22.970] So, where did the money come from and where did it go? [20:23.230 --> 20:32.550] You have the amount in BTC, in Bitcoin, and converted in USD using the conversion rate at the time that the transactions have been made. [20:32.550 --> 20:37.790] And, you have also the date and the block where this transaction happened. [20:41.070 --> 20:44.250] So, it's now time for a small demo of the tools. [20:46.490 --> 20:50.610] So, sorry guys, I did record a video because a live demo always fail. [20:51.210 --> 20:53.190] So, it's gonna be a video. [20:53.390 --> 20:56.490] So, I think I just have to press next. [20:56.950 --> 20:57.450] Start. [20:57.650 --> 20:57.770] Okay. [20:57.770 --> 21:00.790] So, first of all, you need to search for an addresses. [21:01.050 --> 21:05.430] So, this time, I'm gonna search for Satoshi Dice addresses that you don't see on the screen because I've been corrupt. [21:07.150 --> 21:08.510] It's there, but not there. [21:08.690 --> 21:11.050] And, you find an address associated to Satoshi Dice. [21:11.130 --> 21:12.770] You punch it into BitCluster. [21:13.590 --> 21:14.330] And, you find it. [21:14.410 --> 21:16.990] It takes approximately five minutes to compute. [21:17.530 --> 21:18.550] And, you get a result. [21:18.690 --> 21:20.110] So, we already have the result for you. [21:22.350 --> 21:25.490] So, to prove it, we're gonna search for the addresses that you get through Google. [21:25.490 --> 21:26.510] And, you see that it's there. [21:27.310 --> 21:30.290] And, you all see also a lot of addresses that start with one Dice. [21:30.470 --> 21:31.950] That is a prefix for Satoshi Dice. [21:32.190 --> 21:36.130] So, that it's indicating that the clustering algorithm is quite efficient. [21:37.870 --> 21:42.770] For each node, you have the total outcome in Bitcoin and USD. [21:43.190 --> 21:46.630] What we see here is there a difference of 5,000 Bitcoins. [21:47.390 --> 21:50.010] So, even if... there's two possibilities. [21:50.510 --> 21:55.470] One, Satoshi Dice only made 5,000 Bitcoin money out of it. [21:55.470 --> 21:57.750] Or they already transfer the money into other nodes. [21:57.930 --> 21:59.610] And, you see the income section. [21:59.810 --> 22:01.410] So, you can see where the money came from. [22:01.570 --> 22:02.450] So, you see the node ID. [22:03.690 --> 22:07.070] You see how much money does this node send to the current node? [22:07.190 --> 22:07.870] To Satoshi Dice. [22:08.970 --> 22:10.170] And, U.S. and Bitcoin. [22:10.470 --> 22:12.290] And, you see how many transactions does it made. [22:13.470 --> 22:15.370] And, you can also group it by dates. [22:15.850 --> 22:18.950] So, you can see by date how many that Satoshi Dice did receive money. [22:18.950 --> 22:21.770] So, how many transactions and the amount also in USD. [22:22.510 --> 22:24.390] So, that's back in 2012. [22:24.930 --> 22:28.690] So, you see that one day they would receive a lot of money and some transactions. [22:29.190 --> 22:31.390] And you can see, also, a group by amount. [22:31.510 --> 22:33.430] So, you see the distribution of the amount. [22:33.650 --> 22:39.350] So, there are a lot of small transactions being made to send money to this node. [22:39.510 --> 22:42.650] And you can see also theá apa of all the transaction associated with that. [22:43.310 --> 22:48.150] You also have the same stuff for spending transactions. [22:48.150 --> 22:52.330] So you see where the domain goes from Satoshi Dice to other nodes. [22:53.010 --> 22:57.710] You see also how many did Satoshi Dice send money per day. [22:58.790 --> 23:00.210] And what is the amount of money? [23:00.310 --> 23:03.430] What we see here, it's around less than one cent per transaction. [23:03.650 --> 23:09.330] Most of the transactions that are being sent from Satoshi Dice are less than one cent U.S. [23:09.850 --> 23:12.790] Because of the concept of the game, it makes sense. [23:14.030 --> 23:17.390] And you can see also all the addresses associated. [23:18.930 --> 23:23.270] Then after, you can just see a random node and click on it to get information. [23:23.450 --> 23:27.810] So you can browse through node and node just by clicking on different link. [23:27.950 --> 23:32.310] And it gives you the same information for the node that you select. [23:32.630 --> 23:38.190] And it gives you also the income group, the spending details, and the node addresses. [23:41.700 --> 23:45.580] So this tool is now available on GitHub. [23:45.760 --> 23:50.640] So you can clone it and you will have the full web interface if you download the DB also. [23:53.940 --> 24:05.080] So for the second part of this presentation, what I want to do is move to case studies and kind of give you an idea of how you can use BitCluster to just learn more stuff about the actors in the Bitcoin network. [24:05.420 --> 24:11.580] And because I'm a criminologist by trade, I'll be talking about fraudsters, hackers, carding, and other stuff like that. [24:11.580 --> 24:14.720] So we should be having a lot of fun for the next about 20 minutes. [24:14.720 --> 24:18.580] And I'll show you that sometimes, yes, it's true, crime does pay. [24:18.720 --> 24:21.660] And I'll give you some examples of when that happens. [24:23.300 --> 24:26.600] So the first case study I want to talk about is ransomware. [24:26.760 --> 24:27.840] So we've all heard of ransomware. [24:28.360 --> 24:33.080] It's a type of virus that encrypts the files on your computer and then asks you for money to get it back. [24:33.280 --> 24:35.240] And actually, you don't get your files back. [24:35.260 --> 24:40.140] You only get decryption keys to decrypt the files that have been encrypted on your computer. [24:40.140 --> 24:45.560] And you know these guys are really serious because they're using military-grade encryption to encrypt your files. [24:46.380 --> 24:51.600] And so the ransomware business is actually a pretty good business to be in for those interested. [24:52.320 --> 24:54.540] It does make a lot of money in some cases. [24:54.660 --> 24:56.200] And why does it make a lot of money? [24:56.300 --> 25:01.860] Well, first of all, it's because the ransomware guys are only asking for a small amount of money for each victim. [25:01.980 --> 25:05.860] So they're being kind of reasonable and they're telling you, well, are your files worth $500? [25:06.420 --> 25:09.600] In many cases, people are going to say yes and they're going to pay up the money. [25:09.600 --> 25:17.080] The other thing is also that they always have a timer on these ransomware and they tell you, well, you have 48 or 72 hours to pay us the ransom. [25:17.300 --> 25:22.220] Otherwise, the price of the ransom is going to double or we're going to destroy the decryption keys. [25:22.480 --> 25:25.960] And so this means that the victims have to learn what the hell bitcoins are. [25:26.180 --> 25:27.560] How do you buy bitcoins? [25:27.720 --> 25:29.540] How do you pay someone with bitcoins? [25:29.740 --> 25:30.980] How do you decrypt your files? [25:31.060 --> 25:32.520] And you only have a few hours to do so. [25:32.800 --> 25:35.520] And so this is why kind of ransomware works. [25:35.520 --> 25:41.140] And so why would BitCluster be useful to learn more about ransomware? [25:41.520 --> 25:46.260] Well, we can ask if we give it, for example, a wallet that was where a ransom was paid. [25:46.460 --> 25:54.460] We can ask BitCluster if it knows about more wallets that are associated to that one and see what other wallets are into the same node as the ransom wallet. [25:54.460 --> 26:05.360] And so we can ask BitCluster to give us, for example, time series analysis to see how long the ransomware campaign lasted, how many victims there were, how much revenues were generated through this. [26:06.360 --> 26:14.180] And so for this talk, what we did is we asked a few of our friends in the InfoSec community for wallet addresses that were related to ransomwares. [26:14.320 --> 26:16.560] And I thank them all for sharing some. [26:16.720 --> 26:22.620] And we got a sample of about 60 addresses that we divided into kind of three very broad types of ransomware. [26:22.620 --> 26:29.100] And so what I call the first type one ransomware is here you have the cumulative revenues of this ransomware. [26:29.260 --> 26:37.020] And what it shows is actually a pretty successful ransomware, which made about $611,000 in revenues. [26:37.300 --> 26:42.760] And I don't know why I kept the sense, but it's still, I guess, every penny counts when you're earning money. [26:43.860 --> 26:50.520] And so what we see over here is actually kind of interesting, which this ransomware made about 1,100 victims over its lifespan. [26:50.520 --> 26:52.520] And that's about 20 victims per day. [26:52.700 --> 26:56.040] And that's about $10,000 that were earned every single day. [26:56.240 --> 27:00.660] And I don't have to tell you once again that this is with very low cost in the infrastructure. [27:01.000 --> 27:04.000] And of course, very little taxes to pay at the end of the year. [27:05.360 --> 27:12.200] And so here we see that about 80% of the revenues were generated between November 2nd and November 24th. [27:12.200 --> 27:20.700] So most of the money was done within three weeks, which means that if you want to react to these ransomware campaigns, you have to be very quick and very efficient if you want to stop it from propagating. [27:22.800 --> 27:24.720] And ransomware can be very personal. [27:25.320 --> 27:29.500] And the one that I just presented is actually for me. [27:29.960 --> 27:33.920] A research center that I was working at was actually hit by this ransomware. [27:33.920 --> 27:37.680] And so we weren't sure if we were going to pay to get the files back or not. [27:37.800 --> 27:39.660] Of course, there were no backups at the research center. [27:39.980 --> 27:43.960] The security people weren't sure we should pay because it would encourage more crime. [27:44.800 --> 27:47.420] And finally, we decided, you know, we're just going to do it. [27:47.500 --> 27:53.980] And so I went on LocalBitcoins.com, find someone who was willing to sell me Bitcoins really rapidly because there's this timer going down. [27:53.980 --> 27:58.780] And I go and meet this guy who looks, you know, kind of like the guy having a slide over here. [27:58.960 --> 28:08.020] And he's just in sweatpants and he's just waiting at our local Bitcoin embassy for people who have been hit with ransomware and just selling them Bitcoins at a very high price. [28:08.420 --> 28:13.240] And so apparently you can also profit from a very profitable business if you're into the Bitcoins. [28:13.660 --> 28:20.420] And if you're wondering in the blue box over there, that's me paying a ransom about two years ago. [28:21.480 --> 28:23.620] And so there's other types of ransom, of course. [28:24.120 --> 28:27.380] The type two ransomware is also very, very good at making money. [28:27.620 --> 28:31.520] The second case is a case that made about $170,000 U.S. [28:32.140 --> 28:34.280] But this one was kind of different from the first one. [28:34.400 --> 28:36.540] First of all, because it lasted a lot longer. [28:36.700 --> 28:38.400] It was active for a couple of months. [28:38.600 --> 28:42.160] And the other interesting thing is also that it never stops making money. [28:42.260 --> 28:44.220] It just keeps on making more and more money. [28:44.580 --> 28:49.620] And our guess is that this ransomware actually continued well after the end of this graph. [28:49.620 --> 28:52.980] But they kind of changed their wallets, so we kind of lost track of them. [28:53.240 --> 28:58.800] So this is perhaps kind of more sophisticated scammers who knew that you could perhaps be traced with Bitcoins. [28:59.180 --> 29:02.240] Maybe they foresaw that BitCluster was coming a few years later. [29:02.660 --> 29:05.740] And so they switched up their tactics and how they were using their Bitcoins. [29:06.720 --> 29:08.820] And finally, we have the type three ransomware. [29:09.460 --> 29:12.680] And these are the guys that are really sophisticated, that really frustrated me. [29:12.900 --> 29:15.800] Because we only had one payment one day with one victim. [29:15.800 --> 29:20.760] And so that meant that they were smart enough not to bring all of their money together in one transaction. [29:21.140 --> 29:24.060] Only use, as Matthew was saying, one input per transaction. [29:24.400 --> 29:28.280] And this means that we could still use BitCluster to follow the money around. [29:28.440 --> 29:33.700] But we can't just... I can't just, you know, amaze you by telling you how much money they've made in a couple of weeks. [29:35.100 --> 29:38.760] The second case today I want to talk about today is online illicit markets. [29:39.020 --> 29:42.220] Now, I'm sure everyone here has heard of these online illicit markets. [29:42.340 --> 29:43.260] They're on forums. [29:43.400 --> 29:44.160] They're on chat rooms. [29:44.340 --> 29:45.720] They've been around for decades. [29:45.720 --> 29:49.760] And you can buy pretty much any illicit products or services online on them. [29:50.100 --> 29:53.840] Over the past five years, there's been a new generation of online illicit markets. [29:53.840 --> 29:55.120] And they're called crypto markets. [29:55.340 --> 29:57.360] I'm sure some of you may have heard of Silk Road. [29:57.660 --> 29:58.060] Yeah? [29:59.240 --> 30:00.600] At least one person. [30:00.860 --> 30:01.160] That's good. [30:02.620 --> 30:10.440] So, well, these new generation, these crypto markets are really interesting because they're a lot more secure than the old online illicit markets for a number of reasons. [30:11.320 --> 30:15.140] And one of these reasons is that they're using technology to help them secure themselves. [30:15.400 --> 30:18.280] And so they're going to be using PGP keys for communications. [30:18.780 --> 30:20.320] They're going to be using the Tor network. [30:20.600 --> 30:22.700] Whether that's secure or not, we can always talk about it. [30:22.840 --> 30:24.700] But at least it gives you more security. [30:24.840 --> 30:27.780] And, of course, they're going to use Bitcoins for all of their payments. [30:28.380 --> 30:31.100] And at first, crypto markets were really into drugs. [30:31.260 --> 30:36.600] So it was kind of the place where you could go online, buy drugs, and get it, you know, shipped by the mail to your own house. [30:37.240 --> 30:40.400] But over the past few years, they've actually diversified a lot. [30:40.540 --> 30:45.820] And right now, we have about 50-50% for listings that are for drug-related items. [30:45.820 --> 30:48.940] And the other half is for something else completely different. [30:49.140 --> 30:53.120] We're talking about carding, hacking, financial fraud, lots of services. [30:53.120 --> 30:57.120] If you want to buy a proxy, if you want to buy a Netflix account for cheap, they have them for like $5. [30:57.600 --> 31:00.700] So lots of very good offers on these crypto markets. [31:01.480 --> 31:08.940] And one of their main features is that the customers, here you have an anonymous customer, don't actually pay the vendors directly. [31:09.240 --> 31:14.100] What they do is they take their money, and they pay the marketplace, and they put it into escrow. [31:14.420 --> 31:20.360] And when they put it into escrow, the market is going to hold on to this money until you receive the good or the service you've purchased. [31:20.360 --> 31:24.720] And once you do receive it, then the money is transferred all the way to the vendor. [31:25.220 --> 31:37.040] And what this means is that if the crypto markets are very smart about how they manage these Bitcoins, they're going to have one wallet for each of their customers, and they're going to separate everyone's money and not put it all in one big pot. [31:37.040 --> 31:41.680] And you can guess from why I'm talking to you today is that is not the case. [31:42.280 --> 31:50.240] And so using the cluster, what we can all actually do is kind of bring all of these wallets together and follow these crypto markets and try to understand a bit more about how they behave. [31:51.920 --> 31:55.520] And so I'm going to give you a few numbers and show you kind of what you can do with this. [31:56.080 --> 32:01.820] And the first thing that's kind of interesting to me is using the cluster to learn how many transactions there are on crypto markets. [32:02.120 --> 32:07.780] And so here you have the case of Silk Road one, the first crypto market that was active between 2011 and 2013. [32:08.300 --> 32:13.060] And what we see over here is that the number of transaction sharply rose over time. [32:13.080 --> 32:18.580] So we went from about 500 transactions per day, all the way to 3000 transactions per day. [32:18.720 --> 32:23.200] So once again, it's not this big thing that was selling millions of transactions per day. [32:23.200 --> 32:31.100] But still interesting to see how many people were involved, how many people were putting money into this Silk Road to buy drugs and other stuff as well. [32:32.380 --> 32:35.020] Perhaps even more interesting is when you look at the revenue. [32:35.240 --> 32:38.320] So how many Bitcoins flew through these escrow payments? [32:38.520 --> 32:42.900] And here you see once again that the numbers about quadrupled over the years. [32:43.120 --> 32:50.760] So they went from under $200,000 all the way up to $800,000 at the end of Silk Road's lifespan. [32:50.760 --> 32:55.760] And at the end the graph ends because that's when law enforcement just shut down Silk Road. [32:56.120 --> 33:02.420] And it's really interesting if you look at this Silk Road page on BitCluster, you're going to see that it's generating a lot, a lot, a lot of money. [33:02.620 --> 33:07.580] And then just one day just stops and goes down to almost zero from one day to the other. [33:08.020 --> 33:12.660] And here when you look at this, we see that we've generated overall about $196 million. [33:12.660 --> 33:16.440] The FBI was saying when they began $1.2 billion. [33:17.020 --> 33:19.560] And then they realized that this was totally false. [33:19.800 --> 33:22.440] And they brought down the estimate to about $240 million. [33:22.980 --> 33:26.680] So we're pretty close to what the FBI has estimated from the C servers. [33:26.940 --> 33:30.740] And I guess we're missing a few wallets from this because, well, nothing's perfect. [33:30.900 --> 33:37.000] But we still get a very reliable idea of how much money and how many people were involved into this community. [33:39.500 --> 33:43.020] And what I've presented so far has been very macro level. [33:43.240 --> 33:48.940] But it's also possible to go more at the micro level and to look more detail about the customers of Silk Road. [33:49.080 --> 33:50.640] Who were these people and what were they buying? [33:51.200 --> 33:56.600] And the one thing that was of interest to me was looking at, well, how much are these people paying when they're making a purchase? [33:57.060 --> 34:03.540] And you see here that about 91% of all the transactions, all the money that was put into Bitcoins was under $500. [34:03.540 --> 34:09.400] So probably these people were, in many cases, buying small amount of drugs, maybe social supply. [34:09.840 --> 34:14.160] But still, from what we see from the number of transactions, it was fairly small transactions. [34:14.620 --> 34:18.540] There were still actually transactions that were raised over $1,000. [34:18.860 --> 34:24.840] And these are for like kilos of cocaine or kilos of weed because you could buy such big amounts on these crypto markets. [34:25.260 --> 34:26.640] And these are very small. [34:26.720 --> 34:31.740] We have to remember that even though it's a very small proportion, it's still thousands and thousands of transactions, if not more. [34:33.080 --> 34:44.120] And when you look at the revenues, well, you realize that when you just add up the revenues and you see where the revenues were coming from, about half of the revenues were coming from these small transactions, so under $500. [34:44.660 --> 34:52.620] But the pie chart really changes and you see that these big transactions where you're buying a massive amount, either of drugs or whatever else, are very important. [34:52.760 --> 34:54.620] About a third of the revenues that were generated. [34:55.120 --> 34:58.340] And so when you're trying to understand how these markets work, what are people buying? [34:58.540 --> 35:03.280] It's actually not only just small quantities of drugs or small amounts of whatever hacking software. [35:03.520 --> 35:06.160] They're going to be buying some things that are very expensive. [35:07.360 --> 35:10.200] And that's something that I found in my own research in the past. [35:10.420 --> 35:15.380] In my own research in the past, what we did before we had BitCluster, is we look at feedbacks. [35:15.500 --> 35:20.820] So most people, when they bought something, left feedbacks, kind of like you do on Amazon or eBay. [35:21.780 --> 35:25.520] And here you have some guy talking about a purchase of Coke that he made. [35:25.700 --> 35:28.580] And apparently his Coke had a strong bubble gum taste. [35:29.740 --> 35:33.000] And apparently that's very good because he gave it a five star out of five. [35:33.980 --> 35:37.740] And so you have a price, you have a date, you know the product. [35:38.000 --> 35:44.160] And so that kind of lets you kind of add it all up together and kind of multiply the number of feedbacks by the amount that you paid for. [35:44.340 --> 35:46.720] And that gives you kind of size and scope of crypto markets. [35:47.000 --> 35:48.780] And that's kind of what I did in the past. [35:48.900 --> 35:51.700] And that's what many colleagues of mine have done also in the past. [35:52.660 --> 35:57.760] If you look at Silk Road in here, I wanted to show you kind of the differences between BitClush and what we had before. [35:58.660 --> 36:05.860] Perhaps one of the most exhaustive study looking at feedbacks was made by two guys, Suska and Kristen, that was published back in 2015. [36:06.160 --> 36:14.640] And they did an amazing job of bringing all of this data from many, many crypto markets together to kind of find what is the overall size and scope of crypto markets. [36:14.880 --> 36:20.840] And here you see the bars are the Suska and Kristen data and the line is the BitClush data. [36:21.180 --> 36:24.420] And you see that we see a lot more Bitcoins going through this crypto market. [36:24.420 --> 36:28.000] And this is only for Silk Road 1 than that we saw in the feedbacks. [36:28.200 --> 36:38.260] And now you could either hypothesize that actually feedbacks don't tell the whole story, that there's actually a lot more drugs being sold on Silk Road than you could see with the feedbacks. [36:38.500 --> 36:42.260] But my own guess is that actually people thought that Silk Road would be around forever. [36:42.260 --> 36:48.520] It was this magic community where everyone was fun and everyone liked each other. [36:49.180 --> 36:56.120] And so people actually, when they were buying, for example, $100 worth of drugs, they would put in $200 telling themselves, well, I'll just keep $100 in there. [36:56.180 --> 36:58.960] And when I need more drugs, I'll just go back and it'll be there for me. [36:59.200 --> 37:04.940] And so my guess is actually the difference can be explained because there's this gap where people were leaving money on Silk Road. [37:05.700 --> 37:09.660] At the end of this graph, what you don't see is that the police shut down Silk Road. [37:09.840 --> 37:10.540] The dream ended. [37:10.860 --> 37:14.640] And so there were a lot more crypto markets that were launched later in 2014. [37:15.400 --> 37:22.140] And here you have a combination of the revenues from all of these crypto markets brought together. [37:22.260 --> 37:23.480] I think there's about six of them. [37:23.660 --> 37:31.700] And what you see is that people, I think, were a lot more scared to leave money on crypto markets because they thought they can be shut down at any point in time. [37:32.020 --> 37:38.900] And this is why you see that the correlation between our data and Syska's and Kristen's data, it's much closer on that graph. [37:39.340 --> 37:48.060] And very interestingly, you see at some time intervals, especially on the left, that there's actually more money according to the feedback than we could find in BitCluster. [37:48.460 --> 37:52.180] And one of the things that I've suspected was that there were fake feedbacks. [37:52.240 --> 38:00.420] I know this is very shocking, but that the crypto markets were actually generating fake feedbacks to make it look as though there were a lot of activities on their crypto markets. [38:00.660 --> 38:13.000] And so this would suggest, at least on the left where you see there's more feedbacks and revenues, is that these markets were generating these fake feedbacks to make it look as though there were a lot of money, though it did increase over time and we ended up about where we were, [38:13.160 --> 38:16.340] about $800,000 a day in total revenues. [38:17.720 --> 38:23.560] And so because we want to save some time for questions, I'm going to go very quickly over the main takeaways for this talk. [38:24.420 --> 38:27.980] I think that the one thing to remember is that the Bitcoin network never sleeps. [38:28.320 --> 38:29.700] It's always collecting money. [38:29.840 --> 38:31.120] The blockchain is always there. [38:31.320 --> 38:40.820] And when you're looking at what Suska and Kristen did, they did an amazing job, but it took a lot of time, a lot of energy and a lot of money to collect all of those feedbacks. [38:40.820 --> 38:52.400] Matthew and I were just two guys playing with the blockchain and we managed to replicate some of their results, not perfectly, but still some of their results with very, very little resources and in a much limited timeframe. [38:52.880 --> 38:57.260] And so I think it's really important to notice how important, how useful the blockchain can be. [38:57.860 --> 39:09.220] And one of the most interesting feature, I think, is that you can go back to the future, if you will, which means that even though you never knew that Silk Road existed when it was online, even though you didn't care about Silk Road when it was online, [39:09.820 --> 39:12.500] five years later, 20 years later, you can go back in time. [39:12.500 --> 39:16.920] If you have at least one wallet from Silk Road, you can go and investigate what was happening there. [39:17.060 --> 39:18.280] What were people spending? [39:18.460 --> 39:19.360] What were people receiving? [39:19.660 --> 39:22.300] And you're not limited by time. [39:22.480 --> 39:25.560] The feedbacks, once the page is taken down, there's no way to get back. [39:25.560 --> 39:26.120] It's gone. [39:26.240 --> 39:27.100] We're not going to get back. [39:27.300 --> 39:32.940] With the Bitcoins, however, it's very interesting that you can just go back in time and just play with the data as much as you want. [39:33.980 --> 39:37.900] And finally, I think it's very important to stress this, that you always have to validate. [39:38.180 --> 39:43.400] No matter what finding you find with BitCluster, you have to find alternative sources of data to validate your results. [39:43.600 --> 39:50.480] If you look at my Silk Road 1 data, for example, the headline could say, well, you know, Silk Road was twice as big as we thought before. [39:50.760 --> 39:52.200] I don't think that was the case. [39:52.460 --> 39:55.940] But you could still... you would need to validate whatever results you get. [39:56.100 --> 39:57.320] And it's the same with the ransomware. [39:57.460 --> 40:01.180] If it says a campaign ended on a single date, maybe they just changed their wallets. [40:01.180 --> 40:03.340] And you have to go and find answers elsewhere. [40:04.560 --> 40:07.300] And so what's next for BitCluster? [40:07.720 --> 40:10.880] Basically having real-time automated database updating. [40:11.140 --> 40:14.620] So right now you have to do it manually, so it's maybe more of a pain. [40:14.960 --> 40:17.800] We're hoping to have that down so it's pretty much live. [40:17.800 --> 40:22.160] So when you're running it on your own computer, kind of have it up-to-date at all time. [40:22.160 --> 40:23.620] The labeling of nodes. [40:23.820 --> 40:25.880] So right now all the nodes are only known for their numbers. [40:26.080 --> 40:30.820] And so it may be difficult to remember that 2146562 is Silk Road. [40:31.020 --> 40:32.420] It's easier to have names. [40:33.200 --> 40:34.940] And also have some visual graphs. [40:35.140 --> 40:42.160] So basically just, you know, point and click and just click on a node and see where the money is coming from, where it's going, kind of more visual aspect to the tool. [40:42.160 --> 40:45.620] And finally, perhaps a hosted version of the tool. [40:45.880 --> 40:48.460] I'm saying here if we get a quantum computer at some point. [40:49.120 --> 40:52.120] It's just that it's very, very memory intensive and CPU intensive. [40:52.540 --> 40:57.960] And we could host any query that you guys would have, but we can only have like eight queries at the same time. [40:58.220 --> 40:59.960] So it's a very limited tool. [40:59.960 --> 41:02.180] So we'll see what happens with that in the future. [41:02.720 --> 41:06.020] And so the URL, everyone has been dying to see. [41:06.220 --> 41:07.360] So the tool is online. [41:07.480 --> 41:08.720] The database is online as well. [41:08.900 --> 41:09.940] You can unload it all. [41:10.080 --> 41:12.820] It's free and open-source on bitcluster.com. [41:13.320 --> 41:14.380] And that's it for us. [41:14.380 --> 41:17.220] If you guys have any questions, we'd love to hear them and share what we've learned. [41:17.460 --> 41:17.780] Thank you. [41:26.130 --> 41:29.890] Maybe if we can open the lights so we can see if someone has their hands raised. [41:29.930 --> 41:30.770] Do we want to use the mic? [41:31.990 --> 41:32.550] Thank you. [41:32.990 --> 41:33.730] For the questions. [41:33.990 --> 41:34.190] Sorry. [41:36.510 --> 41:37.190] Oh, sorry. [41:37.430 --> 41:37.910] Go ahead. [41:38.010 --> 41:38.990] Can I start? [41:39.130 --> 41:39.310] Sure. [41:39.450 --> 41:39.830] You can go back. [41:41.950 --> 41:52.090] So you guys mentioned that because of the difference in the FBI estimate for the sides of Silk Road and your BitCluster estimate, there was like maybe an extra like $50 million in escrow. [41:52.710 --> 42:01.790] Isn't it possible that later markets were just stupider and had fewer wallets going on and that, you know, people still kept the same amount of money in escrow? [42:02.410 --> 42:03.210] It's possible. [42:03.430 --> 42:07.750] I would say that there's been so many crypto markets that were on and off for the past few years. [42:07.750 --> 42:07.990] Yeah. [42:08.030 --> 42:12.730] That I would never leave any deposit in any crypto market because it could be taken down at any time. [42:12.930 --> 42:12.990] Right. [42:13.090 --> 42:17.410] I didn't talk about exit scams where the markets just steal everyone's money from their deposits. [42:17.730 --> 42:17.810] Yeah. [42:17.810 --> 42:21.310] So I really doubt that there's a lot of money being held in these deposits. [42:21.550 --> 42:27.550] What people usually do is if you're buying for $100, you put in $100, pay with it, and then you're out. [42:27.550 --> 42:30.710] So I guess that's why you see the smaller difference between the two. [42:30.950 --> 42:31.150] Right. [42:31.250 --> 42:31.370] Okay. [42:31.530 --> 42:31.850] Thank you. [42:32.130 --> 42:32.570] Welcome. [42:34.270 --> 42:34.710] Hey. [42:35.190 --> 42:40.330] So I know that doing computation with large graphs is a really hard problem. [42:40.370 --> 42:46.350] So I think it's great that you guys could get this to run at all on such a gigantic graph. [42:46.350 --> 42:54.290] Have you been thinking about any interesting ways of optimizing it so that it'll do the computations you want faster? [42:58.660 --> 43:00.580] Can we open the mic? [43:06.480 --> 43:12.540] Well, yeah, there's a way that we can remove some nodes that are not really, really interesting. [43:12.940 --> 43:20.760] Usually, to make a query on a really, really big node is approximately like three minutes for Silk Road. [43:20.960 --> 43:25.000] So it's not that long to do the optimization. [43:25.460 --> 43:28.680] What is long is when we host it, the same queries made over and over and over. [43:28.680 --> 43:32.640] So what we're going to do if we're going to host the tools is we're going to put some caching. [43:32.880 --> 43:38.500] So, for example, like it's never changed in like at least a block for at least 10 minutes. [43:38.720 --> 43:44.400] So we may be able to reuse data that have been already computed to show the same result to multiple users. [43:44.600 --> 43:49.880] So we're going to do something related to caching to possibly be able to host it somewhere. [43:50.600 --> 43:57.560] For the graph analysis, the main problem is the number of nodes that's still there. [43:57.560 --> 44:05.440] So even though the jigsaw algorithm will not be able to scale it on 58 million of nodes. [44:06.160 --> 44:09.020] So by now, I don't have any situation. [44:09.020 --> 44:14.460] I think we're going to be limited like to browse until three or four level. [44:14.460 --> 44:22.020] So maybe not be enough to bypass the long green scheme, but it may be able to depending on the long green scheme. [44:22.180 --> 44:28.460] But to optimize on the research into the graph, I don't think that we're going to be possible. [44:28.700 --> 44:30.740] But to host the tools, we're going to put some caching. [44:30.960 --> 44:36.880] So because the same queries made over and over and over again, so we don't have to compute and just give you back the result in real time. [44:37.640 --> 44:38.280] All right. [44:38.460 --> 44:39.100] Thanks for the talk. [44:40.200 --> 44:51.780] So it wasn't really the focus of your talk, but moving from just nodes with numbers to actual people, it seems like it'd be the actual value in this. [44:52.100 --> 44:56.480] So have you guys actually talked to anyone or started doing that? [44:58.460 --> 45:00.280] Yeah, I think that's the whole point. [45:00.540 --> 45:11.260] The tools have the opportunity that you have to de-anonymize one addresses out of 1000 or 100 or 100,000. [45:11.500 --> 45:20.100] So the main advantage of the clustering is you have to find only one addresses to map it to a real identity, and then you map a whole bunch of addresses to an identity. [45:20.300 --> 45:21.720] But yeah, I agree with you. [45:21.840 --> 45:25.420] The main concern here is to put identity on nodes. [45:25.420 --> 45:28.900] And that's the next stuff that it's going to do. [45:29.960 --> 45:33.780] You may want to go with Wallet Explorer and see because they're tagging an algorithm. [45:33.960 --> 45:34.760] It's quite good. [45:34.980 --> 45:43.140] And then you can use the addresses that you find associated to node and punch it into BitCluster to have more information about those person. [45:44.240 --> 45:46.660] Is it fine? [45:46.920 --> 45:48.640] Is it answering the question? [45:49.620 --> 45:50.100] Yeah? [45:50.260 --> 45:50.340] Okay. [45:51.260 --> 45:51.900] Thank you also. [45:51.900 --> 46:00.900] Can you talk a little bit more about the two issues you mentioned mid-talk about the change or about having multiple people giving to one? [46:01.020 --> 46:04.640] Because it seems like they didn't quite understand how that helps you de-anonymize. [46:04.740 --> 46:07.980] I understand multiple into one, you can tell the private keys belong to the same person. [46:07.980 --> 46:12.040] Like, why is it a problem if multiple people give to the same address? [46:12.340 --> 46:12.560] Yeah. [46:12.760 --> 46:18.240] The problem is, for example, in transaction A, you'll associate address A and B to the same person. [46:18.460 --> 46:21.360] And then it sends back the change to address A. [46:21.720 --> 46:30.940] And then if you reuse the address A that you received the change with, for example, D and E, I will be able to tell that you own A, B, D, E. [46:31.960 --> 46:34.640] But, like, why is it a problem if five people give to the same... [46:34.640 --> 46:35.300] Okay. [46:35.560 --> 46:51.040] If five people send it to the same wallet is, for example, if all five persons send it to address A, I may use the output, the first output of the first transaction that I've been sent to address A, with a conjuncture of address A, B, C. [46:51.320 --> 46:54.160] The second one with A, D, E. [46:54.640 --> 46:57.340] The third one with A, F, G. [46:57.560 --> 47:01.680] And then I taint away more addresses than it should be. [47:01.900 --> 47:03.840] And I will be able to regroup all of them together. [47:04.780 --> 47:05.520] Is it clear? [47:05.960 --> 47:06.620] Okay, perfect. [47:06.780 --> 47:13.260] I just want to make sure I answer the question sometime, because, as you may know, it's not my first language, English. [47:15.120 --> 47:16.140] Thanks for the talk. [47:16.980 --> 47:17.600] Last question, okay. [47:17.700 --> 47:26.320] I just wonder, have you taken a look at, like, Tumblr services, like Bitcoin Fog, and, like, I've always kind of wanted to know where that money ends up, you know? [47:26.440 --> 47:31.220] Like, is it going more in, or is it coming out and going into cash from there? [47:31.400 --> 47:31.920] I don't know. [47:33.480 --> 47:33.920] Usually... [47:34.820 --> 47:38.800] I'll explain it on a more technical way. [47:39.020 --> 47:45.320] And then after, if there are, like, habits or trends, maybe David will be able to answer. [47:47.300 --> 47:49.880] The main difficulty is when you put it on a Tumblr. [47:50.000 --> 47:52.120] There's a lot of transactions that are being made. [47:52.120 --> 47:59.280] So, it's really, really complicated to crawl into this graph and to find a place... [47:59.280 --> 48:03.780] Like, to find a node that is the laundry scheme. [48:04.200 --> 48:15.200] You have to find a way of seeing, like, for example, 100 Bitcoin have been put into this scheme, and crawling through all the transactions at different levels. [48:15.360 --> 48:23.720] So, crawling the graph and find a place where all this money came back into one node, less the commission of the Tumblrs. [48:24.060 --> 48:27.320] So, that's quite difficult because you need to know the commission of the Tumblrs. [48:27.480 --> 48:33.820] You need to crawl with, like, pathfinding algorithm through all the graph that is really, really exhaustive. [48:35.620 --> 48:40.880] So, by now, it's a bit difficult to find it. [48:41.640 --> 48:48.760] The only way that we may find it is, for example, if the laundry scheme uses only, like, two or three transactions before sending it back to the node, but that's... I don't think they do it. [48:48.920 --> 48:53.500] They do it, like, a lot of, a lot of, a lot of transactions before they send you back the money. [48:53.640 --> 48:55.060] Oh, it's good that they work, I guess. [48:55.300 --> 48:57.560] Yeah, it's a good system, actually. [48:57.880 --> 49:00.480] Well, it depends good, defined good, but yes, it's working. [49:02.900 --> 49:05.400] You might have already answered the question right now, but... [49:05.400 --> 49:05.480] Oh, sorry. [49:06.080 --> 49:11.920] We're out of time for questions, but if you'd like to follow up, I'm sure Dave and Matthew would like to take it offline.