Click on the selected diagram to open it in Draw.io
Disclaimer: These diagrams are not accurate, even they can be completely wrong, as Cardano Shelley's been under continuous and still ongoing development and/or I misunerstood the specs.
Found some other Shelley related diagrams here: https://github.com/deshawes/shelley-mud-maps/
- Isolated mempool's node(s) example: Daedalus wallets, API backend (not aware of any existing yet using this, nor Blockforst, Adalite, Yoroi, CCwalet etc.)
- Users won't experience blocking on transaction submissions from their client side (e.g. user sends some asset using Daedalus' local node instance) when the whole network is temporary congested and their mempool is not filled up by the user's transactions (i.e., size of the user's txes <= mempool capacity through the congestion time).
- Highest resiliency on temporary network congestion.
- Clustered mempool's node(s) example: API backends nodes, misconfigured relay and pools.
- Users won't experience blocking until all ther tx submission requests from clients (API frontends as an example) fill up their shared mempool.
- Lower resiliency on temporary network congestion.
- Global mempool's node(s) example: properly configured relays, pools, API backend nodes etc.
- Users won't experience blocking until all the requests from all the clients in the network (by all Daedalus wallet's, all light clients, all other tools in the network) fill up the nodes mempool.
- Lowest resiliency on temporary network congestion.
Keep in mind:
- that the whole Cardano Network is underutilised.
- the picture below an oversimplified description/diagram of the network.
- the transactions are cleared from the mempool (oversimplified explanation) by
- validation of the received blocks (accepted)
- revalidation of the transactions in the mempool (rejected by expiration etc.)
An Other Disclaimer: This diagram is not accurate at all, so you all are welcome to contribute for correcting my mistakes.
Initial shelley transaction contains:
- transactin body, which hash is used for public key based witness
- transaction witness set, a set of different type of witnesses and
- transaction metadata, a placeholder for optional metadata.
The following iterative updates, by Hard Fork Combinator, had been or will be made to switch to the Goguen era:
- MetaData
- Simple Script
- Multi Asset
- Alonzo Ledger Changes
- Plutus Core Report
- Multi Asset (Gougen) CDDL
- Shelley CDDL
- Alonzo CDDL
- Conway CDDL
- Current consensus rules
- VKey_ev - operational hot key
- n - Certificate issue nuber (cold counter)
- c0 - start KES Period and
- Cold key Signature
- Cold verification key
It is based only on pool param structure
{
"poolParams": {
"publicKey": "a3bdfcc9630daa7d1da3c1efaa611bdd1f507e62bde8aca8936a070a",
"vrf": "53cfce04b70accb948250f2c7b18d07ede4db525464612368f0d34327dafd415",
"pledge": 250000000000,
"cost": 340000000,
"margin": 2.99e-2,
"rewardAccount": {
"network": "Testnet",
"credential": {
"key hash": "842dd0ee48839c992a9cd5f1a7b34b40a1fa3b12e6743e3adcf07dba"
}
},
"owners": [
"842dd0ee48839c992a9cd5f1a7b34b40a1fa3b12e6743e3adcf07dba"
],
"relays": [
{
"single host name": {
"port": 8900,
"dnsName": "relays-alonzo.poolunder.com"
}
}
],
"metadata": {
"url": "https://www.poolunder.com/testnet_undr.json",
"hash": "d808d07705e1e6a478edc6501f134bd9f5c916c6af0c5ca002dbc16ca380e7fa"
}
},
"futurePoolParams": null,
"retiring": null
}
References:
It turned out that the stability window is 3k/f instead of 2k
A shelley block contains:
- block header, which contains
- block header body and the
- block header body signature (cold key signature)
- and block body which is simply the transactions of the block.
Transactions contains
- transaction body
- transaction witness set and an optional
- transaction metadata
See details in the picture below.
References: