Fixed grammatic errors and IDs
This commit is contained in:
parent
ebea948595
commit
a6e868ad1a
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue