PageSourceSearch

https://www.arkhai.io/assets/js/1c522cff.47ad0e18.js

js arkhai.io collected 2026-10-08 20:54:15 UTC 6,111 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkarkhai_website=self.webpackChunkarkhai_website||[]).push([[615],{28453:(e,n,r)=>{r.d(n,{R:()=>o,x:()=>a});var i=r(96540);const t={},s=i.createContext(t);function o(e){const n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(t):e.components||t:o(e.components),i.createElement(s.Provider,{value:n},e.children)}},71443:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>c,frontMatter:()=>o,metadata:()=>i,toc:()=>d});const i=JSON.parse('{"id":"networking/mesh_gossip_pattern","title":"Mesh Gossip Pattern","description":"Overview","source":"@site/vendor/cgt-docusaurus/docs/networking/05_mesh_gossip_pattern.md","sourceDirName":"networking","slug":"/networking/mesh_gossip_pattern","permalink":"/docs/modular-markets/networking/mesh_gossip_pattern","draft":false,"unlisted":false,"editUrl":"https://github.com/arkhai-io/cgt/edit/main/cgt-docusaurus/docs/networking/05_mesh_gossip_pattern.md","tags":[],"version":"current","sidebarPosition":54,"frontMatter":{"title":"Mesh Gossip Pattern","sidebar_position":54},"sidebar":"docs","previous":{"title":"Push Pull Pattern","permalink":"/docs/modular-markets/networking/push_pull_pattern"},"next":{"title":"Orchestrator Pattern","permalink":"/docs/modular-markets/networking/orchestrator_pattern"}}');var t=r(74848),s=r(28453);const o={title:"Mesh Gossip Pattern",sidebar_position:54},a="Mesh Gossip Pattern",l={},d=[{value:"Overview",id:"overview",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Key Concepts",id:"key-concepts",level:2},{value:"Related Topics",id:"related-topics",level:2}];function p(e){const n={a:"a",em:"em",h1:"h1",h2:"h2",header:"header",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.R)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.header,{children:(0,t.jsx)(n.h1,{id:"mesh-gossip-pattern",children:"Mesh Gossip Pattern"})}),"\n",(0,t.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,t.jsx)(n.p,{children:"This section visualizes the mesh gossip pattern using compositional game theory."}),"\n",(0,t.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,t.jsx)(n.mermaid,{value:'graph TB\n    %% Mesh/Gossip Pattern - Peer-to-Peer Network\n\n    %% Peer Nodes (All Blue - No hierarchy)\n    P1((Peer 1)):::peer\n    P2((Peer 2)):::peer\n    P3((Peer 3)):::peer\n    P4((Peer 4)):::peer\n    P5((Peer 5)):::peer\n    P6((Peer 6)):::peer\n\n    %% Full Mesh Connections (solid lines)\n    P1 <--\x3e P2\n    P1 <--\x3e P3\n    P1 <--\x3e P4\n    P2 <--\x3e P3\n    P2 <--\x3e P5\n    P3 <--\x3e P4\n    P3 <--\x3e P6\n    P4 <--\x3e P5\n    P4 <--\x3e P6\n    P5 <--\x3e P6\n\n    %% Gossip Propagation Example\n    subgraph GossipRound["Gossip Protocol - Message Spreading"]\n        direction LR\n        subgraph Round1["Round 1"]\n            G1((Origin)):::origin\n            G2((Peer A)):::peer\n            G3((Peer B)):::peer\n            G4((Peer C)):::inactive\n            G5((Peer D)):::inactive\n            G6((Peer E)):::inactive\n\n            G1 -.->|"gossip"| G2\n            G1 -.->|"gossip"| G3\n        end\n\n        subgraph Round2["Round 2"]\n            H1((Origin)):::origin\n            H2((Peer A)):::origin\n            H3((Peer B)):::origin\n            H4((Peer C)):::peer\n            H5((Peer D)):::peer\n            H6((Peer E)):::inactive\n\n            H2 -.->|"gossip"| H4\n            H3 -.->|"gossip"| H5\n        end\n\n        subgraph Round3["Round 3"]\n            I1((Origin)):::origin\n            I2((Peer A)):::origin\n            I3((Peer B)):::origin\n            I4((Peer C)):::origin\n            I5((Peer D)):::origin\n            I6((Peer E)):::peer\n\n            I4 -.->|"gossip"| I6\n        end\n    end\n\n    %% Partial Mesh vs Full Mesh\n    subgraph PartialMesh["Partial Mesh (Selective Connections)"]\n        direction LR\n        PM1((Peer 1)):::peer\n        PM2((Peer 2)):::peer\n        PM3((Peer 3)):::peer\n        PM4((Peer 4)):::peer\n        PM5((Peer 5)):::peer\n\n        PM1 <--\x3e PM2\n        PM1 <--\x3e PM3\n        PM2 <--\x3e PM4\n        PM3 <--\x3e PM5\n        PM4 <--\x3e PM5\n    end\n\n    %% Fault Tolerance Example\n    subgraph FaultTolerance["Fault Tolerance"]\n        direction LR\n        F1((Peer 1)):::peer\n        F2((Peer 2)):::failed\n        F3((Peer 3)):::peer\n        F4((Peer 4)):::peer\n        F5((Peer 5)):::peer\n\n        F1 <--\x3e F3\n        F1 <--\x3e F4\n        F3 <--\x3e F4\n        F3 <--\x3e F5\n        F4 <--\x3e F5\n\n        %% Show failed node\n        F2 -.- F1\n        F2 -.- F3\n    end\n\n    %% Styling\n    classDef peer fill:none,stroke:#4A90FF,stroke-width:2px,color:white\n    classDef origin fill:none,stroke:#4A90FF,stroke-width:3px,color:white\n    classDef inactive fill:none,stroke:#4A90FF,stroke-width:2px,color:#FFFFFF\n    classDef failed fill:none,stroke:#4A90FF,stroke-width:2px,color:white\n\n    %% Legend\n    subgraph Legend[" "]\n        direction TB\n        LP((Peer Node)):::peer\n        LO((Message Origin)):::origin\n        LF((Failed Node)):::failed\n\n        LP -.->|"1. Epidemic spreading"| LP\n        LP -.->|"2. No central authority"| LP\n        LP -.->|"3. Fault tolerant"| LF\n    end\n'}),"\n",(0,t.jsx)(n.h2,{id:"key-concepts",children:"Key Concepts"}),"\n",(0,t.jsx)(n.p,{children:(0,t.jsxs)(n.em,{children:["Documentation to be added - see ",(0,t.jsx)(n.a,{href:"/docs/modular-markets/fundamentals/",children:"CGT Fundamentals"})," for theoretical background."]})}),"\n",(0,t.jsx)(n.h2,{id:"related-topics",children:"Related Topics"}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/modular-markets/fundamentals/",children:"CGT Fundamentals"})}),"\n",(0,t.jsx)(n.li,{children:(0,t.jsx)(n.a,{href:"/docs/modular-markets/patterns/",children:"Game Patterns"})}),"\n"]})]})}function c(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(p,{...e})}):p(e)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.