ืžื”ื“ื•ืจื” ืจืืฉื•ื ื” ืฉืœ ืœืงื•ื— Peer-to-Peer ืขื‘ื•ืจ ื”ืจืฉืช ื”ืžืื•ื—ื“ืช ืฉืœ Matrix

ืœืงื•ื— ื ื™ืกื™ื•ื ื™ ืฉื•ื—ืจืจ Riot P2P.


ืžื”ื•ืžื•ืช - ื‘ืžืงื•ืจ ืœืงื•ื— ืขื‘ื•ืจ ืจืฉืช ืžืื•ื—ื“ืช ืžึทื˜ืจึดื™ืฆึธื”. ืฉื™ื ื•ื™ ื”-P2P ืžื•ืกื™ืฃ ื”ื˜ืžืขืช ืฉืจืช ื•ืคื“ืจืฆื™ื” ืœืœืงื•ื— ืžื‘ืœื™ ืœื”ืฉืชืžืฉ ื‘-DNS ืžืจื›ื–ื™ ื‘ืืžืฆืขื•ืช ืื™ื ื˜ื’ืจืฆื™ื” libp2p, ื”ืžืฉืžืฉ ื’ื ื‘ IPFS. ื–ื•ื”ื™ ื”ื’ืจืกื” ื”ืจืืฉื•ื ื” ืฉืœ ื”ืœืงื•ื— ืฉืฉื•ืžืจืช ืืช ื”ืกืฉืŸ ืœืื—ืจ ื˜ืขื™ื ืช ืขืžื•ื“ ืžื—ื“ืฉ, ืืš ื‘ืขื“ื›ื•ื ื™ื ื”ื’ื“ื•ืœื™ื ื”ื‘ืื™ื (ืœื“ื•ื’ืžื”, 0.2.0) ื”ื ืชื•ื ื™ื ืขื“ื™ื™ืŸ ื™ื™ืžื—ืงื•. ืœื›ืŸ, ืœื ืžื•ืžืœืฅ ืœื”ืฉืชืžืฉ ื‘ืœืงื•ื— ืœื›ืœ ื“ื‘ืจ ื—ืฉื•ื‘.

ื”ืœืงื•ื— ืžื™ื™ืฉื ืคื“ืจืฆื™ื”, ื™ืฆื™ืจืช ื—ื“ืจื™ื ื•ื”ืฆื’ืช ืงื˜ืœื•ื’ ื—ื“ืจื™ื ื’ืœื•ื‘ืœื™ (ืœืœื ืฉืจืช!).

ืขื ื–ืืช, ืจืฉืช ื”ืžื˜ืจื™ืงืก ื”ืจืืฉื™ืช ื”ืžืฉืชืžืฉืช ื‘-DNS ื•ืจืฉืช ื”ืžื˜ืจื™ืงืก ื‘-libp2p ืขื“ื™ื™ืŸ ืื™ื ืŸ ื™ื›ื•ืœื•ืช ืœื”ืชืื—ื“ ื•ืœืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ื–ื• ืขื ื–ื•.

ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ืœืงื•ื—, ืคืฉื•ื˜ ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ ื”ื›ื ื™ืกื”, ื•ืœืื—ืจ ืžื›ืŸ ืชืงื‘ืœ ืžื–ื”ื” ืฉื ื•ืฆืจ ื‘ืจืฉืช. ื™ื™ืฆื•ื ื ืชื•ื ื™ื ืขื“ื™ื™ืŸ ืื™ื ื• ื ืชืžืš.

ืžื›ื™ื•ื•ืŸ ืฉื–ื• ื”ืฆื’ื” ืœื ื™ืฆื™ื‘ื” ืฉืœ ืžื•ืฉื’ ืืคืฉืจื™, ืืชื” ืขืœื•ืœ ืœื”ื™ืชืงืœ ื‘ื‘ืขื™ื”:

  • ืœื ืชื•ื›ืœ ืœื”ื™ื›ื ืก ืœื—ืฉื‘ื•ืŸ ืฉืœืš ืื• ืœืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืœืงื•ื—ื•ืช ืื—ืจื™ื ืื ื”ืฉืจืช ื”ืคื•ืขืœ ื›-Service Worker ื ื”ืจื’ ืขืœ ื™ื“ื™ ื”ื“ืคื“ืคืŸ ื‘ื–ืžืŸ ืงืฆื•ื‘ ื”ื–ืžืŸ ื”ืงืฆื•ื‘. ื‘ืขื™ื” ื›ื–ื• ื–ื•ื”ื” ื‘ืคื™ื™ืจืคื•ืงืก, ืฉืขื•ืฉื” ื–ืืช ืœืื—ืจ 30 ืฉื ื™ื•ืช ืฉืœ ื—ื•ืกืจ ืคืขื™ืœื•ืช].
  • ื‘ืจืžืช ื”ืจืฉืช libp2p, ื™ืฉ ืžื’ื‘ืœื•ืช ื–ืžืŸ ืขืœ ืžืกืคืจ ื”ืคืขื•ืœื•ืช ืฉื ื™ืชืŸ ืœื‘ืฆืข, ืžื” ืฉืขืœื•ืœ ืœื’ืจื•ื ืœื‘ืขื™ื•ืช ื‘ืคื“ืจืฆื™ื”.

ืชื—ื™ืœืช ื”ืขื‘ื•ื“ื” ืขืœ ื’ืจืกืช P2P ืฉืœ ืžื˜ืจื™ืงืก ื ื‘ืขื” ืžืจืฆื•ื ื ืฉืœ ื”ืžืคืชื—ื™ื ืœืชืช ื™ื•ืชืจ ื—ื•ืคืฉ ืœืžืฉืชืžืฉื™ื ืฉืœื”ื. ื ื™ืชื•ืง ืžื”ืฉืจืช ื”ืžืจื›ื–ื™ ืžืืคืฉืจ ืœื”ืงืœ ืขืœ ื”ืชืงืฉื•ืจืช ื‘ืชื•ืš ืจืฉืชื•ืช ืžืงื•ืžื™ื•ืช ื•ืจืฉืชื•ืช ืจืฉืช, ื•ื‘ื›ืœืœ, ื‘ืชื ืื™ื ืฉื‘ื”ื ื”ื’ื™ืฉื” ืœืจืฉืช ื”ื—ื™ืฆื•ื ื™ืช ืžื•ื’ื‘ืœืช ืื• ื ืขื“ืจืช. ื™ืฉ ืœื›ืš ื’ื ื”ืฉืคืขื” ื—ื™ื•ื‘ื™ืช ืขืœ ื”ืคืจื˜ื™ื•ืช, ื‘ืฉืœ ืžื–ืขื•ืจ ื”ืžื˜ื-ื ืชื•ื ื™ื ื”ืžื•ืขื‘ืจื™ื, ืืฉืจ ื‘ืชืจื—ื™ืฉ ื–ื” ืžืื•ื—ืกื ื™ื ืจืง ืขืœ ื™ื“ื™ ื”ืžืฉืชืชืคื™ื ื‘ื”ืชื›ืชื‘ื•ืช. ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื–ื” ืžื•ื‘ื™ืœ ืœืฉืงื•ืœ ืœืฉื ื•ืช ืžื—ื“ืฉ ืืช ื”ืžื•ืฉื’ื™ื ื”ื ื•ื›ื—ื™ื™ื ืฉืœ ืžื˜ืจื™ืงืก ื›ื“ื™ ืœื”ืฉื™ื’ ื ื™ื™ื“ื•ืช ื•ืื‘ื˜ื—ื” ื’ื“ื•ืœื™ื ื™ื•ืชืจ.

ื™ื™ืฉื•ื ื”-API ืฉืœ ื”ืฉืจืช ืžื•ืฉื’ ื‘ืืžืฆืขื•ืช ืงื•ืžืคื™ืœืฆื™ื” ืฉืœ ืฉืจืช ื“ื ื“ืจื™ื˜ ืœืชื•ืš ืงื•ื“ WebAssembly, ื”ืคื•ืขืœ ื‘ื• ื–ืžื ื™ืช ืขื ื”ืœืงื•ื— ื‘ืฆื•ืจื” ืฉืœ Service Worker, ืชื•ืš ืฉื™ืžื•ืฉ ื‘- IndexedDB ื•- SQLite ื›ื“ื™ ืœืื—ืกืŸ ื ืชื•ื ื™ื ืžืงื•ืžื™ืช, ื‘ืžืงืจื” ืฉืœ ื’ืจืกืช ื”-web ื•-Electron wrapper.
Dendrite ื”ื•ื ืฉืจืช Matrix "ื“ื•ืจ ืฉื ื™" ื‘-Go ืฉื ืžืฆื ื‘ืคื™ืชื•ื— ื•ื ื•ืขื“ ืœื”ื™ื•ืช ืžื•ื“ื•ืœืจื™ ืžืœื ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ื’ื ื‘ืื•ืคืŸ ืžื•ื ื•ืœื™ื˜ื™. ื‘ืฆื•ืจื” ืžื•ื“ื•ืœืจื™ืช, Apache Kafka ืžืฉืžืฉ ืœืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ ืฉื™ืจื•ืชื™ ืžื™ืงืจื•, ื•ื‘ืฆื•ืจื” ืžื•ื ื•ืœื™ื˜ื™ืช - ื ืคืงื. ื ื™ืชืŸ ืœืžืฆื•ื ืชื™ืขื•ื“ ืœื‘ื ื™ื™ืช ื’ืจืกืช P2P ืฉืœ Dendrite ื‘-GitHub.

Dendrite ื ื•ืขื“ ื‘ืžืงื•ืจ ืœื”ื™ื•ืช ืฉืจืช ืœืžื˜ืจื•ืช ื›ืœืœื™ื•ืช ืฉื ื•ืขื“ ืœื”ื•ื•ืช ืชื—ืœื™ืฃ ื™ืฉื™ืจ ืกื™ื ืคืกื”, ื›ืชื•ื‘ ื‘-Python, ืฉื™ืฉ ืœื• ื‘ืขื™ื•ืช ื‘ื™ืฆื•ืขื™ื ื•ืžื“ืจื’ื™ื•ืช. ืื‘ืœ ื‘ื’ืœืœ ื”ืฆื•ืจืš ื‘ืชืžื™ื›ื” ื•ื‘ืฉื™ื ื•ื™ ื’ื“ื•ืœ ืฉืœ ืกื™ื ืคืกื”, ืคื™ืชื•ื— ื”ื“ื ื“ืจื™ื˜ ื™ืจื“ ืžื”ื“ืจืš. ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ, ื”ืคื™ืชื•ื— ื”ืชื—ื“ืฉ, ืืš ื”ื ื”ื—ืœื™ื˜ื• ืœืคืชื— ืืช ื‘ืกื™ืก ื”ืงื•ื“ ื”ืงื™ื™ื ืœื ื‘ื”ืงืฉืจ ืœืžื˜ืจื•ืช ื›ืœืœื™ื•ืช, ืืœื ืœื”ืชืžืงื“ ื‘ื”ืชืืžื” ืœื”ื˜ืžืขื” ื‘ืžื›ืฉื™ืจื™ ืœืงื•ื— ื ื™ื™ื“ื™ื ื•ื‘ืขืœื™ ื”ืกืคืง ื ืžื•ืš, ื›ื’ื•ืŸ ื“ืคื“ืคื ื™ื ื•ื˜ืœืคื•ื ื™ื.

ื”ื™ื™ืฉื•ื ื”ื ื•ื›ื—ื™ ืฉืœ Dendrite ื ืžืฆื ืขื“ื™ื™ืŸ ื‘ืฉืœื‘ื™ ื”ืคื™ืชื•ื— ื”ืžื•ืงื“ืžื™ื ืฉืœื•, ืื‘ืœ ื–ื” ื›ื‘ืจ ืžืกืคื™ืง ืขื‘ื•ืจ ืคื“ืจืฆื™ื” ืคืฉื•ื˜ื”:

ืžืžืฉืงื™ API ืฉืœ ืฉืจืช ืœืงื•ื—: 34% (227/672 ื‘ื“ื™ืงื•ืช) - ืขืœื™ื™ื” ืž-33%
ืžืžืฉืงื™ API ืฉืœ ื”ืคื“ืจืฆื™ื”: 34% (35/103 ื‘ื“ื™ืงื•ืช) - ืขืœื™ื™ื” ืž-27%

ื–ื” ืœื ื”ื ื™ืกื™ื•ืŸ ื”ืจืืฉื•ืŸ ืœื™ื™ืฉื P2P. ื‘ืขื‘ืจ ื”ื™ื™ืชื” ื™ื•ื–ืžื” ืœื™ืฆื•ืจ Proxy CoAP ืœืจืฉืช Yggdrasil ืขื‘ื•ืจ Synapse.


ืžืคืชื—ื™ ืคืจื•ื˜ื•ืงื•ืœ Matrix ืื™ื ื ืžืชืžืงื“ื™ื ื‘ืคื“ืจืฆื™ื” ื‘ืœื‘ื“ ื•ืžืชื ืกื™ื ื‘ื›ืœื™ื ืœื‘ื™ื–ื•ืจ ื’ื“ื•ืœ ืขื•ื“ ื™ื•ืชืจ. ืœื“ื•ื’ืžื”, ื ืขืจืš ื ื™ืกื•ื™ ืœื”ื•ื–ื™ืœ ืขืœื•ื™ื•ืช ื‘ืจืžืช ื”ื”ื•ื‘ืœื”. ืฉื“ ืžืชืคืชื— ืคื ื˜ืœื™ืžื•ืŸ - ืคืจื•ืงืกื™ ืฉืืœื™ื• ื›ืœ ืœืงื•ื— ืœืœื ืชืžื™ื›ื” ื‘ื”ืฆืคื ื” ื™ื›ื•ืœ ืœื”ืชื—ื‘ืจ ื•ืœืงื™ื™ื ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ื•ื“ืขื•ืช ืžื•ืฆืคื ื•ืช. ื›ืœ ื”ื™ื•ื–ืžื•ืช ืฉื ื ืงื˜ื• ื ื•ืขื“ื• ืœื”ื‘ื˜ื™ื— ื–ืืช ื‘ืขืชื™ื“ ืœื”ื™ืคื˜ืจ ืžืงืฉื™ืจืช ื›ื ื™ืกื” ืœืฉืจืช, ื‘ื™ื˜ื•ืœ MXID, ืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืจืฉืช ื‘ืืžืฆืขื•ืช ืžืคืชื— ืฆื™ื‘ื•ืจื™, ืฉื›ื‘ืจ ืžื™ื•ืฉื ื—ืœืงื™ืช ื‘- Riot P2P.


ืืชื” ื™ื›ื•ืœ ืœืžืฆื•ื ืžื™ื“ืข ืžืคื•ืจื˜ ื™ื•ืชืจ ืขืœ ื”ืžื•ืฉื’ื™ื ืฉืœ ื™ื™ืฉื•ืžื™ื ืžืชื•ื›ื ื ื™ื ื‘ืžืฆื’ืช FOSDEM 2020 ื‘-YouTube ะธ ื”ืคื•ืกื˜ ื”ืื—ืจื•ืŸ ื‘ื‘ืœื•ื’.

ื™ืฉ ื’ื ื’ืจืกืช Riot P2P ืœืื ื“ืจื•ืื™ื“, ื”ืžื‘ื•ืกืกืช ืขืœ ื”ืงื•ื“ ืžื”ืืคืœื™ืงืฆื™ื” ื”ื™ืฉื ื”. ื‘ืขืชื™ื“ ืžืชื•ื›ื ืŸ ืœื”ืขื‘ื™ืจื• ืœืงื™ื™ื. RiotX.

ื™ืชืจ ืขืœ ื›ืŸ

ืžืงื•ืจ: linux.org.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”