|
This page details the OpenStatus social networking software, licensed under the GNU GPL version 3.0 or above. This page has been moved here and is now licensed under the GNU FDL. OpenStatus is an open-source, decentralized, micro-blogging system written in Python. It synchronizes data contained in a network by means of another open-source piece of software; Syncthing. OpenStatus itself does not communicate using complicated networking protocols, as many traditional decentralized networks do; all of OpenStatus' networking implementations is handled by Syncthing, OpenStatus' network is based purely on file manipulations. The client for the micro-blogging system is console-based, however, a Windows-GUI frontend to the console-based client also exists. The decentralized network is currently based on what the developers call Protocol 1. Protocol 1 is a primitive version or prototype of the network: it has some issues which will be fixed in Protocol 2 and security integration will likely be added in Protocol 3. Protocols Protocol 1 Protocol one encompasses the initial way of handling the network in the early stages of OpenStatus' development. The protocol allowed the user to post content, simply by appending his post with a time stamp next to the timeline's stream file, namely default.txt, which is known as the active timeline. This would usually cause the network to break when many people all tried to append text to the same stream file at once. The network would crash resulting in lost posts. This was one of the main known problems with Protocol 1, and prompted the heavy planning of Protocol 2. Protocol 2 Protocol two was the next step in the roadmap for OpenStatus; it introduced many new features including the one most important one, conflict-shield. Conflict shield Conflict-shield was a system that implemented a conflict-less network. Whenever a post was made at the exact same time as another post in Protocol 1, a major network error would be caused, however, with the introduction of Protocol 2, posts would be posted to individual text files and placed inside folder that was named according to the time of the posting, a timestamped named directory. When the user requested the latest timeline, the API would then stitch together all the posts within the timeline directory within the timestamped named directories. Timeline stitching Timeline stitching (Conflict-shield) Timeline stitching, in the sense of a conflict shield, is a system used to stitch together the separate updates of a network as files inside a server's and send them out to users, for the users to interpret using the OpenStatus API client. It is only used in Protocol 2 and above. Timeline stitching (Archival-system/Time-Chain) Timeline stitching, in the sense of the archival system, is used in Protocol 1 and above to allow the user to interpret older archived timelines that were archived by Dynamic-Shift. Security OpenStatus, implemented with Protocol 1 or 2, never had any form of substantial security, as security was introduced only starting with Protocol 3 and above. Security system This security system is still being created/planned out and will be created soon. Read the Dracula Whitepapers here. Login security using Dracula The security protocol used in OpenStatus's Protocol 3 is named Dracula, it is a public key password system used for a single-entry-sign-on, when the user inputs his Dracula public key, as his/her user-name, it is then compared to the private key kept on the user's local machine in the unencrypted Dracula-key-store. Post encryption using Dracula Posts could of been encrypted using a straightforward password, but for fun we chose to use Dracula rather as it generates stronger passwords than the human brain can with less effort.
|
|
|