Plasma is secured by PlasmaBFT, a high-performance implementation of Fast HotStuff written in Rust. It combines the safety of Byzantine Fault Tolerant (BFT) consensus with low-latency finality, enabling the high throughput and deterministic guarantees required for stablecoin-scale applications.Consensus is modular and designed for tight integration with Plasma’s Reth-based execution layer. Block finality is achieved in seconds with minimal communication overhead, and validator selection is driven by a simplified Proof of Stake system optimized for performance and predictable behavior.
The Proof of Stake and Committee Formation mechanism are under active development. This page outlines the intended architecture but is subject to change.
Plasma uses a Proof of Stake mechanism for validator selection. Unlike other PoS networks, Plasma’s staking model is designed for simplicity and predictability:
Misbehaving validators slash rewards, not collateral
Validators are not penalized for liveness failures
We are exploring optional no-lock staking to allow stake withdrawal without delay
Validators earn rewards by participating in consensus and signing blocks. Misbehavior is handled via reward denial rather than capital destruction, a choice made to align with institutional expectations and reduce UX risk.
Trusted Validator LaunchA small group of known validators will secure the network at mainnet launch, allowing for stability and protocol iteration.
Validator ExpansionThe validator set will scale to test horizontal performance under larger committee sizes and validate throughput under load.
Permissionless ParticipationPlasma will open validator access to the public, enabling full decentralization while preserving protocol-level safety guarantees.
Committee formation is designed to scale BFT consensus without degrading performance. In PlasmaBFT, a subset of validators is selected to participate in each round. This reduces communication overhead and avoids the quadratic complexity of all-to-all messaging.Validators are selected via a cryptographically secure, stake-weighted random process. Selection is deterministic, auditable, and resistant to Sybil attacks.Each validator in the committee is known in advance for the round, allowing efficient signature verification and equivocation detection without additional communication.
Plasma intentionally avoids punitive stake slashing. Instead, we rely on reward slashing, where validators who misbehave or fail to participate lose block rewards without losing their capital.This decision reflects three goals:
Reduce user risk: Unexpected capital loss is not acceptable in institutional contexts.
Align with real-world systems: Poor performance leads to lower returns, not total fund loss.
Encourage rational behavior: If misbehavior reduces expected earnings, rational validators follow the protocol.
Reward slashing allows for fault tolerance and resilience without discouraging validator participation.
HotStuff is a modern BFT consensus protocol that improves on earlier models like Tendermint by reducing communication overhead and enabling responsiveness.At its core:
HotStuff operates in a leader-based round structure
Validators vote on proposed blocks
Once a quorum of votes is collected, a Quorum Certificate (QC) is formed
QCs are chained to prove finality and maintain safety
HotStuff improves efficiency with:
Linear communication complexity
Responsiveness without fixed delays
Safe and fast leader changes
These properties make it ideal for high-frequency chains like Plasma.
PlasmaBFT is a pipelined, Rust-based implementation of Fast HotStuff. It maintains the safety guarantees of classic BFT but optimizes for faster commit paths and lower latency.
Fast path two-chain commitIn the common case, blocks can be finalized after two consecutive QCs. A third phase is avoided unless needed, reducing round latency.
Quorum size and safetyPlasmaBFT requires n ≥_3f + 1 , where f is the number of Byzantine validators. Quorum size is q = 2f + 1. This ensures no two conflicting blocks can both be finalized unless more than one-third of validators are malicious.
Signature aggregation and QCsQCs consist of aggregated validator signatures, and encode proof that validators agree on a block. When QCs build on each other, they can establish finality.QC(bv)←QC(bv+1)←QC(bv+2)←...
High throughputPlasmaBFT can finalize many thousands of transactions per second in internal benchmarks, due to pipelining and minimal message complexity.
PlasmaBFT supports pipelining, allowing the proposal of a new block to begin while the previous block is still being committed. This increases throughput by overlapping block proposal and finality steps.
When a leader fails or a view change occurs, PlasmaBFT uses aggregated QCs (AggQCs) to maintain liveness and prevent equivocation.
Validators forward their most recent QC to the new leader
The new leader aggregates these into an AggQC
This establishes the highest known block and allows safe progress
This differs from threshold signature schemes or timeout certificates (e.g. Jolteon, Ditto) but achieves the same safety goals with fewer signature validations.
PlasmaBFT is the backbone of the Plasma chain. It combines the theoretical strength of BFT consensus with pragmatic performance engineering, delivering:
Finality in seconds
High throughput under load
Resilience to faults without over-penalizing honest participants
Architecture built for scale without compromising security
This consensus model gives Plasma the foundation it needs to support stablecoin-based applications at global volume, while remaining aligned with the expectations of both developers and institutions.
D. Malkhi and K. Nayak, “HotStuff-2: Optimal Two-Phase Responsive BFT,” 2023, 2023/397. [Online]. Available: https://eprint.iacr.org/2023/397
M. M. Jalalzai, J. Niu, C. Feng, and F. Gai, “Fast-HotStuff: A Fast and Robust BFT Protocol for Blockchains,” IEEE Trans. Dependable and Secure Comput., vol. 21, no. 4, pp. 2478–2493, Jul. 2024, doi: 10.1109/TDSC.2023.3308848. Available online.
R. Gelashvili, L. Kokoris-Kogias, A. Sonnino, and Z. Xiang, “Jolteon and Ditto: Network-Adaptive Efficient Consensus with Asynchronous Fallback,” Financial Cryptography and Data Security, p. 32, 2022. Available: https://arxiv.org/pdf/2106.10362
M. Yin, D. Malkhi, M. K. Reiter, G. G. Gueta, and I. Abraham, “HotStuff: BFT Consensus with Linearity and Responsiveness,” in Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC ’19, New York, NY, USA, Jul. 2019, pp. 347–356. Available: https://dl.acm.org/doi/pdf/10.1145/3293611.3331591
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Plasma Docs - Build stablecoin applications on Plasma","description":"Guides, references, and architecture for building on Plasma. EVM compatibility, SDKs, RPC, and stablecoin-native features.","colors":{"primary":"#162F29","light":"#162F29","dark":"#162F29"},"logo":{"light":"https://mintcdn.com/plasma-97e11032/40yqhtV73KeVHAe8/Lightmode.svg?fit=max\u0026auto=format\u0026n=40yqhtV73KeVHAe8\u0026q=85\u0026s=b7066f5881b68523d889854df27e2d62","dark":"https://mintcdn.com/plasma-97e11032/40yqhtV73KeVHAe8/Darkmode.svg?fit=max\u0026auto=format\u0026n=40yqhtV73KeVHAe8\u0026q=85\u0026s=f573a76c16a67da0f81179f6a61cd352","href":"https://www.plasma.org/docs"},"favicon":{"light":"https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/favicon-light.png?fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=79450dcd85f6e520fe12b3fec3d01d18","dark":"https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/favicon-dark.png?fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=06f4eea176b7e16abe1c22029d740704"},"appearance":{"default":"light","strict":true},"background":{"color":{"light":"#F8F8F8","dark":"#0A1913"}},"navbar":{"links":[{"href":"https://www.plasma.org/company/blog","label":"Blog"}],"primary":{"type":"button","label":"Plasma.org","href":"https://www.plasma.org"}},"seo":{"metatags":{"og:description":"The docs platform for Plasma, the high-performance Layer 1 blockchain purpose built for global stablecoin payments.","og:image":"https://mintlify.s3.us-west-1.amazonaws.com/plasma-97e11032/images/docs-social-card.png","og:image:secure_url":"https://docs.plasma.org/images/docs-social-card.png","og:image:type":"image/png","og:image:alt":"Plasma - The high-performance blockchain for stablecoin payments.","og:image:height":"630","og:image:width":"1200","og:site_name":"Plasma Documentation","og:title":"Plasma Docs - Build on Plasma","og:type":"website","twitter:card":"summary_large_image","twitter:creator":"@Plasma","twitter:description":"The docs platform for Plasma, the high-performance Layer 1 blockchain purpose built for global stablecoin payments.","twitter:image":"https://mintlify.s3.us-west-1.amazonaws.com/plasma-97e11032/images/docs-social-card.png","twitter:site":"@Plasma","twitter:title":"Plasma Docs - Build on Plasma","description":"Guides, references, and architecture for building on Plasma. EVM compatibility, SDKs, RPC, and stablecoin-native features.","keywords":"plasma, blockchain, stablecoin, payments, ethereum, bitcoin, defi, documentation","canonical":"https://www.plasma.org/docs"}},"integrations":{"ga4":{"measurementId":"G-XXXXXXXXXX"},"telemetry":{"enabled":true}},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"en","href":"docs/get-started/introduction/start-here"},{"language":"pt-BR","href":"pt-BR/docs/get-started/introduction/start-here"},{"language":"cn","href":"cn/docs/get-started/introduction/start-here"},{"language":"fr","href":"fr/docs/get-started/introduction/start-here"},{"language":"de","href":"de/docs/get-started/introduction/start-here"},{"language":"ko","href":"ko/docs/get-started/introduction/start-here"},{"language":"ru","href":"ru/docs/get-started/introduction/start-here"},{"language":"es","href":"es/docs/get-started/introduction/start-here"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"plasma-97e11032","hasAudioNarration":false,"actualSubdomain":"plasma-97e11032","customDomains":["docs.plasma.org"],"gitSource":{"type":"github","owner":"plasmalaboratories","repo":"plasma-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"agentFeedback":false,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6a9ab7422ff9171cd683acd9","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"cn","tag":"Plasma 链","count":17},{"language":"de","tag":"Plasma-Chain","count":17},{"language":"en","tag":"Plasma Chain","count":17},{"language":"es","tag":"Plasma Chain","count":17},{"language":"fr","tag":"Chaîne Plasma","count":17},{"language":"ko","tag":"Plasma 체인","count":17},{"language":"pt-BR","tag":"Plasma Chain","count":17},{"language":"ru","tag":"Plasma Chain","count":17},{"language":"cn","tag":"节点运营商","count":10},{"language":"de","tag":"Node-Betreiber","count":10},{"language":"en","tag":"Node Operators","count":10},{"language":"es","tag":"Operadores de Nodos","count":10},{"language":"fr","tag":"Opérateurs de Nœud","count":10},{"language":"ko","tag":"노드 운영자","count":10},{"language":"pt-BR","tag":"Operadores de Nó","count":10},{"language":"ru","tag":"Операторы узлов","count":10},{"language":"cn","tag":"工具","count":9},{"language":"de","tag":"Werkzeuge","count":9},{"language":"en","tag":"Guides","count":9},{"language":"en","tag":"Tools","count":9},{"language":"es","tag":"Herramientas","count":9},{"language":"fr","tag":"Outils","count":9},{"language":"ko","tag":"도구","count":9},{"language":"pt-BR","tag":"Ferramentas","count":9},{"language":"ru","tag":"Инструменты","count":9},{"language":"cn","tag":"指南","count":8},{"language":"de","tag":"Anleitungen","count":8},{"language":"es","tag":"Guías","count":8},{"language":"fr","tag":"Guides","count":8},{"language":"ko","tag":"가이드","count":8},{"language":"pt-BR","tag":"Guias","count":8},{"language":"ru","tag":"Руководства","count":8},{"language":"cn","tag":"入门","count":6},{"language":"de","tag":"Erste Schritte","count":6},{"language":"en","tag":"Get Started","count":6},{"language":"es","tag":"Comenzar","count":6},{"language":"fr","tag":"Commencer","count":6},{"language":"ko","tag":"시작하기","count":6},{"language":"pt-BR","tag":"Começar","count":6},{"language":"ru","tag":"Начало работы","count":6},{"language":"cn","tag":"设置与配置","count":5},{"language":"cn","tag":"网络信息","count":5},{"language":"de","tag":"Setup \u0026 Konfiguration","count":5},{"language":"de","tag":"Netzwerk-Informationen","count":5},{"language":"en","tag":"Setup \u0026 Configuration","count":5},{"language":"en","tag":"Network Information","count":5},{"language":"es","tag":"Configuración e Instalación","count":5},{"language":"es","tag":"Información de Red","count":5},{"language":"fr","tag":"Installation et Configuration","count":5},{"language":"fr","tag":"Informations Réseau","count":5},{"language":"ko","tag":"설정 및 구성","count":5},{"language":"ko","tag":"네트워크 정보","count":5},{"language":"pt-BR","tag":"Configuração e Instalação","count":5},{"language":"pt-BR","tag":"Informações da Rede","count":5},{"language":"ru","tag":"Установка и настройка","count":5},{"language":"ru","tag":"Информация о сети","count":5},{"language":"cn","tag":"维护","count":4},{"language":"cn","tag":"支付","count":4},{"language":"de","tag":"Wartung","count":4},{"language":"de","tag":"Zahlungen","count":4},{"language":"en","tag":"Maintenance","count":4},{"language":"en","tag":"Payments","count":4},{"language":"es","tag":"Mantenimiento","count":4},{"language":"es","tag":"Pagos","count":4},{"language":"fr","tag":"Maintenance","count":4},{"language":"fr","tag":"Paiements","count":4},{"language":"ko","tag":"유지관리","count":4},{"language":"ko","tag":"결제","count":4},{"language":"pt-BR","tag":"Manutenção","count":4},{"language":"pt-BR","tag":"Pagamentos","count":4},{"language":"ru","tag":"Обслуживание","count":4},{"language":"ru","tag":"Платежи","count":4},{"language":"cn","tag":"学习","count":3},{"language":"de","tag":"Lernen","count":3},{"language":"en","tag":"Learn","count":3},{"language":"es","tag":"Aprender","count":3},{"language":"fr","tag":"Apprendre","count":3},{"language":"ko","tag":"학습","count":3},{"language":"pt-BR","tag":"Aprender","count":3},{"language":"ru","tag":"Изучение","count":3}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#footer{display:none!important}"}],"page":{"pagePath":"docs/plasma-chain/architecture/consensus","slug":"/docs/plasma-chain/architecture/consensus","pageMetadata":{"title":"Consensus","description":null,"href":"/docs/plasma-chain/architecture/consensus"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,annotation:`annotation`,code:`code`,li:`li`,math:`math`,mi:`mi`,mn:`mn`,mo:`mo`,mrow:`mrow`,msub:`msub`,ol:`ol`,p:`p`,semantics:`semantics`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,OptimizedImage,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Plasma is secured by `,_jsx(_components.strong,{children:`PlasmaBFT`}),`, a high-performance implementation of Fast HotStuff written in Rust. It combines the safety of Byzantine Fault Tolerant (BFT) consensus with low-latency finality, enabling the high throughput and deterministic guarantees required for stablecoin-scale applications.`]}),`\n`,_jsx(_components.p,{children:`Consensus is modular and designed for tight integration with Plasma’s Reth-based execution layer. Block finality is achieved in seconds with minimal communication overhead, and validator selection is driven by a simplified Proof of Stake system optimized for performance and predictable behavior.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The Proof of Stake and Committee Formation mechanism are under active development. This page outlines the intended architecture but is subject to change.\\xA0`})}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(Heading,{level:`3`,id:`block-production-and-validator-selection`,children:`Block Production and Validator Selection`}),`\n`,_jsx(_components.p,{children:`Plasma uses a Proof of Stake mechanism for validator selection. Unlike other PoS networks, Plasma’s staking model is designed for simplicity and predictability:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Misbehaving validators slash rewards, not collateral`}),`\n`,_jsx(_components.li,{children:`Validators are not penalized for liveness failures`}),`\n`,_jsx(_components.li,{children:`We are exploring optional no-lock staking to allow stake withdrawal without delay`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Validators earn rewards by participating in consensus and signing blocks. Misbehavior is handled via reward denial rather than capital destruction, a choice made to align with institutional expectations and reduce UX risk.`}),`\n`,_jsx(Heading,{level:`3`,id:`consensus-rollout`,children:`Consensus Rollout`}),`\n`,_jsx(_components.p,{children:`Plasma’s consensus will launch in three phases:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Trusted Validator Launch`})}),`\n`,_jsx(_components.p,{children:`A small group of known validators will secure the network at mainnet launch, allowing for stability and protocol iteration.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Validator Expansion`})}),`\n`,_jsx(_components.p,{children:`The validator set will scale to test horizontal performance under larger committee sizes and validate throughput under load.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Permissionless Participation`})}),`\n`,_jsx(_components.p,{children:`Plasma will open validator access to the public, enabling full decentralization while preserving protocol-level safety guarantees.`}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`committee-formation`,children:`Committee Formation`}),`\n`,_jsx(_components.p,{children:`Committee formation is designed to scale BFT consensus without degrading performance. In PlasmaBFT, a subset of validators is selected to participate in each round. This reduces communication overhead and avoids the quadratic complexity of all-to-all messaging.`}),`\n`,_jsx(_components.p,{children:`Validators are selected via a cryptographically secure, stake-weighted random process. Selection is deterministic, auditable, and resistant to Sybil attacks.`}),`\n`,_jsx(_components.p,{children:`Each validator in the committee is known in advance for the round, allowing efficient signature verification and equivocation detection without additional communication.`}),`\n`,_jsx(Heading,{level:`2`,id:`reward-slashing-not-stake-slashing`,children:`Reward Slashing, Not Stake Slashing`}),`\n`,_jsxs(_components.p,{children:[`Plasma intentionally avoids punitive stake slashing. Instead, we rely on `,_jsx(_components.strong,{children:`reward slashing`}),`, where validators who misbehave or fail to participate lose block rewards without losing their capital.`]}),`\n`,_jsx(_components.p,{children:`This decision reflects three goals:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Reduce user risk`}),`: Unexpected capital loss is not acceptable in institutional contexts.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Align with real-world systems`}),`: Poor performance leads to lower returns, not total fund loss.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Encourage rational behavior`}),`: If misbehavior reduces expected earnings, rational validators follow the protocol.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Reward slashing allows for fault tolerance and resilience without discouraging validator participation.`}),`\n`,_jsx(Heading,{level:`2`,id:`hotstuff-overview`,children:`HotStuff Overview`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`HotStuff`}),` is a modern BFT consensus protocol that improves on earlier models like Tendermint by reducing communication overhead and enabling responsiveness.`]}),`\n`,_jsx(_components.p,{children:`At its core:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`HotStuff operates in a leader-based round structure`}),`\n`,_jsx(_components.li,{children:`Validators vote on proposed blocks`}),`\n`,_jsxs(_components.li,{children:[`Once a quorum of votes is collected, a `,_jsx(_components.strong,{children:`Quorum Certificate (QC)`}),` is formed`]}),`\n`,_jsx(_components.li,{children:`QCs are chained to prove finality and maintain safety`}),`\n`]}),`\n`,_jsx(_components.p,{children:`HotStuff improves efficiency with:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Linear communication complexity`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Responsiveness without fixed delays`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.strong,{children:`Safe and fast leader changes`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`These properties make it ideal for high-frequency chains like Plasma.`}),`\n`,_jsx(Heading,{level:`2`,id:`plasmabft`,children:`PlasmaBFT`}),`\n`,_jsx(_components.p,{children:`PlasmaBFT is a pipelined, Rust-based implementation of Fast HotStuff. It maintains the safety guarantees of classic BFT but optimizes for faster commit paths and lower latency.`}),`\n`,_jsx(Heading,{level:`3`,id:`key-design-properties`,children:_jsx(_components.strong,{children:`Key Design Properties`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Fast path two-chain commit`})}),`\n`,_jsx(_components.p,{children:`In the common case, blocks can be finalized after two consecutive QCs. A third phase is avoided unless needed, reducing round latency.`}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Quorum size and safety`})}),`\n`,_jsxs(_components.p,{children:[`PlasmaBFT requires `,_jsx(_components.code,{children:`n ≥_3f + 1 `}),`, where f is the number of Byzantine validators. Quorum size is `,_jsx(_components.code,{children:`q = 2f + 1`}),`. This ensures no two conflicting blocks can both be finalized unless more than one-third of validators are malicious.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Signature aggregation and QCs`})}),`\n`,_jsx(_components.p,{children:`QCs consist of aggregated validator signatures, and encode proof that validators agree on a block. When QCs build on each other, they can establish finality.`}),`\n`,_jsx(_components.p,{children:_jsxs(_components.span,{className:`katex`,children:[_jsx(_components.span,{className:`katex-mathml`,children:_jsx(_components.math,{xmlns:`http://www.w3.org/1998/Math/MathML`,children:_jsxs(_components.semantics,{children:[_jsxs(_components.mrow,{children:[_jsx(_components.mi,{children:`Q`}),_jsx(_components.mi,{children:`C`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsxs(_components.msub,{children:[_jsx(_components.mi,{children:`b`}),_jsx(_components.mi,{children:`v`})]}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mo,{children:`←`}),_jsx(_components.mi,{children:`Q`}),_jsx(_components.mi,{children:`C`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsxs(_components.msub,{children:[_jsx(_components.mi,{children:`b`}),_jsx(_components.mi,{children:`v`})]}),_jsx(_components.mo,{children:`+`}),_jsx(_components.mn,{children:`1`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mo,{children:`←`}),_jsx(_components.mi,{children:`Q`}),_jsx(_components.mi,{children:`C`}),_jsx(_components.mo,{stretchy:`false`,children:`(`}),_jsxs(_components.msub,{children:[_jsx(_components.mi,{children:`b`}),_jsx(_components.mi,{children:`v`})]}),_jsx(_components.mo,{children:`+`}),_jsx(_components.mn,{children:`2`}),_jsx(_components.mo,{stretchy:`false`,children:`)`}),_jsx(_components.mo,{children:`←`}),_jsx(_components.mi,{mathvariant:`normal`,children:`.`}),_jsx(_components.mi,{mathvariant:`normal`,children:`.`}),_jsx(_components.mi,{mathvariant:`normal`,children:`.`})]}),_jsx(_components.annotation,{encoding:`application/x-tex`,children:`QC(b_v) ← QC(b_v+1) ← QC(b_v+2) ← ...`})]})})}),_jsxs(_components.span,{className:`katex-html`,\"aria-hidden\":`true`,children:[_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0715em`},children:`QC`}),_jsx(_components.span,{className:`mopen`,children:`(`}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord mathnormal`,children:`b`}),_jsx(_components.span,{className:`msupsub`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.1514em`},children:_jsxs(_components.span,{style:{top:`-2.55em`,marginLeft:`0em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mathnormal mtight`,style:{marginRight:`0.0359em`},children:`v`})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.15em`},children:_jsx(_components.span,{})})})]})})]}),_jsx(_components.span,{className:`mclose`,children:`)`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`←`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0715em`},children:`QC`}),_jsx(_components.span,{className:`mopen`,children:`(`}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord mathnormal`,children:`b`}),_jsx(_components.span,{className:`msupsub`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.1514em`},children:_jsxs(_components.span,{style:{top:`-2.55em`,marginLeft:`0em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mathnormal mtight`,style:{marginRight:`0.0359em`},children:`v`})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.15em`},children:_jsx(_components.span,{})})})]})})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`+`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`1`}),_jsx(_components.span,{className:`mclose`,children:`)`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`←`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord mathnormal`,style:{marginRight:`0.0715em`},children:`QC`}),_jsx(_components.span,{className:`mopen`,children:`(`}),_jsxs(_components.span,{className:`mord`,children:[_jsx(_components.span,{className:`mord mathnormal`,children:`b`}),_jsx(_components.span,{className:`msupsub`,children:_jsxs(_components.span,{className:`vlist-t vlist-t2`,children:[_jsxs(_components.span,{className:`vlist-r`,children:[_jsx(_components.span,{className:`vlist`,style:{height:`0.1514em`},children:_jsxs(_components.span,{style:{top:`-2.55em`,marginLeft:`0em`,marginRight:`0.05em`},children:[_jsx(_components.span,{className:`pstrut`,style:{height:`2.7em`}}),_jsx(_components.span,{className:`sizing reset-size6 size3 mtight`,children:_jsx(_components.span,{className:`mord mathnormal mtight`,style:{marginRight:`0.0359em`},children:`v`})})]})}),_jsx(_components.span,{className:`vlist-s`,children:``})]}),_jsx(_components.span,{className:`vlist-r`,children:_jsx(_components.span,{className:`vlist`,style:{height:`0.15em`},children:_jsx(_components.span,{})})})]})})]}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}}),_jsx(_components.span,{className:`mbin`,children:`+`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2222em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`1em`,verticalAlign:`-0.25em`}}),_jsx(_components.span,{className:`mord`,children:`2`}),_jsx(_components.span,{className:`mclose`,children:`)`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}}),_jsx(_components.span,{className:`mrel`,children:`←`}),_jsx(_components.span,{className:`mspace`,style:{marginRight:`0.2778em`}})]}),_jsxs(_components.span,{className:`base`,children:[_jsx(_components.span,{className:`strut`,style:{height:`0.1056em`}}),_jsx(_components.span,{className:`mord`,children:`...`})]})]})]})}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`High throughput`})}),`\n`,_jsx(_components.p,{children:`PlasmaBFT can finalize many thousands of transactions per second in internal benchmarks, due to pipelining and minimal message complexity.`}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`pipelining`,children:`Pipelining`}),`\n`,_jsx(_components.p,{children:`PlasmaBFT supports pipelining, allowing the proposal of a new block to begin while the previous block is still being committed. This increases throughput by overlapping block proposal and finality steps.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=34c2c3aa0fcb945894e10fde38c29ec3`,alt:``,\"data-og-width\":`1536`,width:`1536`,\"data-og-height\":`930`,height:`930`,\"data-path\":`docs/plasma-chain/architecture/images/pipeline.avif`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?w=280\u0026fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=190018dbf196121ab95a67b894adc72a 280w, https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?w=560\u0026fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=6075a63d1b34c19dec4c4463685808e5 560w, https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?w=840\u0026fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=5e174ed5bd63d57c210e55500094732e 840w, https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?w=1100\u0026fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=b926b323b469c5878d1ef3bd40028f0c 1100w, https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?w=1650\u0026fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=62cb49d74375f663c17973d3bb8f38bd 1650w, https://mintcdn.com/plasma-97e11032/2KAuyFPhADNZ-KAz/docs/plasma-chain/architecture/images/pipeline.avif?w=2500\u0026fit=max\u0026auto=format\u0026n=2KAuyFPhADNZ-KAz\u0026q=85\u0026s=3e1fdca6da220085de26bb3dba29bfbb 2500w`}),`\n`,_jsx(Heading,{level:`3`,id:`view-changes-and-aggqcs`,children:`View Changes and AggQCs`}),`\n`,_jsxs(_components.p,{children:[`When a leader fails or a view change occurs, PlasmaBFT uses `,_jsx(_components.strong,{children:`aggregated QCs (AggQCs)`}),` to maintain liveness and prevent equivocation.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Validators forward their most recent QC to the new leader`}),`\n`,_jsx(_components.li,{children:`The new leader aggregates these into an AggQC`}),`\n`,_jsx(_components.li,{children:`This establishes the highest known block and allows safe progress`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This differs from threshold signature schemes or timeout certificates (e.g. Jolteon, Ditto) but achieves the same safety goals with fewer signature validations.`}),`\n`,_jsx(Heading,{level:`2`,id:`summary`,children:`Summary`}),`\n`,_jsx(_components.p,{children:`PlasmaBFT is the backbone of the Plasma chain. It combines the theoretical strength of BFT consensus with pragmatic performance engineering, delivering:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Finality in seconds`}),`\n`,_jsx(_components.li,{children:`High throughput under load`}),`\n`,_jsx(_components.li,{children:`Resilience to faults without over-penalizing honest participants`}),`\n`,_jsx(_components.li,{children:`Architecture built for scale without compromising security`}),`\n`]}),`\n`,_jsx(_components.p,{children:`This consensus model gives Plasma the foundation it needs to support stablecoin-based applications at global volume, while remaining aligned with the expectations of both developers and institutions.`}),`\n`,_jsx(Heading,{level:`2`,id:`references`,children:_jsx(_components.strong,{children:`References`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`J. Kwon, “Tendermint: Consensus without mining,” Draft v. 0.6, Fall, vol. 1, no. 11, pp. 1–11, 2014. Available: `,_jsx(_components.a,{href:`https://tendermint.com/static/docs/tendermint.pdf`,children:`https://tendermint.com/static/docs/tendermint.pdf`})]}),`\n`,_jsxs(_components.li,{children:[`D. Malkhi and K. Nayak, “HotStuff-2: Optimal Two-Phase Responsive BFT,” 2023, 2023/397. [Online]. Available: `,_jsx(_components.a,{href:`https://eprint.iacr.org/2023/397`,children:`https://eprint.iacr.org/2023/397`})]}),`\n`,_jsxs(_components.li,{children:[`M. M. Jalalzai, J. Niu, C. Feng, and F. Gai, “Fast-HotStuff: A Fast and Robust BFT Protocol for Blockchains,” IEEE Trans. Dependable and Secure Comput., vol. 21, no. 4, pp. 2478–2493, Jul. 2024, doi: 10.1109/TDSC.2023.3308848. `,_jsx(_components.a,{href:`https://www.researchgate.net/profile/Mohammad_Mussadiq_Jalalzai/publication/344828409_Fast-HotStuff_A_Fast_and_Resilient_HotStuff_Protocol/links/61e724eac5e3103375a37c76/Fast-HotStuff-A-Fast-and-Resilient-HotStuff-Protocol.pdf`,children:`Available online`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`R. Gelashvili, L. Kokoris-Kogias, A. Sonnino, and Z. Xiang, “Jolteon and Ditto: Network-Adaptive Efficient Consensus with Asynchronous Fallback,” Financial Cryptography and Data Security, p. 32, 2022. Available: `,_jsx(_components.a,{href:`https://arxiv.org/pdf/2106.10362`,children:`https://arxiv.org/pdf/2106.10362`})]}),`\n`,_jsxs(_components.li,{children:[`M. Yin, D. Malkhi, M. K. Reiter, G. G. Gueta, and I. Abraham, “HotStuff: BFT Consensus with Linearity and Responsiveness,” in Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC ’19, New York, NY, USA, Jul. 2019, pp. 347–356. Available: `,_jsx(_components.a,{href:`https://dl.acm.org/doi/pdf/10.1145/3293611.3331591`,children:`https://dl.acm.org/doi/pdf/10.1145/3293611.3331591`})]}),`\n`,_jsxs(_components.li,{children:[`S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” 2008. Available: `,_jsx(_components.a,{href:`https://bitcoin.org/bitcoin.pdf`,children:`https://bitcoin.org/bitcoin.pdf`})]}),`\n`,_jsxs(_components.li,{children:[`M. Castro and B. Liskov, “Practical Byzantine Fault Tolerance,” in Proceedings of the Third Symposium on Operating Systems Design and Implementation, OSDI ’99, Berkeley, CA, USA: USENIX Association, 1999, pp. 173–186. [Online]. Available: `,_jsx(_components.a,{href:`https://www.usenix.org/legacy/publications/library/proceedings/osdi99/full_papers/castro/castro.ps`,children:`https://www.usenix.org/legacy/publications/library/proceedings/osdi99/full_papers/castro/castro.ps`})]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Consensus","description":null,"href":"/docs/plasma-chain/architecture/consensus"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[{"title":"Block Production and Validator Selection","slug":"block-production-and-validator-selection","depth":3,"children":[]},{"title":"Consensus Rollout","slug":"consensus-rollout","depth":3,"children":[]}]},{"title":"Committee Formation","slug":"committee-formation","depth":2,"children":[]},{"title":"Reward Slashing, Not Stake Slashing","slug":"reward-slashing-not-stake-slashing","depth":2,"children":[]},{"title":"HotStuff Overview","slug":"hotstuff-overview","depth":2,"children":[]},{"title":"PlasmaBFT","slug":"plasmabft","depth":2,"children":[{"title":"Key Design Properties","slug":"key-design-properties","depth":3,"children":[]},{"title":"Pipelining","slug":"pipelining","depth":3,"children":[]},{"title":"View Changes and AggQCs","slug":"view-changes-and-aggqcs","depth":3,"children":[]}]},{"title":"Summary","slug":"summary","depth":2,"children":[]},{"title":"References","slug":"references","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"plasma-97e11032","siteName":"Plasma Docs - Build stablecoin applications on Plasma","title":"Plasma Docs - Build on Plasma","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/plasma-chain/architecture/consensus","matchLevel":0},"pt-BR":{"href":"/pt-BR/docs/plasma-chain/architecture/consensus","matchLevel":1},"cn":{"href":"/cn/docs/plasma-chain/architecture/consensus","matchLevel":1},"fr":{"href":"/fr/docs/plasma-chain/architecture/consensus","matchLevel":1},"de":{"href":"/de/docs/plasma-chain/architecture/consensus","matchLevel":1},"ko":{"href":"/ko/docs/plasma-chain/architecture/consensus","matchLevel":1},"ru":{"href":"/ru/docs/plasma-chain/architecture/consensus","matchLevel":1},"es":{"href":"/es/docs/plasma-chain/architecture/consensus","matchLevel":1}}},"lastModified":"2026-08-30T00:53:16.642Z","originalFileLocation":"docs/plasma-chain/architecture/consensus.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Guides, references, and architecture for building on Plasma. EVM compatibility, SDKs, RPC, and stablecoin-native features.\">\u003cmeta data-mint-head name=\"keywords\" content=\"plasma, blockchain, stablecoin, payments, ethereum, bitcoin, defi, documentation\">\u003cmeta data-mint-head name=\"application-name\" content=\"Plasma Docs - Build stablecoin applications on Plasma\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Plasma Docs - Build on Plasma\">\u003cmeta data-mint-head property=\"og:description\" content=\"The docs platform for Plasma, the high-performance Layer 1 blockchain purpose built for global stablecoin payments.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Plasma Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/plasma-97e11032/images/docs-social-card.png\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Plasma Docs - Build on Plasma\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The docs platform for Plasma, the high-performance Layer 1 blockchain purpose built for global stablecoin payments.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/plasma-97e11032/images/docs-social-card.png\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/plasma-97e11032/IhiRMsnO8Fwqb8ud/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Plasma Docs - Build stablecoin applications on Plasma\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#162F29\">\u003cmeta data-mint-head name=\"og:image:secure_url\" content=\"https://docs.plasma.org/images/docs-social-card.png\">\u003cmeta data-mint-head name=\"og:image:type\" content=\"image/png\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Plasma - The high-performance blockchain for stablecoin payments.\">\u003cmeta data-mint-head name=\"twitter:creator\" content=\"@Plasma\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/plasma-chain/architecture/consensus.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://www.plasma.org/docs/pt-BR/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://www.plasma.org/docs/cn/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://www.plasma.org/docs/fr/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"de\" href=\"https://www.plasma.org/docs/de/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://www.plasma.org/docs/ko/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ru\" href=\"https://www.plasma.org/docs/ru/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://www.plasma.org/docs/es/docs/plasma-chain/architecture/consensus\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.plasma.org/#organization\",\"name\":\"Plasma Docs - Build stablecoin applications on Plasma\",\"url\":\"https://www.plasma.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/plasma-97e11032/40yqhtV73KeVHAe8/Lightmode.svg?fit=max\u0026auto=format\u0026n=40yqhtV73KeVHAe8\u0026q=85\u0026s=b7066f5881b68523d889854df27e2d62\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.plasma.org/docs#website\",\"name\":\"Plasma Docs - Build stablecoin applications on Plasma\",\"url\":\"https://www.plasma.org/docs\",\"publisher\":{\"@id\":\"https://www.plasma.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus#webpage\",\"url\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\",\"name\":\"Consensus\",\"dateModified\":\"2026-08-30T00:53:16.642Z\",\"isPartOf\":{\"@id\":\"https://www.plasma.org/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Architecture\",\"item\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/system-overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Consensus\",\"item\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus#article\",\"headline\":\"Consensus\",\"name\":\"Consensus\",\"url\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus\",\"mainEntityOfPage\":{\"@id\":\"https://www.plasma.org/docs/docs/plasma-chain/architecture/consensus#webpage\"},\"image\":\"https://mintlify.s3.us-west-1.amazonaws.com/plasma-97e11032/images/docs-social-card.png\",\"dateModified\":\"2026-08-30T00:53:16.642Z\",\"publisher\":{\"@id\":\"https://www.plasma.org/#organization\"},\"isPartOf\":{\"@id\":\"https://www.plasma.org/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Plasma Docs - Build stablecoin applications on Plasma\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Plasma Docs - Build stablecoin applications on Plasma\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/plasma-chain/architecture/consensus.md","siteName":"Plasma Docs - Build stablecoin applications on Plasma","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/docs/get-started/introduction/start-here"}]},{"tab":"Plasma Chain","groups":[{"group":"Introduction","pages":[{"title":"Start Here","href":"/docs/plasma-chain/introduction/start-here"}]},{"group":"Network Information","pages":[{"title":"Connect to Plasma","href":"/docs/plasma-chain/network-information/connect-to-plasma"},{"title":"Plasma Contracts","href":"/docs/plasma-chain/network-information/plasma-contracts"},{"title":"Ecosystem Contracts","href":"/docs/plasma-chain/network-information/ecosystem-contracts"},{"title":"Network Fees","href":"/docs/plasma-chain/network-information/network-fees"},{"title":"Differences: Ethereum \u0026 Plasma","href":"/docs/plasma-chain/network-information/differences-ethereum-and-plasma"}]},{"group":"Architecture","pages":[{"title":"System Overview","description":"How PlasmaBFT consensus and Reth execution fit together to power USD₮ payments.","mode":"wide","href":"/docs/plasma-chain/architecture/system-overview"},{"title":"Consensus","href":"/docs/plasma-chain/architecture/consensus"},{"title":"Execution","description":null,"href":"/docs/plasma-chain/architecture/execution"}]},{"group":"Core Protocol","pages":[]},{"group":"Tools","pages":[{"title":"Account Abstraction","href":"/docs/plasma-chain/tools/account-abstraction"},{"title":"Analytics","href":"/docs/plasma-chain/tools/analytics"},{"title":"Block Explorers","href":"/docs/plasma-chain/tools/block-explorers"},{"title":"Cross-Chain","href":"/docs/plasma-chain/tools/cross-chain"},{"title":"Faucets","href":"/docs/plasma-chain/tools/faucets"},{"title":"Indexers","href":"/docs/plasma-chain/tools/indexers"},{"title":"Oracles","href":"/docs/plasma-chain/tools/oracles"},{"title":"RPC Providers","href":"/docs/plasma-chain/tools/rpc-providers"}]}],"global":{"anchors":[{"anchor":"Explorer","icon":"magnifying-glass","href":"https://plasmascan.to/"},{"anchor":"Status","icon":"signal","href":"https://statuspage.incident.io/plasmanetwork"},{"anchor":"Bridge","icon":"bridge","href":"https://stargate.finance/bridge?srcChain=ethereum\u0026srcToken=0xdAC17F958D2ee523a2206206994597C13D831ec7\u0026dstChain=plasma\u0026dstToken=0xB8CE59FC3717ada4C02eaDF9682A9e934F625ebb"},{"anchor":"Support","icon":"discord","href":"https://discord.com/invite/plasmafdn"}]}},{"tab":"Payments","pages":[{"title":"Payments","href":"/docs/payments/learn/introduction"}]},{"tab":"Node Operators","pages":[{"title":"Node Operators","href":"/docs/node-operators/setup-and-configuration/overview"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/docs/guides/development/quickstart"}]}]},{"language":"pt-BR","pages":[{"title":"pt-BR","href":"/pt-BR/docs/plasma-chain/architecture/consensus"}]},{"language":"cn","pages":[{"title":"cn","href":"/cn/docs/plasma-chain/architecture/consensus"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/docs/plasma-chain/architecture/consensus"}]},{"language":"de","pages":[{"title":"de","href":"/de/docs/plasma-chain/architecture/consensus"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/docs/plasma-chain/architecture/consensus"}]},{"language":"ru","pages":[{"title":"ru","href":"/ru/docs/plasma-chain/architecture/consensus"}]},{"language":"es","pages":[{"title":"es","href":"/es/docs/plasma-chain/architecture/consensus"}]}]},"basePath":"","title":"Plasma Docs - Build on Plasma","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-C5F0mVLH.js","lightbox-handle-r17bVUz3.js"]}