Research on the Principles of Japanese P2P (1) — Winny Originator: Freenet

After BT and IP-TV series, I haven't returned to the P2P theme for a long time. On the one hand, it is because of laziness (you have to do homework for this kind of topic...), on the other hand, I feel quite scared about this theme. Fear? Because the P2P software theme I'm going to talk about this time is Winny, which is not very popular in Taiwan (in fact, it is only popular in Japan). Since I have very little personal experience with Winny, and I don’t know Japanese, I can only start from Some relevant Chinese news and discussions have seen side details, so if there are obvious fallacies in the next article, please feel free to correct me.

The popular P2P software in Japan is very different from other parts of the world. According to a report in December last year , Winny ranked number one with about 400,000 visitors a day, and then it is said to be WinMX, and the third is Share, with about 10~15 Ten thousand people. Friends who are accustomed to BT and eMule must find it very strange. Why do Japanese people want to be maverick? When others use eMulel, do you prefer to use Winny written by yourself? In fact, it’s not that strange to say that the early P2P software( (For example, Napster, Audiogalaxy, etc.) only support English, so I have trouble finding other languages. I still remember that I used to type "faye" (Faye Wong's English name) on Napster, and ran out a bunch of "chi_ai_mo_sen_ran" (only Love strangers).... In this case, Japanese people who want to use their own language have to write it by themselves. After this software is used by everyone, they don’t want to switch to eMule. This is the protagonist of this series: Winny. (Taiwanese have written P2P in Chinese by themselves! Don’t forget the ezPeer and Kuro software)

The author of Winny is Isamu Kaneko . If you are impressed by this news, you should know that he is also a Japanese forum. One of the villagers of 2ch. His code name on 2ch is 47, also known as Mr. 47 or 47 directly. The origin and subsequent development of Yu Kaneko himself will be discussed in the next article. Yu Kaneko The software was published on 2ch in the middle of 2002, and by December 2003, winny had become the largest p2p software in Japan, and it was used by about 250,000 people.

Yu Kaneko once published a book called Winny Technology,

It explains Winny's principle in detail, but embarrassingly, the whole article is written in Japanese, and there is no Chinese or English translation on the Internet. Fortunately, although I can't understand Japanese, the book is full of another one. A famous P2P network: the name of Freenet. From the Freenet architecture and various winny-related introduction articles, a large part of Winny inherits the Freenet concept and algorithm. Fortunately, today’s article let us start with Freenet, Take a look at what winny's creative philosophy is!

Freenet logo

Freenet was developed by a group of Americans headed by Ian Clarke. Their creative philosophy is very clearly written in the paper. The p2p network they want to create is:

  • Anonymity for both producers and consumers of information
  • Deniability for storers of information
  • Resistance to attempts by third parties to deny access to information
  • Effcient dynamic storage and routing of information
  • Decentralization of all network functions

Translated into Chinese is

  • Publish and share information anonymously
  • Unable to know who is the source of the data
  • Unable to find out what information you have stored
  • Fast file update and network information update
  • All functions are carried out in a decentralized (pure P2P) manner

Ian Clarke believes that true freedom of speech comes from complete anonymity, so this set of software was developed that "I don't know who the source of the file is or who it is shared with" . Of course, this has also caused protests from defenders. , I think it will be used by interested people to share illegal information, such as child molestation pictures or illegal video and audio files, etc. In fact, this type of issue is almost the fate of P2P sharing software, which has always been on the edge of the law. But this is not what it is today Point, let's first explore how Freenet does it!

freenet is a set of pure p2p software, in other words, there is no server in the system, so if a user wants to search, just as I said in the perspective of BT4 , send little ants to knock on the door of each neighbor The process is as follows:


windowslivewriterp2pwinnyfreenet-11862image02.png

The black dot a in the picture is the search initiator, a first ask the neighbor b if he knows where the file is, b look at his body: there is no such file, so he asked another neighbor c, c said he did not have it, and c is very lonely and doesn't know other neighbors, so he can't help asking, so he throws the question back to b. After receiving c's rejection letter, b doesn't give up, and continues to ask other neighbors he knows until he finds it.

The whole process is roughly expressed in words:

a asks b, b asks c, c says don't know;

b asks e, e asks f, f turns around and asks b, of course b doesn't know;

e asked another neighbor d, and finally found the file at d.

After all this tossing (in the graph theory, this method is called DFS: Depth First Search), I finally found a person with a file. Then d will directly send the file back to a? Wrong, actually in the whole process In, everyone only knows who the person who sent the message to ask him for the file is, but does not record who is the source. For example, e only remembers that b asks him about the file, and e finally throws this question to d to deal with; b I only remember that a once asked him, and b finally found the answer at e; everyone only remembers who asked him this question, and who he threw it to. In this case, d can only save the file Throw it to e, and e only knows that the upstream is b, and b finally throws the file back to his upstream, which is the initial interrogator a.

Those who are a little familiar with the operation of the Internet will think this is super inefficient; the person who wants the file is a, and the file is not recorded along the way, so just let d return the file to a! Why do you pass it along the way, it turns out a, b, e, d have a file backup in the computer, and a has to wait for b, e to transfer the file to download? Ha ha, don’t forget that the goal of this system is to share anonymously ! Let’s take a look at this What are the benefits of this approach:

  1. a can not admit that he is a downloader. a can lie that it is another upstream x who wants this file, a is just kind to help ask
  2. d can not admit that he is the source of the file. d can lie that another downstream y owns the file, d is just kindly asking for help
  3. If the file is a popular file that everyone wants in the network (a, b, c, d, e, f), then not only b, e will have the file without searching, and next time c or f When you want to search this file, just ask anyone to get it.

Discussion articles about winny on the Internet are always amazed: "I didn't give an instruction to grab this file. Why does this file appear automatically on my computer, and it's still being uploaded to people I don't know?" The principle lies.

Also worth mentioning on Freenet is "the process of publishing a file". If there is a new file on hand today, the freenet software will automatically send a search message after detecting it, first see if there is already the same name on the Internet If a file with the same name already exists on the Internet, then a will receive a file from someone else, proving that the file has collided; if several people can’t find a file with the same name, then a will happily hand it over The file is released according to the final route. From the previous example, if you give up when you find d, the release route will be a->b->e->d.

Freenet's file search and new functions, on the one hand, are helpful for the distribution of files, but on the other hand, it can also be said that a lot of bandwidth is wasted, and the files are distributed to those who do not know whether they are needed or not. People; and searching is extremely inefficient, I can only search for a few neighbors I know nearby; therefore, when I was a young university, I naively thought that this system would only stay at the stage of academic research, and it would not be popular; how did I know that Freenet passed through Jinyong After the rewriting, it became popular in Dongying with the attitude of Winny. Since 2004, it is still the most popular P2P software in Japan. If you have a fanatical interest in Japanese animation manga, I believe you should be familiar with this software.

The next article will write about the origin of Winny and the huge waves it set off in Japan, so stay tuned.

Guess you like

Origin blog.csdn.net/jrckkyy/article/details/5957565