SlideShare a Scribd company logo
The future of communication is
decentralised, secure and
interoperable
matthew@matrix.org
http://www.matrix.org
A non-profit open
standard for
defragmenting
communication
To create a global
encrypted communication
meta-network that bridges
all the existing silos &
liberates our
communication to be
controlled only by us.
4
PSTN
Skype
…
Hangouts
Github
5
PSTN
Skype
…
Hangouts
Github
No single party own your
conversations – they are
shared over all participants.
6
Matrix is for:
Group Chat (and 1:1)
WebRTC Signalling
Bridging Comms Silos
Internet of Things Data
…and anything else which needs to
pubsub persistent data to the world.
7
Matrix Architecture
Clients
Home
Servers
Identity
Servers
Application
Servers
The Matrix Ecosystem
The	Matrix	Specification	(Client/Server	API)
client-sideserver-side
Other	Servers	and	
Services
Synapse
(Reference	Matrix	
Server)
Matrix	Application	
Services	and	Bridges
Other	
Clients
Matrix	
iOS
Console
MatrixKit (iOS)
matrix-ios-sdk
Matrix	
Web	
Console
matrix-
angular-
sdk
matrix-js-sdk
Android	
Console
matrix-android-sdk
matrix-
react-
sdk
What do you get in the spec?
• Decentralised conversation history
(timeline and key-value stores)
• Group Messaging
• End-to-end Encryption (new!)
• VoIP signalling for WebRTC
• Server-side push notification rules
• Server-side search
• Read receipts, Typing Notifs, Presence
• Synchronised read state and unread counts
• Decentralised content repository
• “Account data” for users per room
10
Clients
• >30 matrix clients (that we know about)
– Ranging from text UIs (Weechat, Emacs(!))
– …to desktop apps (Quaternion, NaChat, Pidgin)
– …to glossy web and mobile clients (Riot)
– …to protocol proxies (matrix-ircd)
• Over 15 client-side SDKs:
– Official: JS, React, iOS, Android
– Semi-official: Python, Perl5, Go
– Community: Erlang, Ruby, Lisp, Elixir, Haskell, Rust…
11
Home servers
• Synapse:the original reference Matrix home
serverimplementation.
– 50K lines of Python/Twisted.
– Some perf and maintainability challenges…
• Ruma: Community project Rust implementation…
early but promising!
• Dendron: skeleton Golang reference impl
– Wraps synapses, incrementally migrating endpoints
• BulletTime (Go), Pallium (Go), jSynapse (Java)
experiments from the community
12
What does it look like?
https://riot.im
13
The client-server API
To send a message:
curl -XPOST -d '{"msgtype":"m.text", "body":"hello"}'
"https://alice.com:8448/_matrix/client/api/v1/rooms/ROOM_
ID/send/m.room.message?access_token=ACCESS_TOKEN"
{
"event_id": "YUwRidLecu"
}
14
The client-server API
To set up a WebRTC call:
curl -XPOST –d '{
"version": 0, 
"call_id": "12345”, 
"offer": {
"type" : "offer”,
"sdp" : "v=0rno=- 658458 2 IN IP4 127.0.0.1…"
}
}'
"https://alice.com:8448/_matrix/client/api/v1/rooms/ROOM_
ID/send/m.call.invite?access_token=ACCESS_TOKEN"
{ "event_id": "ZruiCZBu” } 15
Basic 1:1 VoIP Matrix Signalling
Caller Callee
m.call.invite ----------->
m.call.candidate -------->
[more candidates events]
User answers call
<------ m.call.answer
[media flows]
<------ m.call.hangup
16
Bridges and Integrations
Existing App
Application
Service
3rd party
Server
3rd party
Clients
Latest Bridges!
• Official ones:
– IRC
– Slack
– Gitter
– Rocket.Chat
– MatterMost
– FreeSWITCH
– Asterisk (Respoke)
– libpurple
• Community ones
– Twitter
– Telegram
– Hangouts
– Slack webhooks
– Gitter (‘sidecar’)
– ~8 IRC ones…
– ~4 XMPP ones...
Typical Bridging Stack
19
matrix-
appservice-
irc
matrix-appservice-bridge
matrix-appservice-node
matrix-js-sdk
Node	JS
matrix-
appservice-
slack
matrix-
appservice-
purple …
Community Status
• Started out in Sept 2014
• Currently in very late beta
• ~450K user accounts on the Matrix.org
homeserver (many of these are bridged)
• ~400K messages per day
• ~50K rooms that Matrix.org participates in
• ~1000 federated servers
• ~50 companies building on Matrix
20
21
22
End to End Crypto with Olm
23
https://matrix.org/git/olm
End to End Encryption
• 2 years in the making!
• Based on Open Whisper Systems’ “Double
Ratchet” alg as used in Signal etc.
• Audited by NCC Group
• Started final roll-out in Sept on Web
• Launching next week on iOS & Android (on
develop branches currently)
• Supports per-target-device encryption
• Supports flexible history privacy per-room.
24
Olm
• Apache License C++11 implementation of
Trevor Perrin / Moxie Marlinspike’s Double
Ratchet, exposing a C API.
• Supports encrypted asynchronous 1:1
communication.
• “Megolm” layer adds group
communication too.
• 130KB x86-64 .so, or 208KB of asm.js
25
26
Olm	+	Megolm C	API
Account
• Keys
Session
• Initial	Key	Exchange
Ratchet
• Encrypt
• Decrypt
Crypto
• Curve25519
• AES
• SHA256
Megolm Group	
Ratchet
Alice Bob
Alice and Bob both generate identity (I) &
ephemeral (E) elliptic curve key pairs
Initial Shared Secret (ISS) =
ECDH(Ea, Ib) +
ECDH(Ia, Eb) +
ECDH(Ea, Eb)
Discard Ea
Derive chain key from ISS (HMAC)
Derive message key (K0) from chain key
(HMAC)
Derive new chain key ß hash ratchet
M0 = Message plaintext
C0 = Authenticated Encryption of (M0, K0)
Ra0 = generate random ratchet key pair
Ja0 = incremental counter for each hash
ratchet advancement
Ia, Ea, Eb, Ra0, Ja0, C0
A Double ratchet.
Kinda sorta.
Alice Bob
Compute same Initial Shared Secret =
ECDH(Ea, Ib) +
ECDH(Ia, Eb) +
ECDH(Ea, Eb)
Compute same K0
M0 = Authenticated decryption of (C0, K0)
To respond, B starts new ratchet chain:
Rb1 = generate random ratchet key pair
New Initial Shared Secret =
ECDH(Ra0, Rb1) ß ECDH Ratchet
C0 = Authenticated Encryption of (M, K0)
Ra0 = generate random ratchet key
Ja0 = incremental counter for each hash
ratchet advancement
Rb1, Jb1, C1
A Double ratchet.
Kinda sorta.
29
Alice
Sending | Receiving
MK CK RK CK MK
-- -- -- -- --
ECDH(A0,B0)
|
|
ECDH(A1,B0) +
/|
/ |
/ + ECDH(A1,B1)
CK-A1-B0 |
| | 
MK-0 ----+ | 
| | CK-A1-B1
MK-1 ----+ | |
| | +---- MK-0
MK-2 ----+ | |
| +---- MK-1
ECDH(A2,B1) +
/|
/ |
/ |
CK-A2-B1 |
| + ECDH(A2,B2)
MK-0 ----+ 


CK-A2-B2
|
+---- MK-0
|
+---- MK-1
Group chat
• Adds a 3rd type of ratchet: “Megolm”,
used to encrypt group messages.
• Establish 'normal' 1:1 ratchets between all
participants in order to exchange the
initial secret for the group ratchet.
• All receivers share the same group ratchet
state to decrypt the room.
30
Flexible privacy with Olm
• Users can configure rooms to have:
– No ratchet (i.e. no crypto)
– Full PFS ratchet
– Selective ratchet
• Deliberately re-use ratchet keys to support
paginating partial eras of history.
• Up to participants to trigger the ratchet (e.g. when
a member joins or leaves the room)
– Per-message type ratchets?
31
• More hosted bridges, bots, services etc
• Threading
• Message tagging (e.g. “Like” support)
• Group ACLs
• File tagging and management
• Decentralised identity
• “Fixing spam”
32
Matrix: What’s coming up?
We need help!!
33
• We need people to try running their own
servers and join the federation.
• We need people to run gateways to their
existing services
• We need feedback on the APIs.
• Consider native Matrix support for new
apps
• Follow @matrixdotorg and spread the
word!
34
Thank you!
matthew@matrix.org
http://matrix.org
@matrixdotorg
35

More Related Content

What's hot

Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open Source
Timothy Spann
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
Cisco DevNet
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
RX-M Enterprises LLC
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
zdshelby
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
Md Syed Ahamad
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java Developer
Mark West
 
A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...
A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...
A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...
Luca Muscariello
 
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
StreamNative
 
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
DEVNET-1164	Using OpenDaylight for Notification Driven WorkflowsDEVNET-1164	Using OpenDaylight for Notification Driven Workflows
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
Cisco DevNet
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering Explained
OpenDaylight
 
[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake
Timothy Spann
 
Osiot14 buildout
Osiot14 buildoutOsiot14 buildout
Osiot14 buildout
Michael Koster
 
The Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry ServicesThe Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry Services
MyNOG
 
Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View
Tail-f Systems
 
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache CamelOpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
José Román Martín Gil
 
Object models for interoperability
Object models for interoperabilityObject models for interoperability
Object models for interoperabilityMichael Koster
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Marcin Bielak
 
OpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clusteringOpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clustering
OpenDaylight
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
Amir Zmora
 

What's hot (20)

Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open Source
 
DEVNET-1166 Open SDN Controller APIs
DEVNET-1166	Open SDN Controller APIsDEVNET-1166	Open SDN Controller APIs
DEVNET-1166 Open SDN Controller APIs
 
Building high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache ThriftBuilding high performance microservices in finance with Apache Thrift
Building high performance microservices in finance with Apache Thrift
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java Developer
 
A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...
A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...
A Transport Layer and Socket API for (h)ICN: Design, Implementation and Perfo...
 
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
A Pulsar Use Case In Federated Learning - Pulsar Summit NA 2021
 
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
DEVNET-1164	Using OpenDaylight for Notification Driven WorkflowsDEVNET-1164	Using OpenDaylight for Notification Driven Workflows
DEVNET-1164 Using OpenDaylight for Notification Driven Workflows
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering Explained
 
[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake[March sn meetup] apache pulsar + apache nifi for cloud data lake
[March sn meetup] apache pulsar + apache nifi for cloud data lake
 
Osiot14 buildout
Osiot14 buildoutOsiot14 buildout
Osiot14 buildout
 
The Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry ServicesThe Next Generation Internet Number Registry Services
The Next Generation Internet Number Registry Services
 
Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View Webinar: Applying REST to Network Management – An Implementor’s View
Webinar: Applying REST to Network Management – An Implementor’s View
 
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache CamelOpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
 
Object models for interoperability
Object models for interoperabilityObject models for interoperability
Object models for interoperability
 
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
Internet of Things - protocols review (MeetUp Wireless & Networks, Poznań 21....
 
OpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clusteringOpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clustering
 
Java one2013
Java one2013Java one2013
Java one2013
 
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTCWebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
 

Viewers also liked

Presintation on Project constraint
Presintation on Project constraint Presintation on Project constraint
Presintation on Project constraint university(kust)
 
2. characteristics of a projec
2. characteristics of a projec2. characteristics of a projec
2. characteristics of a projec
Dr. Johnson Mavole
 
Effective communication matrix
Effective communication matrixEffective communication matrix
Effective communication matrix
The Bid Coach Ltd
 
Chapter 8 product, service, and brands (building customer value)
Chapter 8   product, service, and brands (building customer value)Chapter 8   product, service, and brands (building customer value)
Chapter 8 product, service, and brands (building customer value)
Lance Üü
 
Project organization
Project organizationProject organization
Project organization
Abdal Babar
 
Triple Constraints of Projects: Scope, Cost & Schedule
Triple Constraints of Projects: Scope, Cost & ScheduleTriple Constraints of Projects: Scope, Cost & Schedule
Triple Constraints of Projects: Scope, Cost & Scheduleshofiulalom
 
Product, Services, and Branding Strategy
Product, Services, and Branding StrategyProduct, Services, and Branding Strategy
Product, Services, and Branding Strategy
Mehmet Cihangir
 
6 Characteristics of a Project
6 Characteristics of a Project6 Characteristics of a Project
6 Characteristics of a Project
BrightWork
 
Chapter 4 Types Of Organization
Chapter 4   Types Of OrganizationChapter 4   Types Of Organization
Chapter 4 Types Of Organizationguevarra_2000
 

Viewers also liked (10)

Presintation on Project constraint
Presintation on Project constraint Presintation on Project constraint
Presintation on Project constraint
 
2. characteristics of a projec
2. characteristics of a projec2. characteristics of a projec
2. characteristics of a projec
 
Effective communication matrix
Effective communication matrixEffective communication matrix
Effective communication matrix
 
Chapter 8 product, service, and brands (building customer value)
Chapter 8   product, service, and brands (building customer value)Chapter 8   product, service, and brands (building customer value)
Chapter 8 product, service, and brands (building customer value)
 
Project organization
Project organizationProject organization
Project organization
 
Triple Constraints of Projects: Scope, Cost & Schedule
Triple Constraints of Projects: Scope, Cost & ScheduleTriple Constraints of Projects: Scope, Cost & Schedule
Triple Constraints of Projects: Scope, Cost & Schedule
 
Product, Services, and Branding Strategy
Product, Services, and Branding StrategyProduct, Services, and Branding Strategy
Product, Services, and Branding Strategy
 
6 Characteristics of a Project
6 Characteristics of a Project6 Characteristics of a Project
6 Characteristics of a Project
 
Chapter 4 Types Of Organization
Chapter 4   Types Of OrganizationChapter 4   Types Of Organization
Chapter 4 Types Of Organization
 
Project organization
Project organizationProject organization
Project organization
 

Similar to Matrix: The future of communication is decentralised, secure and interoperable

Renegotiating the boundary between database latency and consistency
Renegotiating the boundary between database latency  and consistencyRenegotiating the boundary between database latency  and consistency
Renegotiating the boundary between database latency and consistency
ScyllaDB
 
Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...
Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...
Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...
Databricks
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka
confluent
 
WCF and WF in Framework 3.5
WCF and WF in Framework 3.5WCF and WF in Framework 3.5
WCF and WF in Framework 3.5
ukdpe
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Jakub Botwicz
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
Amir Zmora
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
Trayan Iliev
 
J.burke HackMiami6
J.burke HackMiami6J.burke HackMiami6
J.burke HackMiami6
Jesse Burke
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
bdemchak
 
Apache Spark 2.0: Faster, Easier, and Smarter
Apache Spark 2.0: Faster, Easier, and SmarterApache Spark 2.0: Faster, Easier, and Smarter
Apache Spark 2.0: Faster, Easier, and Smarter
Databricks
 
Optimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversOptimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database Drivers
ScyllaDB
 
apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...
apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...
apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...
apidays
 
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
confluent
 
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
rodburns
 
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
YUCHENG HU
 
Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14
Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14
Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14
Yuichiro Yasui
 
Polyraptor
PolyraptorPolyraptor
Polyraptor
MohammedAlasmar2
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
Araf Karsh Hamid
 
Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...
Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...
Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...
HostedbyConfluent
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
Shubhra Kar
 

Similar to Matrix: The future of communication is decentralised, secure and interoperable (20)

Renegotiating the boundary between database latency and consistency
Renegotiating the boundary between database latency  and consistencyRenegotiating the boundary between database latency  and consistency
Renegotiating the boundary between database latency and consistency
 
Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...
Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...
Spark, GraphX, and Blockchains: Building a Behavioral Analytics Platform for ...
 
Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka Processing IoT Data from End to End with MQTT and Apache Kafka
Processing IoT Data from End to End with MQTT and Apache Kafka
 
WCF and WF in Framework 3.5
WCF and WF in Framework 3.5WCF and WF in Framework 3.5
WCF and WF in Framework 3.5
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & ImplementationWebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
 
Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux Reactive Microservices with Spring 5: WebFlux
Reactive Microservices with Spring 5: WebFlux
 
J.burke HackMiami6
J.burke HackMiami6J.burke HackMiami6
J.burke HackMiami6
 
Cytoscape CI Chapter 2
Cytoscape CI Chapter 2Cytoscape CI Chapter 2
Cytoscape CI Chapter 2
 
Apache Spark 2.0: Faster, Easier, and Smarter
Apache Spark 2.0: Faster, Easier, and SmarterApache Spark 2.0: Faster, Easier, and Smarter
Apache Spark 2.0: Faster, Easier, and Smarter
 
Optimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database DriversOptimizing Performance in Rust for Low-Latency Database Drivers
Optimizing Performance in Rust for Low-Latency Database Drivers
 
apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...
apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...
apidays New York 2022 - Go Big or Go home by RBC Capital Markets, Josh Carrol...
 
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
Achieving a 50% Reduction in Cross-AZ Network Costs from Kafka (Uday Sagar Si...
 
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
SC20 SYCL and C++ Birds of a Feather 19th Nov 2020
 
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
2012 09 MariaDB Boston Meetup - MariaDB 是 Mysql 的替代者吗
 
Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14
Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14
Graph500 and Green Graph500 benchmarks on SGI UV2000 @ SGI UG SC14
 
Polyraptor
PolyraptorPolyraptor
Polyraptor
 
Microservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and KafkaMicroservices Part 3 Service Mesh and Kafka
Microservices Part 3 Service Mesh and Kafka
 
Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...
Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...
Building a Scalable Real-Time Fleet Management IoT Data Tracker with Kafka St...
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 

More from Alan Quayle

What is a vCon?
What is a vCon?What is a vCon?
What is a vCon?
Alan Quayle
 
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Alan Quayle
 
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Alan Quayle
 
What makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelWhat makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias Goebel
Alan Quayle
 
eSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasaleSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João Casal
Alan Quayle
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
Alan Quayle
 
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
Alan Quayle
 
Programmable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigProgrammable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas Granig
Alan Quayle
 
How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...
Alan Quayle
 
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisLatest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Alan Quayle
 
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
Alan Quayle
 
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Alan Quayle
 
Open Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleOpen Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan Quayle
Alan Quayle
 
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuOpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
Alan Quayle
 
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoTADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
Alan Quayle
 
What happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleWhat happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan Quayle
Alan Quayle
 
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichStacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Alan Quayle
 
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
Alan Quayle
 
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateFounding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Alan Quayle
 
How to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciHow to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro Gauci
Alan Quayle
 

More from Alan Quayle (20)

What is a vCon?
What is a vCon?What is a vCon?
What is a vCon?
 
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
Supercharging CPaaS Growth & Margins with Identity and Authentication, Aditya...
 
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
Building a sub-second virtual ThunderDome: Considerations for mass scale sub-...
 
What makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias GoebelWhat makes a cellular IoT API great? Tobias Goebel
What makes a cellular IoT API great? Tobias Goebel
 
eSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João CasaleSIM as Root of Trust for IoT security, João Casal
eSIM as Root of Trust for IoT security, João Casal
 
Architecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin SimeArchitecting your WebRTC application for scalability, Arin Sime
Architecting your WebRTC application for scalability, Arin Sime
 
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
CPaaS Conversational Platforms and Conversational Customer Service – The Expe...
 
Programmable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas GranigProgrammable Testing for Programmable Telcos, Andreas Granig
Programmable Testing for Programmable Telcos, Andreas Granig
 
How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...How to best maximize the conversation data stream for your business? Surbhi R...
How to best maximize the conversation data stream for your business? Surbhi R...
 
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel BourgoisLatest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
Latest Updates and Experiences in Launching Local Language Tools, Karel Bourgois
 
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
What Everyone Needs to Know about Protecting the CPaaS Ecosystem from Unlawfu...
 
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
Master the Audience Experience Multiverse: AX Best Practices and Success Stor...
 
Open Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan QuayleOpen Source Telecom Software Survey 2022, Alan Quayle
Open Source Telecom Software Survey 2022, Alan Quayle
 
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei IancuOpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
OpenSIPS 3.3 – Messaging in the IMS and UC ecosystems. Bogdan-Andrei Iancu
 
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe LeitaoTADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
TADS 2022 - Shifting from Voice to Workflow Management, Filipe Leitao
 
What happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan QuayleWhat happened since we last met TADSummit 2022, Alan Quayle
What happened since we last met TADSummit 2022, Alan Quayle
 
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike BromwichStacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
Stacuity - TAD Summit 2022 - Time to ditch the dumb-pipe, Mike Bromwich
 
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
AWA – a Telco bootstrapping product development: Challenges with dynamic mark...
 
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João CamarateFounding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
Founding a Startup in Telecoms. The good, the bad and the ugly. João Camarate
 
How to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro GauciHow to bring down your own RTC platform. Sandro Gauci
How to bring down your own RTC platform. Sandro Gauci
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Matrix: The future of communication is decentralised, secure and interoperable

  • 1. The future of communication is decentralised, secure and interoperable matthew@matrix.org http://www.matrix.org
  • 2. A non-profit open standard for defragmenting communication
  • 3. To create a global encrypted communication meta-network that bridges all the existing silos & liberates our communication to be controlled only by us.
  • 6. No single party own your conversations – they are shared over all participants. 6
  • 7. Matrix is for: Group Chat (and 1:1) WebRTC Signalling Bridging Comms Silos Internet of Things Data …and anything else which needs to pubsub persistent data to the world. 7
  • 10. What do you get in the spec? • Decentralised conversation history (timeline and key-value stores) • Group Messaging • End-to-end Encryption (new!) • VoIP signalling for WebRTC • Server-side push notification rules • Server-side search • Read receipts, Typing Notifs, Presence • Synchronised read state and unread counts • Decentralised content repository • “Account data” for users per room 10
  • 11. Clients • >30 matrix clients (that we know about) – Ranging from text UIs (Weechat, Emacs(!)) – …to desktop apps (Quaternion, NaChat, Pidgin) – …to glossy web and mobile clients (Riot) – …to protocol proxies (matrix-ircd) • Over 15 client-side SDKs: – Official: JS, React, iOS, Android – Semi-official: Python, Perl5, Go – Community: Erlang, Ruby, Lisp, Elixir, Haskell, Rust… 11
  • 12. Home servers • Synapse:the original reference Matrix home serverimplementation. – 50K lines of Python/Twisted. – Some perf and maintainability challenges… • Ruma: Community project Rust implementation… early but promising! • Dendron: skeleton Golang reference impl – Wraps synapses, incrementally migrating endpoints • BulletTime (Go), Pallium (Go), jSynapse (Java) experiments from the community 12
  • 13. What does it look like? https://riot.im 13
  • 14. The client-server API To send a message: curl -XPOST -d '{"msgtype":"m.text", "body":"hello"}' "https://alice.com:8448/_matrix/client/api/v1/rooms/ROOM_ ID/send/m.room.message?access_token=ACCESS_TOKEN" { "event_id": "YUwRidLecu" } 14
  • 15. The client-server API To set up a WebRTC call: curl -XPOST –d '{ "version": 0, "call_id": "12345”, "offer": { "type" : "offer”, "sdp" : "v=0rno=- 658458 2 IN IP4 127.0.0.1…" } }' "https://alice.com:8448/_matrix/client/api/v1/rooms/ROOM_ ID/send/m.call.invite?access_token=ACCESS_TOKEN" { "event_id": "ZruiCZBu” } 15
  • 16. Basic 1:1 VoIP Matrix Signalling Caller Callee m.call.invite -----------> m.call.candidate --------> [more candidates events] User answers call <------ m.call.answer [media flows] <------ m.call.hangup 16
  • 17. Bridges and Integrations Existing App Application Service 3rd party Server 3rd party Clients
  • 18. Latest Bridges! • Official ones: – IRC – Slack – Gitter – Rocket.Chat – MatterMost – FreeSWITCH – Asterisk (Respoke) – libpurple • Community ones – Twitter – Telegram – Hangouts – Slack webhooks – Gitter (‘sidecar’) – ~8 IRC ones… – ~4 XMPP ones...
  • 20. Community Status • Started out in Sept 2014 • Currently in very late beta • ~450K user accounts on the Matrix.org homeserver (many of these are bridged) • ~400K messages per day • ~50K rooms that Matrix.org participates in • ~1000 federated servers • ~50 companies building on Matrix 20
  • 21. 21
  • 22. 22
  • 23. End to End Crypto with Olm 23 https://matrix.org/git/olm
  • 24. End to End Encryption • 2 years in the making! • Based on Open Whisper Systems’ “Double Ratchet” alg as used in Signal etc. • Audited by NCC Group • Started final roll-out in Sept on Web • Launching next week on iOS & Android (on develop branches currently) • Supports per-target-device encryption • Supports flexible history privacy per-room. 24
  • 25. Olm • Apache License C++11 implementation of Trevor Perrin / Moxie Marlinspike’s Double Ratchet, exposing a C API. • Supports encrypted asynchronous 1:1 communication. • “Megolm” layer adds group communication too. • 130KB x86-64 .so, or 208KB of asm.js 25
  • 26. 26 Olm + Megolm C API Account • Keys Session • Initial Key Exchange Ratchet • Encrypt • Decrypt Crypto • Curve25519 • AES • SHA256 Megolm Group Ratchet
  • 27. Alice Bob Alice and Bob both generate identity (I) & ephemeral (E) elliptic curve key pairs Initial Shared Secret (ISS) = ECDH(Ea, Ib) + ECDH(Ia, Eb) + ECDH(Ea, Eb) Discard Ea Derive chain key from ISS (HMAC) Derive message key (K0) from chain key (HMAC) Derive new chain key ß hash ratchet M0 = Message plaintext C0 = Authenticated Encryption of (M0, K0) Ra0 = generate random ratchet key pair Ja0 = incremental counter for each hash ratchet advancement Ia, Ea, Eb, Ra0, Ja0, C0 A Double ratchet. Kinda sorta.
  • 28. Alice Bob Compute same Initial Shared Secret = ECDH(Ea, Ib) + ECDH(Ia, Eb) + ECDH(Ea, Eb) Compute same K0 M0 = Authenticated decryption of (C0, K0) To respond, B starts new ratchet chain: Rb1 = generate random ratchet key pair New Initial Shared Secret = ECDH(Ra0, Rb1) ß ECDH Ratchet C0 = Authenticated Encryption of (M, K0) Ra0 = generate random ratchet key Ja0 = incremental counter for each hash ratchet advancement Rb1, Jb1, C1 A Double ratchet. Kinda sorta.
  • 29. 29 Alice Sending | Receiving MK CK RK CK MK -- -- -- -- -- ECDH(A0,B0) | | ECDH(A1,B0) + /| / | / + ECDH(A1,B1) CK-A1-B0 | | | MK-0 ----+ | | | CK-A1-B1 MK-1 ----+ | | | | +---- MK-0 MK-2 ----+ | | | +---- MK-1 ECDH(A2,B1) + /| / | / | CK-A2-B1 | | + ECDH(A2,B2) MK-0 ----+ CK-A2-B2 | +---- MK-0 | +---- MK-1
  • 30. Group chat • Adds a 3rd type of ratchet: “Megolm”, used to encrypt group messages. • Establish 'normal' 1:1 ratchets between all participants in order to exchange the initial secret for the group ratchet. • All receivers share the same group ratchet state to decrypt the room. 30
  • 31. Flexible privacy with Olm • Users can configure rooms to have: – No ratchet (i.e. no crypto) – Full PFS ratchet – Selective ratchet • Deliberately re-use ratchet keys to support paginating partial eras of history. • Up to participants to trigger the ratchet (e.g. when a member joins or leaves the room) – Per-message type ratchets? 31
  • 32. • More hosted bridges, bots, services etc • Threading • Message tagging (e.g. “Like” support) • Group ACLs • File tagging and management • Decentralised identity • “Fixing spam” 32 Matrix: What’s coming up?
  • 34. • We need people to try running their own servers and join the federation. • We need people to run gateways to their existing services • We need feedback on the APIs. • Consider native Matrix support for new apps • Follow @matrixdotorg and spread the word! 34