GithubHelp home page GithubHelp logo

disgustingwall / ipfschan Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 114 KB

Distributed messageboard where viewing is archiving

Home Page: https://ipfschan.herokuapp.com

License: GNU General Public License v3.0

HTML 59.31% JavaScript 40.69%
forum ipfs-node ipfs-network ipfs-cache distributed-systems distributed distributed-ledger distributed-storage chan

ipfschan's People

Contributors

disgustingwall avatar

Stargazers

 avatar

Watchers

 avatar

ipfschan's Issues

Unchecked history tree growth

The main problem with the system currently is that the history tree can become infinitely large without having any content stored in it.

This problem is especially noticeable when two servers are set to pull each other's trees and merge them: one server will merge the other's tree, making a node with only references to two other nodes in it - the foreign server's head node and the server's own previous node. The second server will then detect that a new head node is available, and it will create a similarly empty node in its own tree. The first server will then recognize that a new node is available, and the cycle will repeat.

This could be solved in one of two ways:

  • Each server could use spare resources to compress its own tree: adjacent sparse nodes could be compressed into a single node and the tree could be rebuilt. The server could aim to have each node be a natural file size, IE less than or equal to some IPFS or local filesystem block size, or perhaps some multiple of 512 bytes.
  • The receiving node could check if content included in the foreign tree has already been included in its own tree. This would take time, delay the inclusion of content to the server's tree, and an exhaustive search would be extremely resource intensive and likely fruitless. This is likely a poor solution in isolation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.