The protocol is 20+ years old. Many of the sites that hold the documentation are slowly disappearing and some of the sites that are still around actually reference material that is superseded. I certainly could have done it by myself, but would have wasted countless hours. As an example, the official Gnutella RFC has unresolved TODO comments written inline! Using deep research, I was able to get information sources very quickly. The query routing protocol and the GWebCache system were particularly difficult to get information on. Other times, I was able to search the code base of existing projects, which is how I was able to figure out zlib compression (scouring the gtkgnutella codebase)