Cardano
Interoperability | Scalability | Sustainability

Ouroboros Consensus Protocol | Scholarly academic Research | Peer Review
NFTs | Smart Contracts | Cardano Components


Proof of Work
(Bitcoins uses proof of work)

Competitive validation method to confirm transactions.


VS

Proof of Stake
(Cardano uses proof of stake)

Randomly selected miners to validate transactions.

What actually makes Cardano a 3rd Generation Blockchain?

Cardano was the first Proof of stake blockchain network.

What is Cardano?
[Click Me to learn More!]

Cardano is a public blockchain platform. It is open-source and decentralized,
with consensus achieved using proof of stake. It can facilitate peer-to-peer
transactions with its internal cryptocurrency, ADA.

Cardano was founded in 2015
by Ethereum co-founder
Charles Hoskinson.

Can Cardano Be Mined?

Cardano cannot be mined since it's not part of the PoW consensus. You can only stake it by simply keeping your Cardano wallet (like Daedalus) online. You'll get a certain percentage of your already owned ADA coins as payment.

How do you accumulate Cardano?

The ability to delegate or pledge a stake is fundamental to how Cardano works. There are two ways an ADA holder can earn rewards: by delegating their stake to a stake pool run by someone else, or by running their own stake pool.


What Are Cardano's
Three Goals?



Interoperability

Scalability

Sustainability

Secure, scalable, and interoperable

Security is one of the founding principles of Cardano. As it is written in the functional language Haskell, it uses pure functions to build the system, where components
can be tested in isolation. More advanced features of Haskell, such as
basing the implementation on formal and executable
specifications, extensive property-based testing,
and running tests in simulation provides a
range of powerful methods for
ensuring code

correctness.

Interoperability

"Interoperability is the ability of computer systems or software to
exchange and make use of information."


Another problem Cardano wants to solve is the lack of proper interoperability
among blockchains. Most blockchain networks are independent
and cannot communicate with each other because they
use different architectures and coding languages.

Scalability
(Scaling Cardano in 2022)


Ouroboros consensus protocol

The Cardano platform runs on the Ouroboros consensus protocol. Ouroboros, created
by Cardano in its foundation phase, is the first PoS protocol that was proved

to be secure. When choosing to invest in Cardano,
the success of the Ouroboros
protocol is a huge plus.

Scholarly academic research

Cardano’s development has been unique in that it has been informed by scholarly academic research. Each of Cardano’s development phases is supported by
a research-based framework, incorporating peer-reviewed insights with
evidence-based methods. This creates a strong foundation from
which to make progress toward the future of both the
blockchain network and the Ada token.

High Priority and immense efforts invested
into Top of Class Blockchain
Security with the End
goal being to
obtain a



"Trustless World"


Cardano makes it possible for any actors that do not know each other - and have no reason to trust one another - to interact and transact, securely. It’s a platform
for building trust where none might naturally exist, opening up whole new
markets and opportunities. Through Ouroboros, Cardano is prove-ably
secure against bad actors and Sybil attacks. Every transaction,
interaction, and exchange is immutably and
transparently recovered, and securely

validated using multi-signature

and a pioneering extended

UTXO model.

Cardano Components

Cardano Explorer

Cardano Node

Cardano Wallet

Cardano Rosetta

Cardano DB Sync

Cardano GraphQL

High level architecture of Cardano

The following diagram outlines the interaction between

the system components of Cardano



Cardano System components

The current implementation of Cardano is highly modular.
It includes the following components


(different deployment use cases will use different combinations of components)

Node
Command line interface (CLI) | Daedalus wallet | Cardano db-sync
GraphQ API server (Apollo) | REST API components | SMASH server


You can only trust nodes run by you or your organization.
This is why
Daedalus runs a node in the background.

Node process

The cardano-node is the top level for the node and consists of
the other subsystems, of which the most significant
are consensus,
ledger & networking
with ancillary configuration,
CLI, logging, and
monitoring.

Node-to-Node IPC Protocol

node-to-node IPC protocol: Purpose

"To allow for the exchange of
blocks & transactions
between nodes"

(As part of the Ouroboros Consensus Algorithm)

Node-to-Node Protocol: Mini-Protocols

Composite protocol consisting
of three mini protocols

tx-submission
Used for forwarding transactions.

chain-sync
Used for following
the chain
& getting block headers.

block-fetch:
Used for getting block bodies.

These mini-protocols are multiplexed on a single long-running Transmission Control Protocol (TCP) connection between nodes.

They can be run in
both directions on
the
same TCP connection to allow for peer-to-peer (P2P) settings.


"Overall protocol and each mini-protocol are designed trustless.
Both sides guard against Denial-of-service (DoS) Attacks"



For example, each mini-protocol uses consumer-driven control
flow, so a node only requests more work when
it is ready, rather than having
work pushed
upon
it.

Let's break this one down and find the keywords to simplify it a bit.

The protocol design is modular & evolvable.
Version negotiation is used to agree on the set of mini-protocols to use.

  1. Protocol design
    is
    modular & evolvable.

  2. Version negotiation
    is used to agree on
    mini-protocols
    to use.

    Version negotiation allows adding
    mini-protocols overtime
    without causing
    compatibility issues





AKA
  1. Protocol Design
    - Is Modular
    - Is Evolvable

2. Version negotiation
- Is how mini-protocols to use are agreed upon
- Overtime, allows mini-protocols to be
=> added without causing compatibility issues
=> updated without causing compatibility issues

Node-to-Client IPC
Protocol

Node-to-Client Protocol: Purpose

To allow local applications to interact with blockchain by way of/via the node.
This
includes apps like wallet backends & blockchain explorers.


Node-to-Client IPC protocol: ENABLES

local applications ability to

ACCESS raw blockchain data
QUERY the current ledger state
SUBMIT new transactions to system

Node-To-Client Protocol: Design



node-to-client protocol
design
is same as
node-to-node protocol

EXCEPT


Local Pipes
replace
(TCP connections)

AND

Node-to-Client Protocol Mini-Protocols
(chain-sync | local-tx-submission | local-state-query)
replace
Node-to-Node Protocol Mini-Protocols
(chain-sync | local-tx-submission | block-fetch)


Node-to-client Protocol: Mini-Protocols

chain-sync
Used for following
the chain
& getting blocks.

local-tx-submission
Used for submitting transactions.

local-state-query:
Used for querying
ledger state
.