Skip to content

CDDL #420

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

Merged
merged 45 commits into from
Jun 23, 2025
Merged

CDDL #420

merged 45 commits into from
Jun 23, 2025

Conversation

will-break-it
Copy link
Contributor

@will-break-it will-break-it commented Jun 19, 2025

  • Ranking Blocks
  • Votes & Certificates
  • Endorser Blocks
  • Input Blocks
    • Common/ Base
    • Sharded
    • Over-collateralized
  • Transactions
    • Sharded
    • Over-collateralized

bwbush and others added 17 commits June 12, 2025 09:02
* Created "mini mainnet" topology
* Updated logbook
* sim-rs: add config settings for timestamp resolution

* sim-rs: use u64 instead of duration in timestamp

* sim-rs: support coarse-grained timestamps in network layer

* sim-rs: support configurable timestamp resolution
- Updated from ouroboros-leios-formal-spec repository
- Run ID: 15629229378
- Triggered by: repository_dispatch
* Reduced memory footprint of leios trace processor
* Updated logbook
* Added ingress field to output
* Added size field to receipt output
* Reformatted Haskell
* Updated logbook
* Designed pseudo-mainnet experiments
* Config files for bug report
* Designed IB experiment
* Case and summary files for experiments
* Data analysis for simulation experiments
* Added summary slides
* Updated logbook

---------

Co-authored-by: Brian W Bush <[email protected]>
* Mini-mainnet experiments at tag `leios-2025w24`
* Designed IBS experiments
* Executed experiments
* Data analysis of experiments
* Summary slides
* Updated logbook
- Updated from ouroboros-leios-formal-spec repository
- Run ID: 15728586414
- Triggered by: repository_dispatch
* sim-rs: add input_id to traces

* sim-rs: include rb-ref on output

* sim-rs: do not create IBs with conflicting transactions

* sim-rs: do not add conflicting blocks to mempool

* sim-rs: support configuring tx-conflict-fraction

* sim-rs: support leios-aggressive-mempool-pruning setting

* sim-rs: fix intermittent test failure
@will-break-it will-break-it requested review from bwbush and ch1bo June 19, 2025 12:11
Copy link
Collaborator

@bwbush bwbush left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RB and vote CDDLs looks good. I noted that the vote CDDL differs from an optimization that the simulators currently use. We'll have to discuss whether that optimization should be memorialized in the specification itself.

@bwbush
Copy link
Collaborator

bwbush commented Jun 19, 2025

For the IB and EB CDDL, we'll need to decide whether a node is allowed to produce multiple IBs in the same slot or multiple EBs in the same pipeline.

  • The simulations currently allow this.
  • The crypto benchmarks do not.
    We've flip-flopped on this a couple of times over the past six months.

Personally, I think the probability of being allowed multiple IBs or EBs is small enough (even for the biggest stakepools) that we should limit it to one. This simplifies the data structures, makes it easier to detect equivocation, etc.

@will-break-it
Copy link
Contributor Author

Personally, I think the probability of being allowed multiple IBs or EBs is small enough (even for the biggest stakepools) that we should limit it to one. This simplifies the data structures, makes it easier to detect equivocation, etc.

I agree. It would also simplify the network protocol presumably (by disallowing multiple announcements per slot).
I'll stick to a simple CDDL structure when I get to the point. Still looking at the base structure for EBs

will-break-it and others added 3 commits June 19, 2025 18:07
* Drafted CIP section on metrics
* Added metrics for fees
* Noted possibility of local metric for network
* Comment on tx inclusion metric
* Added note on the draft nature of the metrics
* Updated logbook
Copy link
Member

@ch1bo ch1bo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for collecting these!

Would you say we should have multiple sub-documents and put things into one md file again later?

I like that some sections have been explaining concepts next to the data structures too. Would you continue this with, for example, the network protocols to submit these data types?

kbennett2000 and others added 3 commits June 20, 2025 08:55
* Create simple-explainer.md

* Update faq.md
* Added network mini-protocols to second tech report
* Drafted simulation realism section of second technical report
* Removed unneeded figures
* Figures for simulation realism
* Added opaque background to figures
* Updated logbook
Copy link
Collaborator

@bwbush bwbush left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The block CDDL looks good, but I had a couple of questions and comments.

@will-break-it will-break-it merged commit 2e4b28e into cip/review Jun 23, 2025
6 of 7 checks passed
@will-break-it will-break-it deleted the cip/cddl branch June 23, 2025 11:29
ch1bo pushed a commit that referenced this pull request Jun 23, 2025
* docs(CDDL): added base definitions for blocks, votes & certificates and sharding-specific definitions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants