NOTICE: This channel is no longer actively logged.
[03:05:31] *** Smirker_ has quit IRC[04:00:55] *** The_84722 has joined #bittorrent[04:02:54] *** The_8472 has quit IRC[05:26:10] *** TheSHAD0W is now known as Pirocometh[05:28:20] *** Pirocometh is now known as TheSHAD0W[05:44:59] *** MassaRoddel has quit IRC[06:59:28] *** ssiloti has quit IRC[07:54:37] *** ssiloti has joined #bittorrent[09:34:26] *** MassaRoddel has joined #bittorrent[09:36:31] *** ced117 has joined #bittorrent[09:50:44] *** rafajafar has joined #bittorrent[09:52:20] <rafajafar> heyyyy, so, um... I recently invented a perceptual hashing algorithm that takes images and reduces them down to a 96 bit string which you can compare with another 96 bit string to find out, within tolerance, that they are the same image[09:52:24] <rafajafar> here's the thing[09:53:00] <rafajafar> I just cooked up a way that this could be used for mass file reconstruction[09:53:51] <rafajafar> and the people using the service don't even have to have a file, they just need a definition which will tell them what blocks to get[09:54:18] *** ced117 has quit IRC[09:54:31] <rafajafar> the more people that are using it, the more likely you are to reconstruct the file... seeders are reduced to nothing more than people with a set of images which can completely reconstruct a certain file[09:55:04] <rafajafar> here's the scheme... everyone gets a client which searches and a server which contains, say, 1000 random images[09:55:19] <rafajafar> these random images are all perceptually hashed[09:55:41] <rafajafar> the server declares its hashes to a series of central nodes[09:56:16] <rafajafar> someone has a definition file, this file contains, say, 32 96-bit hash codes[09:56:41] <rafajafar> and for each 32 series of hash codes, 1 md5 checksum[09:57:17] <rafajafar> the definition has 1 md5 checksum for every 32 hash codes[09:57:43] *** ced117 has joined #bittorrent[09:57:43] *** ced117 has quit IRC[09:57:43] *** ced117 has joined #bittorrent[09:58:14] <rafajafar> the client polls the nodes for anyone who has an exact match on the list of hash codes, and downloads one from each[09:58:32] <rafajafar> one "image" per se[09:58:40] <rafajafar> it's a noisy image, really just a container for data[09:59:39] <rafajafar> then it throws all the hash codes together, md5 checksums, and if it works, then you now have a block of data from multiple sources which can be peiced together to make a file[10:00:00] <rafajafar> if the md5 checksum doesn't match, you try again with the remaining matches[10:00:29] <rafajafar> that part is virtually indeterminate, however, the collision rate is so small for exact matches, that it is not going to be a big deal[10:01:14] <rafajafar> eventually you get the block, do this for every 32 96-bit hashes it takes to construct the file[10:01:38] <rafajafar> you've just downloaded a file w/o having the file, w/o anyone else having the file[10:01:44] <rafajafar> what do you think?[10:27:10] <MassaRoddel> where does the definition file come from?[10:32:26] <rafajafar> MassaRoddel: simple![10:32:40] <rafajafar> you have a file, you want to create the definition file, the process is two way[10:32:54] <rafajafar> your client creates definition files too[10:33:07] <rafajafar> then you distribute them at-will[10:34:52] <rafajafar> so I've figured out one draw back, and that's false claims from servers to have certain hashcodes[10:34:55] <rafajafar> but[10:35:01] <rafajafar> the service could be centralized[10:38:32] <rafajafar> say you make it so the images are 256 x 256... images are 3 channel BGR so one "pixel" of data is 24 bits... that's 2^24 x 256 x 256 images... 1,099,511,627,776[10:39:14] <rafajafar> as sucky as that'd be, you can store all data on host nodes[10:39:33] <rafajafar> and partition them by a hashcode directory[10:47:24] <rafajafar> I can make it smaller, though... say it also had an alpha channel... say we went with 128 x 128.... that'd be 2^32 * 128 * 128 ... 70,368,744,177,664 images, but the images would be half the size and a third more dense in data[11:00:51] *** swinokur has quit IRC[11:04:54] *** Mcof has quit IRC[11:21:45] *** Orbixx has quit IRC[11:21:45] *** Orbixx has joined #bittorrent[12:56:18] *** swinokur has joined #bittorrent[12:56:49] *** HAL_9001 has joined #bittorrent[12:56:49] *** HAL_9001 has joined #bittorrent[12:58:14] *** Samual has quit IRC[13:20:58] *** DWKnight has joined #bittorrent[13:22:41] *** DreadWingKnight has quit IRC[14:51:54] *** `rafi_ has joined #bittorrent[15:00:50] *** NirIzr has quit IRC[15:02:34] *** NirIzr has joined #bittorrent[17:02:25] *** Fenhl has joined #bittorrent[18:09:52] *** Mcof has joined #bittorrent[19:29:59] *** Fenhl has quit IRC[20:21:53] *** TheSHAD0W has quit IRC[20:24:23] *** TheSHAD0W has joined #bittorrent[20:37:14] *** HAL_9001 is now known as Samual[21:48:37] <TheSHAD0W> RIP Neil Armstrong.[22:16:28] <dandon> yeah. RIP[23:04:18] *** `rafi_ has quit IRC