Skip to content
Mark Nadal edited this page Sep 22, 2019 · 9 revisions

RAD

Radisk is suppose to be the default storage adapter for GUN.

It has previously sustained ~3K writes/second acknowledged from disk across 1M+ writes. But its performance has regressed and it currently suffers 2 major problems:

  • Parsing 5MB+ file can take up to 2 seconds.
  • Doing 10K+ writes in 1 loop causes No ack errors.

Our target is to be able to handle 1TB/day of continuous load on commodity hardware (near 0 cost).

Read performance needs to be addressed first, with this priority in fixes:

  1. Prevent GUN from asking RAD to do reads if GUN has already gotten the node from RAD, but still ask again if any portion of the node has been garbage collected.
  2. Always read from and cache to local disk, even if using a remote storage adapter.
  3. Use @rogowski's improved RAD parser.
  4. Without breaking environment support, do not block hearing messages while handling parsing.

Reads may be impacting write performance, once fixed, retest write benchmarks.

AXE

AXE is a network of computers that provide optimized routing for bandwidth.

AXE has hit its limits at 10M+ monthly active users on 1 free Heroku relay peer with HackerNoon.

Our target is to handle 100M/monthly users on only 10 relay peers by rebalancing traffic amongst them using a Radix DHT sharding algorithm.

SEA

Security, Encryption, Authorization uses cryptography to prevent users from modifying each other's data.

It is successfully used in production with notabug (P2P Reddit)'s 10K+ users.

SEA can handle ACL (read/write permissions), but could benefit from abstractions that handle it automatically on GUN.

This can be done by an author stating what other public keys have write access to a particular soul or path in their graph, and then reading from that matching path or soul on the other user's graphs and merging the resulting object for view. Extremely large groups would need to cache/index the merged objects so load time does not slow down.

ERA

Economic Resource Allocation should be able to interoperate between different apps:

  • Decentralized Uber.
  • P2P AirBnB.
  • Food delivery.
  • Friend discovery.
  • Find knowledge.

With Freeism, this should be possible to do without spending money.

To make this possible, we need some algorithmic tools:

  • Iris/Identifi makes sure you are protected by friends.
  • Meta Editor makes it easy for stories, music, art, and games can be generated by users.
  • Party which turns the existing centralized web into your own platform and marketplace.

This wiki is where all the GUN website documentation comes from.

You can read it here or on the website, but the website has some special features like rendering some markdown extensions to create interactive coding tutorials.

Please feel free to improve the docs itself, we need contributions!

Clone this wiki locally