Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add what is the concordium protocol doc #1250

Merged
merged 5 commits into from
Jan 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions source/mainnet/docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ Explore our developer resources, including detailed documentation, tutorials, an
:caption: Concordium Protocol
:hidden:

What is the Concordium Protocol <protocol/concordium-protocol>
Identities <protocol/id-accounts>
Accounts <protocol/manage-accounts>
Transactions <protocol/transactions>
Expand Down
69 changes: 69 additions & 0 deletions source/mainnet/docs/protocol/concordium-protocol.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
.. include:: ../../variables.rst

.. _reference-concordium-protocol:

===============================
What is the Concordium Protocol
===============================

Concordium is a public and permissionless blockchain platform designed for both business applications and public use. It combines privacy-preserving features with regulatory compliance, fast transaction processing, and cost-effective operations.

Core features
=============

Identity layer
--------------
Concordium provides a new solution to blockchain privacy through its identity layer. When users create an account, they first verify their identity with an authorized :term:`identity provider`. On the blockchain, their transactions remain private, but their identity can be revealed through a regulated legal process if required by authorities.

Fast and final transactions
---------------------------
The Concordium blockchain confirms transactions within seconds. Once confirmed, these transactions cannot be reversed. This is achieved through a :term:`proof-of-stake<Proof-of-stake>` consensus mechanism called :term:`ConcordiumBFT<Concordium Byzantine Fault Tolerance (BFT) protocol>`, where :term:`validators<validator>` who stake :term:`CCD` tokens help secure and maintain the network.

Predictable costs
-----------------
Transaction costs on Concordium are designed to be stable in Euro terms. This means that even if the CCD token price changes, the actual cost of using the network remains predictable. This feature helps businesses plan their blockchain operations effectively.

Protocol architecture
=====================
The Concordium Protocol operates through four main layers:

Network layer
-------------
The network layer handles communication between :term:`nodes<node>`. It includes a peer-to-peer system for sharing messages and a catchup mechanism that helps nodes stay synchronized with the network, even after being offline.

Consensus layer
---------------
The consensus layer ensures all nodes agree on the state of the blockchain using :term:`ConcordiumBFT<Concordium Byzantine Fault Tolerance (BFT) protocol>`. This protocol selects validators to create blocks based on their stake, verifies these blocks, and finalizes them quickly. The system remains secure as long as less than one-third of all staked CCD is controlled by malicious actors.

Identity layer
--------------
The identity layer manages user verification and privacy. It works with external identity providers who verify users' real-world identities. This information is stored securely off-chain, while on-chain transactions maintain user privacy. Only through a regulated process involving multiple authorities can identities be revealed.
At no point does Concordium see or hold any identiy information about its users, nor does the identity provider know which accounts are opened by which users.

Execution layer
---------------
The execution layer processes transactions and runs :term:`smart contracts<Smart contract>`. It uses :term:`WebAssembly` as its foundation, allowing developers to write smart contracts in Rust.

Economics and validation
========================
The protocol uses :term:`CCD` (ConCorDium) as its native token. CCD serves multiple purposes:

- Paying for transaction fees
- :term:`Staking<Staked Amount>` by :term:`validators<Validator>`
- Rewards for network participation

Validators must stake CCD to participate in block production. Other CCD holders can delegate their tokens to validators to earn rewards without running a node themselves. The maximum size of a validator's staking pool is capped at 5% of the total stake to maintain decentralization.

Build on Concordium
===================
Concordium is designed to make blockchain development straightforward and efficient. The predictable costs, fast transaction finality, and built-in identity features provide a solid foundation for building real-world applications.

The platform provides comprehensive tools for developers:

* `Smart contract development tools <https://docs.concordium.com/en/mainnet/tools/index.html>`_ with first-class Rust support
* Testing frameworks for thorough contract validation
* Wallet integration options for easy user onboarding
* Programming language support through WebAssembly
* Clear documentation and code examples

Developers can deploy both on :term:`Testnet` for development and :term:`Mainnet` for production. All core components of the Concordium Platform are open source and available on GitHub.
4 changes: 4 additions & 0 deletions source/mainnet/docs/resources/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,10 @@ Also see the Concordium `Whitepaper <https://developer.concordium.software/gover

A random, secret string that is used in cryptography and cryptocurrency to prove ownership of an account and sign transactions to send, spend, delegate, and stake CCDs. A wallet consists of a set of public addresses and private keys. Anyone can deposit cryptocurrency in a public address, but funds cannot be removed from an address without the corresponding private key.

Proof-of-stake

A consensus mechanism where validators must stake (lock) CCD tokens to participate in block production. The chance of being selected to produce a block is proportional to the amount staked.

Qualified authority

A governmental body that has the authority to act in a relevant jurisdiction. For example, a local police force, a local court or an investigatory division of a local authority that regulates financial conduct may have authority to act in their relevant jurisdictions. These authorities are qualified to begin the process of disclosing the identity of a user when they proceed through established legal channels and make a formal request. The outcome of such a request is likely to be that a qualified authority obtains an official order, which may be in the form of a warrant, court order, or similar instrument. Only after a qualified authority validly serves an official order upon the relevant :term:`identity disclosure authorities<identity disclosure authority>` and :term:`identity provider`, can the real-world identity of a user be revealed and only to the extent set out in the order.
Expand Down
Loading