16 ms·
A global decentralized encrypted datastore with anonymous publishing
- mtrn 14y ago... in 410 lines of code.
- judofyr 14y agoWell, he's already built Celluloid (for handling concurrency) and DCell (for handling the distributed part).
- mtrn 14y agoJust learned about those two projects, thanks.
- axx 14y agoJust leaned about the fact, that he's the maker of Celluloid/DCell. Both pretty awesome!
- bascule 14y agoAlso this is the second p2p system I've tried to develop: https://github.com/tarcieri/distribustream https://github.com/tarcieri/distribustream
- lucaspiller 14y agoShould be noted that most of the documentation is theoretical. There isn't really much implemented yet, you can't yet use it.
- bascule 14y agoFor what it's worth, most of my time has gone into working on Celluloid, which is the concurrent object framework I'm using to write the Cryptosphere, as well as taking the rather intensive http://crypto-class.org http://crypto-class.org
- deleted 14y ago[deleted]
- conductor 14y agoTony Arcieri, be prepared for airport searches and harassing interrogations. edit: Well, at least that's what CryptoCat author has got
- knowtheory 14y agoDepends how he plays it. The author of CryptoCat and also Jacob Applebaum (who works on TOR) have been outspoken in the media about their gear and its intent (and in Nadim Kobeissi's case, he's not an American citizen). I'm betting that Tony could get away with keeping things on the downlow and not getting harassed too badly. But this is an empirical question. We shall see.
- Wilya 14y agoPeople get searched and interrogated at borders all the time. That doesn't, by far, only happen to crypto guys. So, you might as well give them a sensible reason to interrogate you :)
- conductor 14y agoYou should read the AMA of Nadim Kobeissi, Cryptocat author, on Reddit - http://reddit.com/r/IAmA/comments/x9q0a/im_nadim_kobeissi_cryptocat_developer_and/ http://reddit.com/r/IAmA/comments/x9q0a/im_nadim_kobeissi_cr... Edit: I wanted to post not the AMA, but this: Cryptocat creator, Nadim Kobeissi, talks about his border interrogations - http://www.wired.com/threatlevel/2012/07/crypto-cat-encryption-for-all/ http://www.wired.com/threatlevel/2012/07/crypto-cat-encrypti... > So, you might as well give them a sensible reason to interrogate you :) They don't know who am I ;)
- s_henry_paulson 14y agoFantastic idea. What happens though if a peer sharing data goes offline? Does that person's data disappear as well? Or can you build up enough "creds" to keep your data in the cloud for some time after your node disappears?
- ewillbefull 14y agoOr can you build up enough "creds" to keep your data in the cloud for some time after your node disappears? Bingo, from what I understand. More to the point, the data will persist as long as users continue to transfer it.
- coob 14y agoHow do I not unwittingly get CP being stored on my device?
- StavrosK 14y agoYou don't. Why?
- lrem 14y agoMaybe he actually cares about the children?
- StavrosK 14y agoThis is equivalent to boycotting companies that sell cameras, hard disk manufacturers, computer vendors, ISPs, etc, to "think about the children".
- alistair77 14y agoThere is a big difference; using this system you could directly facilitate the distribution of data that you do not want to be associated with. Buying a camera doesn't directly help the creation or distribution of info you consider to be immoral or unethical. Obviously you may want to use a camera maker or ISP that actively discourages such behaviour. I'm sure you would feel extremely guilty if someone used storage facilities that you controlled to spread CP. On the other hand, I've never felt guilty about buying a camera as I've never let anyone use my camera for such purposes.
- StavrosK 14y agoBut this system doesn't allow you to distinguish between files. You either use the whole thing, or don't use it at all. In the camera example, you have the option of not letting people use your camera your nefarious purposes, which isn't the case here. It's more akin to supporting the camera manufacturer, who, in turn, makes things that might be used by people for crime.
- knowtheory 14y agoHowever, in a direct peer-to-peer exchange the Cryptosphere does nothing to mask the transactions a particular is performing, as opposed to systems like Freenet and Tor which make an effort to obscure which host you're actually talking to by routing them through a chain of proxies. In this regard the anonymity guarantees of the Cryptosphere are no different from a system like BitTorrent, aside from the plausible deniability defense that comes from the fact all content is encrpyted and peers automatically provide storage service to other peers. Instead, the Cryptosphere favors system robustness over guarantees on anonymity. Participants in the system maintain a history of their activities in the form of a long-chain certificate. You can think of this being somewhat like the BitCoin block chain, where the longest version always wins, and its integrity can be cryptographically verified. Every peer maintains its own long chain certificate of all its activities, including services requested and services completed. Rather than verifying the integrity of a long chain based on hashes, the Cryptosphere uses public key cryptography. Peers requesting services sign off on both the request and delivery of a service (e.g. storing and serving a particular chunk of a file). While in isolation the data points contained within a particular long chain certificate are meaningless, peers can collect several of these certificates and build a database of other peers in the system, using tools like collaborative filtering to make intelligent decisions about which other peers are worth interacting with. This is interesting. If i understand correctly, this means that given a transfer that you'd like to engage in, searching for a particular file you can trace back the provenance of that file through a network of peers who are making it available (if their transfer histories are accessible).
- alttab 14y agotrace back the provenance of that file through a network of peers who are making it available That doesn't sound very anonymous, does it?
- knowtheory 14y agoI could misunderstand what the intent is. If this is just a distributed block based storage without an index that folks can search, then it's more akin to a way for you to ask folks to hold on to encrypted data for you for a while (without them knowing what the encrypted data actually contains). I think it's more of a matter of how secure the block chain is. Note this part of the opening blurb: To ensure quality service and prevent abuse, the Cryptosphere uses an integrated cryptographically secure reputation system which provides a distributed web of trust.
- mtgx 14y agoCould this be used for https://projectmeshnet.org https://projectmeshnet.org and how?
- ewillbefull 14y agocjdns doesn't need a bartering system for handling traffic. It uses Kademlia and some novel routing concepts, peering is assumed to be mutual because it's already explicit.
- dedward 14y agoDoes this not set things up for a hash collision? They do exist, after all... if this scales to global proportions using SHA256 without verification for deduplication (if I read this correctly) is a risk.
- ewillbefull 14y ago256 bit collisions are too improbable. The distributed hash table that BitTorrent uses relies on a 160 bit keyspace (SHA1) and that is seen as sufficient.
- wcoenen 14y agoAssuming that there are no weaknesses in SHA256, you'd have to calculate a set of 4.8x10^35 hashes to have a one in a million chance of seeing at least one collision in that set[1]. If you could calculate (and store!) a trillion trillion (10^24) hashes per second, that would take about 15000 years. Needless to say, nobody has ever found a SHA256 collision. [1] http://en.wikipedia.org/wiki/Birthday_attack http://en.wikipedia.org/wiki/Birthday_attack
- bascule 14y agoThere are 115792089237316195423570985008687907853269984665640564039457584007913129639936 possible SHA256 hashes, which is a few orders of magnitude away from the number of atoms in the observable universe. The chances of an accidental hash collision are vanishingly small.
- deleted 14y ago[deleted]
- deleted 14y ago[deleted]
- peteretep 14y agoI had half a design prepped that allowed a similar thing using bitcoin wallets - in order to buy space on the system, you have to have a bitcoin in a wallet, and use the comment on the commit of the bitcoin to the wallet to sign the piece of data...
- api 14y agoUnfortunately it will end up full of kidporn just like Freenet. This says a lot about the present state humanity, and what it says isn't good. Giordano Bruno and the Renaissance alchemists would have killed for a system like this, but the most interesting thing we can think of to do with it is fill it full of pictures of child abuse so people can jack off to them. It's nasty stuff, too. This is not "merely offensive." Kids are abducted and murdered to make this stuff. In some cases, the act of making it causes bodily harm. (Think of the mechanics of an adult having sex with a six year old.) In parts of the world children are more or less raised for the purpose. It's horrific. Picture someone getting off on photos of war atrocities. This is up there with that, but worse... imagine that the war was held expressly for the purpose of producing the images. Edit: there is also, of course, rape porn depicting adults being abused horrifically. That isn't any better, and freenets are full of that sort of stuff too. I'm not saying the technology is bad. I'm saying that it says something very depressing about the users of said technology. It also makes me dubious about running nodes on such networks, since I know that a lot of the material I'll be storing and forwarding is abuse-porn.
- kvnn 14y agoI want to solve this problem.
- api 14y agoI've thought about solving this problem too. One idea I've had is a content-type-restricted network that permits only text. That would allow utterly un-censorable communications: chat, planning revolutions, whatever, but wouldn't be useful for CP. (Unless you like ASCII-art CP.) It could support ANSI. That would be neato. It would feel like the old BBS world. Wonder if anyone would still care if a name like ViSiON-X were stolen for it. :)
- koalaman 14y agocouldn't you just encode the images into text?
- lizzard 14y agoThis looks like the perfect platform for feminist activists to name and shame rapists. Great!
- Zikes 14y agoDoesn't the media do a pretty good job of that already?
- sweis 14y agoIs this thing using raw RSA with no padding? https://github.com/tarcieri/cryptosphere/blob/master/lib/cryptosphere/crypto/asymmetric_cipher.rb#L52 https://github.com/tarcieri/cryptosphere/blob/master/lib/cry...
- bascule 14y agoPadding is added automatically by OpenSSL unless explicitly disabled. Also I will be switching to Curve25519 (for DH-style key exchange) and ECDSA (for signatures) quite soon. There will be no other use of pubkey crypto, so actually that entire file will be gone soon.
- Torgo 14y agoI quickly read over the description of how this works. Nodes have a crypto identity which is used to establish trust between nodes, and storing data from another node gives you bandwidth "credit" to download other stuff. Transactions are cryptographically signed, but presumably this is safe because the contents of the files are unknown because they are encrypted. So how are they encrypted and then stored, and later retrieved? Content is hashed, the hash is used as the AES256 decryption key. Another hash is made of the encrypted data, and this is your lookup key. Only the crypto hash is needed to query a file, but it's useless to you unless you know the original data hash to serve as a decryption key. I see two problems with this: 1. So, if both hashes of a file of illegal content becomes publicly known, like say on a website, I don't see how you avoid liability having it on your machine. It seems you can only avoid legal liability if someone stores stuff on your machine that is never intended to become publicly available. In any other case, the system has created a cryptographically provable trail between the data and your storage, which can be used to prosecute you. 2. The FBI can generate a SHA256 hash of every computer file of child pornography it has ever collected, and immediately be able to identify every node that contains this data. Presumably this gives them enough legal authority to shut down your node, regardless if you have plausible deniability that you are aware of the contents.
- Torgo 14y agoI should mention, you change one bit of a file and it will obscure the file from the "FBI test". But still, you trivially can generate the Cryptoshphere lookup for any unencrypted file you have access to, and see if anybody has it.
- bascule 14y agoYes, this is known as the "confirmation of file attack" and there is no feasible way for the system to operate without it. The confirmation of file attack is actually the degenerate case of the "learn the remaining information attack", in which the majority of the plaintext is known except for some low-entropy portion. You can imagine a standard form letter that contains your credit card number. An attacker can then generate all possible permutations of that low entropy data and find matches where those are stored. For more information see: https://tahoe-lafs.org/hacktahoelafs/drew_perttula.html https://tahoe-lafs.org/hacktahoelafs/drew_perttula.html
- lizzard 14y agoI think this may be a good solution for feminist hackers who want to name and shame rapists or incidences of sexual assault.