Fixed grammatic errors and IDs

This commit is contained in:
aewens 2019-02-17 21:36:07 +01:00
parent ebea948595
commit a6e868ad1a
1 changed files with 21 additions and 21 deletions

View File

@ -14,10 +14,10 @@ sustainable, self-reliant, decentralized network of tilde servers.
## Introduction {#introduction} ## Introduction {#introduction}
The [Tilde Center](https://tilde.center) (herein referred to as ~center) The [Tilde Center](https://tilde.center) (herein referred to as ~center)
project was created by Austin Ewens, aka ~aewens, in December 2018. The goal project was created by Austin Ewens (better known in the community as ~aewens),
of the project is to create a decentralized and federated server architecture in December 2018. The goal of the project is to create a decentralized and
built upon home-brewed open source projects (herein referred to as HBOSP) made federated server architecture built upon home-brewed open source projects
by and maintained by its user base. (herein referred to as HBOSP) made by and maintained by its user base.
## Terminology {#terminology} ## Terminology {#terminology}
@ -61,7 +61,7 @@ to be members of the Tildeverse to be a part of the ~center project.
Secondly, the peer servers in the ~center project are not clones of each other. Secondly, the peer servers in the ~center project are not clones of each other.
They are unique servers managed by their own system administrator (aka They are unique servers managed by their own system administrator (aka
sysadmin), but shared the user accounts along with select data and services sysadmin), but they share the user accounts along with select data and services
with other servers to create a decentralized network of services for its users. with other servers to create a decentralized network of services for its users.
## Peer Servers {#peer-servers} ## Peer Servers {#peer-servers}
@ -85,7 +85,7 @@ added to the other peer servers.
* They WILL provide any and all services expected of a tilde server. * They WILL provide any and all services expected of a tilde server.
* They WILL only be managed by that server's system administrator (e.g. an * They WILL only be managed by that server's system administrator (e.g. an
admin from one peer server cannot be direct decisions for another peer server). admin from one peer server cannot direct decisions for another peer server).
* They will NOT be responsible for syncing all other user files. * They will NOT be responsible for syncing all other user files.
@ -103,7 +103,7 @@ will not be direct clones of one another).
The next few sections will outline some more of the specifics for the points The next few sections will outline some more of the specifics for the points
listed above. listed above.
### Prerequisites #{prerequisites} ### Prerequisites {#prerequisites}
Due to the nature of the project, it would preferable to have more rather than Due to the nature of the project, it would preferable to have more rather than
less peer servers in the TCN for the sake of decentralization (the more peers less peer servers in the TCN for the sake of decentralization (the more peers
@ -119,7 +119,7 @@ across the TCN should aim to minimize the data that actually needs to be stored
and processed by all of its peers to make it easier for new peer servers to and processed by all of its peers to make it easier for new peer servers to
join the network. join the network.
### Center Directory #{center-directory} ### Center Directory {#center-directory}
On all peer servers there will be a /center directory that will contain the On all peer servers there will be a /center directory that will contain the
bulk of the ~center related files. Within this directory will be the following bulk of the ~center related files. Within this directory will be the following
@ -147,7 +147,7 @@ users. This will be linked to $HOME/.center for convenience.
Aside from /center/home, all other sub-directories under /center will be Aside from /center/home, all other sub-directories under /center will be
synchronized with the other peer servers. synchronized with the other peer servers.
### Dispatcher #{dispatcher} ### Dispatcher {#dispatcher}
Arguably one of the most important components of the ~center server components, Arguably one of the most important components of the ~center server components,
the dispatcher will be in charge of federating data across the TCN and handling the dispatcher will be in charge of federating data across the TCN and handling
@ -159,7 +159,7 @@ execution (RCE), it is important that the dispatcher only receive requests and
deliver them to the appropriate targets without ever directly executing the deliver them to the appropriate targets without ever directly executing the
instructions. instructions.
#### Communication Model #{communication-model} #### Communication Model {#communication-model}
For this to work, dispatcher will use a publish-subscribe communication model For this to work, dispatcher will use a publish-subscribe communication model
where services can subscribe to specific events from the dispatcher and, if where services can subscribe to specific events from the dispatcher and, if
@ -198,7 +198,7 @@ decrypting before parsing its contents, but should still verify that the
metadata in the message is valid before making any additional actions on the metadata in the message is valid before making any additional actions on the
rest of the message. rest of the message.
#### Stored Information #{stored-information} #### Stored Information {#stored-information}
For the dispatcher to properly handle communication with the other peers, it For the dispatcher to properly handle communication with the other peers, it
will need to maintain a list of all known peer servers via their last known IP will need to maintain a list of all known peer servers via their last known IP
@ -217,7 +217,7 @@ sysadmin to ensure only valid services are listening to the dispatcher, only
receiving appropriate events, and only sending out appropriate events to the receiving appropriate events, and only sending out appropriate events to the
peer servers. peer servers.
#### Adding New Peers #{adding-new-peers} #### Adding New Peers {#adding-new-peers}
To facilitate the process of authenticating messages from server-to-server, To facilitate the process of authenticating messages from server-to-server,
when a new peer server is created it will generate a UUID and GPG key pair for when a new peer server is created it will generate a UUID and GPG key pair for
@ -312,7 +312,7 @@ the other peers. However, the dispatcher must communicate the new peer server
to the rest of its peers so that other peer servers in the TCN can receive to the rest of its peers so that other peer servers in the TCN can receive
dispatcher messages from the new peer server. dispatcher messages from the new peer server.
### User Accounts #{user-accounts} ### User Accounts {#user-accounts}
When a user joins the TCN, an account is created on the peer server the joined When a user joins the TCN, an account is created on the peer server the joined
from, which is then subsequently created on all other peer servers. Also, from, which is then subsequently created on all other peer servers. Also,
@ -344,7 +344,7 @@ logged within the ~center database on the peer node. This can be useful for
both observing how the TCN is growing along with help to investigate or protect both observing how the TCN is growing along with help to investigate or protect
against any rogue peer servers. against any rogue peer servers.
### Shared Directory #{shared-directory} ### Shared Directory {#shared-directory}
When a user gets an account on a peer server, they will be provided with a size When a user gets an account on a peer server, they will be provided with a size
limited directory to store any files they wish to be available across the other limited directory to store any files they wish to be available across the other
@ -372,7 +372,7 @@ the peer servers. Should a service be created by one of the users to replace
the functionality rsync for this process, it can be put to a vote to use this the functionality rsync for this process, it can be put to a vote to use this
service instead in favor of the HBOSP philosophy of the ~center project. service instead in favor of the HBOSP philosophy of the ~center project.
### Database #{database} ### Database {#database}
While the LDAP database takes care of handling the user accounts, peer servers While the LDAP database takes care of handling the user accounts, peer servers
will also need to maintain an SQL database to be used holding the data utilized will also need to maintain an SQL database to be used holding the data utilized
@ -431,7 +431,7 @@ this data stored under appmetadata. The tokens is to provide services access to
the data they own while also offering a simple system to for services to share the data they own while also offering a simple system to for services to share
data amongst themselves without needing to duplicate entries. data amongst themselves without needing to duplicate entries.
### Services #{services} ### Services {#services}
Regardless of the efforts that go into providing the ~center project with the Regardless of the efforts that go into providing the ~center project with the
architecture to decentralize or federate itself, the true value in the project architecture to decentralize or federate itself, the true value in the project
@ -439,7 +439,7 @@ is the services provided by the servers. Of which, there are two types of
services that the server's users can anticipate: tilde services and ~center services that the server's users can anticipate: tilde services and ~center
services. services.
#### Tilde Services #{tilde-services} #### Tilde Services {#tilde-services}
Due to the ~center project being a decentralized network of tilde servers at Due to the ~center project being a decentralized network of tilde servers at
its core, the peer servers will need to provide services expected from a tilde its core, the peer servers will need to provide services expected from a tilde
@ -454,7 +454,7 @@ standard, at the bare minimum the peer server should provide its users a shell
account and access to an IRC server to communicate with the other users on the account and access to an IRC server to communicate with the other users on the
TCN to be considered an acceptable tilde server to become a peer server. TCN to be considered an acceptable tilde server to become a peer server.
##### Tilde Chat #{tilde-chat} ##### Tilde Chat {#tilde-chat}
During the bootstrapping process of the ~center project, the IRC server During the bootstrapping process of the ~center project, the IRC server
currently used in the TCN is [Tilde Chat](https://tilde.chat) since it is an currently used in the TCN is [Tilde Chat](https://tilde.chat) since it is an
@ -463,7 +463,7 @@ are members of the Tildeverse). However, this server can be changed later to a
~center operated decentralized IRC network if decided by the users through a ~center operated decentralized IRC network if decided by the users through a
vote. vote.
#### Center Services #{center-services} #### Center Services {#center-services}
With one of the core philosophies of the ~center project being the development With one of the core philosophies of the ~center project being the development
of HBOSPs by users of the TCN, one of the offerings that will bring value to of HBOSPs by users of the TCN, one of the offerings that will bring value to
@ -483,7 +483,7 @@ resource_id of the transaction belongs to the service. However, realistically
this will be done more efficiently by unsubscribing from the events related this will be done more efficiently by unsubscribing from the events related
to the service in the dispatcher so they are never processed to begin with. to the service in the dispatcher so they are never processed to begin with.
## Proposals #{proposals} ## Proposals {#proposals}
While this specifies many factors of the ~center project, as time goes by there While this specifies many factors of the ~center project, as time goes by there
will likely be a desire to make amendments to the specification of the ~center will likely be a desire to make amendments to the specification of the ~center
@ -496,7 +496,7 @@ once a draft is published and will be canonized once agreed upon by the
leadership assigned to making these decisions by the currently used governance leadership assigned to making these decisions by the currently used governance
model. model.
### Governance #{governance} ### Governance {#governance}
While some projects do well with having a While some projects do well with having a
[BDFL](https://en.wikipedia.org/wiki/Benevolent_dictator_for_life) to handle [BDFL](https://en.wikipedia.org/wiki/Benevolent_dictator_for_life) to handle