Lending a Hand (Part 2)
How peers work together to form the Sylo Network.
In my last post, I talked about peer-to-peer communication on the Sylo Network. During this overview, I mentioned the Sylo Service Peer as a solution to the NAT traversal problem associated with mobile networks.
Today, I’ll dive deeper into the Service Peers: what they are and how they support our global, decentralised, peer-to-peer network.
The Service Peer Concept
The Sylo Protocol is a decentralised communication protocol designed for everyone, though peers who wish to run the protocol come in many shapes and sizes. Mobile phones, web browsers, desktops, and servers all come with their own set of capabilities.
The idea of a Service Peer was borne out of a recognition that different devices have different capabilities. Some devices are behind NATs. Some devices have limited storage. Some devices are frequently offline. The list goes on and on…
To create a decentralised network that is accessible to all, it is necessary that some peers with more capabilities provide services to those unable to access them on their own. The peers who opt-in to providing these services are our Service Peers and make up the Sylo Network.
It should be noted that a Service Peer is not defined by any one specific application. Rather, a Service Peer is any application that participates in the Sylo Network and runs one or more of the Sylo service protocols to provide services to other peers.
Supporting the Sylo Network
In parallel to the development of our protocols, the Sylo team has developed the initial implementation of a Service Peer. Together the Service Peers form the Sylo Network and provide the decentralised infrastructure used by the Sylo Smart Wallet.
Presently, the Service Peers that make up the Sylo Network are run by a consortium of Sylo partners. In the near future and aligned with our open source initiatives, the technology behind the Service Peers will be freely available to the public community.
Soon, any peer who wants to provide services to the Sylo Network can operate a Service Peer by running an application supporting one or more of the service protocols.
Service Offerings
Previously, we have hinted at the many challenges of operating in a decentralised environment. Services which are commonplace in centralised applications must be re-engineered to be reliable. Let’s look at a few examples and briefly discuss how solutions are provided by the Sylo Network.
Peer Discovery
In my post on peer-to-peer communication, I talked in depth about the challenges involved in locating the peers with which we want to communicate.
Centralised applications do not need or provide such a service. One peer puts the information onto the central server and another peer retrieves it. Both parties communicate only with the server.
The Sylo Network does not have centralised servers and relies on peer-to-peer communication. Service Peers provide a peer discovery service — used to quickly establish p2p connections with others.
Asynchronous Message Delivery (“Inboxing”)
If a message is sent to you and you’re not online to receive it, does it still get sent? In a peer-to-peer setting, the answer is obviously no.
What is needed, is a peer who can remain online while we are absent — receiving messages for us. When we return online, we can request the messages we missed and quickly get up to speed again.
The Sylo Network borrows from one of the oldest decentralised systems in existence — email! Service Peers supporting the inboxing protocol allow peers to register short-term inboxes and agree to collect messages on the peer’s behalf.
Message Relay
Peer-to-peer connections cannot be created in some cases, as discussed in our prior posts. Service Peers providing the relay service position themselves at a location on the Internet that can be accessed by both peers wishing to communicate. These Service Peers agree to create a peer-to-peer circuit by relaying information securely between the two peers. All messages are end-to-end encrypted and a Service Peer cannot read anything that is sent.
Authentication
In all online communication, it is vital that we can verify that the person on the other end of our connection is who they claim to be. By providing an authentication service, Service Peers can verify the identities of peers using the aforementioned services provided by the Service Peer.
In addition to the above services, many more are being explored (or are already being developed) by the Sylo team.
Putting the “Peer” in Service Peer
It’s a reality of our time that providing a full-featured, decentralised, peer-to-peer experience is something many of the devices in our pockets are simply not ready to provide without some level of support.
Additionally, the service protocols are being designed for everyone, meaning you are not limited to requesting service from one or two mysterious IP addresses in the cloud. You can get service from your friends — and have the same access to the global Sylo Network and dApp ecosystem as anyone else.
Or, you can run your own Service Peer!
Our vision is for a world where every device can participate as a Service Peer on the network and we are working diligently towards that goal. To reach this goal means to overcome some large technological hurdles. So, in the meantime, rest assured there will be other peers around to help all of us reach towards the future together.
The key difference here is that many devices, acting as Service Peers, but controlled by many different people, is orders of magnitude better than one entity controlling everything.
It is within such an environment that privacy and autonomy are created and can be sustained. By allowing anyone to become a Service Peer on the Sylo Network, together we can decentralise how we interact online.
So why would anyone run a Service Peer? Altruistic networks are great in theory, but how would something like this ever scale? In an upcoming post, I’ll talk about the Sylo utility token and how it fits into the incentivisation plan for Service Peers. Stay tuned!
—
Experience the Sylo Smart Wallet now by downloading from the Google Play or Apple App stores.
For emerging announcements, follow us on Twitter, Telegram or visit www.sylo.io