Timeline Updates

This commit is contained in:
Sarah Jamie Lewis 2024-01-04 12:58:47 -08:00
parent 7c68f40403
commit f32efa8636
673 changed files with 2090 additions and 2009 deletions

View File

@ -24,7 +24,7 @@ With the Cwtch interface now stable, we are in a position to begin a new phase i
## The Problem with Cwtch Groups
One of the unique features of Cwtch is that groups are dependent on [untrusted infrastructure](/security/components/cwtch/server).
One of the unique features of Cwtch is that [groups](/docs/groups/introduction) are dependent on [untrusted infrastructure](/security/components/cwtch/server).
Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
cryptographic key, and a common (set of) untrusted server(s).
@ -69,16 +69,25 @@ available to a party outside of the group.
Traditional Cwtch Groups take this to the extreme, and the expense of long syncing times, and a high possibility of disruption. Managed Groups
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.
## A Rough Timeline (Q1)
## A Rough Timeline (Q1: Week 0 - Week 10 2024)
- By **February 2024**: The Cwtch library will support exposing **Enhanced Permissions**, these are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog).
- By **February 2024**: A formal model for Managed Groups will be created and documented. This will form the basis of the implementation, and ensure that the resulting properties are sound.
- By **March 2024**: An initial implementation of Managed Groups will be merged into the Cwtch library and gated-support will be available
in the UI.
- **Week 0** - Planning Q1 Cwtch Timeline (this devlog), minor bug fixes and other small UI-focused work originating from reports and feedback
from [Cwtch testers](/docs/contribute/testing).
- **Week 1** - Work begins on exposing **Enhanced Permissions** in the Cwtch library. These are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog). Also, a formal model for Managed Groups will be created and documented.
This will form the basis of the implementation.
- **Week 2** - At this point we should be able to begin designing the Managed Group Extension to Cwtch. This will use the Cwtch Event Hooks API
to respond to Peer events to manage groups. During this work, we also expect to migrate the legacy group code into it's own similar extension to make
best use of the APIs.
- **Week 3** - Towards the end of January we expect to have a complete formal model of Managed Groups and to be able to start integrating the new extensions into the
Cwtch-UI. We also expect to be in the process of releasing a new 1.14 version of Cwtch that supports Enhanced Permissions.
- **Weeks 4 - Week 6** - February marks the 6th anniversary of the founding of Open Privacy Research Society, and our organizational year end. During this
time core members of the Cwtch team are often involved in administrative tasks that need to be done during this time, as such we are not planning to make too much progress on Cwtch during this time.
- **Weeks 7 - Week 10** - As we approach March, we will be formally integrating Managed Groups in Cwtch, and planning a Cwtch 1.15 release which will feature the new group type. During this time we will also be updating
Cwtch [Group Documentation](https://docs.cwtch.im/docs/category/groups) .
Once Managed Groups have been rolled out for testing, we will assess what we have learned and proceed with similar steps for
Augmented Groups.
Once Managed Groups have been rolled out, we will assess what we have learned and proceed with similar steps for
Augmented Groups in Q2 (more on that in a later devlog!).
## Stay up to date!

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@
<summary type="html"><![CDATA[A look at how we plan on implementing the next generation of Cwtch multi-party messaging]]></summary>
<content type="html"><![CDATA[<p>Back in <a href="/blog/cwtch-1-13">September 2023 we released Cwtch 1.13</a>, the first version of Cwtch to be labelled as <strong>stable</strong>,
and a major milestone in Cwtch development. </p><p>With the Cwtch interface now stable, we are in a position to begin a new phase in Cwtch development: a Path towards
<strong>Hybrid Groups</strong>.</p><p><img loading="lazy" src="/assets/images/hybridgroups-11c21d2516ceadabac8af92290b53a08.png" width="1005" height="481" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-problem-with-cwtch-groups">The Problem with Cwtch Groups<a href="#the-problem-with-cwtch-groups" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>One of the unique features of Cwtch is that groups are dependent on <a href="/security/components/cwtch/server">untrusted infrastructure</a>.</p><p>Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
<strong>Hybrid Groups</strong>.</p><p><img loading="lazy" src="/assets/images/hybridgroups-11c21d2516ceadabac8af92290b53a08.png" width="1005" height="481" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-problem-with-cwtch-groups">The Problem with Cwtch Groups<a href="#the-problem-with-cwtch-groups" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>One of the unique features of Cwtch is that <a href="/docs/groups/introduction">groups</a> are dependent on <a href="/security/components/cwtch/server">untrusted infrastructure</a>.</p><p>Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
cryptographic key, and a common (set of) untrusted server(s).</p><p>This provides Cwtch Groups with very nice properties such as anonymity to anyone not in the group, but it does mean
that certain other nice properties like member flexibility, and credential rotation are difficult to achieve.</p><p>We want to allow people to make the right trade-off when it comes to their own risk models, i.e. to be able to trade
efficiency for trust when that decision makes sense.</p><p>To do that we need to introduce a new class of group into Cwtch, something we are calling <strong>Hybrid Groups</strong>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-hybrid-groups">What Are Hybrid Groups?<a href="#what-are-hybrid-groups" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>The goal of hybrid groups is to balance the security properties of Cwtch peer-to-peer communication with the
@ -29,10 +29,16 @@ be the first Cwtch groups to allow <strong>Contractable</strong> and <strong>Exp
the peer e.g. by requiring participants to take part in a meta-protocol that confirms certain actions before they are carried out (preventing
the trusted-peer from harming properties like <strong>Participant Consistency</strong>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="group-messaging-metadata">Group Messaging Metadata<a href="#group-messaging-metadata" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>As with the rest of Cwtch, our ultimate goal is that no metadata (and specifically as part of this work, no group metadata e.g. membership, message timing) be
available to a party outside of the group.</p><p>Traditional Cwtch Groups take this to the extreme, and the expense of long syncing times, and a high possibility of disruption. Managed Groups
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-rough-timeline-q1">A Rough Timeline (Q1)<a href="#a-rough-timeline-q1" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><ul><li>By <strong>February 2024</strong>: The Cwtch library will support exposing <strong>Enhanced Permissions</strong>, these are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog).</li><li>By <strong>February 2024</strong>: A formal model for Managed Groups will be created and documented. This will form the basis of the implementation, and ensure that the resulting properties are sound.</li><li>By <strong>March 2024</strong>: An initial implementation of Managed Groups will be merged into the Cwtch library and gated-support will be available
in the UI.</li></ul><p>Once Managed Groups have been rolled out for testing, we will assess what we have learned and proceed with similar steps for
Augmented Groups.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-up-to-date">Stay up to date!<a href="#stay-up-to-date" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>As always, we will be regularly updating this devlog <a href="https://fosstodon.org/@cwtch" target="_blank" rel="noopener noreferrer">and other channels</a> as we continue to make progress towards
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-rough-timeline-q1-week-0---week-10-2024">A Rough Timeline (Q1: Week 0 - Week 10 2024)<a href="#a-rough-timeline-q1-week-0---week-10-2024" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><ul><li><strong>Week 0</strong> - Planning Q1 Cwtch Timeline (this devlog), minor bug fixes and other small UI-focused work originating from reports and feedback
from <a href="/docs/contribute/testing">Cwtch testers</a>.</li><li><strong>Week 1</strong> - Work begins on exposing <strong>Enhanced Permissions</strong> in the Cwtch library. These are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog). Also, a formal model for Managed Groups will be created and documented.
This will form the basis of the implementation.</li><li><strong>Week 2</strong> - At this point we should be able to begin designing the Managed Group Extension to Cwtch. This will use the Cwtch Event Hooks API
to respond to Peer events to manage groups. During this work, we also expect to migrate the legacy group code into it's own similar extension to make
best use of the APIs. </li><li><strong>Week 3</strong> - Towards the end of January we expect to have a complete formal model of Managed Groups and to be able to start integrating the new extensions into the
Cwtch-UI. We also expect to be in the process of releasing a new 1.14 version of Cwtch that supports Enhanced Permissions.</li><li><strong>Weeks 4 - Week 6</strong> - February marks the 6th anniversary of the founding of Open Privacy Research Society, and our organizational year end. During this
time core members of the Cwtch team are often involved in administrative tasks that need to be done during this time, as such we are not planning to make too much progress on Cwtch during this time.</li><li><strong>Weeks 7 - Week 10</strong> - As we approach March, we will be formally integrating Managed Groups in Cwtch, and planning a Cwtch 1.15 release which will feature the new group type. During this time we will also be updating
Cwtch <a href="https://docs.cwtch.im/docs/category/groups" target="_blank" rel="noopener noreferrer">Group Documentation</a> .</li></ul><p>Once Managed Groups have been rolled out, we will assess what we have learned and proceed with similar steps for
Augmented Groups in Q2 (more on that in a later devlog!).</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-up-to-date">Stay up to date!<a href="#stay-up-to-date" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>As always, we will be regularly updating this devlog <a href="https://fosstodon.org/@cwtch" target="_blank" rel="noopener noreferrer">and other channels</a> as we continue to make progress towards
surveillance resistant infrastructure!</p><p>Subscribe to our <a href="/blog/rss.xml">RSS feed</a>, <a href="/blog/atom.xml">Atom feed</a>, or <a href="/blog/feed.json">JSON feed</a> to stay up to date, and get the latest on, all aspects of Cwtch development.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="help-us-go-further">Help us go further!<a href="#help-us-go-further" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>We couldn't do what we do without all the wonderful community support we get, from <a href="https://openprivacy.ca/donate" target="_blank" rel="noopener noreferrer">one-off donations</a> to <a href="https://www.patreon.com/openprivacy" target="_blank" rel="noopener noreferrer">recurring support via Patreon</a>.</p><p>If you want to see us move faster on some of these goals and are in a position to, please <a href="https://openprivacy.ca/donate" target="_blank" rel="noopener noreferrer">donate</a>. If you happen to be at a company that wants to do more for the community and this aligns, please consider donating or sponsoring a developer.</p><p>Donations of <strong>$5 or more</strong> can opt to receive stickers as a thank-you gift!</p><p>For more information about donating to Open Privacy and claiming a thank you gift <a href="https://openprivacy.ca/donate/" target="_blank" rel="noopener noreferrer">please visit the Open Privacy Donate page</a>.</p><p><img loading="lazy" alt="A Photo of Cwtch Stickers" src="/assets/images/stickers-new-1e9b14bdd638b4907cce833e813a09ad.jpg" width="1024" height="768" class="img_ev3q"></p>]]></content>
<author>
<name>Sarah Jamie Lewis</name>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@
<description><![CDATA[A look at how we plan on implementing the next generation of Cwtch multi-party messaging]]></description>
<content:encoded><![CDATA[<p>Back in <a href="/blog/cwtch-1-13">September 2023 we released Cwtch 1.13</a>, the first version of Cwtch to be labelled as <strong>stable</strong>,
and a major milestone in Cwtch development. </p><p>With the Cwtch interface now stable, we are in a position to begin a new phase in Cwtch development: a Path towards
<strong>Hybrid Groups</strong>.</p><p><img loading="lazy" src="/assets/images/hybridgroups-11c21d2516ceadabac8af92290b53a08.png" width="1005" height="481" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-problem-with-cwtch-groups">The Problem with Cwtch Groups<a href="#the-problem-with-cwtch-groups" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>One of the unique features of Cwtch is that groups are dependent on <a href="/security/components/cwtch/server">untrusted infrastructure</a>.</p><p>Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
<strong>Hybrid Groups</strong>.</p><p><img loading="lazy" src="/assets/images/hybridgroups-11c21d2516ceadabac8af92290b53a08.png" width="1005" height="481" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-problem-with-cwtch-groups">The Problem with Cwtch Groups<a href="#the-problem-with-cwtch-groups" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>One of the unique features of Cwtch is that <a href="/docs/groups/introduction">groups</a> are dependent on <a href="/security/components/cwtch/server">untrusted infrastructure</a>.</p><p>Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
cryptographic key, and a common (set of) untrusted server(s).</p><p>This provides Cwtch Groups with very nice properties such as anonymity to anyone not in the group, but it does mean
that certain other nice properties like member flexibility, and credential rotation are difficult to achieve.</p><p>We want to allow people to make the right trade-off when it comes to their own risk models, i.e. to be able to trade
efficiency for trust when that decision makes sense.</p><p>To do that we need to introduce a new class of group into Cwtch, something we are calling <strong>Hybrid Groups</strong>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-hybrid-groups">What Are Hybrid Groups?<a href="#what-are-hybrid-groups" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>The goal of hybrid groups is to balance the security properties of Cwtch peer-to-peer communication with the
@ -30,10 +30,16 @@ be the first Cwtch groups to allow <strong>Contractable</strong> and <strong>Exp
the peer e.g. by requiring participants to take part in a meta-protocol that confirms certain actions before they are carried out (preventing
the trusted-peer from harming properties like <strong>Participant Consistency</strong>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="group-messaging-metadata">Group Messaging Metadata<a href="#group-messaging-metadata" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>As with the rest of Cwtch, our ultimate goal is that no metadata (and specifically as part of this work, no group metadata e.g. membership, message timing) be
available to a party outside of the group.</p><p>Traditional Cwtch Groups take this to the extreme, and the expense of long syncing times, and a high possibility of disruption. Managed Groups
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-rough-timeline-q1">A Rough Timeline (Q1)<a href="#a-rough-timeline-q1" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><ul><li>By <strong>February 2024</strong>: The Cwtch library will support exposing <strong>Enhanced Permissions</strong>, these are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog).</li><li>By <strong>February 2024</strong>: A formal model for Managed Groups will be created and documented. This will form the basis of the implementation, and ensure that the resulting properties are sound.</li><li>By <strong>March 2024</strong>: An initial implementation of Managed Groups will be merged into the Cwtch library and gated-support will be available
in the UI.</li></ul><p>Once Managed Groups have been rolled out for testing, we will assess what we have learned and proceed with similar steps for
Augmented Groups.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-up-to-date">Stay up to date!<a href="#stay-up-to-date" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>As always, we will be regularly updating this devlog <a href="https://fosstodon.org/@cwtch" target="_blank" rel="noopener noreferrer">and other channels</a> as we continue to make progress towards
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-rough-timeline-q1-week-0---week-10-2024">A Rough Timeline (Q1: Week 0 - Week 10 2024)<a href="#a-rough-timeline-q1-week-0---week-10-2024" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><ul><li><strong>Week 0</strong> - Planning Q1 Cwtch Timeline (this devlog), minor bug fixes and other small UI-focused work originating from reports and feedback
from <a href="/docs/contribute/testing">Cwtch testers</a>.</li><li><strong>Week 1</strong> - Work begins on exposing <strong>Enhanced Permissions</strong> in the Cwtch library. These are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog). Also, a formal model for Managed Groups will be created and documented.
This will form the basis of the implementation.</li><li><strong>Week 2</strong> - At this point we should be able to begin designing the Managed Group Extension to Cwtch. This will use the Cwtch Event Hooks API
to respond to Peer events to manage groups. During this work, we also expect to migrate the legacy group code into it's own similar extension to make
best use of the APIs. </li><li><strong>Week 3</strong> - Towards the end of January we expect to have a complete formal model of Managed Groups and to be able to start integrating the new extensions into the
Cwtch-UI. We also expect to be in the process of releasing a new 1.14 version of Cwtch that supports Enhanced Permissions.</li><li><strong>Weeks 4 - Week 6</strong> - February marks the 6th anniversary of the founding of Open Privacy Research Society, and our organizational year end. During this
time core members of the Cwtch team are often involved in administrative tasks that need to be done during this time, as such we are not planning to make too much progress on Cwtch during this time.</li><li><strong>Weeks 7 - Week 10</strong> - As we approach March, we will be formally integrating Managed Groups in Cwtch, and planning a Cwtch 1.15 release which will feature the new group type. During this time we will also be updating
Cwtch <a href="https://docs.cwtch.im/docs/category/groups" target="_blank" rel="noopener noreferrer">Group Documentation</a> .</li></ul><p>Once Managed Groups have been rolled out, we will assess what we have learned and proceed with similar steps for
Augmented Groups in Q2 (more on that in a later devlog!).</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-up-to-date">Stay up to date!<a href="#stay-up-to-date" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>As always, we will be regularly updating this devlog <a href="https://fosstodon.org/@cwtch" target="_blank" rel="noopener noreferrer">and other channels</a> as we continue to make progress towards
surveillance resistant infrastructure!</p><p>Subscribe to our <a href="/blog/rss.xml">RSS feed</a>, <a href="/blog/atom.xml">Atom feed</a>, or <a href="/blog/feed.json">JSON feed</a> to stay up to date, and get the latest on, all aspects of Cwtch development.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="help-us-go-further">Help us go further!<a href="#help-us-go-further" class="hash-link" aria-label="Direct link to heading" title="Direct link to heading"></a></h2><p>We couldn't do what we do without all the wonderful community support we get, from <a href="https://openprivacy.ca/donate" target="_blank" rel="noopener noreferrer">one-off donations</a> to <a href="https://www.patreon.com/openprivacy" target="_blank" rel="noopener noreferrer">recurring support via Patreon</a>.</p><p>If you want to see us move faster on some of these goals and are in a position to, please <a href="https://openprivacy.ca/donate" target="_blank" rel="noopener noreferrer">donate</a>. If you happen to be at a company that wants to do more for the community and this aligns, please consider donating or sponsoring a developer.</p><p>Donations of <strong>$5 or more</strong> can opt to receive stickers as a thank-you gift!</p><p>For more information about donating to Open Privacy and claiming a thank you gift <a href="https://openprivacy.ca/donate/" target="_blank" rel="noopener noreferrer">please visit the Open Privacy Donate page</a>.</p><p><img loading="lazy" alt="A Photo of Cwtch Stickers" src="/assets/images/stickers-new-1e9b14bdd638b4907cce833e813a09ad.jpg" width="1024" height="768" class="img_ev3q"></p>]]></content:encoded>
<category>cwtch</category>
<category>hybrid-groups</category>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -16,7 +16,7 @@
<summary type="html"><![CDATA[A look at how we plan on implementing the next generation of Cwtch multi-party messaging]]></summary>
<content type="html"><![CDATA[<p>Back in <a href="/de/blog/cwtch-1-13">September 2023 we released Cwtch 1.13</a>, the first version of Cwtch to be labelled as <strong>stable</strong>,
and a major milestone in Cwtch development. </p><p>With the Cwtch interface now stable, we are in a position to begin a new phase in Cwtch development: a Path towards
<strong>Hybrid Groups</strong>.</p><p><img loading="lazy" src="/de/assets/images/hybridgroups-11c21d2516ceadabac8af92290b53a08.png" width="1005" height="481" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-problem-with-cwtch-groups">The Problem with Cwtch Groups<a href="#the-problem-with-cwtch-groups" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>One of the unique features of Cwtch is that groups are dependent on <a href="/de/security/components/cwtch/server">untrusted infrastructure</a>.</p><p>Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
<strong>Hybrid Groups</strong>.</p><p><img loading="lazy" src="/de/assets/images/hybridgroups-11c21d2516ceadabac8af92290b53a08.png" width="1005" height="481" class="img_ev3q"></p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="the-problem-with-cwtch-groups">The Problem with Cwtch Groups<a href="#the-problem-with-cwtch-groups" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>One of the unique features of Cwtch is that <a href="/de/docs/groups/introduction">groups</a> are dependent on <a href="/de/security/components/cwtch/server">untrusted infrastructure</a>.</p><p>Because of this, at their most basic, a Cwtch group is simply an agreement between a set of peers on a common
cryptographic key, and a common (set of) untrusted server(s).</p><p>This provides Cwtch Groups with very nice properties such as anonymity to anyone not in the group, but it does mean
that certain other nice properties like member flexibility, and credential rotation are difficult to achieve.</p><p>We want to allow people to make the right trade-off when it comes to their own risk models, i.e. to be able to trade
efficiency for trust when that decision makes sense.</p><p>To do that we need to introduce a new class of group into Cwtch, something we are calling <strong>Hybrid Groups</strong>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="what-are-hybrid-groups">What Are Hybrid Groups?<a href="#what-are-hybrid-groups" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>The goal of hybrid groups is to balance the security properties of Cwtch peer-to-peer communication with the
@ -29,10 +29,16 @@ be the first Cwtch groups to allow <strong>Contractable</strong> and <strong>Exp
the peer e.g. by requiring participants to take part in a meta-protocol that confirms certain actions before they are carried out (preventing
the trusted-peer from harming properties like <strong>Participant Consistency</strong>.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="group-messaging-metadata">Group Messaging Metadata<a href="#group-messaging-metadata" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>As with the rest of Cwtch, our ultimate goal is that no metadata (and specifically as part of this work, no group metadata e.g. membership, message timing) be
available to a party outside of the group.</p><p>Traditional Cwtch Groups take this to the extreme, and the expense of long syncing times, and a high possibility of disruption. Managed Groups
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-rough-timeline-q1">A Rough Timeline (Q1)<a href="#a-rough-timeline-q1" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><ul><li>By <strong>February 2024</strong>: The Cwtch library will support exposing <strong>Enhanced Permissions</strong>, these are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog).</li><li>By <strong>February 2024</strong>: A formal model for Managed Groups will be created and documented. This will form the basis of the implementation, and ensure that the resulting properties are sound.</li><li>By <strong>March 2024</strong>: An initial implementation of Managed Groups will be merged into the Cwtch library and gated-support will be available
in the UI.</li></ul><p>Once Managed Groups have been rolled out for testing, we will assess what we have learned and proceed with similar steps for
Augmented Groups.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-up-to-date">Stay up to date!<a href="#stay-up-to-date" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>As always, we will be regularly updating this devlog <a href="https://fosstodon.org/@cwtch" target="_blank" rel="noopener noreferrer">and other channels</a> as we continue to make progress towards
and Augmented groups will allow communities to make the right trade-offs allowing for greater resilience and faster syncing.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="a-rough-timeline-q1-week-0---week-10-2024">A Rough Timeline (Q1: Week 0 - Week 10 2024)<a href="#a-rough-timeline-q1-week-0---week-10-2024" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><ul><li><strong>Week 0</strong> - Planning Q1 Cwtch Timeline (this devlog), minor bug fixes and other small UI-focused work originating from reports and feedback
from <a href="/de/docs/contribute/testing">Cwtch testers</a>.</li><li><strong>Week 1</strong> - Work begins on exposing <strong>Enhanced Permissions</strong> in the Cwtch library. These are essential to implementing many of the aspects
of the new group design, as well as improving other parts of contact management. (Expect more about this in a future devlog). Also, a formal model for Managed Groups will be created and documented.
This will form the basis of the implementation.</li><li><strong>Week 2</strong> - At this point we should be able to begin designing the Managed Group Extension to Cwtch. This will use the Cwtch Event Hooks API
to respond to Peer events to manage groups. During this work, we also expect to migrate the legacy group code into it's own similar extension to make
best use of the APIs. </li><li><strong>Week 3</strong> - Towards the end of January we expect to have a complete formal model of Managed Groups and to be able to start integrating the new extensions into the
Cwtch-UI. We also expect to be in the process of releasing a new 1.14 version of Cwtch that supports Enhanced Permissions.</li><li><strong>Weeks 4 - Week 6</strong> - February marks the 6th anniversary of the founding of Open Privacy Research Society, and our organizational year end. During this
time core members of the Cwtch team are often involved in administrative tasks that need to be done during this time, as such we are not planning to make too much progress on Cwtch during this time.</li><li><strong>Weeks 7 - Week 10</strong> - As we approach March, we will be formally integrating Managed Groups in Cwtch, and planning a Cwtch 1.15 release which will feature the new group type. During this time we will also be updating
Cwtch <a href="https://docs.cwtch.im/docs/category/groups" target="_blank" rel="noopener noreferrer">Group Documentation</a> .</li></ul><p>Once Managed Groups have been rolled out, we will assess what we have learned and proceed with similar steps for
Augmented Groups in Q2 (more on that in a later devlog!).</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="stay-up-to-date">Stay up to date!<a href="#stay-up-to-date" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>As always, we will be regularly updating this devlog <a href="https://fosstodon.org/@cwtch" target="_blank" rel="noopener noreferrer">and other channels</a> as we continue to make progress towards
surveillance resistant infrastructure!</p><p>Subscribe to our <a href="/de/blog/rss.xml">RSS feed</a>, <a href="/de/blog/atom.xml">Atom feed</a>, or <a href="/de/blog/feed.json">JSON feed</a> to stay up to date, and get the latest on, all aspects of Cwtch development.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="help-us-go-further">Help us go further!<a href="#help-us-go-further" class="hash-link" aria-label="Direkter Link zur Überschrift" title="Direkter Link zur Überschrift"></a></h2><p>We couldn't do what we do without all the wonderful community support we get, from <a href="https://openprivacy.ca/donate" target="_blank" rel="noopener noreferrer">one-off donations</a> to <a href="https://www.patreon.com/openprivacy" target="_blank" rel="noopener noreferrer">recurring support via Patreon</a>.</p><p>If you want to see us move faster on some of these goals and are in a position to, please <a href="https://openprivacy.ca/donate" target="_blank" rel="noopener noreferrer">donate</a>. If you happen to be at a company that wants to do more for the community and this aligns, please consider donating or sponsoring a developer.</p><p>Donations of <strong>$5 or more</strong> can opt to receive stickers as a thank-you gift!</p><p>For more information about donating to Open Privacy and claiming a thank you gift <a href="https://openprivacy.ca/donate/" target="_blank" rel="noopener noreferrer">please visit the Open Privacy Donate page</a>.</p><p><img loading="lazy" alt="A Photo of Cwtch Stickers" src="/de/assets/images/stickers-new-1e9b14bdd638b4907cce833e813a09ad.jpg" width="1024" height="768" class="img_ev3q"></p>]]></content>
<author>
<name>Sarah Jamie Lewis</name>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More