Skip to content

Conversation

@HinsonSIDAN
Copy link
Contributor

@HinsonSIDAN HinsonSIDAN commented Oct 29, 2025

This CPS emerged from community feedback at events like Cardano Builder Fest 2025, where developers identified CBOR serialization fragmentation as a critical pain point hindering ecosystem maturity.

This CPS addresses the growing interoperability challenges caused by non-deterministic CBOR serialization across Cardano's tooling ecosystem. The same logical transaction or script can be encoded in multiple valid ways, leading to different hashes and breaking multi-signature workflows, cross-tool transaction building, and script reference consistency.

Ideally we can establish a canonical CBOR serialization standard that would be adopted across major libraries and wallets, ensuring predictable behavior and reducing the development friction that currently exists when working across different tools.


(rendered latest document)

@fallen-icarus
Copy link
Contributor

Thanks for opening this discussion! This topic is outside my area, but I came across this comment (and this one) by @dcoutts a while ago which AFAIU explains the reasoning at the time. The entire Issue thread might be worth a read.

@GeorgeFlerovsky
Copy link
Contributor

FYI @nau @fernweh0

@yHSJ
Copy link

yHSJ commented Oct 29, 2025

Thank you for drafting a CPS about this. You're right, a lack of canonical encoding has definitely been frustrating for many of us Cardano developers, especially those of us working on alternative node implementations (I can speak to my experience working on Amaru primarily). I have only done a quick skim of the content so I won't comment on the particulars in the CPS here right now, but hopefully I will have more time later to sit down and reread it carefully.

But, to give some context:
At the first node diversity workshop, canonical representation of ledger state was heavily discussed since it's needed (or at least very helpful) for many things, including testing and bootstrapping.

Sundae Labs has started work on a conformance testing suite which currently uses the NewEpochState, encoded as CBOR, from the Haskell node but we're eager to conform with a reasonable and appropriate standard there. They currently live in the Cardano Blueprints project, where I assume a canonical ledger state specification would eventually reside, along with a CIP: https://github.com/cardano-scaling/cardano-blueprint/tree/main/src/ledger/conformance-test-vectors (cc: @Quantumplation)

Tweag has received treasury funding to work on exactly that actually, and they have a draft PR open already: #1083 (cc: @nc6 and @qnikst)

@rphair rphair changed the title CPS: Canonical CBOR Serialization Standard CPS-???? | Canonical CBOR Serialization Standard Oct 30, 2025
---
CPS: ?
Title: Canonical CBOR Serialization Standard
Category: Tools, Wallets, Ledger
Copy link
Collaborator

@rphair rphair Oct 30, 2025

Choose a reason for hiding this comment

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

@HinsonSIDAN it's not too early to decide on a single category that you think represents the ecosystem sector where the most work would need to be done to cover this problem statement.

If don't think that possible, or would like to promote the idea of multiple categories in CIPs and CPSs, you could read this recent comment:

and contribute your experience & professional opinion here, if you feel multiple categories would be better than single choices, and also if any other conservatively chosen additional tags could provide good coverage of what CIPs and CPSs are really about:

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have chosen the Tools category for now. Thanks for reminding that

@HinsonSIDAN HinsonSIDAN marked this pull request as ready for review November 12, 2025 06:37
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

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

@HinsonSIDAN now that this is marked "Ready for Review" we'll add it as Triage which puts it on the agenda for our next CIP meeting (https://hackmd.io/@cip-editors/123).

In the meantime I think it'll be useful to get some co-review with this current CIP candidate (cc @qnikst @lehins @nc6 @Ryun1 @Crypto2099):

@rphair rphair added Category: Tools Proposals belonging to the 'Tools' category. State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction. labels Nov 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Category: Tools Proposals belonging to the 'Tools' category. State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants