Re: [Mimi] Matrix and MIMI

Rohan Mahy <rohan.mahy@wire.com> Mon, 25 July 2022 12:29 UTC

Return-Path: <rohan.mahy@wire.com>
X-Original-To: mimi@ietfa.amsl.com
Delivered-To: mimi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0027CC05E79E for <mimi@ietfa.amsl.com>; Mon, 25 Jul 2022 05:29:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.089
X-Spam-Level:
X-Spam-Status: No, score=0.089 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, PDS_OTHER_BAD_TLD=1.997, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=wire-com.20210112.gappssmtp.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QDmofvuEMnAt for <mimi@ietfa.amsl.com>; Mon, 25 Jul 2022 05:29:04 -0700 (PDT)
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com [IPv6:2a00:1450:4864:20::135]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B5B3EC05E79C for <mimi@ietf.org>; Mon, 25 Jul 2022 05:29:04 -0700 (PDT)
Received: by mail-lf1-x135.google.com with SMTP id z25so17855834lfr.2 for <mimi@ietf.org>; Mon, 25 Jul 2022 05:29:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wire-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=s1MxcbQfK69IVLYoQB7SWB7sCHgghw2SSb1R2p8rIdo=; b=BDMR3wC68i859Zujaq/2Ss19horhFN3lodOrSduQbJxNegLQoAyq3cNjuOEvS+bgSU 17BfT1YsQGaq+T8No2n88/rwdt2H+PPMZiv8g2euLMEUPFlt+MFhXECqdOwGsp+FPdjm k0yg28SYy0cobL0hJQCnInRqI4cpZEmfcZ/sj+VxngZi8kg5ErTEj9+z2q87k+E0+WNW uPdg3saTqjX6F6RNz3KWmpK/qssZ7DITv1kulqsbxoTNtF/goONp+QMvOT1vl8OQNxuP jGZOH3KqQxI62kVQoZF7e73n/TiBsU3X159wZ71dkR9FeaLtvXKrjTi7bqy1B9OzKTeC 1WNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=s1MxcbQfK69IVLYoQB7SWB7sCHgghw2SSb1R2p8rIdo=; b=r5/QZzBwsmZtQej0PDZECyus9XO08tsnEebVNqb2wrfYyQY8taWI6o4kEfGrVzrapV ruZgJDe8NqjCf9JBfK12NtkKErZFQkJK095q240OWR85/4VJLc0zj5kxwLZFqSdqq/L9 DVDCiXGmedqO0/OvmimZWF6Wyv5fMv61nNAeF73+BLpVLCVhyJbJz5cPN9Dlii+vDo6S BC2GxfLODsWG2a/Lq03834MBp0xkK7scRDWpsNXkRGXcwhEF4GAgpDHhdPE8WRnqbe6H q9rHx24QP1eRjO4olrgXBsLRXRLrg7U4eIS64H95aEQfpEYg4OLZ29KRp5enN5JvdsTx RWgQ==
X-Gm-Message-State: AJIora/Jp6M4P0NobkYdhNpGRZm1tknJ2FphzeUaTihVzKqmylpElSQc nDsRAYCJVCAkP0McOHp5pwJVxhuESIdyRHPU+f6IBTbu9e58sa63
X-Google-Smtp-Source: AGRyM1v5FnpKqn9YqXZG0uD+jygwhAQVzWKj5vnIxmjjh04QlWtU5jXLyQe7h8pa+emAceP5/GOd+BmzO5g61sUYUo0=
X-Received: by 2002:a05:6512:a8c:b0:48a:77d9:ddde with SMTP id m12-20020a0565120a8c00b0048a77d9dddemr4209089lfu.244.1658752142220; Mon, 25 Jul 2022 05:29:02 -0700 (PDT)
MIME-Version: 1.0
References: <6ba4e382-b7f2-e039-98c7-801417bf2e88@matrix.org>
In-Reply-To: <6ba4e382-b7f2-e039-98c7-801417bf2e88@matrix.org>
From: Rohan Mahy <rohan.mahy@wire.com>
Date: Mon, 25 Jul 2022 08:28:51 -0400
Message-ID: <CACW8--N3j4KMj2vAiaiVSUmY4-Js+qCDYoNhCDov604uw0D5tA@mail.gmail.com>
To: Matthew Hodgson <matthew@matrix.org>
Cc: mimi@ietf.org
Content-Type: multipart/alternative; boundary="000000000000353b7105e4a05490"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mimi/EEyi8SmDkFjQvXWTbw5mbOvP6SE>
Subject: Re: [Mimi] Matrix and MIMI
X-BeenThere: mimi@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: More Instant Messaging Interoperability <mimi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mimi>, <mailto:mimi-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mimi/>
List-Post: <mailto:mimi@ietf.org>
List-Help: <mailto:mimi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mimi>, <mailto:mimi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 25 Jul 2022 12:29:09 -0000

Hi Matthew,
We won't be presenting any drafts today due to the short time we have.
However I encourage you and Travis to participate in the discussion about
scope and about the importance of the content format (whatever it is) and
offer suggestions for the proposed BoF / charter language.

Thanks and hope to talk to you soon.
thanks,
-rohan




*Rohan Mahy  *l  Vice President Engineering, Architecture

Chat: @rohan_wire on Wire



Wire <https://wire.com/en/download/> - Secure team messaging.

*Zeta Project Germany GmbH  *l  Rosenthaler Straße 40,
<https://maps.google.com/?q=Rosenthaler+Stra%C3%9Fe+40,%C2%A0+10178+Berlin,%C2%A0+Germany&entry=gmail&source=g>10178
Berlin,
<https://maps.google.com/?q=Rosenthaler+Stra%C3%9Fe+40,%C2%A0+10178+Berlin,%C2%A0+Germany&entry=gmail&source=g>
Germany
<https://maps.google.com/?q=Rosenthaler+Stra%C3%9Fe+40,%C2%A0+10178+Berlin,%C2%A0+Germany&entry=gmail&source=g>

Geschäftsführer/Managing Director: Morten J. Broegger

HRB 149847 beim Handelsregister Charlottenburg, Berlin

VAT-ID DE288748675


On Mon, Jul 25, 2022 at 5:51 AM Matthew Hodgson <matthew@matrix.org> wrote:

> Hi all,
>
> Many thanks for taking the initiative to improve standardisation around
> comms interop!  It's very clear that the Digital Markets Act has shifted
> messaging interop from being an aspirational goal to something much more
> concrete and timely, and the IETF is well positioned to support such work.
>
> Particularly, there are some very significant unsolved problems
> surrounding decentralised identity (discovering which services a given
> user has actually authorised to host their communication) and
> decentralised reputation/abuse (ensuring that open interoperable APIs
> aren't used as a mechanism for spam).  On the identity side, MIMI's
> problem space statement at
> https://www.ietf.org/archive/id/draft-mahy-mimi-identity-00.html is
> great - and it's also fantastic to see SPIN emerging as a potential
> concrete approach at
> https://www.ietf.org/archive/id/draft-rosenberg-dispatch-spin-00.txt.
>
> Finally, it's clear that we also need a common application-layer
> communication protocol on top of MLS: it's no use having end-to-end
> encryption if everyone speaks different languages on top, necessitating
> bridges which then undermine E2EE.
>
> However, this is also an area with significant prior art - and I'm
> really surprised to see CPIM being proposed as the content layer in
> MIMI. CPIM is almost 20 years old, and its approach reflects the
> previous generation of communication apps. Specifically, the proposal
> here seems to be to pass CPIM envelopes between participants in a
> conversation.  However, the reality is that these days the majority of
> modern collaborative communication apps (Slack, Teams, Wire, Telegram,
> etc) are focused on *consistently synchronising message history* (i.e.
> scrollback, and per-conversation metadata) across the users and devices
> participating in a conversation.
>
> Back in 2014 we started working on Matrix (https://matrix.org) as an
> independent open standard to establish an application layer protocol for
> these semantics: specifically, modelling communication as conversation
> history which should be replicated over the participants.  Matrix
> expresses each conversation not as a loose stream of messages, but as a
> Merkle DAG (directed acyclic graph) of conversation history very similar
> to a Git repository. This gives the following main advantages over a
> message-passing approach such as XMPP MUCs, MSRP, SMTP, etc:
>
>   * Conversation history becomes the primary first-class citizen: all
> clients automatically get synchronised consistent scrollback; lazily
> loading it in from other nodes as needed; automatically providing
> resilience to network partitions.  Everyone is guaranteed to see a
> maximally consistent view of the same conversation.
>
>   * Conversation history is democratised and shared equitably over all
> participants - no single entity ends up becoming a defacto privileged
> node thanks to storing or relaying history: in fact, you can't
> communicate with others without equally sharing ownership of the
> conversation with them.  This is highly aligned with the various
> 'avoiding internet centralisation' initiatives within IETF.
>
>   * This highly decentralised structure also ensures that the underlying
> protocols must also be decentralised.  For instance, we've been gently
> contributing to MLS standardisation work, and particularly Decentralised
> MLS
> (
> https://gitlab.matrix.org/matrix-org/mls-ts/-/blob/decentralised2/decentralised.org)
>
> - to ensure that MLS sequencing does not create an unnecessary form of
> centralisation.
>
>   * Conversations automatically benefit from decentralised access
> controls - given there is no central point of control over rooms, access
> control is provided in a byzantine-fault tolerant manner by requiring
> each participant to include a simple proof of their permission to emit
> each event:
>
> https://matrix.org/blog/2020/06/16/matrix-decomposition-an-independent-academic-analysis-of-matrix-state-resolution
>
>   * Conversations are decorated with structured key/value data,
> versioned in the timeline of the room, providing an incredibly useful
> decentralised key-value store as a first-class primitive alongside the
> conversational data itself (e.g. for room names, topics, icons, or much
> much more)
>
>   * Account portability and multi-homed accounts become much easier:
> user history is automatically replicated onto whatever servers that host
> a given user's identity (currently WIP).
>
> We built Matrix as a protocol for interoperability both between native
> Matrix implementations and existing communication systems. In fact, the
> name Matrix was picked because it acts as a matrix that can connect N
> platforms together in an NxN matrix.  The direct inspiration for
> Matrix's improved semantics was learning from our experiences
> implementing various RCS/IMS/MSRP/CPIM and XMPP based communication
> systems for the telco industry in 2010-2014.  We hope these learnings
> might be relevant here!
>
> Matrix has turned out to be successful as an approach: with a vibrant
> and highly hetrogenous ecosystem, there are hundreds of bridges now
> implemented which link existing communication systems via Matrix; three
> major independently-developed server implementations (in Python, Go and
> Rust); and hundreds of clients which natively speak the protocol.  The
> public network can see over 64M addresses (of which 30M are natively on
> Matrix, and about 15M are long-term users) - spread over around 95K
> server instances.
>
> Meanwhile, an ever increasing number of independent (and sometimes
> competitive) commercial organisations have been successfully using the
> protocol for interoperability, including IBM, Ericsson, Thales,
> Palantir, LivePerson, Beeper, Famedly, Rocket.Chat, Element and many
> more.  The French state has adopted Matrix as its official communication
> system (https://element.io/case-studies/tchap), as has the German armed
> forces (https://sifted.eu/articles/european-armies-matrix/), German
> healthcare industry
> (
> https://matrix.org/blog/2021/07/21/germanys-national-healthcare-system-adopts-matrix),
>
> and significant uptake in the UK, US and Scandanavia.  The protocol has
> also proven to go far beyond basic instant messaging, supporting
> decentralised VoIP/Video conferencing
> (
> https://2021.commcon.xyz/talks/extending-matrix-s-e2ee-calls-to-multiparty)
>
> and even interoperable spatial collaboration
> (https://github.com/matrix-org/thirdroom/blob/main/README.md).
>
> Matrix itself is currently published as an open standard
> (https://spec.matrix.org) by an independent non-profit foundation
> (https://matrix.org/foundation) and the spec evolves via an open
> governance process (https://spec.matrix.org/unstable/proposals/).
> However, we are approaching the point of maturity where Matrix could be
> ratified by a dedicated international standards body - and as such we'd
> be very interested to hear if there is interest in Matrix being
> considered as the application layer on top of MLS for interoperable
> communication.  We are already working on using MLS for Matrix's E2EE -
> and after all; we have a proven track record to date of running code and
> rough consensus as an interoperable comms standard.  We did present
> Matrix as an HotRFC at IETF-101, but at the point the protocol was still
> very much in fux - whereas nowadays we're in a much better position to
> discuss if/how Matrix could exist in IETF.
>
> I was hoping to be present at the BOF in Philly today and raise this for
> discussion there: however, it looks like i am not going to be able to
> make it - instead Travis Ralston from the Matrix spec core team will
> hopefully be there to represent (or failing that we will try to do
> remote participation).
>
> Otherwise, thoughts would be very welcome here on whether Matrix could
> provide a better application layer than a linear CPIM-based approach for
> MIMI?
>
> thanks,
>
> Matthew
>
> --
> Matthew Hodgson
> Project Lead
> Matrix.org
>
> --
> Mimi mailing list
> Mimi@ietf.org
> https://www.ietf.org/mailman/listinfo/mimi
>