Peer-To-Peer communications [behind the scenes]

One of the first things i would to create at my first coding dreaming was a peer-to-peer- [Peer-To-Peer Network: is a network made up of many p2p keys that can communicate with each other held together by a central system that can control them] - project… And i’ve created them and helped to build a lot of peer-to-peer softwares in recent time and past, but not completely mine. As a junior developer i’ve contributing to create project in C++ code or at least JAVA, but today we have the possibility to manage a peer-to-peer connection via any device connected at MYETV and without any external plugin to install. How? With a simple browser window. Simply by creating a bridge through our instant notifications system and a new client-side system, created for this environment, called “fingerprint” system. The fingerprint system take care of get anonymous, encrypted, hashed and unique informations about the device; this key, called “fingerprint key” is stored client-side with a secure cookie or HTML5 storage session (where available) and also encrypted and stored server-side whenever the user load a page; we can take that key to send direct system real-time notifications to that user. The key will be checked and if matched the message will be visible only to that user. This is called Peer-To-Peer private messaging.

The difference between a server-based messaging system and a P2P- [Peer-To-Peer Network: is a network made up of many p2p keys that can communicate with each other held together by a central system that can control them] - -network- [Network of Contents: is the channel in which owners can post their content and the audience can see the contents posted by the owners] - messaging system is that: knowing the key of a specified user, that user will be reachable by all the network for the time he stay in the platform- [Platform: the set of the main domain and all the subdomain of a particular website; also the computer architecture and equipment using a particular operating system] - .
We waited long time to use this technology inside our platform… But from today we’ve decided to start use this feature to prevent abuses or block any malicious or dangerous request instantly in any case of Emergency; the key to reach users, for this system, will remain private but we could make interesting things in the near future with the same well tested technology.

This is the principle of a peer-to-peer network- [Peer-To-Peer Network: is a network made up of many p2p keys that can communicate with each other held together by a central system that can control them] - where, as you well know a peer- [P2P Peer: is a term used to refer to a user who has already been assigned a P2P key inside the peer-to-peer network] - is a person; in our cases a peer is a device connected at a specified date/time. To receive instant messages user must navigate inside the platform, no other softwares is required to install in computers, so when you close the browser nobody can reach you.

The peer-to-peer model is active by default to every visitor on MYETV. No matter if you are registered with an account- [Account: an Account contains the personal information that is assigned to those who register and access with email and password] - or not for the entire time you are inside the MYETV‘s platform you could be reachable with updates, from the system account, thanks to a private key stored in a secure cookie. The system account, called “MYETV”, is managed by moderators and bots that sends notifications updates to visitors and users; moderators can: send a notify message to any user OR made an instant-block to the user in case of any Emergency, if the block occour the device will be blocked for 30 minutes from the platform or for when he not change device or settings in the device itself.

The “behind the scenes” of the codes are:

  1. Taking all possible informations about the device connected
  2. Anonimise that informations (hash)
  3. Secure that informations (encrypt)
  4. Store that information inside the client (cookie or HTML5)
  5. Store that information inside the server whenever a user load a page (database work)
  6. Compare that informations whenever a connected user must interact with another connected user

This huge change is developed in these weeks, silently. The unique key is already present, from today, in every device connected and can be used for further tests from our moderators, while we develop the entire platform. The cookie with encrypted informations is automatically deleted when you close the browser. Only for registered and logged users, in the section “ENCRYPTION- [Encryption: to change electronic information or signals into a secret code (= system of letters, numbers, or symbols) that people cannot understand or use on normal equipment] - KEYS” of the page “edit profile” users can check in every moment the integrity of the key: status green: ok; status yellow: waiting connection; status red: connection refused.

HOW DOES IT WORK?
The Peer Connection happens every time you see this icon becomes green  the color and status could various:

  • GREEN: peer connected. This means the connection to the p2p network- [Peer-To-Peer Network: is a network made up of many p2p keys that can communicate with each other held together by a central system that can control them] - is established with success; when the icon intermittence is enabled, it means you have received a message from the system or an action is required.
  • YELLOW: this is the initial status. This means the connection is being established; your actual peer-to-peer keys will be checked with the one stored and the connection will be established.
  • ORANGE: you are blocked for some time (all blocks can last from 1 to 24 hours; when the icon becomes orange it’s means that someone has blocked your peer-to-peer keys inside the system, for a period of time, and it will not allow you to interact with other people on the platform. You can still use the MYETV platform but just for your own, your changes will not inflict other people. This will disable some actions like add new contents- [Contents: every content intended as text, images, audio or video] - , bump contents in homepage’s recent views feature or advise contents.
  • RED: the peer is not connected. This means the system can’t connect the client inside the peer-to-peer network; could happens by unspecified number of reasons, also technical reasons. With this status the system will let you add new contents but not bump content- [Contents: every content intended as text, images, audio or video] - in homepage’s recent views feature or advise contents.

If the icon is turned red the system will try to automatically reconnect for 5 times every 10 seconds and then the icon will still red till the new manual re-connection or till the browser is opened. The setting of the peer-to-peer connection on MYETV can be opened by clicking on that icon.

WAY TO USE IT
This peer-to-peer network is very powerfull and can be used in various way, for example we start to using it with the instant-notification system to build an instant notifications platform in real-time; it could be used in the future from MYAPPS- [MYAPPS: applications that the owners of the networks can build within them to add additional functionality to the content or to the entire network] - or for bringing some new features to the whole platform. It can be used, in the future, from MYRC and the MMTV to unify the channel number and it can be used in the future to communicate and send files in real-time as user-to-user or device-to-device. This feature is just at the beginnings.

We develop this for the purposes of abusing after donating 1€ to we.org we hope this will help to make you curious about this important projects that no-profit organizations are made.

Thank you for reading this, folks! We will work these weeks for making the best platform possible and we will continue to update you everytime we will add something new to the peer-to-peer private messaging communications.