From 804abd6ff584efb3c18cf87e3c41939e46828555 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:41:18 -0800 Subject: [PATCH 01/17] Create decentralizing-xmtp.md --- src/pages/decentralizing-xmtp.md | 134 +++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 src/pages/decentralizing-xmtp.md diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md new file mode 100644 index 00000000..ff067ba1 --- /dev/null +++ b/src/pages/decentralizing-xmtp.md @@ -0,0 +1,134 @@ +# Decentralizing XMTP + +Today we're announcing a new chapter for XMTP: a decentralized messaging network powered by the MLS Standard - the most secure and private messaging protocol available to developers. Our entire protocol is open source, from the [node software](https://github.com/xmtp/xmtp-node-go) to [the SDKs](https://github.com/xmtp) to the [Converse app](https://github.com/ephemerahq/converse-app). + +Until now, the backend of the network has been centralized. All the nodes are run by Ephemera. It’s time to change that. + +## Why decentralization matters + +1. Devs are tired of getting rugged by platforms who can change the rules any time it suits their business interests. +2. Devs want to be owners of the network and share in the economic value that they are creating +3. Devs should feel confident that the platform they are building on top of will not live or die with a single company. + +## How does the network work? + +In this decentralized network there are three types of actor. Each plays a distinct role in delivering a reliable, high-performance, end-to-end encrypted messaging service for users. + +1. **Clients** will protect message confidentiality and integrity by using end-to-end encryption and signing message ordering metadata. +2. **Node operators** will deliver encrypted messages as directed by clients and temporarily store them for recipients who are offline. +3. **Payers** will fairly compensate node operators for the cost of delivering and storing messages. + +Two distributed systems will coordinate these interactions. + +1. The **XMTP broadcast network:** a small, permissioned set of node operators replicating messages across diverse organizations and geographies to ensure availability. +2. The **XMTP appchain:** an L3 blockchain securing all metadata that require strict ordering. Four smart contracts will manage this data: + - The `Nodes` contract manages the list of broadcast network nodes, ensuring that only authorized nodes participate in the network. + - The `Payers` contract manages the payment of messaging fees to node operators, allowing applications and organizations to cover network costs without requiring users to pay directly. + - The `IdentityUpdates` contract manages the list of wallet addresses associated with each XMTP inbox, enabling users to use multiple authorized wallet addresses to send and receive messages from a single inbox. + - The `GroupMessages` contract manages group membership changes, ensuring that all clients have an identical view of group additions and removals in the correct order. + +For more specifics, follow the team's progress in [the xmtpd repo](https://github.com/xmtp/xmtpd/issues/118). A detailed XIP outlining the decentralization process will be published shortly. + +![Screenshot 2024-10-10 at 10.52.26 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/31fbe30f-a195-4cca-86ad-93e8027a9307/2d9f3d23-fb25-4d10-8961-ded3f7de3a54/Screenshot_2024-10-10_at_10.52.26_AM.png) + +### Timeline and key milestones + +We expect to launch a testnet of the new decentralized network at the end of November, 2024. The testnet will be unincentivized with no fees charged to payers and no rewards distributed to node operators. + +We expect to add incentives to the testnet in Q1 2025 and to be ready for final audits and mainnet in H2 2025. + +## FAQ + +**1. I have an inbox app powered by XMTP. What does this mean for me?** + +Most changes to support the new decentralized network will happen under the hood and not require any changes to your application code beyond updating to a newer SDK version and providing a payer service URL or signer. + +Today, the XMTP network is free to use. The decentralized network will have a cost associated with each message sent. We are designing the network architecture to minimize these costs, with the goal of making them practical for application developers to sponsor on behalf of their users. Mainnet cost estimates will be published in February 2025 after completing load testing of the testnet and fee mechanisms. + +To sponsor transactions on behalf of your users client applications will need to pass in the URL to a payer service as part of client creation. The payer service is a small, stateless, backend service that holds a set of keys used to sponsor transactions and signs messages using the application’s account. While this may sound similar to a smart wallet paymaster, the payer service serves additional crucial functions: it enables off-chain bookkeeping and enhances user privacy by preventing the linking of senders to their messages. The service can be self hosted by developers and will be responsible for deciding which messages should be subsidized by the application. + +If you are interested in building a “payer-as-a-service” platform that can be used by many applications you should [reach out to us](hi@xmtp.org). We’d love to help support the development of a platform that helps app developers avoid running their own payer backend service. + +Complete guides for setting up a payer service and funding your account for sponsoring messages will be provided at least 3 months before the launch of mainnet. + +**2. I have a bot or broadcast app powered by XMTP? What does this mean for me?** + +If you have a backend application that sends messages to users, you will need to have a funded wallet associated with your application that can be used to pay messaging fees. Backend applications do not require a separate payer service and instead can directly sign messages with their wallet. + +We will have more details to share on cost estimates by February 2025, once we have completed load testing of the testnet and implemented the fee mechanisms. We are working hard to keep messaging fees as low as possible at launch, and to push them even further down over time. We intend to offer messaging as close to the underlying hard costs of running the infrastructure as we can without jeopardizing the sustainability of the network. + +**3. What is the XMTP appchain?** + +The XMTP appchain is an L3 blockchain built as an Arbitrum Orbit rollup that settles onto Base, an Optimism L2 that has traction both with developers and consumers. It handles critical metadata that needs strict ordering with higher latency tolerance. This setup offers a balance of scalability, security, and cost-effectiveness, making it ideal for coordinating clients, node operators, and payers. + +**4. What is the XMTP broadcast network?** + +![Screenshot 2024-10-10 at 11.23.17 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/31fbe30f-a195-4cca-86ad-93e8027a9307/6ed0e7b0-5b5b-4a03-9f81-11d4af5c1308/Screenshot_2024-10-10_at_11.23.17_AM.png) + +The XMTP broadcast network is a small group of 5–20 nodes, each run by a separate organization. It replicates messages across diverse geographies to ensure availability, control latency, and enhance performance using scalable infrastructure. + +**5. Why can’t anyone run a node?** + +It’s helpful to go back to our design goals for decentralization. + +1. Have a network with the performance and latency of web2 messaging services +2. Have extremely low messaging costs +3. Be credibly neutral and censorship resistant + +A smaller network of nodes is better for achieving these goals. For a message to be distributed to all node operators requires less bandwidth and fewer hops with a smaller network, and there are “less mouths to feed” to reach economic sustainability for node operators. This allows us to deliver high performance at a relatively low cost. + +A network of 20 node operators can still be credibly neutral and censorship resistant so long as the group of operators is sufficiently diverse to prevent collusion between operators. And the network is designed to achieve its censorship resistance so long as there is a single honest node. + +This architecture reflects the blockchain trilemma of balancing security, scalability, and decentralization. Security is non-negotiable for a messaging protocol, and we believe this design strikes the right balance between scalability and decentralization for our use case. Messaging demands higher throughput and lower latency than financial applications, while having different trust requirements. + +The security of the network extends beyond the node operators themselves. Just as optimistic rollups use fault proofs, our network allows any participant to submit cryptographically verifiable `MisbehaviorReports` when nodes violate protocol rules. Looking ahead, we are developing an automated node selection process (likely involving staking mechanisms) to ensure long-term sustainability and decentralization. + +**6. What are the messaging fees and who pays them?** + +Messaging fees are small payments made to node operators to cover infrastructure costs for message delivery. The broadcast network architecture is designed with the goal of reducing node operator costs to a comparable level to running a traditional centralized service, which in turn minimizes payer costs. Payers, typically app developers or organizations, register through the `Payers` smart contract which distributes funds to node operators. Users can also choose to self-pay if they prefer more direct control over their messaging costs. + +**7. How does the XMTP network achieve scalability?** + +The broadcast network permits each node to scale internally using traditional infrastructure techniques, ensuring that increased demand can be met efficiently. We will continue to increase the gas limit of the L3 blockchain over time as EVM rollups become more efficient and scalable. + +**8. How is the network resilient to node failures?** + +The broadcast network is resilient to node failures as any functioning node can distribute payloads to others, ensuring continuous operation. Nodes themselves can be high-availability (HA) and an operator can use standard devops practices to minimize downtime and increase SLAs. Misbehaving nodes can be identified by cryptographically verifiable `MisbehaviorReports` and removed by a credibly neutral governing body. + +**9. How are nodes selected?** + +During the testnet, nodes are chosen by Ephemera, prioritizing neutrality, geographic diversity, and infrastructure quality. Node selection is managed through the `Nodes` smart contract, which maintains the list of authorized broadcast network nodes. For mainnet, node selection will be automated through staking and delegation mechanisms. This document will be updated as the details of these mechanisms become available. + +**10. How do clients ensure confidentiality and integrity?** + +Clients use end-to-end encryption based on the IETF [**Messaging Layer Security (MLS)**](https://messaginglayersecurity.rocks/) standard. MLS provides a high level of confidentiality, integrity, and authenticity for messages, similar to protocols used by secure messaging apps like Signal. Additionally, clients sign causal ordering metadata to maintain the correct order of messages. + +**11. What is causal ordering metadata, and how does it ensure correct message sequencing?** + +Causal ordering metadata is information that clients attach to each message to preserve the correct sequence of messages as intended by their senders. It includes references to previous messages, enabling the reconstruction of the order of events without relying on clocks. In the distributed systems literature these are often referred to as [Vector Clocks](https://en.wikipedia.org/wiki/Vector_clock). + +**12. How and why does the XMTP appchain support multiple wallet addresses per inbox?** + +The XMTP appchain supports multiple wallet addresses per inbox through the `IdentityUpdates` smart contract, which allows users to associate both externally owned accounts (EOAs) and smart contract wallets with a single XMTP inbox. This flexibility enables users to manage their messaging identities across different types of wallets, allowing them to send and receive messages from one inbox without needing separate accounts for each wallet. + +**13. How is group membership managed in XMTP?** + +Group membership is managed through the `GroupMessages` smart contract, which records MLS commit messages on the XMTP appchain. These MLS commit messages securely update group membership by logging additions and removals in strict order, ensuring all clients have a consistent and synchronized view of group changes. + +**14. What user data is published on the XMTP appchain or visible to node operators?** + +The XMTP appchain exposes a list of authorized wallets and anonymized app/device identifiers for each inbox. It also displays escrow amounts and paid-for payloads per payer. While conversation content and participants remain private, conversation activity levels are visible. To enhance privacy, users can distribute requests across multiple operators or use proxying services, as node operators and payers can correlate IP addresses with payloads. + +**15. How does XMTP handle misbehaving nodes?** + +Any node or client can issue `MisbehaviorReports` to identify and prove non-compliant node behavior. These cryptographically verifiable reports enable the network to identify nodes that tamper with messages, reorder them, or fail to deliver them properly. Upon verification, misbehaving nodes can be removed and replaced by a governing body, maintaining the network's integrity. + +**16. How does the XMTP network operate without a single point of control?** + +XMTP's distributed architecture, use of smart contracts, and participation from multiple nodes and clients ensure that the network operates independently even if any single organization - including Ephemera - ceases to exist. + +**17. Does this mean there is a token I can buy?** + +At this time there is no XMTP token and anyone who is trying to sell you one is trying to scam you. + +If this changes we will update this post with more details and share an update on our [official X account](https://x.com/xmtp_). Do not trust any announcements from other channels. From 878b405a86bac9ee26e51f4aa562c2c493a0a991 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:43:38 -0800 Subject: [PATCH 02/17] Upload image files --- static/img/decentralizing-xmtp-1.png | Bin 0 -> 24721 bytes static/img/decentralizing-xmtp-2.png | Bin 0 -> 20323 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/img/decentralizing-xmtp-1.png create mode 100644 static/img/decentralizing-xmtp-2.png diff --git a/static/img/decentralizing-xmtp-1.png b/static/img/decentralizing-xmtp-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5904b6950db59015667643a5c99078aa873a4251 GIT binary patch literal 24721 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 literal 0 HcmV?d00001 diff --git a/static/img/decentralizing-xmtp-2.png b/static/img/decentralizing-xmtp-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac4063fd039e61b4d428eb3a067bdad39d3efba GIT binary patch literal 20323 zcmZs?1z1#F+XjlDfYROF-64&1H%N;xz({w4NO!k@lG2@0(%mhcN;A{|1DwtKzu))& z*Exsl8d&UAd+j}YKhGU2LS0o3?G5o8I5;>o1$k*rIJg%HK)D_n5%{emfMp3B&<0CM zsVhiHQK~yTSb}XqaBz$XZt=gA;3aYUJ1fw7q`41ttEcFCsYjJoM}u%*)#7V6xvlUT z*bxg%8!mhk|Nbo~;2pBt!6IL9wbV_l2BqZCC4I$Q9?@DG1;zTPugEvGCP5EZxR5-S z(VfJamIga$&PK6lFjg?D?$){XrxaG`Nqd8}lA3xv~T zu!}DAz1oj=&f|I5o>0<8) z;} z`kxj;K>7JF2Q}qCO#oka-Qi?cRSPE%M%l_LP_)nDD z+SS!jh=aq!!-L&}huy*1ii7Lz+qWE?+#KB8Y(NV(7cYBPGfy^q7n=VWxMug+P_e|`~OG^4vI5-J71!+lb z&lktpNX>RKZUg&M!qjA_?FwF)k($&As-NY<)WwkD6R6=6D8FeJiY5>TPf7(dd_l&R zHc*fJjQiqm97IA$lcN22)FJ1oXQkz5uJg@XkNKNy9v?ORx;=3o8qf4 z64I2^m{>moyKwoYdujiBz!6!R2AkyFKb7Igv$B-L3Cojx!T+g`k+(%CL2kR8R@$34 zbWlNy%K4{80_a6en8IIG7|{f|nYt zJefZHa>*(;<7Pde^L3sykx+0Kn!w73agmErbf>cMy=b0sPDA?^&{Z&(Og`;AE%_nQCx@w{6bVQiNig`Y)HhGpjF3%ffJ=thtw(7--P=_WBQ*tdQ7qA1Ir zyJ_9u=cbEg0|uN>`htm11*Pu&FY%|_2_H*V452@iLH2+7AFi7^$?`f|vrX|H^Si^( z7)Mowk1gES{XD|ZXlg;J`t+5z`}N5f;;>0&@rO&x=>i4I3DFx~43RSl)gy=`Q2u&* zRTW^zsVPS0Hmk8$JHmd^?(IyrmqoXJ)A{6gk=6+Vr7J%#cFCryU0FCNvD6D4C$C^2 z%b^3jmu?=LSR+hvTr)sUqI;S>(U%@Z;lF6)cQv>AK{R?_^k&7Jb9}YvVqAE_$oIT& zb-W1wNyAJ!$7_$MiPz;~OdxANH(;%L4Wln+`-uPIZ*gvBhE>jzFJy>eujBrNNBFd@ z?pGCiJ9H~*ub;$$m(bDrxM6``iM1wJ-+c)*RyQGLljD8BRQL3FPlBt$p>R8m583g# z`&&Fl@pu+ymRB>bmeFz3eu{>|0%7c?WtpJv(BE`uI}gpUscfnJ^7BMZ9M(4a_ zLHQDjKIN%rr~aLiqp+*7FkqCyXO8H!?Vd@(#nFB_ZFzs(Bmk`DrxN5B5=A<2a{XiMf3zPp@v`IEQVl+p z;QMS%2yRDPHZEDZ^y7nscaybR9W9ykjNMXxJ@gB7Y(}fFnDzJJ8`_!?Iz{OkImy)Z z6WgTMm=9#W!hhdo|*4Z{U=J1(oFIA@u)^-rGSymLa@ZbBb{=}I5?Re@1; zFf}P`L(jykkF|dCU8V1D`=1pg9~ecFUIeY+EBvj|59XZ@*EZ*O(`g+$X9nQH6az0R z8bp`Tbgl|dBVXA0z}|rPW6hG=g7KK^jEYr`FGQhkCsC=jqbMBw;2FtO8XtomMz;glg`TQt(t_A(=TR5?4;4$)W4ir-De8G!oNW6O;e&j%=S z7h|_7*S!xbdf6A6ZETPe`4)`oQY`ah_&=T3(sb=)t;32&7KoA4n&2y5C{;FZMfMU? zq~Y88){Yofv_&9TCZ;(XdF`gK3&AS3mU=rBN`HN+lEzEEH^i&f$?~Uh#)G0D7 zeF#D`>X3mf(Xpg4DE}zaQWNE?QJg$~i6cy@P_C(TlnDM9qf(Z=q(2|;`;g@hDW4Iu zo?-av`0k_C){wEs>h3Zjqzfhbbuq?Zb@Q55QTPwwXiE8s!>dCmHTmO05 z@jE4^@z0DDhUm`DeeTmO#rkh!9FLkld?okab^-))b}QqTI5wn4U+ewbR^5NUWd)lS z=)2A7B;~?(7_|z%`*fw;je})sc;t;goka_ z@?fUr@b2gM*nfdw?S`}iFQiJU-&5*eYU6)>Pl)or9WiYc(MacggZn5$V7vnvOq2sl z-R!2By0?wL-6tgo*33`(O-E=Yv7z=gNmXd5Z+m%MVucUXM?n+yk?t5vjx+(bfh6wO z=6LL6>e0R#N+Q(vr93&R{zG2uMTLVOOUrTNZzF~m9zF#w;Xep@rx&pnF#|jUQ;fxI zhF(50l9+k?Eld+40`;n^&nl6Zv?b%U&|-k7*@EC9c%Y$y4;$;iQ>{9K2XT zZpuICJwa*a-@{Nn>Ig;|facBq%7V^PX*ZE+pbOi$wy8I|r~Ep8MvH0%rHaGg?pTPnd{k!0DXc7UtIId`~e3FlB z0%mBS4=OwjtOs3q^p?V7#c2qL>)D(%RHTJ8)6rjuz8H(StTB@~X^@MVi6kREGUEL- z%U*FFVH>Aljn{c&0RHPZN~$9_ntX(iz>Y@774^rlKm(~rS@UzW#Dni<0v!d7yjl3U zT%Z{vB_a(WOEMzJT>Ue*;KpZ!73Eo(;oGuID-9o&5k=WxZ+H&GH^RTCI2I@69HoX! zk*X=h5b-`*%D3Ed5q>7*N+OW<`L>Q3+kGr8{E@St5lsI z5WUT_(SAE^_h(f3UzOP-q+JaqsfjIR>sYaowBD@w#PD(2S9LKvc)a^_R5#(CRbHKnd{0PUBVJi;G${uaQEU;oMDuu=pwPI zx$ut~8hwH=@oaSJ4juY_X4;GT)%qNl@wdjLW$LS~qTDqJ)+s@^n-~Gs<+UDJ=LI!9 zSmsuUh%FmdX?O;(9+YdRa%%7#!LHTC47*CJD3Q47wB?XhOrh{svzRnoG z?I^cku1EZFTf7xIi)S}XtX;SKsf@@*WDJPdN6;?>upcDCQckuNn;!QGmp$&wSda;x z36YbRsbrYV-iw~wF~&=S$RbQQ;?=bXT`O8<`d7LI1j%XBE?*+A`R25fnli!pn0{;M zvnyiEVRG?gcb!l7;!Rv?#v5@tA5Rh9+}H52+dpA_t(fATC%oEeuE#0*Q>B1kF;mN_ zXsMlU*^+_AnfWodCui9iKL_iJS|e7g1`f?@S>62OK@H8{_U2yMSn7?wd+$t%E-nj= zKgL9-aQs-HpilWTV>K~likt^`eu;?483V(THhNfoWE4Yuen4geJ*W9YkM)#T&-OIW zm#{S1$^uY990iPU_5Pk@{u@SC10#h|488s*vt;GBFz@RNomSpkLMQGlX~ggZkt>dwHADM}wqPvGV&@C{FJ6ul7{YsOvH7 zb?{Y@z9jkh(Rn<@$sP`yWwJiw6-q|O3&{hugv7oxO2!h=y1 z?eMTav}P^xJVoR$qZ55zB4;C?V>gO!LQun zwxkhpJ&6OAh)Of9vahM$a@uQJLpAt?x7E)$1@({uisnVwB{{4VzS!*x!Cp?5faZ3 zDNKhk;HIx@em4q1nXpuE%sRr&0OdU=(W~qxJL|7r3eAbNQZ7r>L<{cgS@BZeLS6Y> zyMte=Cj17s)QqTx3hdXePqKV``qKX5+O7NIs6CNt4+kq8`BDHLp}l79vb3hyccqBy zG_lqP@uXzIWEgf6@N{EujzNRX1Ykt~4oZH2aD5SCGS6(ps?Hie(V_OPV=gxFRzP8I z{4D43qqfDyP-^!vBLR zsWES)-$`%z{fj#Pf9hl8!{yuJfMKcOu>z+7w5ds4O33xkXwom=z0AXUjTLe8?{MnG zf!5NBQg}47|FjO5ct)L6)aPRVHdmyWYJ!n_ z<1|CU>z$tN*PqsaoJ-t^v;&e-RsRcIo#=mTW6IP1xH12Mickp$%bFej+=rU%M;67y zAGy7_09gL*Ozz|CR)4Wo)L@(`Zd3LdcWr%-xbh*%({gox96$8H1xvmND&WQ~;z%k|{c4XM&5Qg7DRhwN_wm_sq^yM?eTwhn$>}3I zfBBnmE}JB-2(nsuN8{*&h1bKkKi3~BN7&dURS`u=Uj|N91w0(G&&vnY#L5=L+}%9` zELpHqrXiZNDfr>YN<8YGZf@hy+IB7^T8@|W_Uz76Mv9xL%u|S^bIc-iI^CPkZ2~t> z4Z%0REC|`pAi0CUa73H2*IFX7EU9q>HM3&^l`fHMD!hK`&6cyW-&uN~#1!VjK=o=e zqvTmJnH+N*Txf8HAt{_nKPzzp#Lh}yx#AGxoU}S?LhOE24saMi`C-9ADaUV?=z>23a&9HO9aq8wfX2-L4|XYww=dw zL)J=UG4e6Q#oI-0V(-ZUVCQ?2QW$&ypYU1u?kB*kWcgh$4UqanH~E}Pb9SbcINS!J z9ey4+9z+D;QutjaT)e$maTyz8$hCb=tS?4+Ceq#J^^0k=yt3in)W$U7VSb=|CLQ|N z6u5-@(;YVug7SW;;tP|3u6oSxucih&VtM{f)I_M22gJ%0mer#}f%!9@U=vTS{m+n* z$7MpaX?v)Srd;?r3FafQt54ACRTH}{(03l98v`)BDbsr1prJ#1!|mma+L-Cno!$kI zo@8+NpGR4S5?L}T^3%fh#h+T<0ubBC8(vl9T)J*6k|h&B18buK>%M!>JU}v^rVD0Q z`q_-_%b+|uy<@L}v9AyAq`w_p4(h6C6{vM&Hvlw~oAk^=^h_TEKqo?Hs|R-e9+aY! z2&8Lt0HI?CDdg}gxvI-Q-wDDHlRx?)-U1}cUk`aaAFdW~gmL82Mb5f<*?FLnu>@fM zo1g1+Hsv+4&SQKFsIQxNDAOjmM_7|=n>Ry;Oni=0RsbkmA*kPWY)fA=;uN7H&)&`_ zTfw{8cigm|vlzx^eA~G0f4@^&R_Uz4Xq96t{m#C+D`wW~rFA|GcHQ58wwKw+8hPAg za35pm;XD$-lYpKHE6(*_F8_Jb+9TL;-cPaz@C2?jw-is%0n29^#wy3F$ZIo%U{v2K z8`K|1;oyHaliMm7#abJFyUP&(Uc|NF_y~|Z0?%pIGYUloZ}zbwwE{4EwY;C%#v=eA zYDjEYM|BPDc2jf1I{|=}2{2=`zNbFxJQ!loZ&_p&ZII!;+x^^$9TjhXfF#RF!dWOb zj}x8u1u&a?9iydK-MCQM+pTaKR3ADdGS~PFPO~p8Bub{=ZN+lyZDI;~s%xuek!Kow z)?+|Xd7vWdj0P$bT(!+n>C4LoOGefK)lA-@QGmURwETE)*ZI)cMJhuu74BMHOJL$@ z)?@P0hmsoi%%kIitnR3GB(q`OVC1Ovu<|5g17NGxo=KEv#*mlMEw$CYc@wb-x6ei! z-@uw`03I|3!HOi>9jkdKyd~f=#+RlA?@s?=-pECz38QY!`>^HGJ#-Tl5itbBHm$-l z#=G|;KbHHqZC%W^55PSLO2zkO$(#2_J2`=*?K^HQpR>&jk9EHV;M*!{|B#JLVCq{# zBqE??-}sWJ3T( zs8CX)j;Zthh?^^#K296)d3Ky9gs4%WYIh99+0D2JJ z19rCNbLu9d4kL_zMPM|k%+yi?YVgrTT$KVQlQP`=S|A@y=$zc8ox# zvHMaVUSQ1XGcPsd*ZrEIIYT$q)*Yx1QwDrxhPrS{LAIL%KU5nyN zJjsMa2!Id>c19D&=Trx0&r$6-+BF*x}Z`hb3bD1gQSdl1E{jyP`e zy~k_JFH`}g%vijVezJXOE%JS9BvzEScO2J17GyoRBka@5y=4FM*g*2M^Ql8?m<_|{ z{Q9>8LsiFJ>FI9eaY=b<6xNqTktQFU6DtZ*JdGZ%5WWX1djFb!skC%;)MmM1nlYJ|=-gw6A$-@~T+{8rLThB4jPN@txk5 z4P2#*k8g^q?WbbYK|=W%SlC*>h@bp zmu}9bES9U(A&yH$9_cu4f$MQXgK$hYzN7iC5LtblvO{+H7<1*%G|AiMnXYlq3f>Ib zC{8l*cC7p4)gV5Nj$iZ87-aHP93xxs!VP-XgYh#40z|?Y$M$JO7Cwp6wWx1INN?}! z(1pSFuX_;v$=%*D?VURq5X$D4ZvJs4`gniLoA=PiL7ad%OCa|}BNmCmx7tUH#;&CF z#YcCQmpSEDvYRC6+~(j=E3k?G?XK=x?-Bs@R@+yFKiygxe@K@#7_uDVpMLzX^g3U7 z`S+>(!nXWA#d8e(;SycXNRsn+BU@X>2SvvBj_WIdXss zI%mbkSoVK7G!+;X%n}l=(%RQKsG``CrJ2TPm<^4tYJ)`9oUU*KG_{X;407LgGMg#f9K<2XJ&q!*fJ;2uj;Sf2PMzi1CJ70LvkK}|5c2udGJ9EF@Q&#w8$dj8cV>eq`^2LF_FlycV9*-^{KnDej!NZvn#N>kk!U zbO}Kw?qoYb6e?2l?jgQ4j!-j9Ge)RCBG`h~LjAH8qwh3XQe!P><703J9pBL4IT6DB z*(Vf})It3BA71pZ_-4wxUH{5_AM0)rDO*5xN&Gcc0PbQ-?q0jrr&vcA}edr+RWaq;7cALtRmotts6Vwa<`kAWC>(whD}=dC48TTf)hYmU3#$-i&Y zEfqyu3nNYWNhj~DR5H>iA%#LeDAay_Kz(1?Eivf%0nP&TtnL)u#jLGfL&?BDr8|f~ z`c4FyfWl9=an%n)eBwD2w7(9F%RA>&Ic9L;q}AkkPWWZpdHvpu{Qm4Uate@RR-U`U zBL>&`y5kiZE0qjP2C7q|(z$_sp4JlxG;rWtTBSu^^2jL3U&!a>ikVcJZGYS;0y%s) zQP^=1F#;Yha#w#>9Y-mnImG(|!T%?RL?3BAt|8ZwgiM@lfu)=KR=x6Axl7Wj(*T)0 zPa=lQ`D&cLWk#RhY@|c{88g(M!4f~y7+Qzp2YW-K&Rd4;6&~l1zQIF`s+hFQbx(Cy zQ13VN0xHr-weN=*hlw){ zzO^yXdir4pTLbfGp2%$sqPCiY{7Goz#0SI)L#PhYd$nMo2V?!1&?>UNc5L*Tu$26hLkj z^RW9SBw3}dxwM3G#Gq&l~nUd^PWsofyQg*@~W|Dq_{z&g3YQT;qJU%mZGwR zMHN3Tq5mDEq+B0jU17Z2waf67cd76Db62eeRtuU_%Ybcer_Josi432C1!B*xL7T+4 zzHhbd`?gK|6UoxfR1++40w9OH33A1^cg;{jcY|yHZ2~K5vf7PJ>*OhtNDf&#kdk`sXL}graph$@ble);v{I7q4D9A`d)%k&>}aL^kQ+YD9WE8d zR?GTJskf$FS-CNAB=4I{61u_L@7lMRbQ9 z6p+35Jzi0}Yd+Rr_+{R<^X-A3H;>iIUCu9h`3CTBRRw8xS)^z}j#xMeY7hc68INn< z#Dqhg`f~|rBcTT0adA#1u?v|9LimOX(P#Ll4p}`w=Xt6JCn&#g-Z4ql6U{j#Oi_yc zeW-_m5}=kL+orRY4{?#VzO}FiL8IcKjT@4!AL35OO} zIhyGZgL!0av^Z8lE%X{a%p8vW?}hGi%CTM;kLqH~QNuJK66W`P$7!{oUvhr$z&_+U zxkN+TGUS^-h{ZKBw{CvF&k3YwOXkOk|01h!x2a><*9OveKvNe&#BP(&xMxExf-;dq z7}*!x7|U@Gc`y-(P3d9Xf$08T1$vn~o0)0;^}#YU)4wuPr-KWt1h4!VnDmJ|_*3K# zk~M|w8#@L3Q-`{4|mbT57_(L_WS*b?{LR~)uZ&t74JDi{2-nPLmBWd(J_jfTkwwO$F zJu+-MN5v40!U}w8DeQ~Gxw|LQ0ljEnv$6Xcxa0ZT=Nrlf;;|WL2nt{Ij zcMCq-zC$Fv?D;gEH#DqG6mr=D9I+Ig>y=Cd;%1WBGvw)_KOT3#$SmSdPqT=LM8r*D z#=hxM*-i^FHHIk^i%2c?v>_9qN3y)_Y0hqD;P9u0jE<;ndO7v7v@QV@VPcF*1ty;| zKg2h&bA9mP%)hOOwSznH3lnpG_1Vm|`E5c5_gVg^W~C8IR&_M<&#mFUNvO!#&8@{I zLMLwyG{np5obeDtds$mVh*{D4BTg9uFi?*yA&)7M~3dTVXx`FDCVh(xmUC-TkGA z23E(dQd@2@XxZ%Ap3Dy6QjF4_uJ4D_EO{*iyPZRB3J5Tm^jglojTIbweKy4kH8W|| zBLn0DNNEqoQeQD+doIWA?aR2lOMh7F0(e)O=v_v)2=ZylSF^PTZy>D>`=p8{VEg$% zyZw&{8M7iCf3k3ec`8$rko!!vB)di8yYH$xs@=nw=gFa$cS9U8aS$D&^@=DBd^Kpw zrh@m725zonU*DC2S%+y;B^{5wycd+E(qfE-!|W{5LcEGx(wgE0A0wZb)2!$TrIvwJ zVH=^I52*XEx`v3?DkyA~J`T^S;A5O?crpxA`TFX&^qU@6d=gX4>es4eK{bMeLnEU` z9^`SjcZS%Mqs~U6imzvaA+fY;0OuI!zu5Ih;!`phO&Kk#dTREJk)uR@n{J4xGZ zY!#kk=2DZdzA3gV$u6;N9xQa%V{n+h!;r;4rxo9vQSETEIF=?hdrvEDCn})gxQt(>=n-eon%xmpys<*^FqU_w~%5occ4}V%;#k_T;`CPb!Q# zJ~Pm*e5FbACv)aHBiO~6YSI{oaPjLtrOJt!I77bN`Zl>?j3p+DT_)-j{oO)Q6#6Zpd?qh7L#n2~`n8@G88k>TDz0ug8l`)oo>)t45}f^!Yg zL{o80$Q$uZswQQ9UsRaTmQYMpjtf=!dIa|ymd+#aE;jzgtJean#f3x`oz~LK^OeN$ z>rTzOQh8Jd%W+yWlP#ZPUwz zadPB{1-mWyxfBb~{lY^ei2=Dx z-)W?PErKauZL!WhDI@i@u()s@@H8zCz`y=%ehfB&k7*1uVzoL~K_;=_ z+$R|t&06?5uWs}$0a~Ue?#K#@Mg$VJT-ht>Z^c4 zGGC6XCFq@sMP!FoOlzAl6-*L|B7;AUDc=l`85sb>igvqVPb}pr`DkU)Qd}nmiiwL7 zQG8UtBQSPNcuvMbQv@s6?h%7udgV5tZDUj9#EU0-kfS|ny$wdX`TkwnH)TwK*9*$q zJlG%&yeIK(rEsR2?@C-yQ#w36^oPk`^G0ni=MD`m29K~p&3V5~!kO_>=Ehxw2e7?_ zP4R@n0J_B{+6G-|c{f70iqk5obOFe(7PfNaAg!HbO3z$M(P^wE!3I5r!*8l)^_D$+57{CT;|A@Lt!rms+ca>F-ikI(Rly zXqVbb!;R%mzral{G!lMoq=lL?e4u8kquQx8?7-VX7+X#RFId3FrciQA#ybL6(q4E@ zq$0S$R#t_1v0O^QG0MVWOekH36;79nK1 zc&=laEUH};V{xu2jB<;a8>me5>QC@Lx35tjv9lful_bO@!UlDT&c+6Y1uRwy{nF#! zy4y|c#C6R4sPk3QNk_I*gqyZw^HT2>thr=C2BZDY_sqO7he#-(hB{97$UQus;kn5Y zK}(dqyWS9p`-4U@`cTL>+z(2MTalU}%fx0o#{3gg(&e0Mwk_WUo9r4W%Glqeq@d;kiY8u_3hOW zVj@{BKL3tIz(n1rptSDb>0xMMR(QuUJP|kHhJ`htmfx!75AxjEP3SlE(%xhvDk~UD zvYG7plfPjU>Kucdt&OJ}svpfm^kP%D5nGm6U?=6HoaIxP_$F*PeybEKQV$OZFbkUz zJsg_+@S0y|C5g&Q`!QVT+f6-6eT=%H4N_a17kH;_*9t;?HVjWwsraK1M?CTtA8G?} z(pe-cvHK$)KyZ?-8>EgZV83eEE>Rg$w23;lcu&RVg92vw@!{8s=AEGn)uSd6Qk7An(5te(rr&ytOr`!cxLB1K16!B%$Y*(_7PV|;%9CqFI`5II_D z+MfAcfp>w$YS*4Q0fvVL`MKPwZMukf*i=CW+@yUPov_kD1*1Y7@m0OeB)yl=a1VU7 zzVEgPVsa98YHkoO`MZ>@AOWzD!rAq0QrO8*)FE@S?*7^5wB@Mbz)nbMrW#&`EcXd8 zS*FPCPLeT}2@ts)il@v$NKr4x(QW{X96H-Q8a zgRqI2aOrc#@(CwIwzujBKzB~MeL@{j;%J{8o)dFAf;my)p2rBRr7spI7y=2*ukua6 z1*ZIuJCVJP4iK>HLGyqWNKMz+O^1PplC1-}HPraqK8w_4l?EmGjtVHN z7s11L4<^O-{5|LS{zAVC7KqGxIhHZ|4_lb_0(Wzkyzvb^+LG1q;{(Hy5EgTs$@^pOX1o@@U-PZ32{x`(?*oqiHgq}!_7g4;dav(p^Xi=!sE-8G9vBlY!p0bW;gdP!-f{!3%p z^;OP*=*B>ZkeVWmMC$mN$6yo}dd@{^J;K)HT89~pb59I3Y(WWoN{}P}yY+z(;)xTX zj|wIafH|ef28_xt?$=;!HaqTgpON}qPO0|esEKe5C8~%xZW?R92*!z{Kog4!XOJm@ zI`5h$r%hxvZ!Muyak_j6${G6(sE74)gq)o5qTo$f`U?@rAkE1g;D}S0H?XPDB?si&Iv#vR@6?iw zS9s_2=%MId8OIXW+7T>0fZP3{H)ls4kV)(b{GT3femXwBukHB;8k&!^=Ge%duf~%j zdnph-AS&J$nD(TV$(ik0+_JTQQQpH4@q&Mk-bdz;5YS zy_S7hIKoZnLj=g@SvHr^mkXu=4;Fw>?}#W_hsb}#MO={Iy;2PWA8#P zq-BRlTa$lt1TB00*t%v0)X zcu39Bf_&_QnoONL$Au1?n?7`t)bbFT$AsvADk(Jbe|Ga8R)$uTx-#Cl{TMjaqv$C;T zn)L&O;;Qx;Jso2Bt= zukN`rgNgaCA3w<@zB1BwzYVF(EmDSYKFF_>DK`&dXf%C7x}*?O8*5)fkr6DYKiP8# z0QOF_%wPbzdf5z@`x0beM%aHgJLX)~1vxS_iF$pS z2kZpOOYg|~Q7mWfGR;SG9jMASCEdvvx*1mC!wzh0 zv1@YR?wwh)E_sty$P-TVvX0VUP4p_+@XN|2t&3Rz&OWGph?3RMTwW0J*pXOIc zTIXp|$SoAC``L6kP6M~I9IG)mEr6|qIOLb1Zz%+F%YSP?qdA-*6TBN@1t6V(6w~8D z3b57CX))lUj8emaC9HE`Tpg|7H#3f=Wzm6CXZ4pp^nLNu{>yqN^av#RIk~jY&g+!} z1fSOOSj@0y(s~VlQtEeU=U<6N4$F1V2zyloR%f^Rl*1q902BIbHk>HztjF+gU)UTW zITzy=ThWmeO_HwDnU#{HAx5%VTLMXWJkRsPLq~Rg!FUtlrVr(fTC07B$8o*p;~)@Z zcFp~V7DmYS7i`=)I*MJ|c9mN1O}w~YqCZ9%*XFmIvHDf|{G%H^4WCvsj zUj=-i1dQTRQj(+ruEe1NL`9QlW~iLuI%vpX=?5X2G6RPX40)YyUt}*Nnvpwm2(kEE zjt#!P1vYDq0e+Q~Pv4_n9`B#EseX2zwBkE$*(ayT=K|yiLGzJhd>A#FT$cbgVPgHR zh*>V4*w@3sd#EBN_<#^|`W8_d0TYIlt-YU|1S(OTv?fO;*h*_M)3ns0TtGzGYRk+I=>#28Lg-@$cIH|7tbO0BJT?L+2bS8LGQ zjuvT9PItRZD0c}<5H9VP3IsBiullZ2GGm}L<2`a@3ySY0 z!Oq0sS9997LR18c!}8yxXHZ``sh4lciad^@)>(38$5)|ZjJ-=IGQ&*JA?X33g%9(~ zBfi|G%%>CyE=Danx$kRGx<3g7sd_ub_jf$xn@UsATUBCBC5}{U)9n0uYdbD<5&RdC z#P&mfG|@Kgrh=MrT)Z{cZ$!!slGjW#>bD0uXO1-f1y(eJ!H|LUTSQtTf2AN|gaU4i z#24So3F9X{Hztsm#F^tL7H>mewSTkXM0S9u!ca>T2R2h#KHlyNd^OnB$A~?+rr9M< zD8jQ2e1-2w?G$^D5daM`9EbNE|MFX}FG~vjZ2_42XOf;PJX2NwYrzljudQ%DWq$wG z+$+h%wY-p%oFhzBvJ`GfH5l?Sc^VZhTy~e4VVB4PA@8nxjGFUx3=+bJIq>oYv3{HP z=7dcuCoL(--doK3`j#5CDS`2DPDU0fKajL123oIhCFR;vceDi%bp)<=qsFU%5V-p0 z`=s?EBeLlWUX?Y;csbcGSWKZ`Zt9n`=%pMNWPe77rq;tWY&mM;r_L@e(U3#G2oCO7 zVL}mKK26Ow!fNlEo!E|i%ew_>oSuN4UxfD%{hRuqIpI%D0rvto@9|pzbnvUTTmfb$LVB7x)3S(4Zv+ zj)*{Fh?#^n4k5xaMt_VC5eAHo2BLvK^^F8`Q!=B318ebz{rN>q`4;cc+$P1E(Hci@ z7fW2xFbZw-n|%0(e#7JJFzoL;MRoM;hWN0o;bvR=yxR$Qq)U8;qg zHhofj8#<_QxdWQX@!Xv|^|o_KIHDn{WC$G@{Kio9Yx!yON%+3k8E})r$!(T0%U0qlezJ- zrQ0Q<)cX}_9E%GO<4nJECj&eWbF68>CuBJP1aA3ld1C(qQs=`n#cgqe2j7q#7E-ec z#|95^RRPYRPDr`tKtUOHCrPbG62leNR=3}Kif$@4)LZ1RG^m@_p1ap?z3QfsJe$8@ z8>(wF%a(N#>FPWCEO2!Soy(BH70& zHrcKKqTKZy9aAwR$CGQZpgVje9-V`v!g9$^2pbz5N+sk!5UxQpsTV&+>V>|frFM4V zeVi!y?Z%XWG^BHXd9P@2`z8iCqF&apmz6DOYL6kLfX^`CLhJn`RA$q=g1@FacKh@@ zV}+0c-m8N8{3)H{Z%5!rLpKInK~$^~A7tp8^$EHOPs})P2pWR#I~rPqe33k?b1Zg` zibwTX3`HWW+F4nX^5~;C@rjxU`1YClP$rPYJM+zfp;qz=M44e~lr-)~5wg+4Yrxnx zGy11@bHpw4wWX}Bx`a3yZNXxXzlMd#yXF~a!TE=IY@{wK@4lOjRQ|;`TB-chw8Gy-^;7U*ym*M};bb>E8q!(t^mJk0%|k8f8=g!d#Nqwb|apl{}o+nra@YaIIY zX9L%>qZU0>ebWtx1lNpQ!*cj=WLA}Ac%&@J419(BRC-4nqn3Fde{_izut)v$$C8H9 zPp2QM%S~;;v^U)G;}?sGa3!vcu*kAPR^d08>eq$vl%_Z`GC4UMyx8Bd+@HmFE-IEK z$$}6czH`>ozDL|fj9BB*=#n3Kt5SYiswj>kxZLC*QdS=(`CD$d`v=bBv=->MCWwZb z3QUL@BM?)ITSc*;*WD4IRau8x5N$C3D3b##rSz=hO)r9`bR;2$z~X<7+sZ+rgUcS8 zYtg)EEo>EY%zhJtTjB@w?gq7F&T%@m5Rpx~!y0+zdEAEQ*>4fBJazs$G{ngNe7B&& zv8^M}o@-x_>cfbTe^@PbHT&G9z;xa#)5v+1*vh4E}%0IMZ+_*FTP1icx1I(HN7x&J1PGkTqm1k*!FYiWn5eI0(m* z?0d3jI!I9{YavTnvm9idFxIh+l--Q|e~(`LU!0fsHFMqb%yT`E{mEOS5y^tw$@$g2Uh zCLtnmwVx`CB{CvUA)f=UWj_BBE7f)tI*>*cE6m<2$d-gEs#{c{bVx|PPP%gL3U=n=!IM+1Anh8~4c z0kE6>aZPg{$h_kWxL*5C4UOSRpG&#<5*-Mia9xZJi4qbikT`g%JFxyCD3YT(_%dBE z$$R`WWL{0vx8m6nx5YXqvHV%MYSo-&%6eRmgww=3zeYbsv`72(hS%bz2m>g87R;&K zIw}NUSDXI#aJ^!uD|4RCAUqG+LPcc?v00fD)^dFHUqsp025)-YSekOhZBzhI> z*8UXivzyJn5Ym`FJhR#%y`*lID^o!1WVrOXX|~7K0I!+x8sI&xy*&tg&7`_zJLv?+ z2w2P~_cJ!cxL;LsXu#9tPF8?TG{<4CVsCQ<>2->X z4FtU%+CUgL&`z1nz^S%(Obrw4@vq6mJ87qeaDTYBto1$IV^#8fJDFoIMaQCaeK+wJGfKxZ31uQUHHK?K z!Kc=p!B>~h{Epf(@d+n6k~K=fy%Ml3K|OolgPj#9cHI7K}t=v3;6}N?8}UA z{D#wMApbggu9GVLcT#0@bUIguLAaprn-RMDVWM&4bPN}=Aj&&hyaV5QmJ+HVFOD7- zX-AH=LM>X;&t+V-JJ3rE6Pm1Bh2g8ir*Mh}nRDCJw%{GT99U3g$=JkRer`mr1G<5v zP~3BC=5?GCVpT#6QM8|1b7M-Xb^N9!Sv3{vj!t$+vkB{Wq_o8THGZrLH15Dwj*{Fm ze)Sp38=c>OrJopcqaPP{Y1VOzP~RBj{Eaeff4)Mqd-l?b$nIiHgCSUdv`FF8-sI@fK@zB3A3%>*SJfxG`0mB@?9gXyYvUpOoyho+%y{qga4Z>hz><->yP zCTZy1*wy?Esq~jBX#k{=OWPR!U}pbfJwN|uDZMqVUqMvo=s36^J3-yTd9lUAw7-s% z77Mw#gQTLq0}q6v-lbDJQ#&GYQP795!(WW@a{=hjTPW5r%^qT665|TA7aZ-Xwghp2 z4hULQt=rk3U*EdB(9VzxY!~H{O0L?>P6VGo1G9)!P&{8Q)kOw5x(|xk<80}>Vt^Ih0` zsMBE`9De`g8%Yy?3ZP^kKAKO^Z|{k5~@JVn^ai^Gi0B;Eu1iEWCa6J2!?DS5ln zY#2(<^sU7cLx8M`_vP0UhYRemH7oKP$%|fp?2l>u&VB}qb@O#5VIMJqPg}7c7)*#7 zH1IyQ;fd#I>Tz$Kt8rG;oP&8SKymln7>|{d%&|XMBaSLhjYu&8QLfPHeyjr7hI!`` zcNs8Os%uknB@^2sUP+3jGz*i>#WSQ@5Lk$z!lx+2)sgE*{8)Rh!xN&zp(5(^CVlCY zFeS9}-BrikJ_o5@$N`}o-uo=Mi3%$`hxf=}c$A&*Gf~(^u8A!eBo)qK{Co+J@qkDs zRVzAS8pfcdI#CdhQ$cNw`L45EKDtNPAk24MScYhxmr~O?$`TlzZ~Q5ZKImyYsESyV{VOkpnR8!9>elopZv zfWPz79Pw8h4dGf@|K0Kfg7XMN1jB)ch38!h=Vvv9r5ybavX!M^;!4jE(z%DvnI|=M zb|ie(zzeEMaiR3BI(Yq68&3-Uy;y=Pc=ypAzvRL)&-W3uS-K+vT+^bbaa-3hU+&7~ z6Du1zzRS#6|EwAF&kjB9jx52Y+oy2O^}@YsTFx$AdfGM3T?P0BhN0@r5sP`u&YiLP zZ3O(zsAHku}bYnN3YJ`|o(Jhk&)nam_s z&CqYfLr@q;7M5*63@SRMW_f8A=iV20#{AB~`tz}P-b^TSx?U|q6u9$JVC?~d88h~D zaKDVt!gRY%?iytdkzc;-wKuE~K(H8eg*L7K6bAoaWxl!mP_Vt1B*vvUsO!TT(fr#0 z{_n@JttdQG3H|WvSpwjAoY-sA(1*Tnj5`>@XQ0BTH4ew+jJ5O6ELh)fJJ>W140CFj ho2Gv2zg}GQKp|TfxMy0PBBQgKzRtBP@3rnd`5#)x>p%bi literal 0 HcmV?d00001 From 0f18ac4ffdf89fa1228188e6b3c2feed30dcd28b Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:45:06 -0800 Subject: [PATCH 03/17] Update image references --- src/pages/decentralizing-xmtp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index ff067ba1..b8b5c080 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -29,7 +29,7 @@ Two distributed systems will coordinate these interactions. For more specifics, follow the team's progress in [the xmtpd repo](https://github.com/xmtp/xmtpd/issues/118). A detailed XIP outlining the decentralization process will be published shortly. -![Screenshot 2024-10-10 at 10.52.26 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/31fbe30f-a195-4cca-86ad-93e8027a9307/2d9f3d23-fb25-4d10-8961-ded3f7de3a54/Screenshot_2024-10-10_at_10.52.26_AM.png) +![Diagram of actors in the XMTP decentralized network](../static/img/decentralizing-xmtp-1.png) ### Timeline and key milestones @@ -63,7 +63,7 @@ The XMTP appchain is an L3 blockchain built as an Arbitrum Orbit rollup that set **4. What is the XMTP broadcast network?** -![Screenshot 2024-10-10 at 11.23.17 AM.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/31fbe30f-a195-4cca-86ad-93e8027a9307/6ed0e7b0-5b5b-4a03-9f81-11d4af5c1308/Screenshot_2024-10-10_at_11.23.17_AM.png) +![Diagram of XMTP broadcast network](../static/img/decentralizing-xmtp-2.png) The XMTP broadcast network is a small group of 5–20 nodes, each run by a separate organization. It replicates messages across diverse geographies to ensure availability, control latency, and enhance performance using scalable infrastructure. From c035ae1c1a06d97fe7c2eee25d8c2ef2fba664c8 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:48:50 -0800 Subject: [PATCH 04/17] fix image refs --- src/pages/decentralizing-xmtp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index b8b5c080..85145c72 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -29,7 +29,7 @@ Two distributed systems will coordinate these interactions. For more specifics, follow the team's progress in [the xmtpd repo](https://github.com/xmtp/xmtpd/issues/118). A detailed XIP outlining the decentralization process will be published shortly. -![Diagram of actors in the XMTP decentralized network](../static/img/decentralizing-xmtp-1.png) +![Diagram of actors in the XMTP decentralized network](../../static/img/decentralizing-xmtp-1.png) ### Timeline and key milestones @@ -63,7 +63,7 @@ The XMTP appchain is an L3 blockchain built as an Arbitrum Orbit rollup that set **4. What is the XMTP broadcast network?** -![Diagram of XMTP broadcast network](../static/img/decentralizing-xmtp-2.png) +![Diagram of XMTP broadcast network](../../static/img/decentralizing-xmtp-2.png) The XMTP broadcast network is a small group of 5–20 nodes, each run by a separate organization. It replicates messages across diverse geographies to ensure availability, control latency, and enhance performance using scalable infrastructure. From bef4fe6528ca2d259d2da70e339b38283db6da5c Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:49:29 -0800 Subject: [PATCH 05/17] upload missing identity img --- static/img/identity-1.png | Bin 0 -> 154959 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/img/identity-1.png diff --git a/static/img/identity-1.png b/static/img/identity-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3761205863a2f7e792022b2a6e77bec5a59f711e GIT binary patch literal 154959 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 z zaCxHnF-O-Sue==BWI+zcY*6o?l3-mw2lbOSy%8Lr1B~Z^*~E$fo)ppy|8O{{U9fmX zW>fviiXW36`13!KInrIMDz&vj=UowxEm_lY=8Z;Cs&y19y}~DQE{)xY=4iCQj(Xv4 zVf@fC+fxif*>{QTkjqkc={H9Tf=^KFd18C4**A1wz6GFzG7>NA{4BHadVido7JstJ zu~RvzFuC2P97aWmv6X~(KFp@@*n2AP?)*dnt&#Gm#k)~^#_Ul9E*&lRV5Bf#Lq0kk zw%No;q%Air7xd}ZU4E!qX96b6k9U_%m;}bc>OxFDeF}YOP)JK{8F0R zJvMY!Gvl>b`QL3KPR*6}u0%W!>6Gz8JhYh8wa-xOTwCy2$LV6TpE=D{7*V!^WQ5gV z+bU#qy!{2LXuJBR*S1%w!M{daMs+R+PQ752HkS2?3P%=49;|?WXz}@uEsro$C8jC+ zw7};=n-(iqL0n;Pp86nsTT@EFzQ5t4|K@;e!-dcL%DhZ+t9Xg=e5yd7-FZx8$#Uwr z$Vs8S7Z%3=8;Oavw35)r#=*(Pks!o@XN5VY3GT}m6I#N9fd*Rp6Jg3JUPfmg;}YdA zuG$eJ#?{wh4YJbl4-EKszqnQ}rb8boR5vKq?uLNBP&Xr29PFfV`Lo7U8IPpV&HU8S zXbxaz>fu)1f*+>D)tE-OV=#Lu!&cK`cGYGGGGtxHTk`?Ay3oCMANU9f1Z-3L{66Ot|9Mb_pIfH@e- zUWvo%VeTY*hX`+IbT4$;IS2@^)3+4z=H?Jnj5o!rJljIz(&ZA^SnJBxY$`Lrr_YQ3 zgckspNbQAnw(eN5pJr3eJD;EyY|#-qZpdy3IAiC-Z$VfYRb)MCV!V`m)x>QghVGPg zA%_1nL4nJylJiv$zj%7%lJd?}=0OgfS7NTxiQ8xxjVVgWY;28OD1DY`f&W%itfjR8 zN|4o)II1_he>yZ{)n~JbzgZIzmpGTS!4iSYKcMQk=N(F-?onDJ=j*MIPMwesOzwbT z;5!35o-6EDgHrL?B~77kM(QJ6Qxt%bL2s>sFuc9VuM_y*XLiarbb4;sBF-OiNwcrw zZqH4%Eg}`DbMEp!owYTLD|fUl^~1*8!YHM%(0yhTQxBb1E;0H(olLal0OFdR<00Vk0K>)xuZCVo!fQ0Zm&eZO*>#8@ z?FgHC*EVFPaw=ORyz>sYV#ji!u%XLg9sMHgk}@o5Xk`r(9GhkyScLAYV9HZqx}2Vd z3C;XmM%XXJnl!QoRnE|+8CG1$p&(x5=Bpknb0f;)gXU^d+d@~v4rbKgXj{d--WbSU zOfM<{c`sr4dp!IEvwxIcfg&&_qKu!*)xh=rK;^(I*m0GRKDNibWBzvf%FoLUDP?sF z34i95wMVw9tP6&%X}(>Pk~`-jHMQw)PW=la8dh?F{h;wqZSTSfmt48eNq2imhF0Vg z<9Ki29*Q@IInLeCN~rFbqDln!wTFl(ltoE3@zX=Zit)C*wVl(tZ;0s`vTj0LA4TiV|rw^rVWocH|d6j@}Lzd zW8wfN90wZZf_PHNiw2IJ5?&%p#`j)xX=2#GZ_$1&=McU{sd?N~Uk{NzhM%%v4<{(I zJJ&&z!~|wv*9$$S5#{O4TOzaiIuuu(7w|&Gp#t8GKm}$?D|Q@%eV*w`mOx4xM=`W$ zdO?@m{k5xn?gos##(@EpWO~d`o-I4vDZR$fIf{8&(S&@o!xHlG+l^+Srch049uOG0uWWzj6RQAgG#K2km- z+J1zsZ#2EiFJw*5Uy`Tp({rGB$Z@TQa9+v|9~kMsq$KL8e7**$#l+hdu&TMHMFjO( z#9s@$gq2ZIcLV404|tlL06uL#)!t2YiD9{1$O!D-jHk6T!`XNoc~(+vTU8E&Bb z*HsY|Bp+P}6?CS1Na48I8hgP-_Lup*pSkEtO1y}<@W+K{`G}$8HtUl%bMWF{Ox_TeYB+njYmW`YlZ{ z@BLZ+f2+4C`SFA-CT+PyQV@|X&B6#hZ?a}@$-~G!lM7(uMjmS=!g}_wUS5eq1&R<%ijY^mTfci8Zwxd+G?$Nq(c_d1r#xsN$b;3qxhv| zvXv5$#~o^9?j;Ax);>2>zPZ_P_KmvBE7wHZTq}p-NH35JBN=l~2gj7;1zYm5zU0tc z<{Y9h%DXz3Nx$V~$uDbwzHjW`Pq%A!S9j18>=be{%*na6(a+mb<8`6oB_it3^Jh)2 zq$UG?vFy~5n}WLC{GxgJvvkHW%C8@8@LT2#Uy@_NT^RHQp*LdLC$9KcF8NZ~7N8DI zTb&MW2F14ief_F0;vDftK9XjtR*&<=zB5IAF^MTs#mYnJnj%T|ox%}!uxz@$%$H|O z6^gH%m}$8QMK!hQI{&#*{~*wS93W?I8YJakeBMKyc>2!OEfN9dW)&Z~r(<}doEqqQp zSch9V+eDy05nL)%bU4b;@&W{~X;_dK)$PLoM&U(R1cBM%z`cS1w7mY0*78J)IYeM} zVrwhXX}Pz^c2?svYiiuZ61_W-Tz~rAk8v1b7T3Qg>3fhuQD{|OH z#r4!7*oF(EWw#bBb&6~Y3j{{8LlKg>IrzRl>~>ng<^+W;R+afq%{OVc#4OQ@g0@x~ z#{|1ndFCt!MTv`N7|LDNZ1?Kb^P?|eN#nsJ(*{Ox_3AIEP+p;(=PB*uiPz#12j_tt zMGr{!_FE8KjF7C{aSt%dzM_awMDZd_KHrnMInV5BcoJY z)Q-W*#3dL$<8LA#du~!jSkZ0txi=#>EEAU|;0t%{z2B9hAA+wpwaMn%lk=l;FWJpK zk?rXB(eYAgUovre!)rNS-Xk+D4bL(I0(qw7UVOcDGntVg%9`ux^T>*=*G=NC@2lf| z$oQm7t^dZ$%RS6+_5Q04F0s)-SCr>($C&Y){5-;YRWVyR1QI|+NRAcDAjcN&{)*4!b`uakB=}Ceb4Xx&FMoaCOP4OKIYl; z4d?MK_Na2QrbBCvC0QDk8y>kuBe6%j)gic_jB!hq`?XTHWA!qR?s)DmB2`_s?r78N zij;;-k>hFUz{FLGGE_^&3(_yPJEzSm0&)fq&dx#7JM^sQC~Q+jJ7 zdYTEgYvzWRe`C16EV@3^8^^_g8kaY-HY~vR-FBo)|wBiO<)v zrlwCKSNF_uy{z%*$)zuPc0B%Pk-?KY{`MCC%>n8=zu)k!ax^a>LOFSybs3 z(H6#YP#y%bYosYPD_x@h@;lKowmeX*7_r`i7H>$~@CnA6tLXDHYE^(a+*vSIx)i-D zS(GxSIwP%5Z<$!?!wG2wMw+tj~poPVcDC|&03D0jkMfXnyCntm0z zqFQVNnav*4!Fq9@Nm~Q#(pBEA#>eAmN+ewUUZl!7vGg-MdZ4VLNtR&Vg$8$0wk#8f zVC*hFHz#ZWW9>O**RHZXyJQk{q-g9wg2Z*_#p}C*KIs1YtNI5?<4Z&|EMKfRr>ZeD ztkKBPQffXOy5U@lK~RgcrSt-^f=?xYXcio+tbaqlN`Fq>m@f1US&=G#*-VH1wdgc3 zvOuG?^RBOg06G-7>S9DUi!(c@qz5(v{VpCQ^vCJ-ANK%$0?1+>0h2CZw#dTrCTj!= zt^h{Eb`|FMU8o81u%Zl&{>FNo}dQO=;k#M-L{ZXzoBu4L$I_g6)MVdudZ9-v25 z^#ah|92%CvAVdQ49jz9ex_!z=i7$bNIjtY(6Zx8Y_p*F0Bl)7v_+dc zc-X7mi?9(OeaWo9Gj~=dP2s0az%Y`nquq6wwhm0uZ_HsOeP{b>^ia%^_=)~B8E8sHRf7G|3??*XrFPFNA(%XJao@>Fg!vr5jtjC03_yi)Feu=gkCU*L ziiR>k2dh~GSXQ<1z3T0?0M|vV4N0xNJdPiGHR`|$rTki&X6oF_yL)LQ9@X3B{pqiJ z+ie~VQP7y5TeRoClz@>fLC{WtUd*3sPEV=@v6UsHE$j!hngz?Yao5YZ>$tsteknTT zfG-tQkzk_UUxp0kK(!Yrv;bFf&fPj@7o7Xz=<_fOm&m zJ4LYhlQcp1sqBk}?SI|J*$d83&+H!WLA&k0lP>m1TImC@&V%88lYiaFpLg{82j@M} z5Izs>FINyHGOJPn#hzFIOfw=c?XSml-o*zM7fV3(Ja{Tq+DY_owAf+k&+2ui$^9~a zeeEAlV0>1Z%++0dFPNwpIrGr$9rRfOcmC?_GC|J{4IJ*Wllfn1&sHe(Rw z%|;&O3(hUZy|&AS|G4BI{{a3|Ni`Z^$pzu8FxoND*J29w^*4c(dUzJ9-D!^=HB0Fg zkU#V11)O!aO_oy}N3WWN+1Yx$ylr?Y0$BfK_`tz5S*5_}+iQzg(w2r35B>Q#N?LrW zIX$hvFMEsW_H!nGUhKbos5R%ocS$^G{qWag{rPysDJMC|6;L_Y5m`e`o9?Y5DWiPWLB)&1eB@$Ej0P_=>6A+=*F#E zXHCvFSO0#yJTks@JJg?pItPAbaEsnpm^~PMjNpEh)wM7MdFCwOW4`&4GQzNOIxhT= zOa0S9I~($(|7v!hbn5p@8;iaJDwRzjJy-kg(g!-iWnL1%q}ISe*DvRPc#q)1n}5D| zJucb6&})l^H+K>~ALb(MF=mGd$rICAW67xL4ag*W@2P@J60Z+g^WGS4t53 z7jzq)qVOFEB;ldP)=@x@eKG&?ILLlS#age|XD5}`#vJtpP2}>)Tj;NU_`J!AAc&v4 z-Tylx933L>`<_qqIj5STGa9``a?kZngxA|MJpkZohJxP`(94!|X1DE?L08f{=WQUn z7jf9~uKlcd;12Qs#Wb%#*jARS*1Mm*QJN@ zYHcUnQXP08N@&bjAlna1QEo8Hj;{Uk_2=`!r2oiW#@r&}|Ih;X`w!gt`TO(GJvz<5V-g3C#eE+D zNtu$l4W6GR0VaF6rnn}G^^Cl|oORF_2wlatv~&yqu@V34z3<)%HXYxvissgTeJxYL z7f2r`g4)xy4?Agg$U-KK$Yj_RtPK5DV5>H{`|ui4N|V#cWt{%{@8#P!i(J2 zC|&b=V5==019BlnJ87@cwLjA`0G;;IM^4-H53i>r%m@1$rd!B^`B(vRdXtOySx|iv zfhvbHH6I;PO4lz%^n;-+&ec5t-uU~g`@0F&>I0kG^h?V9e;NFqz-S-?Rxt_KxFdHK zcLS+fKcN4bC<^lQtjLoKKD=P?`plCjgN{8iKYp9Mzhzm7oj-m2<@dv))MgMQT{r6kn5RKUiwxNh> z^Y6cKPzIVJ9xFbK0CSC+fdYb6`s$?nldqA~l$3*QfS&-oS*pesXS08=xctZ4*>iQH z2>0yLeE0A8h4X>v;_%U9qo9Gvoz~NVo(6MHoYKLjWTP8+d4&02*Q-B`8~=TY|Ep&X(*?jcLZ^we(o=ox3}kc;rTsu?$f0iY zKOXuYzo7J}_CwuqFWcW&qjqK2Vt0eCn)f|c#@cwstwlP6-);l0fA_G~;EheYZyfaB z`olYY^z6oi@T>r}$!)*=&c#|jfYQ7@;okD1((gG`zw80Ncc};oyufiFmvk1&u9yC` zbiJp-Q=C)@GhdB=XmQSRJpPOeOE8?5*uU=CIa+kF(Jayuq9XdS$u>ysNZ-`#q`fWzbwCkR^Ki)lX zu&%js?!PVT9@}W%`W7&Ba#m`6MrstGPZ5A2>(C@lTdaTDPvg7RPy}Qi{D6>GQq(#p zD&zZiH890y7Gm)i05ZC83xX8qJP79Oz;-NDLqf$6v}Dt|2qBn#U{WD^=2*d-Q?@`F ziEekhHa%ACm&<(h+h!ooq`dHM^5j2O@$W{Mbqtsbo>89;Jx^^0FXS_yDcIV8%2Nrb z+${uhM-`)NAq;AEl@&#FPrrp1nodod0%yb#2n6SnizDGBQ?wPjI@-J&9O)K`wr(jU zKtU+jQFu@DcP|gnCutx7PQQ5FKA?RWF*p&fkpcBfGJ$YIAbA#QG}LBe%%)%)R{9va zHbvF5O{Q;@83jGo;FOvDAWC>s4cb8!pyTMmCw)|qz&A||po!8XVq@RFDb6tbRJhLZ zvp)fpltZu`ss##3LxL|bM{9!Lf{xn%@ojYXCK&9zXDs{=_u4Z zR$p_t*Se(cC#~l|MxU_4c3Ka#1yYh!w_m(B3hz;@O*$NUoN zPi3%GBvPY6)bYBD2AC$Xd7`TVB|&}%#Rv!P|w{H6W24TK&7Wl1)XG;)32$R?pC!(@Ee7S=(@#}uVmltn(Ao`|h0|8ToLd=%{c59geMeT$d>w1G${f?QOv>}LMi{3y7vShH?;zCF` zP9|Y>ZKZX+8s+D1&+~A#7dT)WXaIxc!^pWO>beX~2Mwvvv6mwxx8Ci-=dUX|Frdz^ zLWeQyyQNUvbt)Wi(_B=W{>Lube_2SbiT)YF)vWSMkOSOfE$vX2D`!`V2Kr{MfZjRr zNU~TH;a|Bu?-JDvw8maLMpjJ<1GBlBAe)^f`9zj#Tr~t$-oP{zF2%P8Jb5;R;$9}N zUz!;bjC$u@d25;g_5tTn>pch$M|-<5g*)LhP)T{|brEOWQGMa2^{A2l3}8rwQ#2V%D!LroVW zq8TyJfpO$Ka@Wq%#WPj`^h*`FXmtA>7}-&pA2tAeG2(Q%tqX1)?CeWk{h-celh@q; z_Gft?%NZs32K8>|n~9kIEU3@u+Uan1n`=a4f{kNk_=Hu49E#im=Gk=-3{GUlM}7~uDCv{D4SZ&n#T&*)5MJT*hz~lOrYZ093$4M zDY4#GAC-RS_U8;ify?m%^(W|CUsR(5MpJiMfA00R}P;-Ivs<8YSr$gB}ftGky)*Gl0%S~IIT-(y8B~&8g^SB zD2L_!k`w&BptL1b>2nfW0!&!0*|vW5%hf!zwOY@WctWQSXnE+m%1>n@F^^C7;GjZ) z9FI4y#|<6l8o}jNg;eKigzspBo+V~HegG)54_QrHYq)g6Zg!rv(ZAsn&>E}rqZmL5 z!Mi(Me#^v3$YVIu`RBL2kQq#zwi7NxBB3LN3);oo6f<5{&kO1_dUHW#?fKPY)NoT&T%hd)%&s{TO8WtjT^q5LhaMZIB(7^+h zvLBN|lI%P&B_M@Kf|Abj~L}iJZ?G%~6cF+FA`|(6YSA z)4t2)yiTJW~h}z!{+Y=7jlyueB zGkr=3n1DIWu_cmvvVO~HIaW@2;J9|T-Iu>gH2=+0M34Wx^IMvv4HBv|MOR9Pul_>?OQX*QrdnVvw2z^>kbZ0mcR^r&I@eGh@0WZ3d<~25fmi0 zq#S;w*%+*p`(}ZeRnXaWJTE=elM4yv|C^M@mFOX9|_J zwm@ho1@-A5{0kKG6$jMJJ$KBGc0++s*OcnHH2~op;i{iE60NuiYcu*pn28C8&d}Ul z!}$v{pfm6qGET7*Vjz_?$>qaJe_FvZyP`4w3my|~d-QwM>Kv)*ba2~myI_I`lL~(1 zHV)e9mlGBzn&|7B5w>I4sUPgC%QsZYZ zi5TKqPsXZk#2e-+q&lYR^`kZUZD)Vk0U>lRJtTg+cX=LQR1|&Y>eoD7c!!K90s*3e zW+0H(uY5Ft+}jJBM(KA(6{e+5$SU_T}0C?Fs0(8`8AC-Q~Ja2$GEC8R5fXW5d7SlsY~x8C0Ek!?x4` z3_B%Rpof4YVR_&R6gz+{@S{!#)N(MIdGn{e?>ZduGidQCXwTK=_kbzC&5-AMD{u!o z7VS1&U&X7fjhjXF;tP2<0bS7vKM+ZoTsJL=A=^0Bgb!|#8Vk5gRlL`Odl?WxE$#JNpK{Nw8YdlbnsG?Uv*yf%5Xs7ih3Yl6&$uGiVy{e{g4kM|X#)H^CYjmH( zla>{PKEMm2U^XP1Q(*`>KEl`;#l0Rgup`FzeA>^5PNnKmeS+REmu9RMAk#fFGupw; zJ9fxV0VYg0mjjW{?fprrGDDw%JZ2^6t~)py(i-L{TU+sdv-o@=??qG|jS1yukj|qY zm^@q7GK;IIDGUc};iKbzAtg}T5wh@eGTW=H{cOAgn){>p`nN1fpGR(X$Hyy&e_K-u z&l8=6i{qkunhA$g7Ql&GcD$_Zl<;)#USvVLaw|wPtb6g(5kPunK-uT)3(zGy3KT>< z(TPv_3uNqr08ouHTN*Pz`QOkD1dVC*Rta;Duj{voUe8TTfDIq$e}W%qB-%Ha`)j~Jcw8qZ0R^l0ck zi?E-8@|5Reubx} z8YH9}sX9v!1ub(NyUM%LDQa13<~f?_;hWb4DWty)a?s&QA_JTX-b}n&0z;*> z8Zf=p0T`2MxXZ!UhR1mnS??b- zR)BLkCfPdt-?srk;t~d4Lqv`-C-m5o@ba7Q*6ODN^~mI-TS-IPPRNr)|a|z17NHquKnS*N2LhR|C z%kFaOc!L;b{nEGf9BY-p#lO4OH9`_Dc7Ojo0Yg9SxJ>-aBnTLvlG)O>)_VoT@@z;H zLOBT1U64apdOnW=nxWO3qo70%5r;AJwCxYsA3#)e38Y)f>=CAK0Avn)a&0LSlHLl)iAn8&51Q2sodNiB%#5jZVdl4WxKJGgip@ZvSsY&X1?#w;js*W3PKIs2& zbR|=4d9oGeEKVu6x&F4KvfqJql7PLe*%^r54`uZAe zP5LNFur7vxcne4nL0=sBaX0C|VBtT1X$^x1>9R7TSvAFrzpo9Dc1?i&sbEm^HbZyv125+ zH4bI#2R4F8vVN<09q8&eKHhnD6m;h5^p0U4h=(OaP3u*gwg6bCq;1e#+6&MBT~?e@ zP*BhhFEm4-ssb;ZMBu<*Udg47FLbB`eV|rbZ6L-3tYqv8li5kvVs8$_X1t#w3p!|d z0xCx=*q>Sq;z03_Q}@cUcTF_E%RswAWwBsAbr=Sh#@KtEWz)_8V0&*TVeXJ_yP+~!^i-{dlsF!!rq1E@D`r*W%P zw}D{q$yy20^WrEpprxKv14yqXuNesF&F4KGO{UxRr_KQ0!3DKZ$eL0!NO=lPC11fI zUs-s2aB3^Ut4u2?iH(40+hAPXqXFu~2g83oREWPH2ujK=;GPIF87MFP`)(-)lry*5)q|)48f2V*=jXE~qtn&oZrVQZse} zWoWF3dS=ELI+$rTgWwK7SD#M3R9#5dnd;(Va*giE0(fyy673Mk;rg;@tQ90`j^rwg ztW{Jc%B*345_mNCw)p5SwA7lN=33)+Owk8K&$#Q^0Kj$t9J-w)R&SrT?^ z;!g)q4nSXFME_OKnm$~lJeCCbPp4QTu7|tmbM=fm=%AkflpzL+BZA;2qCL=gH?ATu zM|MGbc8d~yK3WjE%|QawvbVl^d)3?w1XFptrxV1%{zm1k!$msP&9~owo$|%340~!I>Hp@}#5)7@ zwsifi%k*vj$866x%W3;=f5u_zdC?O*pVyzfA>%S z_YH1Rfqut=eTm-x^Y1VL4}oo0f@kvo^Z)T4La}{}*Qo#Q`TFNQ>%Iz#!03}K#@`*z zzrB_J_1)iQfOkzL^{V8*#|r+(2PnM*aI=bJd*q*Gwg3D$|MdabxB@w6G0{sG#JBTL6z*1cKH;2pzpPV(t0hU%yTN--Gn= zc7FvkV{#HQ=kz+x}9${^2|=KvWk4p8XMY?H$!I^%WY(0KCntMUQd$+JcEgZe~_Z=S7EV*n$^Wi0Bo;V?YiR z1>=yU!3%Hbvejbq#Z`QG{6z(p{aU~$WSM%7+AIPjmP>5nv7+is)fe{eeMpnHRyL^R z91XtDpGO;h40sf6PuR~ra3M4WH^VF++T)5g2J)3AK*3c&dV-WreJJ{~>&BZ~y1#Ss zM{ScloKa2P@?Yr$#& z%yT{8AOKf=fD(M5@L$txznUerhNH=iSV(BH1|)nvs-eoJES90x5fZjed{p9apt?bZ z)+gM@>tUG|?7Ag%kMtvNM?&MF>0K9QOI4NW-VGip}Yv-qd1f5}nX$Fi_+sSx4eT_x8s4#9u-=>h*w6%!US zmXJ)j~GGj4enY#kgx$j z+zVU}eLy2?OV)kHb^+m+$1X%2VMDZlf;Oi~<#A#=4$@72fvC6ZwGHm8uc5qJs`LAh zoNtIMaP#@=4fP~EVy=%*|Mib<^Yeaqwi^v8s%7ZQgIIw z4Q79t>jIxLrbuCEqd$)1?mlE%0U<;U24+C>!Hc~m{Xo1nfpX!q?hM$!X*4T4q*Trf zt9`3}u%s+|c=t|Q%*Crl5AqNVLHKz1ecKh_{w$FlHCWJn@&cBQHNQajX8P+)aY1FY zFK-?vhTh7iqgG7R`|<(HGQ_JMevYzbJr(%0J!pytgk`dy;+=8IwHXB_%VpMsu&TmB z{Jo$e(k1i5w`8_1y*3<#oAZ><{hv=#g|K5`<)(H3+n#uC_R?KX?)*h+oqzcw_&Vo< zDA)FN%6mCC<Aq`0P*l}!0}>61wT|cdlEr7da2`c+ooa2I>YN&0*>743yu_9 z!TPJ`BgrVpnt?aO&GK2#*g}c)s{#1xM#{0{xjzINKvgyXm5477 zD#N515U-UoCAx#!00;Uja^}mDrw8--kP3Izi%{p8U#>t1N6Tw7@LgAO@B7h5rr)nk zFMZrXNQZXTk(bF6UJ8d9&I@OlGflJv!~8YFH%RaT^tl!#=K<4G6z12RJ#8H+z4~+j z*q08E?KgNnHZkMV!pg_VnbST4z17z-VCBk(H~?QDE*u|rLz#Jffw+9%ku}-F&$14Z zU-)``@IvIApVJtDQ^wd<#b`L|4=>*D>t_L7ziFgU;N>77Q_~0c1eXC*dv4^W;8`!6 z*9I-2-!&opoZ_>TFa%2O56`P^Mw%SvK#VdD;^*><3ZbClyrc;2ya9^a&?;t51u2pM zF+F%QGa&0!$JK0N1H(paj0WsdeQd2#pUiR*XuzM>K7K%tclCDabj+ zLQnqOzw|_i{6~&%LM0H$aR(XI^%XzIFP1<;f2>4YADh;w z`8&iU_c09R1|bG>Ixka1XQ1sIjIn-$NmKd)tv80^mw*Uy6`V!6TA=sRa^-7C4c+Lm z$bf5RvrL0@l;p@gc}~wHL2Zre6bs%>; zEW;Rwz2q#Wx5#JUwiOonnyA#9)INY|t+>_8VsSZ)><_gG6s`Djyh}LS^}>_@`u0s{ z$emaY%pdpG@p$$3#{oaK3cC-<-caP3up5vx61fj?_Pm32>&~u@KHblu?F5CSA}cSN zsUU5$*;Z)roQ5kxm{O~I9PqGu6t=6CUw{fMdP;4meRPVJ^n-PnLkLNEH+g4BE1|QX z#unb?TROZzFf#=C;2d;lrfq9i5Ka~ac@i4NTju!Y7jlr^P-PJcy_eUcC>ki0wIO!>!&rEf2``~ zFWNRf1$;|mBzl=Q<12yU#K6iv2=cGacm6G4fZQpm6>$;Gkc2lyI0z;ueRhm>ey)e8 zSab$Ark8nmzYqAPRQndS`AOCZzy>AR_z!45N2L=akNXvil=;_Z-0#a2Jjw$Oy1ifH61H8mba9=k0;VNE zIC?J#D;6|(ulP&cIg4jtfq3@7WUL9CAqn>J1Ts+EiRX2NHZ7bMH!z1yYfzEvL)l$< zfD#vy7Ezuw2Lw7VrWUk-8r1_s;C<*9)Mh#c)je@%0wF8kAMN0ypO9|F)FQ8E8A|M= zf9%`iXs&0<9zl_J9XQft^Pvr1$ybvRn}Ra$38-z+_MaghI#n3_hvHO>P8M z+E7jJ7J8LSF`)@g%p)U96UGbwRK)r1h-ep*O7~C&rX~trP_LBF=RbRyY8+Yol{3|Q zu62H;3UIpn)YqVA{c0Lo6|P`yXUmQFL4E7yhqnGYs49XB=`M2Hj-x@YyZ~BmWHSV0 z=wY$Q6DckOp9F9w93~8Xm~Ii(O;`qEr7w`1LG03IFG#6-t>%-NcPH(jl`{`YaqPr2 zlMn_{x|H`Y1RK4J+#LF7ELB+t;`AAR7NB3^x5tE*fhbhUUQk9^ zD4k-h9`MZhkO<@V8iXpfkoxO_Q&~-1_=iOO5mwSz8%n&aC%h;RXonj})^}Xw)1E*} zrn1)I1im{tLnjJm_C0R)B1%Bh8Hy~8fUoAL@?it>tYkr8PqaA(O$5`~044dPu6$!( zN8$+767yY1ML`;{>dj3o`3A# zB-Ft%`gHHw5DfCLt%k`STbkuQo1tJ-3aMExrmIv_tN#j_8F*bGtC9(mHuAYYSGB(n zq_n|?@$SzT*M#t@rI!MW=tl>-Cu<|tkzXWfiTt5hZKs4YjlkbthG>PiK!Ek*!@X+i z1rxB(Axqc-Pa4tdIlj!F@p>vZI~8tEua2z(QU;6`O1uDOV0UO%7n+G%p8DFr+v2n3!Kt4$N{c#us&S}zzAs$^iy4^4Y0BMmt=?7 zBvP&jJ?1ZIhdF_yu7|aaN42W}FDa}_H3CyG2BU~)3j%S!y`5f@5a`$kPQ|Z4nDWNK z1TVmJIupw{-r}E$`1O-w2DGIjuXFvo}vkHFXRb5(0eBs_H3B)L?U^PkK zhkQ!1)u${Ed&#UC0H)w6(gh`ab6vs_Uf-vmn|J*PHCqi4_d!RBN$;KasUPfglWzB* zrdbtFD>=(y>6kVGP=iTZxo&OyDR7R-$_Nml^l>8Wvdss;HD-RYlP&utdlvp?LpAUL z7AP4D5MP-NjOskfQZQ0132jKf%ENzI&OG!JeOr3JWK|N-u`cQinGQ^ zqkqNnALrIwxmA*a$a>Nx3)f%SNq<7ccn3d@P##)RxyzrU>DcQBGQC6Ry4GRa6vZ7T zgZ=jq%>q)OQXY-^Z@)TnYJrZT8f;V^7h-dNY*a#^)V@Yhq`9u7Z@c%$ak=>~swc13 zfiue8KX2X|j|$p}GAXZaLj|`b(nI96djKHqUKpdN(H)(V@%Drf%v9s3~2Q*n~xe5!>53}dH1nj?ggnY)1Y~}5BUs> zD%qq_UA*av&wk)@gKW1nAm6DR110y;)vFKh<1-S?=x#;0EAb5pVDlsjFf584ZYnD- z&;1#WASoW^B<-lA5T8v#6s!y>`Z?IW0F&KfP&xO}jIFGbeAu5EY5jiRZQ^Xv;?$=0 zep!HX9+DUnbhwg@N=vA?Ow6}O^&q9!`s1{_^GJ7W7)eS8dK+ZO0xt+mwJ8{uunIP%feOnc=etCN z)2=s|jGh(w4&@W8^T@XCK5$6hC;YT^@@*eJTR^K}O;?D*RSu}}49PaDf+YYx%o~v? z0;#^hr3u9s_JLJDTn)tPa2h|v(e6$=zE`wW-mTWxuhnMBF$AFzSlKh|>lxeVeW1^L*H~TyFoab{gJ%(8%mt5U zCjXfQ5a?b1)*r8X;8_0w39l47$N+J<%~$zH;UGD8|NZatkuC&ee5z0Uxo2 zsYP7nc%i&`WTi<&5%-^v0WSVQe3ETV%SiICEX4|8PPIzeqpY5?eYp?|b)nK4w2Xy_9Zv^++fPDKTA#C;C~1@v;ZnJx zh7S5+hft3m8<+EO_$T2qMaKcA@f4$K@M*wLJa+jehm+ESR}O4%Zhckp^--FX0VoeI zMlsu&?|e?I*xBs)qo)BeV({a+z?M{2p)IfuelZ{N270u`?a07KbMvCZ3X0o4kPc+c zzj;6x-04Dxxx*=m*#l#^_W)dwY;O{%iN&~ubrNL(&;%c97bXA8X@9gSq3`0^2x;#X zFkan5S)Pa6-Z#D#EK~8$(rk1p zVZ_S&g~!qeONOFO(o;Sfav~Ew3c*mvZRfdUwPLSV?6Dnbzr2HVki@|^@i_I@*Rx6* z{6(wTsmImn7XjCe5Z4KdAt=PpLVvJ(%5!dya)_#5k2=B zx1uS|+IN%EDT(X%keW)G5}NFj1wCZ=n*{>45Idq?L54>Rl*0Az9*oNqFn(aV>MCI; zpdo!VbAwNYOkY(J2=;mMYIg??j_>w-NpfdnZ5<(ual10w)4vyzK_sw!A=Ra*T7Y9g z{ag{^*OF8*fG~%G%eB(`pjHcbXQJmgsF|}dw0SE`V1{qA&+$h&w}kOe>(g6`hT<0C zpY*Jk-6}qhM~NcwQ2fVD*@M%rA+NG)OSEuX+T@=7!AJ6ECx_)l0bk(YQ|CiDi!y0j z^O--5uA=CYId$i0L59F&KBR39pZ@;5fl0e-&+w0vL9m2;6N^Qf->Xhnga%?2ztc|p zAf##JBR!+8{`qulZSD_w6=lo3$9L>_FbZ-{NsI4R8dbmLCriJKN2kA#E^y1Nz-e&Z zcQClM*b*F*9$UPigVWsdNqrk!F3j3uumm3bGEoCz)eYAEG9afOw)_gIElJZdP}?R7 z8jzm@6NFz!_^h`~j+t@D2TEwbh6POW1;`MtwuMTw3ez3MMwmvp(Rm8A-fP@EIy(8!}I3l-mMj+$TFirgOa#pii;PD68p~x5Y z6(2krd^$hI&Nz>QZaW!0GDQ{iSzdmjapFm0Nxe`tsNjWu+{8zEqbjzTY{Atv)Rv zu~JL%hAaq9F}r9mAcZR+Km6!0qT!V3poMF|>>b6WGmfU!Cx5;aQ1F=P(P8)I37;xu052dl3uA#J0HOUmCp@QjBi*5a6T8v6Gll4KG`&C>^|{7nuv%0zZJLtf#`2KM zsfM=BhxB{cb}uHRJm2(}kkf2nwezHnyRAm!;jP29b)|?=n_w~10n!5Wh5l-k;ctA?d-+@AEeR`foIyoXBpG{_vw|u}# z*xVoLBli|fIJhgM@o3ONP`lY1k&1AD+#%9L!JmNhGr%M4w=vudFk5WkysOFns!rreev)>}39!mEk~$ZY<;W=S#%8T5YG`}V zol*!N01MrS0g`8f-t!GB8$3RHjL@WgxUkbQQS?escSFWtl-5R8yACQ-&2bGqa6~vX z)AzXYM0iS@z~70)Imv5ek5cU=*5O{;?X*~TeZ8n)Y%_#P)O1dP;V7l?%c4xoy+k}! zUMgEMaX!k7k7Ez@=Dp_*er1;QBA!qsE+fp@A1l)|YNhPswiEVIU~qv~Maia3M` zTZu5V-~2S-hkguykJpDv%@`rS`<%@f64ps>|Cl~^TBO=w|2n=I5z$sX|BxsnvWca) z+)c7N_C^P7^S+C`Xy1JBa?pi-TGro% zut_Aq#VXS%9=ZkCSODcycj;94^-jagFXTUnZt$K*iWyhxjVq4j_-wB~x( zj#pZ%(o}XcMT2GmQZWw*_<)1)9%M5~^q&(oKXPAZD!Opsb`g74DtlB4Ush*#X~@q$ zyzu5#%>axloEO`WB`iB_CjlcgsT}wBdY2Nf}B*30lF?!p_+y&8&#O1T!9p zh09Td>*%h^Wm!k7T_pio1xg0Vf%J@T^#wmE(gamRN3g?fS4KW}USoWMco;hdQJzGR z0~n){>1_usM22qqP1kk!K6Ygw0RCoW0?nLqpiirA*(IzQsNQxt^nK>DVSorGHVVH# zLMWh}^DuucM(BS0Dy%_&B;=awa0B@yw^Sl6_C&P<_N!=QD{V?q=go=YIcxH7pMvFK3GgvDE_$PlYYo4-!T#|CVyS# znt$xdOD%M~Ft0pugpYzqrqXWy0aF%eOoq7byY4v`jCJ55KVDUI7JETm%r2gU=YiWE zCDUJ+tLw%+e=XzF5!Nrt8lFXZ;(f{<|KsO~Oas|Lm^6A4T1s&UCJ>Xh;`3ORa;kt3IxV>ZUWuLGWk>>`MBn2Br526zFnKfAPfs7cKFJV*T8$ z>*~|l`iE?F(RsBH+7vyd@S>7>VxB>1x$viWW!pxCFrz$w-oNFGKKbubm$4s80YG&#Zu%x#dxpRox{N6 z@y3(!8r@qof!2;S5wlpi2NiLazvk=IBXPam7vB4O4xkH!1G3TL%#g2;H=5$=!bU8F z`ONvis@<+6YIpU2&m3Mc8UedP^ZUTUK3wm- zia%X31*<%@{J2Ll!6%&c8Ij~dmpI5i$26?~L_DsszVMQ=_-AU$TUUyds`#e0^_8p` zX|M9h?r+^sPb59!GBjsvZIfV0wO(e(&ZEGj5iHChoX(;92BI1vfXk$!D2-r5NQ1q_ zt^MPDDT0M|+*fht){n%jGNIAoH17|R7sEHzOkGY7xi-)-C5L8Y3LN@JpSHOzS3Fsx zEtz;2(im#p(zZXJYse>x5YXiAAML3i!_d;USBpB6p_DVpnOQkxFk4dc?DcgNt8<3{ zW{UluR=9!O;FMur^XqjC2~47!X2(C9^SQ059sjn^fEbyDu4X5prlevnYAXJdWIGzBYRG!`22-^0xJR zIeYF7<=u)6;M0x9+er2zjB)`Kiw76~n3nN3nY0d63F`ha2<%AN`Fum8igbp6$YhCJSnqo6gpj1)1`u5>4&Zu?S<8zFHUDJ?uBr$FGP z(g8;(ega=Q39RjIZYVJUiKOy_u-=F81ftYd7WrJ_?<~V5aXvcs*?OP#()cg6Z0Z_V zfgqYZ(AdFyB2h%#t+2-kQsrpc!0!B~{LJt|JrO0Q{qdY81;XfF2l$TKH*I*Fy5gg~ z+U~$yOM#Etddd>p=SI*C79m31zNYGlfwpXL=oMI%ez3??+5tzfrlOj@}YEgL1<^-T&-fRyn^)ykAHc0gtgG6=s|qVS>EB=aZ7*on1h_Cb}tiqdYs8q ztT>XNW~VBZOQfN3?r}}QwP_)I9QaU<4F@MG=aOgDtv|2c9{Pqmub4~0v82qYpO&mf zGb6m=%@}>g`yp#(?`m{aN{Fj>=5{Ynqd=I{Y(_B$8n1!ODybK|Nq$r|diPKb0UaS8;p zD~OV?Uge>fy<@`~y2xnoCgpPpT#XNN2kFF(FRzmQlh(FekBwX|lZWnz^Ga#Q`~dnX zI(JElK+IsDkT@oS8mhfq;0zwnh>ej`uL#5=9%jIN7!+}* zEC+5t=4G={uzI4TQjv>o(Esv=SdhWpt*X-V$O(jk6rETVzu089O!uzStB)cMUU8>+ z{?+L(P_7QxJU5u z8XcjHPj?h7p;CL62=F{3wKE$N%j85??lpWNk zo=@)E_jEG#f@Eb|E7y19(;rHBQ4~VJ2B&jS5l@$grjtJhp;R2*QYPlFUKB1Wf2Cft zr9e+L5^E(E4vX`d4`5Ifs7lp-u36iTUICIX$Al1f8Jhb^dAF$E-x6skt=4)QzPoS~ zqBa}CqaF_PI<^kTl~cV~7HCW&+^!Zs*&DrYNl%YZ`BPz6%%a zq$DzBo4|y6GtTiI@wgtJ%e0@wuGCb^b~jq6$GozB8M)yEGaRTYM7zgVLOE#zWTjbH zUnz@gKt}PWV$Dy5zm!VEBamI7Sn!bom83?jU;8p;P(wNXxr6!hM~JByIs;YMdqCb^*)r zRPhA|-rbTIg)44}mNF6Nb@r~u4EZ{*`87+F{BSc_&9JS}W#JBzMQSkNf7aES@(!vc zzp6M)QN=1Z_Va*&a+&SvH=VBfijni?d0>mNY8%zF_xMq2<4pMpn+d<$- zilqUpviGMU@peoF+ZWlGB*GEh?_ryl(JD+xC4-7b5^L7%UoId;V+5;H9}%Y(Pv?B< zLci$`%;uluj|}#la?+DU8%H=7-rH^uga!0v+UJZI8^=Kbr}>>$YZeOcHLqZGS)$~; zrNkh)ByZ`gAKxW+ERm6Gp^X}=Ojb+OycLI7FRRy-k6pl;C}ZVhp)7jENHaWOntIN< zAychTO53JJcR2y;>n}-m1h^&)tfAJne56V_fSf*WgEl zhfPt)smtA}{^ZL%eUYSo%<&BkF2{fLXI1;GkX&ZV!AZMsY@qnNr8W_~>2IJrN=t!o zUi$&n%FNC}jlXjIvV;|uw_LlA={)l=*U^kqon+oSW1yT^GCSS+UBa|58mkZ-I+UiCo!R)x~5eK zc@6zp5by7`cV?#*9+kl9Qlt=71NSFfW1?J!QzC?5n+v=iHwWFQ>09pU-r)#kUCD4* zfvQcCd_s-eiUNEktgf zY9fj~&Qy0D$aZ(#bm*=|^`6$X5eMKLHTSK72oG#?u^9le9(&!HSQh#0`CEoE)>-;t z-%b2Aa+W|eR2L`rRAjJ8#AoVNmK>TeIS%R};e{I;j(O&-&Fbgh(q6KLH=ifT9xZe; zg@XU0IcELe8FN4Cl;Ck)+ZU&{&^r(bV&1=gSR!0zlYCp+R+e*oXQJ43KI-)?KC#s@ ze}&g1i`V)H{B5!P!w3c*H#1yAmIDh78_r3r9Kwl>!DyEstu0dxOJNHQASsj7-t#M5 zM3VZq>&+jft~=EzeKOXwKUm&5&DwPKO&RxOP4}-kmN~E5EUZ7+WkO=u{#0l%7B2%Q zRn_N3A`ioBoUG77kGr6SI#)hjlNSp8;Or1mH&ZfdZ{nS@_3*=xmDs0Wj8apEvvqV6qx#*n$cP^n+Srr%4(OPD8m($nnoa)T5v zpq`|fzDQ&)l6c#L^`~}>1?-$T5c%TNJye8)o?*UdSq5gIH}LZWA@@FR+~k-06-J)% zEnLP|SHAF#SC#>%IiyS`b(h{0?Qe^pPKtK`=mW=Z!MDfuZFgjjtRu&Js_@E@Z{6hA zfIrJzg6|U2E?{(1NRvnItHh8r^C5}{xzoI&1oX!sZte$#2Kzf*mh`SW+KC0ibvI%Z z)zaVZ*uv*!w_a&$jD_xlXgB-!?3FTsBme)=0as!&XU`#IKxx2PNEWt-M0^$(|jzo*ZlGWwQ>pvOLV4 zGnFYqq^0v-e-=(0fOv^?)*5sRoH6=nEpw@GKp5v-K>L?YVeTSL<#Jg>4B2&;+pd}9 zMyI|&sP;);w9}-Z>Hvh&Eb^iDbJaR@;@2bW@hAlFucL~n8Abptn`dOnSJ(vFU8c0W zu%ZRkyw=tzMQ;6$vI5y}HQo{E@}DEawD8-!je22-L<{?xI^74{DwNMneQ3jRl!hO- zX~*T4#hLP@Y`M(v;sK}}WE@jb=|3!fD#1j^wS7Il_iALyfZK>m0AW~6=wP>E>Y!VJ z@E5je2~#%mvPYHL@u8atsWh^q-!os}6wy!NfDLRtvRwc87CQA-%|>FuvW6}-4Jc0e7LSG7^5(p$$Ss;Cal{IZX2&8reI_X#j*z=Jzs2PWxhk#uD+f~ zgD_P@i3=T)MK+=d3&q=IJTOTl0F}jXOIdbh*PA|!KVtf>y>D*`PDH8Tfe+|OGF34q zp`%%^*)j5Wx}{zsw>m^_qyK{0c@QX_cy)Syc zcYXSFAw}88PLP!f9-UK#l%+dQ54W%?|Kd`a(z^_aX?y`8&l5`Xu))n+9xiQt1fs?) z?!Ax%L{swP@D&My^vYRCX!C$Z_iBE=iw--_2I0d1Yn7KX=2Jdzq*D^t=~$!1|I$xPEv7Wk z*;Yc{Vx@=Um2mQp6qfYmn7c#y`gxs{`S=3N@VnS^H#V}LBfgXmJ5mrj_yP;9Rc>j9-7CPm-cnZrBmH)%nXDvQx<_bod(_HU z!J_1@1gEQjRJ{4Tkb-#d1Cp2)t9dNlJ{BZ4qXh5UKN5}jjr$dn|25QpT$(V&AZsC& z)*DdO)*h&iUfrSl#$S=vFE>RyCJ`DybYmgrvv{Ao#)2hr==TLb)=T}{KBdl?mVaS4 zA5I|aWPd$h?!ZMwQJh!o6*!)kir_=4B+FQ2XC2|gw$-BX>Bg@}ObVw3re%N94?Nxx zI%Y$Xjz{`A_(VN{N5qs(WSKPN6TW#|0Mb@RJN=eShz?I40tjCWce~uuNDqI% zQoio~TM}Xr5%TmRLd0e;rl2Jr` zkTz^r#-{PfiGop*+})z{DJ!SueU;%y{w^bSnwGWV0oh2mGphDa#-=hsg=yl`x~#Wd zO~a_Xdy7tJML#??K4rWs_=`ORiH4bD-G4!WRjb6->k(=G0rMxcR(AB(BF=S0n<-$^ z9Iq={l3n)N_KhIE){U}Qu@?lizf~WRq=bW8iWw7vn!P$X{%7U%Ut{g9*C3y>Ov`?UF77jd^96pd09~XL#Sn@SQqR6Mgm>tS*d7Q@CQu`MK~DLdN2@;`kGbk2U`mAb92Fu#2ew|XcvWw`dv--S!cW|q_Y^%KP z#yuH61;LQj96}X>Cu`^0qxq*n&ZF_Ym3g7Wv}^I#j>6BWP2rOGo*xNxgb^Ld81h*f zP1gNLV9riwlO>}OI)-P9ZU;2>Ww^_R;MeQlV8Q0tp+uT(?Ij9TA?^x+PE@`(AHNS;A}Uytms#2c)vM8}vF#jr3|+z=@CDf?@NLWr zy}xJo8p$}=+GL&k`Z|Zcg=YACx!y-1O_Q2%#x;S*cYXU<(%#J8j<|=HBhWPLl0edv zu%Vo_IFUMrVC2DPA`FN0M!V&T_K%eJxLN6B8lgl*jsVw^Ui=?9c`EUbM*hLiJ|;NN z4deXEM|k1x$*sV`5zjouCjsPPo_5}oF39722{v2PG;6m z{8FwD6-@*#wY$$vN?RrAoQDHW0xpfBj@2$gn#epS!6l0o(pO*N^hcuOH;4<}2s=v5 zljpCS$8K;nSbIk>>t<}|72>w}nH0MPN%&FJ$=K@Ktfu#BJhR7Ep>*HHp*8VdLUt;A zt?*)&^D2c~*XiJ=FN0T%EM(M4#5Bm?ufIj%-HPO21&Mj7w$dx2p{rKqZ9A6=sjydr zUQ+hG&}Ut8@7T9;Fx_u;OxrQe9;aP%hgAlY4y8B*9JNz6^EVJ@HCq{I`laPO12$rMe3AZ9;L!iS=}OIsFZd#OmVio z^C8YJM+NnBS%stZuWTnhYgv!dqPe47as{-jQ_0xnA~b8i_=!HV`z^}DF<_qH=y^@9 z#QjphzFAgEp8vU)L5|0}6w&VTQxsY(ajcG5er03PO5Bq{tp6!?#iv`R-iL?LUElI1ezX`|i72x; z0w0xg(7Z=+;}P-8?Nbm+Utsm9V`N$C*Ux4DzOeJRHT%$S)3>*kHq*`6G(I%fuVHjM zg7+aZhpLpdNokR_`K^yN*NkU44vYJwm=LANw9pi>X(6*Fbd=`Yxi8Ji9ASqihyR0c zlRWjI_fnR}*)dvHHut?_vMWgi`K8R~GGrzJAmz6(e+Ej-To*0PN2#^Mv_H1GC$!2> zf#wZ;TMv}_7&TRfq7XWw4sx}~@Kr5=c=~MBNP#oJgU2&zO)Ozk3awxCT?%G9y(|AV zD8$|<&ai?vdxSOrOsV-091f%oke3QQOrIaC0VmcA~botX9LWO`T2@^HWB^yQwI&R7Pal=6ln8?Gb{`9#;h_dnMapx0$HNm z@k+;vtpg)|*bTVt4{R2Gr&}SDwFiFF1}~QdFj4JX@!m{pxAJJyu`2L)SG= z`&zLi(_UQ>*>=t((Nm{V{|nnOI46|_X@+a0Q-Qr`GPdoLHuMXDdUDi>4g7E@k= z>7nwwH9V7O_{X;%yQ-grB;<*6Qsm>nphTIL=xu6j(afBCA(k}gv`uM~Q#5a`mBk`4 z^f7+R&RvQyejTP%)xivtES?m!w=|PU$cb*%?fS+f6PY(|vU--hu83o?fC{yA;;Am& z+t+?R*50#K0Ic**dq5ied?$e$hlD-FcaXRiHynp0LDGJ^+)S^D(E?1Vjg!EHoK1Dz zkLyeq1nRWf1n_1uN%xLV^mi;z0Gc`t0vE4y)yp!Uilw3Se^H6gNPREqvkQ07)vvo* zrbi5~yc|O*^HAIfc3q$kFt4-rpVt9I;4?$X*DO-NmR_9IE}&W!+GIOLyA(@1mN)EJ`9QB}O2eSIkgNr-7D zzmev#$9uj|D|~(zXrS`KKA^>qp`2o}S3v99R}b3TyY`9lQ(63`GJOlFvZ#%Kh9WES zqQSbHkWTaqB^8qKx-GUOshoSn+mis7#hJjTIH^1L?JCn}J%u#nT?;vhM)n89IkV;? z`>ds|ZNe3Mvy^Nq>h8KlV!34txKaiaVo$~q^@+7h*u}sV0`}wLr;XuNN?Ccll|F1C z^nE*YTrbx)31ivvewKmEZ0ljnV_iaZCbI`bW zcRdUEBQE=~iG)1f?ovSuLn*Po=x0HuA-8Q$;MDvnPZ}Eh$%>>!jZy;&cV8v-#q&kf zAeGuue!lzRGSaEbc^mubbBGolyvB-)_jdkHya#W2;BcmJnoHVem|`ufiaIv^#-$eG ztk?GtB=f3^`MNB8y`QN`zw^9Y7^M32;8A|vV5FQ}F0t9E%&$Qo6_v0VLK@u>i(Ex9 zt??CslxTd@v5V1GZMT=cZ;7udak74UsYoi3k$vY!dY50W!?5~i#Wa`;evWuVF2|rI zn-j7@oi`Ml7{Qolu@$+?-qE_Hr1P|&yv2rcAe@yk_S>eNX82Q5q+8&v0bC*sFLp}# zfq-F?>LA6YwaS{&UC#O`ggVz#Ii{2i&9w7V^!Wq)t@NoOj1jV@2U(-qQhj@r{qyeh zCQJ%5A~4euS0d3R1D*M!0c#jAIJ}(Y!76n;eN4(q?ldma+lD{3&3c+6cc&^mPbrte zzeR$KUx)kEZd-9&pBS1C_Ev=PEab?@+`(v*kBpLh^W{);d@4>*_{KMuP{Bp)_pOd2 zq6i8>-cd?~+R$;1|1}ePqo3lMMUhF(nf{{NeaeY^!J57MA=(2nXxh2bk(Ju0dH##f z29B#zBCOeEZ3n&*t(KAzJ)`Wmt)-QDpPnlrTN0TF3%c7Ai#-AWF?gZCN~3jnH;v-n zclJh`90yqHQVX2wDyx3d*|}%Mw`OUKNhG%zXvp>E#XE}7ImzSHQD|w?3!7%CGShC4 zv;seV>mSGYgxX&hjPDajf6yRF_?W6}PN<_qb7=T@?8X=7mhP_+Wnj4CGnnGJ$UIoH z=iU`~gJn3Em>J8F!E|9w-;f=V;%5Q$w;nWRQ;HWQB7%?os&{bKW1is~7kbwLx*k^U z2RLKY@`_(%)XgA8^5eB7Q<_NiLheZ5i&Iq`#)>H&GI5(BAHQ|G@_m;LHIXbvJD0jU zTbtr8EuV|bDaP-nIuA!6Onj_zRJ>_bvVg+}!g1{m)b^?P`pZ9^9T38I@4q6ypxE)G%Oz8d zWL6Qr2CWnSnI0ib27j5>22Bz`Mj2ei!0r~HNH^hJT!HbJ%2jUh>i)jB(d)FQg<+jE(yF|vdi%TK3 zMT98~Axug|ZW)qWNQ5?(JL4{-!rnzgQ%D9ACMhG0OOdHuM#(*wE=-IJ<2nuItgo{> zXM6Us&+hzj{^GBB9z3(Y^{#il>s#;dQk-P^1Tt!?l5Ip`6C?awUJIM#DXw~O>^ZT# z$S+_>@?-3~4+!sxeKDA$Yxr^bLhH2$fpX@i899!NRiT=R1_|w)9g`~1?Krc>xk#0& zQz~%QVyBW|{p;)|+Eu9M192!MxjZsNB}rd&dsyuJG=sGst-CYuVL%>}?s*pU^pogn z{3Jin1~@7gTxfmG?8cZSKi|!_JaTuP;HY{CXsdaB&#Jv~KmGiv9o=?mz%iUG)GTw| zSo3n&LH!+quJ;8nNFL$w6OA#ycq}mOqIn8Kr4o&alaBi}V}CJ9&CjnlNX=Bk$z&SD zc{L^9R8uL7@*foQ>JT@JytZ)UOmXkx&xjY{uV@F`D$uufD&24r>X*9}E#vVufE2sQ zG9`K7bRqsgQ1s;B*3B}vFr9Bu&Dxowlx^WARvp*?EM*-nT;b9nC8R36@*Qo?ou}z- zoIf1FamIPIhWL(c#ft0olbcJ-9(CZU8a<7nmTfN0r&-A`o|6_&(+m%v0ptxLgT^^u zSvz~7wI!SN&^|{<*O?=1OQUQK{up}8D;+i3ueL#PGINaKuW)p|=h2?0;aM);!}D05 z2;%Hx(?PP)VO1r?rWjwiUgUsI*Ho}9*-&$*q&6;Z!tAO{AuIfF(FUHQ0J6|9E8GAc zb@52Uptg+Oq0+I{?;bCH(28eNck&F2RM2d9B8Mn~TQu`%@7pk1%}r#z#|{9=Jng@& zRj6~QGFQk?H`$w^`pM(TR=JHoi+5Mtte+Xu!zVD_YkdH^=?P}D^P0D%0pL~-=i-K@ zFLrlSwV$uTm68B@JZ-qsdWMdWh!7nQ7OU&W7D`*Kv(yg;J@g%GpIw{({hZL^3gq9n@1V^vLWR&1edvVWcdDFPrE*dcNb#Q z=@@OqVz(}!m3Hjgk^k%QbR%kBk8`oHtszUsrcsys1non@H=1D9F@%$Ch(X9=3L8II84!)EkGR1+tNnnmV}MC_t@m&&Be0? zp4q@>yNX3j@&-l1vn1?WF9hi|+__fmFpwm~=e%jC!|Rl`cv=$S_T1#&J4`;Aen;v~ zKOUNad@IZ7Vhy=Or|hCR{QYHby(hb09LmLuUEhA!&|RlZ=mf``F#L&LAGW{N52-4x ztB8y5`I0%mfT{ZI>i$IYc8@wRXZ!Nfv0{gDDinX<3L z7(+VO+haVaUu@BdpED3l3N7~N8Y*~r%t^gDnJT5H>CrLgot@~SvC)CmJd98DelnQa zoQ&S`DMU;qJhrB!w_w5`+U7jAM!Ela?b+C|IrxJJ*7;2oUcGXsUfw{afpjy<-uPVO zg!n)_%DxA&j~(lkWFzSVmaOUXXldhf#VQL~u3AJ&-UI%s?1KGnC zEAqbH{j$XzaPCkJ{M)R%x1KS;UKQGW3yID$PThdNpD}HB>Y!*`*`3nI1^m7a8EJca zsg~2x3g+mG+f(XN;(RYa%Hi~NCs|1IqBsEyI|j_JWj$;_^|k`TPgQik{A%g^gjSP0 z-AR0+xo+dmY+k}4;ZL$}5$h#Tim>Aa7Do`omK(Pjw1BJX?Pm(k9FWb%JGXsJ=aiG< zO}|3KX03&()+YiY7V3!#nyZz>#?%C0~I%~6YjnLoW+lr!Rf{?RD5cS$6spUWhmmxw}sZF=JFT{?|(0yoSww6 zQP4YfDY1o{)49ppQvC&{*L@@`Es+*Uclvx z80%m6-PK%41jO&Jil*X7`3D;IX0Vh%V@m1iczA67oudG(IB}PC2#E z)x0N99sUB`N=p_y7-j6rJ|d3Mu!iTnr9*N=t!FHZH$m`$5-=$H z{Vh0b$H|=M(~O}B-1w|ll_UgIP@%GyzxBIf!sfpK+(J{&@=_G$`cckcf7)C&uGUy>dAd;Sg_FES&**xm!=+>; zptR8jdgdeZI~j^CB(7T2&{Y`*cbizZiVxh(dvlTgPJP!DpNH(a+~my2e)>lewf951 zj1VWlr3lV!x)S!$b~$tg5Vh%91ODb|=-e>CT|oYpo~c&W1&}`a2;_+A-2~?SHFMtc zUQs)&s|LLqk_dQ6-bZA1G51Rg0yUMAv_K$m^Iq&_3`C?p zdqO#Tpghxd$2btYf!o(GrlYQD8LX)gnFCB(Rga1;4*(>FG)ggTo6r*W8@hnouwkBCD!94m}&&zcF9YUIjRp8!bO; z;0@nE6wsCZKD^%*nFU#ZXn70)w#FfU(7`p)F;lMs@SngBy8{d5Uq9RJB~^#GF1c9h z*3q269}I~!4A#0-yEryXuwIqrYNLYu_BfKwN@ph^SftybTDD z+uUhB4ZwBtyd6B`5!?)->I9iQcBVjDTEH4Pb%#{wp(qs3H=UF8CP>1JS>C@EQbK63 zgAm~(K!oEA_{Ubon!tm7kci-X_UuM;CyCYbj+xx9qS^W=C(u6hVof}Q%xkf)^8Rw= zKjoW$ofpy1t!GEmJR1cht+GM@ofeYn@_KW}5wK7b6RiPjYT<4NbQKQ-fYLIi$YzZ! zn4gx&8&?h_MqyQ$uTJyHwnKPE0Yd)6uYf?mr$jP0+9j0wEd4VzIu67}=IY{+lp)=|S72P)iv ztup~Ky+cFPn@2z)%NlIh9aF`z#($-NRk8s~Pwgj_yknlY{~D5`ySF__^UhZQ-R^B` zN2q;(^sS2V{@cLv-@0xdFzt)`0CMD!4&>xeQVi>6x=IUTRVK~8fcTyA2lz`nlv-5K zz2%U9ORk4%!tqMNwgZz8=e8L4*27W&*lU?yo2vjDe2e@z7)xcy^u3e4 z%&$Q7rX313SPmx|>@tBo5~K+Pt&!z7&Oc^J&Do70EBIzc0cFeqsts+6Y({^%`r0k$ z^bhh-ptk6gqJB^iv2w;USi82F{|lLKupN9)ppBM2>!#OMYybr!EEnarR@0c@c#EtPGnHD zuFft7(wA>S{OP$?tufpMhFGUv^L%;a>>u+-^h>=Y7ndOG$N?1k_oL7i5_r{}=;L@- zE`K)qbBJmZpy39sEf4ykI7|R`kwzc8zi9cR^U`Jd?UBVwzz~HQT%tb~hdxkZ>q9wD zrvE(r{}8tC)3hBL;s?or4?h%#dOM&i6U2xh{aDcJzz_||KiQLiXzqic)L|?z+W%hA zzX#d|3^5@v^74<(y$@K;D+%|n)ce7N`#$$8N%lRzz9r*Ik}atSVk=3uWZPd!vL*EZ zu~NyF6znT2mF$m)?ElZvaix+i$;t2KY^9Q|RI(*A@UN5Nw-jBeWJ|JUrILN$H~#rf e`hTuu^Ll1-DN!9`_s?^IpCboN4;1friv9;c&EbUr literal 0 HcmV?d00001 From 9c84527d43d2d18e74d24266a72f7e2a256bd421 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:50:06 -0800 Subject: [PATCH 06/17] fix image ref --- src/pages/identity.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/identity.mdx b/src/pages/identity.mdx index 06549270..4fc582f6 100644 --- a/src/pages/identity.mdx +++ b/src/pages/identity.mdx @@ -14,7 +14,7 @@ Web3 users maintain different names across their communities - a .base.eth name XMTP solves this by offering a single messaging identity for all your web3 names and wallets. Whether you're using *alix.eth*, *aa.base.eth*, or *@alixnotalice*, your messages all flow through one inbox, accessible in any XMTP app. -![Diagram of XMTP identity bringing multiple names into multiple apps](https://media.cleanshot.cloud/media/96001/IY8tkzyr6V6OmOmi1qnOiYAAx1MZ9b5WVwK2PJXO.jpeg?Expires=1732065943&Signature=XpbAik5hFjXpIp8NkV1aQM9K~vwv5FDBPGrnaEsujdt68thwJNKr2G-8ptlmb8eMSSrH8ukgZLGcPYvnoXC~z--neNPMTV7bmtoWOVIM8YEjLMdbtbZQxJbxgybrZupKPtLS3T5MFiHS9ZH45bVBVZi6OPJ5O2ynbs5WCbGqKsK85uscdKWRooc71Bord9L7TtBTlWqkliZau-hPguAFFKGJ3ccYxNgP-7gYP44dmKtdCVVqXyRJyPNGi1lKTIokFyQUzaKpoaf3bLyBhOyUPvi5XgJ-wWJIyDthBwDRtSh8SLFCIG5mTS4sWydLawZ6vkBIjWADmR1RuA7g5tff1g__&Key-Pair-Id=K269JMAT9ZF4GZ) +![Diagram of XMTP identity bringing multiple names into multiple apps](../../static/img/identity-1.png) ## How it works now From 305cd7bdf8dbb276ced83167a156c9d60095472d Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Tue, 19 Nov 2024 17:52:09 -0800 Subject: [PATCH 07/17] fix broken link --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 85145c72..03c709ef 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -47,7 +47,7 @@ Today, the XMTP network is free to use. The decentralized network will have a co To sponsor transactions on behalf of your users client applications will need to pass in the URL to a payer service as part of client creation. The payer service is a small, stateless, backend service that holds a set of keys used to sponsor transactions and signs messages using the application’s account. While this may sound similar to a smart wallet paymaster, the payer service serves additional crucial functions: it enables off-chain bookkeeping and enhances user privacy by preventing the linking of senders to their messages. The service can be self hosted by developers and will be responsible for deciding which messages should be subsidized by the application. -If you are interested in building a “payer-as-a-service” platform that can be used by many applications you should [reach out to us](hi@xmtp.org). We’d love to help support the development of a platform that helps app developers avoid running their own payer backend service. +If you are interested in building a “payer-as-a-service” platform that can be used by many applications you should [reach out to us](mailto://hi@xmtp.org). We’d love to help support the development of a platform that helps app developers avoid running their own payer backend service. Complete guides for setting up a payer service and funding your account for sponsoring messages will be provided at least 3 months before the launch of mainnet. From 9a0417549479b7d5a9a3e474f6a2e330e7edd404 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 14:59:39 -0800 Subject: [PATCH 08/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 03c709ef..42eb7e88 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -1,6 +1,6 @@ # Decentralizing XMTP -Today we're announcing a new chapter for XMTP: a decentralized messaging network powered by the MLS Standard - the most secure and private messaging protocol available to developers. Our entire protocol is open source, from the [node software](https://github.com/xmtp/xmtp-node-go) to [the SDKs](https://github.com/xmtp) to the [Converse app](https://github.com/ephemerahq/converse-app). +Today we're announcing a new chapter for XMTP: a decentralized messaging network powered by the [Messaging Layer Security standard](https://messaginglayersecurity.rocks/) standard - the most secure and private messaging protocol available to developers. Our entire protocol is open source, from the [node software](https://github.com/xmtp/xmtp-node-go) to the [SDKs](https://github.com/xmtp) to the [Converse app](https://github.com/ephemerahq/converse-app). Until now, the backend of the network has been centralized. All the nodes are run by Ephemera. It’s time to change that. From 3b9efaeb8dc0592b8c7f5d9c0306f15ee90df76f Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 14:59:48 -0800 Subject: [PATCH 09/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 42eb7e88..9e966146 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -8,7 +8,7 @@ Until now, the backend of the network has been centralized. All the nodes are ru 1. Devs are tired of getting rugged by platforms who can change the rules any time it suits their business interests. 2. Devs want to be owners of the network and share in the economic value that they are creating -3. Devs should feel confident that the platform they are building on top of will not live or die with a single company. +3. Devs should feel confident that the platform they are building on will not live or die with a single company. ## How does the network work? From 95f1a95c690eab617bb791f9d77d15745b551997 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 14:59:54 -0800 Subject: [PATCH 10/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 9e966146..068e3906 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -2,7 +2,7 @@ Today we're announcing a new chapter for XMTP: a decentralized messaging network powered by the [Messaging Layer Security standard](https://messaginglayersecurity.rocks/) standard - the most secure and private messaging protocol available to developers. Our entire protocol is open source, from the [node software](https://github.com/xmtp/xmtp-node-go) to the [SDKs](https://github.com/xmtp) to the [Converse app](https://github.com/ephemerahq/converse-app). -Until now, the backend of the network has been centralized. All the nodes are run by Ephemera. It’s time to change that. +Until now, the backend of the network has been centralized. All the nodes are run by [Ephemera](https://ephemerahq.com/). It’s time to change that. ## Why decentralization matters From f321f0b1cade5f6baf3b6689c1162751368f5861 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:06 -0800 Subject: [PATCH 11/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 068e3906..70215d59 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -45,7 +45,7 @@ Most changes to support the new decentralized network will happen under the hood Today, the XMTP network is free to use. The decentralized network will have a cost associated with each message sent. We are designing the network architecture to minimize these costs, with the goal of making them practical for application developers to sponsor on behalf of their users. Mainnet cost estimates will be published in February 2025 after completing load testing of the testnet and fee mechanisms. -To sponsor transactions on behalf of your users client applications will need to pass in the URL to a payer service as part of client creation. The payer service is a small, stateless, backend service that holds a set of keys used to sponsor transactions and signs messages using the application’s account. While this may sound similar to a smart wallet paymaster, the payer service serves additional crucial functions: it enables off-chain bookkeeping and enhances user privacy by preventing the linking of senders to their messages. The service can be self hosted by developers and will be responsible for deciding which messages should be subsidized by the application. +To sponsor transactions on behalf of your users, client applications will need to pass in the URL to a payer service as part of client creation. The payer service is a small, stateless, backend service that holds a set of keys used to sponsor transactions and signs messages using the application’s account. While this may sound similar to a smart wallet paymaster, the payer service serves additional crucial functions: it enables off-chain bookkeeping and enhances user privacy by preventing the linking of senders to their messages. The service can be self hosted by developers and will be responsible for deciding which messages should be subsidized by the application. If you are interested in building a “payer-as-a-service” platform that can be used by many applications you should [reach out to us](mailto://hi@xmtp.org). We’d love to help support the development of a platform that helps app developers avoid running their own payer backend service. From 311c88a70062dd3b34e150c897720ccedba06865 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:14 -0800 Subject: [PATCH 12/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 70215d59..0dbf95a5 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -75,7 +75,7 @@ It’s helpful to go back to our design goals for decentralization. 2. Have extremely low messaging costs 3. Be credibly neutral and censorship resistant -A smaller network of nodes is better for achieving these goals. For a message to be distributed to all node operators requires less bandwidth and fewer hops with a smaller network, and there are “less mouths to feed” to reach economic sustainability for node operators. This allows us to deliver high performance at a relatively low cost. +A smaller network of nodes is better for achieving these goals. For a message to be distributed to all node operators requires less bandwidth and fewer hops with a smaller network, and there are “less mouths to feed” to reach economic sustainability for node operators. This allows XMTP to deliver high performance at a relatively low cost. A network of 20 node operators can still be credibly neutral and censorship resistant so long as the group of operators is sufficiently diverse to prevent collusion between operators. And the network is designed to achieve its censorship resistance so long as there is a single honest node. From 3a46d5ba5c64fda5dca12d3016322d273a35bf84 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:24 -0800 Subject: [PATCH 13/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 0dbf95a5..c181c288 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -27,7 +27,7 @@ Two distributed systems will coordinate these interactions. - The `IdentityUpdates` contract manages the list of wallet addresses associated with each XMTP inbox, enabling users to use multiple authorized wallet addresses to send and receive messages from a single inbox. - The `GroupMessages` contract manages group membership changes, ensuring that all clients have an identical view of group additions and removals in the correct order. -For more specifics, follow the team's progress in [the xmtpd repo](https://github.com/xmtp/xmtpd/issues/118). A detailed XIP outlining the decentralization process will be published shortly. +For more specifics, follow the team's progress in the [xmtpd repo](https://github.com/xmtp/xmtpd/issues/118). A detailed XIP outlining the decentralization process will be published shortly. ![Diagram of actors in the XMTP decentralized network](../../static/img/decentralizing-xmtp-1.png) From f643217f769e188919635171229b75dafc7327e6 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:30 -0800 Subject: [PATCH 14/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index c181c288..16a00098 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -67,7 +67,7 @@ The XMTP appchain is an L3 blockchain built as an Arbitrum Orbit rollup that set The XMTP broadcast network is a small group of 5–20 nodes, each run by a separate organization. It replicates messages across diverse geographies to ensure availability, control latency, and enhance performance using scalable infrastructure. -**5. Why can’t anyone run a node?** +**5. Why can’t just anyone run a node?** It’s helpful to go back to our design goals for decentralization. From 1bdb5773d767ecc4e964c98f93b507d4b0e93127 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:37 -0800 Subject: [PATCH 15/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 16a00098..a4eea10c 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -69,7 +69,7 @@ The XMTP broadcast network is a small group of 5–20 nodes, each run by a separ **5. Why can’t just anyone run a node?** -It’s helpful to go back to our design goals for decentralization. +It’s helpful to go back to the design goals for the decentralization of XMTP. 1. Have a network with the performance and latency of web2 messaging services 2. Have extremely low messaging costs From 407571ea99bc5c0832ba1c270c98a01d5d597e93 Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:44 -0800 Subject: [PATCH 16/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index a4eea10c..6f4d12bd 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -81,7 +81,7 @@ A network of 20 node operators can still be credibly neutral and censorship resi This architecture reflects the blockchain trilemma of balancing security, scalability, and decentralization. Security is non-negotiable for a messaging protocol, and we believe this design strikes the right balance between scalability and decentralization for our use case. Messaging demands higher throughput and lower latency than financial applications, while having different trust requirements. -The security of the network extends beyond the node operators themselves. Just as optimistic rollups use fault proofs, our network allows any participant to submit cryptographically verifiable `MisbehaviorReports` when nodes violate protocol rules. Looking ahead, we are developing an automated node selection process (likely involving staking mechanisms) to ensure long-term sustainability and decentralization. +The security of the network extends beyond the node operators themselves. Just as optimistic rollups use fault proofs, the XMTP network allows any participant to submit cryptographically verifiable `MisbehaviorReports` when nodes violate protocol rules. Looking ahead, we are developing an automated node selection process (likely involving staking mechanisms) to ensure long-term sustainability and decentralization. **6. What are the messaging fees and who pays them?** From 064d4a5c9b799355dd6209f1f1ff208d7c70c45a Mon Sep 17 00:00:00 2001 From: Saul Carlin Date: Thu, 21 Nov 2024 15:00:51 -0800 Subject: [PATCH 17/17] Update src/pages/decentralizing-xmtp.md Co-authored-by: J-Ha <5481259+jhaaaa@users.noreply.github.com> --- src/pages/decentralizing-xmtp.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/decentralizing-xmtp.md b/src/pages/decentralizing-xmtp.md index 6f4d12bd..5138f9c9 100644 --- a/src/pages/decentralizing-xmtp.md +++ b/src/pages/decentralizing-xmtp.md @@ -12,7 +12,7 @@ Until now, the backend of the network has been centralized. All the nodes are ru ## How does the network work? -In this decentralized network there are three types of actor. Each plays a distinct role in delivering a reliable, high-performance, end-to-end encrypted messaging service for users. +In this decentralized network there are three types of actors. Each plays a distinct role in delivering a reliable, high-performance, end-to-end encrypted messaging service for users. 1. **Clients** will protect message confidentiality and integrity by using end-to-end encryption and signing message ordering metadata. 2. **Node operators** will deliver encrypted messages as directed by clients and temporarily store them for recipients who are offline.