amark / gun

An open source cybersecurity protocol for syncing decentralized graph data.
https://gun.eco/docs
Other
18.05k stars 1.16k forks source link

seriously improve documentation / explanation about basic inner workings of GunDB #1220

Closed ballerburg9005 closed 2 years ago

ballerburg9005 commented 2 years ago

I am new to GunDB. It makes all those claims about its benefits, and it seems to provide this excessive amount of documentation about how to use it and how to just do X and Y and just run this and that code and command to set it up.

Yet, nowhere on the website, on Youtube or on Github it doesn't even establish any principles about its architecture and implementation on a basic level. We are told that it is some sort of graph database that solves decentralization problems, but how?

Here is my use case: I need a decentralized censorship resistant database. This implies that there is no single authority on the content, which means that the database can easily be rendered inoperable by spam entries. Someone can simply DDOS the database by writing hundreds of Gigabytes of content to it. This concludes that there needs to be some kind of authorative master/key system, that can delete or disqualify such spam entries. This is a very basic and fundamental problem of any decentralized database. How does GunDB address this problem? We are not even told what it does on a fundamental level. Instead we are all just provided tons and tons of documentation about how to set it up and just make it work instantly with zero thought put into the inner workings of it.

This is not how any database will work. You must establish principle proof and explanation of technology used (such as DHT, with access control, etc), and then you must explain how you managed to mitigate all the issues created by it. Only after people have acknowledged how GunDB works internally, then it is time to explain how to use it and what the limitations are of your implementation.

The way it is now, there are tons of videos and your website to make bold advertizement claims, about all the great benefits and use cases, if you simply trust in GunDB and just set it up like it is layed out in the excess of tutorials to it. But nothing you put forward actually establishes basic principle proof of operation and technology involved, to make developers follow the internal workings of GunDB and establish trush about how it operates and what its limitations are.

Please fix this. From what the docs and PR videos are currently, it is mostly just buzzword bullshit and it comes off as very shady. Like a "plug & pray" half-assed insecure solution, you might find in some shady webdev tech. The PR on this project is really really bad, from a dev perspective.

amark commented 2 years ago

Huh?

Untwirl the Architecture menu sidebar. You did not even make it to page 4.

Lots of highschool students rebuild/port GUN from scratch in different languages... in a weekend.


Ok, now you've confirmed you didn't even click on the first button (todo-dapp tutorial) on the website. The account system is not master-slave nor is it spammable (unless you own the cryptographic key to your own account).


At this point, you need to beware you come off as a troll. There are massive problems with the docs, but its old React/Svelte/React etc. code and lack of new tutorials - this is the stuff that changes all the time.

This community weeds out entitled people. If you want to stick around, I charge $1000/hour so I can provide free Open Source code to everyone else, and send you documentation.

If you have a change of heart, try running the PANIC tests npm install gun mocha ip && cd node_modules/gun && mocha test/panic/chat.js and follow the on-screen instructions & errors saying what deps to install. (Usual CLI knowledge required, unfortunately). Replicable tests is science, my talking is not, but I'm 110% confident you'll be too lazy to copy&paste the test to verify my claims because you're too scared of admitting you were wrong. Yell at me all you want, everybody else is just gonna run the test to see who is right.

ballerburg9005 commented 2 years ago

Thanks for your response.

I did not see the "Architecture" section, because I was really drunk. I find my critique to be still valuable though and what I have read in that section mostly not really satisfactory. I have talked to other people and they have told me that they had issues establishing trust in the project as well. The style how it introduces itself, with all those 1 minute hot-shot cartoons/ads, baiting and posturing just comes off as shady. You are left wondering if it is all just hot air, maybe just prototype work, with all sorts of attack points and leaks left wide open and what not. I am telling you this because I think it is probably mostly not true. But still this database is radically different in many ways from conventional databases, and that raises a lot of fears and second thoughts about everything that could go wrong with that. This really should be addressed in an introduction.

What also amazed me is the level of censorship that the project receives on Wikipedia. There must be some pretty big fish involved.

I mean, check out this introduction from Hypercore: https://hypercore-protocol.org/protocol/#hypercore . It is good. First it clearly says what it is and what it is not. Then it is even explained for idiots. Then it says what technology and methods it uses internally. Then you go on Github, and it explains in even more detail its features and even provides a whitepaper. It still leaves tons of questions open, but it seems reasonable and proportionate to what it does. It doesn't seem like hundreds of things can go wrong with the approach, and it doesn't blast me with dozens of flashy marketing-ish images and videos.