GithubHelp home page GithubHelp logo

bitmonky / peertree Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 4.0 1.45 MB

An experimental self organizing peer to peer network in node.js Peers can send and receive and broadcast JSON msgs using https: using self signed certs. Msgs are digitally signed by each node using ec private public key pair The peers form a tree structure where new nodes are added left to right first node is root of tree. Each node keeps a list

License: MIT License

JavaScript 93.35% PHP 6.51% HTML 0.14%
blockchain peer-group cloudcomputing cryptography database datastructures encryption peer-to-peer distributed-systems filestorage

peertree's Introduction

The PeerTree Project

An open source self-organizing peer-to-peer shard storage solution for digital assets

main

GitHub license GitHub Issues GitHub last commit GitHub repo size GitHub language count GitHub top language GitHub contributors GitHub stars GitHub forks


Table of Contents


The PeerTree Project Introduction

A self-organizing peer-to-peer network where peers can send and receive and broadcast JSON messages using HTTPS: using only self-signed certs. Messages are digitally signed by each node using EC private-public key pairs.

EC Private-Public Key Pairs

In the context of the PeerTree project, an "EC private-public key pair" refers to an encryption method called "elliptic curve cryptography." Elliptic curve cryptography (ECC) is a public key cryptography method that uses the properties of elliptic curves over finite fields to create a set of security keys. In ECC, each user has a private key and a public key. The private key is a secret value known only to the user and is used to create digital signatures. The public key is a value that is shared with others and is used to verify the user's digital signature.

Digital Signatures

In the PeerTree project, the EC private-public key pair is used to digitally sign messages that are sent between nodes in the network. This helps to ensure the authenticity and integrity of the messages and allows nodes to verify that they are receiving messages from trusted sources.

The peers form a tree structure where new nodes are added from left to right. The first node is the root of a tree. Each node keeps a list of the root peer group and its own peer group. Nodes that leave or time out are replaced by the last node to join. Messages that can not be sent are pushed onto a queue and are delivered as soon as the connection returns or the node is replaced.

PeerTree Whitepaper

To read the detailed whitepaper see this link

Currently we are working on the cloud memory peerTree application. We include a working demo of the project here.

The project also includes a proof-of-concept blockchain application that runs on top of the PeerTree object.

If you would like to support the project financially, consider purchasing some coins from Peter's coin store by clicking the link(s) below!

peertree's People

Contributors

bitmonky avatar grahamwaters avatar tilka1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

peertree's Issues

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.