This commit is contained in:
Jay Graber 2020-06-09 17:01:39 -07:00
parent 50363dad0a
commit 3774ba3a52
1 changed files with 14 additions and 10 deletions

View File

@ -14,25 +14,27 @@ Matrix has a federated and a p2p version.
#### Federated #### Federated
Currently, all messages are sent out full-mesh within a conversation. A node broadcasts in parallel to every other node present in the room. Experimental work on stochastic spanning tree "fan-out" approaches are being researched. In the federated version of Matrix, all messages are currently sent out full-mesh within a conversation. A node broadcasts in parallel to every other node present in the room. Experimental work on stochastic spanning tree "fan-out" approaches to improve efficiency are being researched.
Most users in the public federation are concentrated in a single server, although there are many smaller servers as well. 30% of publicly visible users are on the matrix.org home server. There are many smaller servers as well.
#### P2p #### P2p
Matrix has released a p2p version that runs client-side over libp2p. Matrix has released a p2p version that runs client-side. P2p Matrix avoids the problem of homeservers accumulating metadata, and simplifies signup by not requiring new users to pick a homeserver. The new p2p implementation runs the homeserver on the client. The p2p network is currently separate from the federated network, but the end goal is to connect the two in a hybrid federated/p2p model. Network transports being considered for p2p Matrix include libp2p, Yggdrasil, or hyperswarm.
https://fosdem.org/2020/schedule/event/dip_p2p_matrix/ https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix
### Identity ### Identity
Matrix has a more flexible identity solution than most decentralized protocols - users have a Matrix user ID, but can also use 3rd party IDs. Matrix has a more flexible identity solution than many decentralized protocols - users have a Matrix user ID, but can also use 3rd party IDs.
A matrix user id includes the username along with the user's homeserver. For example: A matrix user ID includes the username along with the user's homeserver. For example:
`@bob:matrix.org` `@bob:matrix.org`
As for 3rd party ids, a Matrix account can link to ids such as email addresses, social accounts, and phone numbers. A globally federated cluster of trusted identity servers verify and replicate the mappings, although this is considered a stopgap solution until a fully decentralized identity solution is adopted. As for 3rd party IDs, a Matrix account can link to IDs such as email addresses, social accounts, and phone numbers. A globally federated cluster of trusted identity servers verify and replicate the mappings, although this is considered a stopgap solution until a fully decentralized identity solution is adopted.
User IDs used in conversations will soon be decoupled from permanent IDs, allowing one to decorrelate users from their messages.
### Moderation/Reputation ### Moderation/Reputation
@ -44,13 +46,15 @@ Users in a room have 'power levels', a number between 0 and 100 that indicates h
### Social/Discovery ### Social/Discovery
Most conversation on Matrix takes place through rooms, which people must be invited to. All conversations on Matrix take place through rooms, which people either join (if public), peek into (if viewable), or are invited to.
Features supporting more advanced social functionality are still under research and development, such as this proposal for tracking events related to existing events: Features supporting more advanced social functionality are being developed, such as this proposal for tracking events related to existing events:
[Proposal for Aggregation via Relations](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md) [Proposal for Aggregation via Relations](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md)
### Privacy and Access Control ### Privacy and Access Control
Matrix homeservers have access to metadata about conversations, because the homeservers of all users in a given conversation have to store that conversation's metadata. P2p Matrix mitigates this privacy issue.
Matrix recently introduced end-to-end encryption by default for private messages. This was on the roadmap since the beginning, because conversations are replicated over every server participating in a room, and there is no guarantee against servers looking into conversations. Matrix recently introduced end-to-end encryption by default for private messages. This was on the roadmap since the beginning, because conversations are replicated over every server participating in a room, and there is no guarantee against servers looking into conversations.
[olm e2e encryption](https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last) [olm e2e encryption](https://matrix.org/blog/2016/11/21/matrixs-olm-end-to-end-encryption-security-assessment-released-and-implemented-cross-platform-on-riot-at-last)
@ -66,7 +70,7 @@ Matrix can be bridged with IRC, Slack, Discord, Telegram and others.
### Applications ### Applications
The public network currently (Feb 2020) has 14.7M known addressable users, with many others in private federations or on servers which don't report stats. The public network currently (Feb 2020) has 17.9M known addressable users (as of June 2020), with more in private federations or on servers which don't report stats.
Matrix supports multiple clients (most notably [Riot](https://riot.im), the flagship app from the core team), and has bridges to many other chat systems (IRC, Slack, Discord, Telegram etc). Matrix supports multiple clients (most notably [Riot](https://riot.im), the flagship app from the core team), and has bridges to many other chat systems (IRC, Slack, Discord, Telegram etc).