PageSourceSearch

https://elastos-docs.onrender.com/carrier/start/intro

html elastos-docs.onrender.com collected 2026-10-03 11:40:04 UTC 19,028 bytes, 46 lines download raw bytes

1<!doctype html>
2<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-carrier/start/intro" data-has-hydrated="false">
3<head>
4<meta charset="UTF-8">
5<meta name="generator" content="Docusaurus v3.9.2">
6<title data-rh="true">Carrier P2P | Elastos Docs</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" property="og:url" content="https://elastos-docs.onrender.com/carrier/start/intro"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:type" content="website"><meta data-rh="true" property="og:site_name" content="Elastos Docs — World Computer documentation &amp; guides"><meta data-rh="true" property="og:image:width" content="1200"><meta data-rh="true" property="og:image:height" content="630"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Carrier P2P | Elastos Docs"><meta data-rh="true" name="keywords" content="Elastos,World Computer,Carrier,P2P,decentralized networking,Kademlia,DHT"><meta data-rh="true" property="og:image" content="https://elastos-docs.onrender.com/img/og-carrier.jpg"><meta data-rh="true" name="twitter:image" content="https://elastos-docs.onrender.com/img/og-carrier.jpg"><meta data-rh="true" name="twitter:title" content="Carrier P2P | Elastos Docs"><meta data-rh="true" name="description" content="Peer-to-peer communication: device-to-device messaging with no central server."><meta data-rh="true" property="og:description" content="Peer-to-peer communication: device-to-device messaging with no central server."><meta data-rh="true" name="twitter:description" content="Peer-to-peer communication: device-to-device messaging with no central server."><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://elastos-docs.onrender.com/carrier/start/intro"><link data-rh="true" rel="alternate" href="https://elastos-docs.onrender.com/carrier/start/intro" hreflang="en"><link data-rh="true" rel="alternate" href="https://elastos-docs.onrender.com/carrier/start/intro" hreflang="x-default">
6<script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Carrier P2P","item":"https://elastos-docs.onrender.com/carrier/start/intro"}]}</script>
6<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Elastos Docs — World Computer documentation & guides","alternateName":["Elastos Docs","Elastos Documentation"],"url":"https://elastos-docs.onrender.com","description":"Elastos is not just a blockchain. It is a World Computer built on four pillars: Blockchain for trust, PC2 for personal cloud computing, Runtime for secure execution, and Carrier for P2P networking.","publisher":{"@type":"Organization","name":"Elastos DAO","url":"https://elastos.net","logo":{"@type":"ImageObject","url":"https://elastos-docs.onrender.com/img/logo.svg"}},"potentialAction":{"@type":"SearchAction","target":"https://elastos-docs.onrender.com/?q={search_term_string}","query-input":"required name=search_term_string"}}</script>
6
7<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
8<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
9<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
10<link rel="manifest" href="/img/site.webmanifest"><link rel="stylesheet" href="/assets/css/styles.f453b64b.css">
11<script src="/assets/js/runtime~main.4f617c2d.js" defer="defer"></script>
vendor: 1 bytes, line 11
11
12<script src="/assets/js/main.9e1f7aa0.js" defer="defer"></script>
12
13</head>
14<body class="navigation-with-keyboard">
15<svg style="display: none;"><defs>
16<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
17</defs></svg>
18<script>document.documentElement.setAttribute("data-theme","dark"),document.documentElement.setAttribute("data-theme-choice","dark"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script>
18<div id="__docusaurus"><link rel="preload" as="image" href="/img/logo.svg"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/logo.svg" alt="Elastos" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo.svg" alt="Elastos" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Elastos Docs</b></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/blockchain/start/intro">Blockchain</a><a class="navbar__item navbar__link" href="/pc2/start/intro">PC2</a><a class="navbar__item navbar__link" href="/runtime/start/intro">Runtime</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/carrier/start/intro">Carrier</a><div class="navbarSearchContainer_Bca1"><div class="search-trigger" aria-hidden="true" style="visibility:hidden"></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/carrier/start/intro"><span title="Start Here" class="categoryLinkLabel_W154">Start Here</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/carrier/start/intro"><span title="Carrier P2P" class="linkLabel_WmDU">Carrier P2P</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/carrier/start/architecture"><span title="Carrier Architecture" class="linkLabel_WmDU">Carrier Architecture</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/carrier/start/history"><span title="v1 to v2 Evolution" class="linkLabel_WmDU">v1 to v2 Evolution</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/carrier/start/boson"><span title="Boson Network" class="linkLabel_WmDU">Boson Network</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/carrier/users/"><span title="For Users" class="linkLabel_WmDU">For Users</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/carrier/developers/"><span title="For Developers" class="categoryLinkLabel_W154">For Developers</span></a><button aria-label="Expand sidebar category &#x27;For Developers&#x27;" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="page-badges"><span class="page-type-badge page-type-badge--concept" title="An explainer — what something is and why it works that way.">CONCEPT</span></div><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Start Here</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Carrier P2P</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Peer-to-Peer Communication: Carrier</h1></header>
19<!-- -->
20<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-it-is">
20What It Is<a href="#what-it-is" class="hash-link" aria-label="Direct link to What It Is" title="Direct link to What It Is" translate="no">​</a></h2>
21<p><strong>Carrier</strong> is Elastos&#x27;s <strong>peer-to-peer (P2P) communication</strong> layer. It lets devices <strong>find each other</strong> and <strong>exchange messages</strong> without routing user data through a single company&#x27;s servers. That does not mean &quot;no infrastructure anywhere&quot;; it means <strong>no central broker</strong> that must see plaintext or own the relationship graph for every conversation.</p>
22<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="architecture-high-level">Architecture (High Level)<a href="#architecture-high-level" class="hash-link" aria-label="Direct link to Architecture (High Level)" title="Direct link to Architecture (High Level)" translate="no">​</a></h2>
23<p>Carrier stacks application-facing APIs on optional addons (for example <strong>Active Proxy</strong> and <strong>DHT Proxy</strong> for relays and bridges), a <strong>Kademlia</strong> DHT for locating peers and advertised services without a central directory, and encrypted transport keyed to node identities so relays are not expected to see plaintext. For detailed architecture, see <a class="" href="/carrier/start/architecture">Carrier Architecture</a>.</p>
24<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="implementations-c-and-java">Implementations: C++ and Java<a href="#implementations-c-and-java" class="hash-link" aria-label="Direct link to Implementations: C++ and Java" title="Direct link to Implementations: C++ and Java" translate="no">​</a></h2>
25<ul>
26<li class=""><strong>C++</strong>: The primary native implementation, suitable for mobile, desktop, and embedded targets where performance and binary size matter.</li>
27<li class=""><strong>Java</strong>: A <strong>server-oriented</strong> variant with practical differences: <strong>CBOR</strong> encoding instead of the C++ stack&#x27;s <strong>JSON</strong> framing in places, a <strong>Jetty</strong> HTTP server component where applicable, and NaCl-style crypto brought in via <strong>TweetNaCl</strong> for the Java crypto story.</li>
28</ul>
29<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>Porting and debugging</div><div class="admonitionContent_BuS1"><p>If you compare traces across languages, mismatches often show up as <strong>encoding</strong> (CBOR vs JSON) or <strong>session state</strong> differences: not &quot;wrong math,&quot; but <strong>different wire formats</strong>.</p></div></div>
30<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="version-1-classic-c-toxcore-heritage">Version 1 (Classic): c-toxcore Heritage<a href="#version-1-classic-c-toxcore-heritage" class="hash-link" aria-label="Direct link to Version 1 (Classic): c-toxcore Heritage" title="Direct link to Version 1 (Classic): c-toxcore Heritage" translate="no">​</a></h2>
31<p><strong>Carrier v1 &quot;Classic&quot;</strong> was built on a fork of <strong>c-toxcore</strong> (the same lineage as the Tox encrypted messenger). It emphasized a <strong>friend-based</strong> social graph, with <strong>ICE / STUN / TURN</strong> for NAT traversal. That model works well for <strong>mutual-contact messaging</strong>, but it is narrower than the <strong>service-centric, DHT-first</strong> design Carrier v2 targets.</p>
32<p>The Classic ecosystem <strong>spun across multiple repositories</strong>; those <strong>v1</strong> lines are now <strong>deprecated</strong> in favor of the current architecture. If you read older posts or forks, expect <strong>friend requests</strong> and <strong>Tox-era assumptions</strong>, not the modern DHT + proxy story.</p>
33<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-carrier-fits-the-elastos-stack">How Carrier Fits the Elastos Stack<a href="#how-carrier-fits-the-elastos-stack" class="hash-l
33ink" aria-label="Direct link to How Carrier Fits the Elastos Stack" title="Direct link to How Carrier Fits the Elastos Stack" translate="no">​</a></h2>
34<p>Today and near-term:</p>
35<ul>
36<li class=""><strong>Hive</strong> nodes use Carrier for <strong>discovery and coordination</strong> in decentralized storage scenarios.</li>
37<li class=""><strong>Essentials</strong> (now maintained under the <a href="https://github.com/CyberRepublic" target="_blank" rel="noopener noreferrer" class="">CyberRepublic GitHub</a>) uses Carrier for <strong>P2P communication</strong> features.</li>
38<li class=""><strong>Future dApps</strong> can treat Carrier as a <strong>neutral communication fabric</strong> under user-controlled keys, complementary to blockchain consensus and DID-based identity.</li>
39</ul>
40<p>Together with <strong>DIDs</strong> (who you are) and <strong>chain consensus</strong> (what was agreed globally), Carrier addresses <strong>how devices talk</strong>, without collapsing that into &quot;every app phones home to one API.&quot;</p>
41<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="carrier-in-the-elastos-runtime">Carrier in the ElastOS Runtime<a href="#carrier-in-the-elastos-runtime" class="hash-link" aria-label="Direct link to Carrier in the ElastOS Runtime" title="Direct link to Carrier in the ElastOS Runtime" translate="no">​</a></h2>
42<p>In the <a class="" href="/runtime/start/intro">ElastOS Runtime</a>, &quot;Carrier&quot; takes on an additional meaning as the <strong>trust enforcement layer</strong> -- the middle layer of the runtime&#x27;s three-layer microkernel design. The Runtime&#x27;s Carrier layer uses <strong>Iroh/QUIC</strong> for transport (rather than the classic Kademlia DHT described above), providing capability token enforcement at every cross-capsule boundary, P2P communication via Iroh gossip with mDNS discovery, and signed message exchange using Ed25519 (<code>did:key</code>).</p>
43<p><strong>Classic Carrier</strong> (Boson, Kademlia DHT, Active Proxy) and <strong>Runtime Carrier</strong> (Iroh-based trust enforcement) serve different but complementary roles. Classic Carrier provides the decentralized networking substrate; Runtime Carrier provides the trust enforcement layer that uses it for off-box communication.</p>
44<p>See the <a class="" href="/runtime/start/architecture">Runtime Architecture</a> for the full three-layer design.</p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/carrier/start/architecture"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Carrier Architecture</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#what-it-is" class="table-of-contents__link toc-highlight">What It Is</a></li><li><a href="#architecture-high-level" class="table-of-contents__link toc-highlight">Architecture (High Level)</a></li><li><a href="#implementations-c-and-java" class="table-of-contents__link toc-highlight">Implementations: C++ and Java</a></li><li><a href="#version-1-classic-c-toxcore-heritage" class="table-of-contents__link toc-highlight">Version 1 (Classic): c-toxcore Heritage</a></li><li><a href="#how-carrier-fits-the-elastos-stack" class="table-of-contents__link toc-highlight">How Carrier Fits the Elastos Stack</a></li><li><a href="#carrier-in-the-elastos-runtime" class="table-of-contents__link toc-highlight">Carrier in the ElastOS Runtime</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Elastos DAO 2026. All rights reserved.</div></div></div></footer></div>
45</body>
46</html>

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.