Why Freenet is Complicated (or not)
JohnBE writes "'This article is primarily a friendly rebuttal to Steven Hazel's CodeCon 2002 talk entitled "libfreenet: a case study in horrors incomprehensible to the mind of man, and other secure protocol design mistakes". Hazel presents the Freenet protocol as an overly complicated, self designed crypto layer. In fact, though somewhat complicated, literally every step in the protocol was carefully thought out to resist certain attacks and to increase certain properties desirable for Freenet operators and the network as a whole.' Interesting in light of Peek-a-booty, this article covers many of the issues involved with creating a anonymous P2P system."
Are ya ready kids?
Aye aye captain!
I can't hear you!
AYE AYE CAPTAIN!
Ohhhhhhhhh, who lives in a pineapple under the sea?
SpongeBob Squarepants!
Absorbant and yellow, and pourous is he!
SpongeBob Squarepants!
If nautical nonsense be somethin' ya wish
SpongeBob Squarepants!
Then drop on the deck and flop like a fish!
SpongeBob Squarepants!
Ready?
SpongeBob Squarepants,SpongeBob Squarepants, SpongeBob Squarepants, SpongeBooob Squarepants!
(pirate laughs... SpongeBob plays his nose.)
Is my best friend. I make love to my calculus text every day.
i was jilted before. can this be the FP that the other was meant to be?
visit the hwky website for a lyrical genius infusion.
(from the article) ...
Some perceived minor irritations may arise due to the implementation of Freenet in Java. Java is not like C, so some porting issues are bound to arise. Porting is hard sometimes.
"Everyone is entitled to their own opinion, but not their own facts."
http://www.kuro5hin.org/story/2002/2/17/203032/375
"Total destruction the only solution" - Bob Marley
How do you expect people to set it up when the majority of people are not familiar with non-standard implementation languages such as Java?
I for one couldn't figure out how to get it to work even though I have been programming in C and C++ for over ten years.
The owls are not what they seem
http://www.kuro5hin.org/?op=displaystory;sid=2002/ 2/17/203032/375
It would have been nice for the person who submitted the article to at least include the link to the article that paragraph came from...
Is this post not nifty? Sluggy Freelance. Worshi
until they switch their infrastructure to Beowulf clusters.
Bush is an idiot!
...we can find the latest Britney Spears album, complete with high-res cover scans and 320kbps MP3s, I highly doubt Freenet will catch on. It's already surpassed by Morpheus and Gnutella in terms of users. The thing preventing Freenet from gaining wide acceptance is, for sure, the fact that mysterious files which you have no knowledge of their content, are automatically downloaded to your shared directory. This of course helps other people, including people you don't want to help.
in posting anonymous flamebait on slashdot.
parent is TROLL
It must be written in C# to be safe, and it should use key escrow instead of some public key auth that only permits illegal activities anyway.
Here's a quick overview of Freenet, if you need to get up to speed.
"It remains to be seen if the human brain is powerful enough to solve the problems it has created." Dr. Richard Wallace
parent is a TROLL
Java is such crap.
filler
Visit the new Troll site!
Go figure..
My bias out of the way: I like freenet. A Lot. I run a freesite (Fishland).
;))
This being said, I'm sorry, but parts of freenet, right now, are a complete train wreck, and the only thing keeping me around is basically the lack of another solution which achieves the goals that I want to see.
The main freenet developers are good at designing protocols. It's often been said that it's a real testiment to the freenet protocol spec, that freenet works in spite of it's codebase and lack of documentation. Those of you who've seen the freenet code will most likely agree with me, that many of the freenet developers couldn't code their way out of a wet paper bag.
(And no, it's not about java vs. C - it's entierly possible to write good java, but java isn't a magic bullet that makes your code good without any effort. Freenet is proof of this
Freenet 0.4 may be beta, but it is a deployed network which people are encouraged to use. There is no 0.3 download at freenetproject.org anymore, which leads me to believe that therefore, 0.4 is the network that you all want me to publish into. And if this is the case, you don't get to say "Oh, but it's the development network" as an excuse for fucking everyone who tries to actully do something with it in the ass.
Similarly, development is no damn excuse for no documentation at all, in face, development is when you *should* be creating the documentation for something as important as FNP, not as some afterthought. FCP is NOT a substitue for FNP, it only allows me to talk to my own node. There are some very good reasons sometimes to not do that. Moreover, since we have had but one set of mandatory upgrades since august 2001 (in january this year), FNP must be pretty static... older nodes seem to interoperate, for the most part, so the node->node protocol can't have changed that dramatically.
You say documentation is a priority. But the actions and words of the freenet teams scream in my face until they are blue, that if I want documentation, then I can go and fuck myself.
This is really the attitude that is percieved... that if one isn't happy with the current situation, then one should go and fuck ones self, if one isn't happy that we get mandatory upgrades with no notice at all on the web page or anywhere else a normal freenetter would look, then one should just go and fuck ones self. If one isn't happy that the general attitude of the freenet developers is that the people who are creating tools for the network, and content for the network don't fucking matter, then one should go fuck ones self.
One day, all of the freesite and freeapp authors will do exactly that, and then where will your network be?
All your freenet are belong to us
therefore, nobody cares.
My beautiful mind is about to blow!
The owls are not what they seem
This is a straight copy..paste from this posting.
This was also posted to another scoop site, kuro5hin :)
For those of you who care, Ian Clark also commented on the story himself(1 2 3 4 5)
autopr0n is like, down and stuff.
When you compare it to stuff like gnutella, mojonation and others, freenet is about average.
Freenet's not hard to write programs for at all, Freenet itself is whats complicated.
Currently I know C, VB, and I'm learning Java.
Freenet is not that complicated. Its just not documented as well as it could be.
If you use Linux, please help development of Autopac
Its just so wrong for that scgmille to copy so blatently from that poorscgmile guy. er. wait...
autopr0n is like, down and stuff.
I'll start using freenet when:
1. Response times are less than 5 seconds
2. Data is retrieved at over 6kb/s
3. A way to search data over freenet is made.
Photos.
I also think if freenet were written in C, it would have far more developer support.
Documentation is lacking and that doesnt help, what also doesnt help is using java, Freenet barely works on Linux and MacOSX.
C would have been the language of choice simply because more people know C than java, porting would have been faster.
As far as the freenet project going down, someone needs to port freenet to C right now, if its ported to C people will develop for it.
While I konw C, i dont know java. Alot of people would like a freenet DLL for windows from which they could do somethinng like write a vb app front end for the freenet backend. This would make freenet more popular for windows.
I dont know, I disagree about the freenet developers not knowing how to code, they code way better than me, they dont seem to document anything, they dont have a status page, they rarely use the mailing lists and talk too much on frost, communication skills would help.
I think freenet has come far, I think with alittle more support, perhaps some kinda sponser or from donations, or if they make it easier for people to contribute code, freenet will be a success.
Right now freenet is just too underground and esoteric for normal programmers to deal with.
If you use Linux, please help development of Autopac
C: write once, compile everywhere
Java: write once, run nowhere
Possible the only network with a higher Porn : Non-Porn ratio than the Internet itself :P
Java is slower than C, yet less powerful than C++.
Java is portible but so is C#, C, C++.
Java currently doesnt seem to be a match for C#, Java is ok, but i have yet to see a successful project written in java.
If you use Linux, please help development of Autopac
Please ignore. Thank you.
--C0WB0YN34L
Do these things work with digital cable? Most of the coolest stuff on HBO, Showtime, MTV2 is really only available with digital cable. Would these things work with that?
autopr0n is like, down and stuff.
If you wish to read about well-designed anonymous P2P systems, look at Crowds (similar design to Pick-a-Booty, years earlier).
Anonymity has many more uses: censorship resistant systems often use anonymity. See, for example Free Haven or the following article on a new design
http://www.cl.cam.ac.uk/~aas23/Anon_p2p2.ps
Stories are put in a submission queue for users to rate on. When a story has been sent to the front page (or a section), the date is set for that time.
This story was submitted Feb 17 <21:33 (time of comment 1)
I can't say anything of the submission process for infoAnarchy, as to whether it is readily available before it is 'posted'.
I'm not sure why I would want to install freenet on my system. From what I understand, basically I'm expected to download and install this software and give a certain amount of my own bandwidth and disk space over to the network. I have no way of knowing what's stored on my hard disk and being downloaded from me. I've peered through a key list for freenet and it seems most of the data is porn. You might accuse me of being alarmist but i'm fairly confident a good amount of that will be illegal porn (underage, etc) otherwise it would be on the web somewhere.
So now I've paid money to buy bandwidth and disk space to set up a porn server, and I'm not even getting ad revenues.
As for protecting speach, couldn't a government just make the freenet software itself illegal if it wanted to?
I can't see it really catching on - apart from a few paranoid "lone gunmen" types and comic book store guy, who's it going to appeal to?
Just a question.
James
Here is the original post, on the Freenet homepage about the Infoanarchy piece, as to whether it was posted on Kuro5hin or InfoAnarchy, read either, it doesn't matter. At the above link is an MP3 file of the original cited speech (at Codecon).
e4 e5
... doesn't lie in its protocol or security, but in its inconvenience to users. Information simply disappears off of the network, making it almost impossible for regular use. While it was not designed for sharing music and porn, thats what most people think p2p networks are for these days. As a result, the oppressed people that the project was designed for can't use the system. The initial concept that one cannot store information on their system was good, but is being abused by too many people. There simply are not enough permanent connections with enough disk space to support the current incarnation of Freenet.
The second problem is the inability to find information. Even if it does exist, very few people know how to find it. Until the key indices are completed and a uniform naming system is accepted, information will just sit there, and be as good as lost.
I apologize for this being somewhat offtopic and please correct me if either of these problems have been solved. I'd really love to see Freenet take off, but it seems that it may be dead on arrival being too difficult to use for end users.
You can always pick fight over Java is better than c or c is better than java. its tried a logt on the tech mailing list of freenet project.
There is a whiterose C++ implementation of freenet.(development is frozen there however 8) i think this is not picked up before 1.0
But above all freenet now requires:
-documentation. (no coding
-testing procedures. a test set or something like that. (you can code the tests in the language of your choice.....)
-more nodes in the network. (just download it)
-better client software. you can write a client in any language you want.
I really like Freenet overall and thought a while about putting my new HP up as a freesite. I didn't do it for minor reasons. Anyway I think it is a great project and put all my (big)file releases up as a public KSK, simply beacuse it's a good, clean and simple way to share files.
The main problem is that it will never gain popularity. Freenet has mainly two target audiences: The file-sharing community (WareZ Groups etc.) and the people, who like the Idea of browsing anonymously.
Until now Freenet has no popularity in both areas. The egoistic WareZ Groups don't even think about using Freenet, eventhough they really should contribute more to OpenSource projects, because they are the ones using them really heavily (think of LAME, MPEG2Decoders, etc.), and stick with old/insecure/closed Technologies like FTP, IRC and EDonkey.
Maybe all this would get better if we all start advertising freenet a bit more wherever we hang around (Boards, IRC, Weblogs) and promote it as a fast, secure, anonymous, stable, easy way to share files.
Boycot? Blackout? Subscriptions?
I don't care!
STOP ME BEFORE I POST AGAIN!
is located here.
I saw this after on /. after I got home from school and could have sworn I saw it earlier. I checked K5 (my main hideout), but it was neither in the queue nor on the front page. I was about to question my sanity.
By the way, Kuro5hin is Scoop based, Slashdot is Slashcode based.
The freenet sounded interesting so I just downloaded it and checked it out. I dunno if my firewall was blocking something but boy was it slow. I could only get the basic html and I never saw a single image come across. I waited for about 3+ minutes before I saw the text.
I read in the faq that 0.5 will be faster but they have a really really long way to go, from what I saw.
For now I've uninstalled it.
I still can't beleive that encryption, digital signatures and random key generators can be both fast and secure in Java...
- Benad
Has anyone dealt with the problem that Freenet is trademarked by some univesity that was responsable for the original community network software that runs places like the National Captial Freenet (ncf.ca), and similar sites?
ttyl
Farrell
CAN-CON 2019 - Ottawa's only book oriented Science Fiction Convention! October 18-20, Sheraton Hotel, Ottawa, Canada h
the fred.
I used to run freenet for a year or so because I loved its ideas, but half a year ago i finally gave up.
Why? Here comes fud.
-The routing has been broken so that most nodes had a single one reference with efficiency worse than random routing. 0.4 fixed it though but still..
-The node tends to use up resources. (Way too many "active" threads for almost no activity etc)
-Somewhere in the world of billion random connections the nodes eventually get flooded and fred becomes useless. once you get flooded you have probably flooded someone else and the snowball starts when enough nodes are down.
-Datastore is broken and so is the node every now and then forcing random resets and restarts.
-Dbrs (ugh). No real updating, not even a kludge with no guarantee of propagation. Why on earth not?
-Unability to participate behind a firewall.
-Incredibly high latency even from locally cached data.
-Just about all limits are broken. When they get hit things go not good.
So really, the protocol is (almost) okay. However, the developers could use a bit of the coder-thing between ears instead of university oo bullshit..
Next time, keep it short and simple. (and try to aim it self-healing instead of self-foot-shooting)
...Judge a persons ability by the quality of code, not the features they produce.
;P). Also, don't forget that a re-write of old code will always be more efficient than the original...and if the re-write is done by a third party (100% efficient coders, but no access to the original source!) then, well... The sloppy-coding team will have a new 2.0 version to offer to consumers by the time the third party is done creating a smaller, slightly speedier clone. That's how the market works.
How absurd. Programming is about solving a problem (especially by definition of a "program"). How one gets there is his or her own journey.
I have seen code that was written by a team of people that expanded over 150K lines to do some amazing things. But the code was shit. You could tell the programmers did not have a grasp on not only how to write what they wrote, but even on common agreed-upon design and implementation principles
This all sounds well and good, but the reality is that users/clients/consumers would choose a "poorly coded" (but stable) program with amazing features and GUI over a slightly faster, well-coded, and similarly priced application with NO amazing features. Why? Because consumers aren't stupid! Nobody will reward a company just because they put "USES 100KB LESS DISK SPACE THAN OUR LEADING COMPETITOR" on the box. People's $$ will just simply go further if they choose to buy the poorly coded, amazing features one. And if both versions are exactly the same (features, price, GUI, relative execution speed), then people will buy from the company that offers the best technical support, guarantee, and testimonials (and the most dollars to spend on advertising
In the real world, nobody except your company has to know how crappy your code is. If it's stable, who cares how it's written! What you get done at the end of the day is what counts. For example, I know of a very poorly-coded RPG written entirely in Visual Basic and made by a novice teen-age programmer. It was to be a free Ultima Online clone. Well, the graphics sucked, the code sucked, the networking sucked, but it was a fun game! Thousands of people have played, or at least heard of "Era Online", and hundreds of people still keep current about its progress (with the game's new developers) via message boards.
You *need* to have spaghetti code to finish large projects. Most programs do not get completed. An article on gamedev.net states that in only 1 instance of 50 does a started game is ever completed to the point of release. And that's remembering that with most games, it seems 'obvious' to most programmers how to code them. But take a network protocol of such complexity and see how only freenet authors are up to the challenge: if they've had direct competition developing such a protocol since 1999, then there are probably not many competitors still going strong.
And let's not forget that no program is ever perfect. Making a compiler work how you imagine it should work sometimes fails, and one ends up hacking up work-around code... which eventually end up being part of the permanent code.
Successful programmers don't write the most efficient code. Successful programmers accomplish things. There is nothing one can criticize Freenet programmers for with what they have done so far.
Cover your eyes and click this link!
While the comment obviously deserves the score, I really don't think that those who posted them deserve the karma for posting other people's work unattributed. Perhaps if one of Slashdot's editors reads this, they can take appropriate action.
I understand why they did it in Java, but still wish they would have done it in C. Most JRE's are not free (like Stallman free) and C runs faster, C code is often more compact inspite of what java was supposed to be, and is already pre-installed on most linux platforms - this is expecially nice when you use a modem and don't want download all the overhead of a JRE - but rather just a progam and run it.
Either way, I am just thankfull that they did it. Freenet has huge implications in terms of saving redundant use of bandwidth, and has huge benefits in terms of protecting peoples freedoms in the face of copyright freaks who would turn the world into a police state rather than give up their precious government monopoly on copying that they lobied to extend 100 years longer than it ever should have been, and then shoved the DMCA down our throats, and then wonder why people have had it with copyrights.
I said nt.
To the best of my knowledge, Freenet is already illegal, under authority of the Chinese government. Still, there are a number of tricks around that (a Freenet node will look and act like an SMTP server until you send it some sort of magic key) that allows freedom of speech to survive in China, if only a little bit.
Now, as for that sig...Bullshit, complete and utter.
All those who want to run Windows-based games on Linux and are willing to pay to have them available on a timely basis will sign up with Transgaming. All who don't sign up with Transgaming don't want Windows-based games on Linux, or are unwilling to pay for having said privilige in the near future.
I "want games", but not necessarily commercial games -- Nethack, bzFlag and the results of the annual Interactive Fiction Competition provide all the entertainment I need. When I want to run commercial games, I'm generally happy with releases old enough that the main WINE tree will run them correctly. Your statement implies I don't want games to run on Linux at all -- bullshit, plain and simple. Someone who does want new Windows games to run on Linux soon but doesn't have the cash to subscribe on hand (or has higher priorities -- rent is a frequent one) can also exist; folks can also work towards this goal by contributing their time to mainline WINE rather than sending their dollars to Transgaming. Your attempt to place a sharp and incorrect division between two sets of people stops just short of offensive.
Java isn't even typesafe... Who the hell would want to use it for something "secure"? ...and then there are the comments that Freenet's too slow... well JAVA == SLOW in case people forgot.
90 percent of people's negative comments about this project are influenced by the slow and clunky nature of JAVA. Don't get me wrong, JAVA might be great for some kind of cross-platform widget, but if you want to do anything in or near REALTIME, FORGET JAVA! Even the most optimized JAVA code will NEVER run in realtime. (Well, unless you have a couple hundred grand for parallel computing hardware) Imagine a couple thousand JAVA apps strung together with TCP/IP hiccuping and sputtering info at one another in between waiting for the code to finish taxing the CPU and MEM usage of their respective hosts. The more machines, the more latency. Suddenly, many semi-okay latencies become one big-ass mutha latency, and I'm doing an rm -rf * in my freenet dir.
I haven't EVER installed a JAVA app that actually worked correctly (esp. on the *nix platforms) or didn't suck up 80% CPU drawing a damn window with a couple menus. Ooh, just what I want, a JAVA based word processor... hey, let's do a CTRL-A in my document and watch the display freeze for about 20 seconds... Joy!
Yeah, I'll be waiting for a C implementation...