PageSourceSearch

https://www.arkhai.io/assets/js/9d65c4bc.02540979.js

js arkhai.io collected 2026-10-08 20:55:33 UTC 8,520 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkarkhai_website=self.webpackChunkarkhai_website||[]).push([[5771],{21545:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/index","title":"Resource Exchange","description":"Peer-to-peer trading protocol for diverse computational resources (compute, storage, bandwidth). Uses symmetric \\"maker\\" (initiates) and \\"taker\\" (responds) roles rather than fixed buyer/seller hierarchies.","source":"@site/vendor/cgt-docusaurus/docs/applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/index.md","sourceDirName":"applications/resource_exchange_marketplace/two_party_exchange/resource_exchange","slug":"/applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/","permalink":"/docs/modular-markets/applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/","draft":false,"unlisted":false,"editUrl":"https://github.com/arkhai-io/cgt/edit/main/cgt-docusaurus/docs/applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/index.md","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"title":"Resource Exchange","sidebar_position":1},"sidebar":"docs","previous":{"title":"Two-Party Exchange","permalink":"/docs/modular-markets/applications/resource_exchange_marketplace/two_party_exchange/"},"next":{"title":"Distributed Computing Marketplace","permalink":"/docs/modular-markets/applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/distributed_computing_marketplace/"}}');var a=t(74848),o=t(28453);const i={title:"Resource Exchange",sidebar_position:1},s="Resource Exchange",c={},l=[{value:"Protocol Flow",id:"protocol-flow",level:2},{value:"Information Flow",id:"information-flow",level:2},{value:"Key Innovation",id:"key-innovation",level:2},{value:"Related Documentation",id:"related-documentation",level:2}];function d(e){const n={a:"a",h1:"h1",h2:"h2",header:"header",li:"li",mermaid:"mermaid",p:"p",strong:"strong",ul:"ul",...(0,o.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.header,{children:(0,a.jsx)(n.h1,{id:"resource-exchange",children:"Resource Exchange"})}),"\n",(0,a.jsx)(n.p,{children:'Peer-to-peer trading protocol for diverse computational resources (compute, storage, bandwidth). Uses symmetric "maker" (initiates) and "taker" (responds) roles rather than fixed buyer/seller hierarchies.'}),"\n",(0,a.jsx)(n.h2,{id:"protocol-flow",children:"Protocol Flow"}),"\n",(0,a.jsx)(n.mermaid,{value:'graph TB\n    subgraph "1: Market Formation"\n        AGENT_MAKER["Agent Maker<br/>Has resources to offer/seek"]\n        BROADCAST["Broadcast Exchange<br/>PubSub Topic"]\n\n        subgraph "Individual Agents"\n            AGENT1["Agent 1<br/>Evaluating broadcast"]\n            AGENT2["Agent 2<br/>Evaluating broadcast"]\n            AGENTN["Agent N<br/>Evaluating broadcast"]\n        end\n\n        subgraph "Exchange Evaluations"\n            EVAL1["Evaluation 1<br/>Can fulfill? Want offered?"]\n            EVAL2["Evaluation 2<br/>Can fulfill? Want offered?"]\n            EVALN["Evaluation N<br/>Can fulfill? Want offered?"]\n        end\n\n        AGENT_MAKER --\x3e|"Broadcast: Offering X, Seeking Y"| BROADCAST\n        BROADCAST --\x3e|"Message propagates"| AGENT1\n        BROADCAST --\x3e|"Message propagates"| AGENT2\n        BROADCAST --\x3e|"Message propagates"| AGENTN\n\n        AGENT1 --\x3e|"Evaluate compatibility"| EVAL1\n        AGENT2 --\x3e|"Evaluate compatibility"| EVAL2\n        AGENTN --\x3e|"Evaluate compatibility"| EVALN\n    end\n\n    subgraph "2: Response & Negotiation"\n        NEG1["Negotiation 1<br/>Maker with Taker 1"]\n        NEG2["Negotiation 2<br/>Maker with Taker 2"]\n        NEGN["Negotiation N<br/>Maker with Taker N"]\n        AGREEMENT["Exchange Agreement<br/>Terms finalized"]\n\n        EVAL1 --\x3e|"REQ/REP socket"| NEG1\n        EVAL2 --\x3e|"REQ/REP socket"| NEG2\n        EVALN --\x3e|"REQ/REP socket"| NEGN\n\n        NEG1 -.->|"No compatible terms"| X1["Failed"]\n        NEG2 --\x3e|"Terms agreed"| AGREEMENT\n        NEGN -.->|"No compatible terms"| X2["Failed"]\n    end\n\n    subgraph "3: Bilateral Execution"\n        ESCROW["Mutual Escrow<br/>Both parties commit resources"]\n        EXECUTE_MAKER["Maker Executes<br/>Delivers promised resources"]\n        EXECUTE_TAKER["Taker Executes<br/>Delivers promised resources"]\n        COMPLETION["Exchange Completed<br/>Both deliveries made"]\n\n        subgraph "Trust Decision - Both Parties"\n            TRUST_PATH["Trust Path<br/>Accept without verification"]\n            SUCCESS_TRUST["Success - Mutual Release<br/>Trust-based completion"]\n        end\n\n        AGREEMENT --\x3e|"Post terms on-chain"| ESCROW\n        ESCROW --\x3e|"Resources committed"| EXECUTE_MAKER\n        ESCROW --\x3e|"Resources committed"| EXECUTE_TAKER\n\n        EXECUTE_MAKER --\x3e COMPLETION\n        EXECUTE_TAKER --\x3e COMPLETION\n        COMPLETION --\x3e TRUST_PATH\n        TRUST_PATH --\x3e SUCCESS_TRUST\n    end\n\n    subgraph "4: Mutual Verification"\n        VERIFY_MAKER["Maker Verifies<br/>Taker delivery"]\n        VERIFY_TAKER["Taker Verifies<br/>Maker delivery"]\n        CHECK_BOTH{"Both Deliveries<br/>Valid?"}\n        DISPUTE["Dispute Resolution<br/>Challenge process"]\n\n        COMPLETION --\x3e|"Either party verifies"| VERIFY_MAKER\n        COMPLETION --\x3e|"Either party verifies"| VERIFY_TAKER\n        VERIFY_MAKER --\x3e CHECK_BOTH\n        VERIFY_TAKER --\x3e CHECK_BOTH\n        CHECK_BOTH --\x3e|"Invalid delivery"| DISPUTE\n    end\n\n    subgraph "5: Terminal States"\n        SUCCESS["SUCCESS<br/>Exchange complete"]\n        PENALTY["PENALTY<br/>Faulty party penalized"]\n\n        CHECK_BOTH --\x3e|"Both valid"| SUCCESS\n        DISPUTE --\x3e|"No fault"| SUCCESS\n        DISPUTE --\x3e|"Fault identified"| PENALTY\n    end\n\n    style AGENT_MAKER f
1ill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style BROADCAST fill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style AGENT1 fill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style AGENT2 fill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style AGENTN fill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style AGREEMENT fill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style ESCROW fill:none,stroke:#4A90FF,stroke-width:2px,color:#fff\n    style SUCCESS_TRUST fill:none,stroke:#4A90FF,stroke-width:3px,color:#fff\n    style SUCCESS fill:none,stroke:#4A90FF,stroke-width:3px,color:#fff\n    style PENALTY fill:none,stroke:#4A90FF,stroke-width:3px,color:#fff'}),"\n",(0,a.jsx)(n.h2,{id:"information-flow",children:"Information Flow"}),"\n",(0,a.jsx)(n.p,{children:'Maker broadcasts exchange offer ("Offering X, Seeking Y") via PubSub. Potential takers evaluate compatibility and respond. Parallel bilateral negotiations proceed until agreement. Mutual escrow locks both resources. Both parties execute deliveries simultaneously, then decide trust or verify. Symmetric verification with dispute resolution if needed.'}),"\n",(0,a.jsx)(n.h2,{id:"key-innovation",children:"Key Innovation"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.strong,{children:"Symmetric roles"}),": Maker/taker are temporal roles (who initiated vs. responded), not functional roles (buyer/seller). Both parties have identical strategic options, information access, and verification obligations."]}),"\n",(0,a.jsx)(n.h2,{id:"related-documentation",children:"Related Documentation"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.a,{href:"/docs/modular-markets/applications/resource_exchange_marketplace/two_party_exchange/resource_exchange/distributed_computing_marketplace/",children:"Distributed Computing Marketplace"})," - Specialized instantiation for compute services"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},28453:(e,n,t)=>{t.d(n,{R:()=>i,x:()=>s});var r=t(96540);const a={},o=r.createContext(a);function i(e){const n=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function s(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:i(e.components),r.createElement(o.Provider,{value:n},e.children)}}}]);

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.