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

CIP-0140? | Ouroboros Peras - Faster Settlement #872

Open
wants to merge 62 commits into
base: master
Choose a base branch
from

Conversation

bwbush
Copy link

@bwbush bwbush commented Aug 2, 2024

We propose Peras, an enhancement to the Ouroboros Praos protocol that introduces a voting layer for optimistic fast settlement.

Peras, or more precisely Ouroboros Peras, is an extension of Ouroboros Praos that addresses one of the known issues of blockchains based on Nakamoto-style consensus, namely settlement time. Peras achieves that goal while being self-healing, preserving the security of Praos, and being light on resources.


(rendered proposal)

@bwbush bwbush changed the title CIP for Peras CIP-0??? | Peras Aug 2, 2024
@Ryun1 Ryun1 changed the title CIP-0??? | Peras CIP-???? | Ouroboros Peras - Faster Settlement Aug 2, 2024
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.

apologies @bwbush if this is premature, but given the title I couldn't resist taking a look and noticed a few things which might be of help to consider early (among some standard editing chores).

CIP-0PRS/CIP-0PRS.lagda.md Outdated Show resolved Hide resolved
CIP-0PRS/CIP-0PRS.lagda.md Outdated Show resolved Hide resolved
CIP-0PRS/CIP-0PRS.lagda.md Outdated Show resolved Hide resolved
CIP-0PRS/CIP-0PRS.lagda.md Outdated Show resolved Hide resolved
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.

(intended to include in last review)

CIP-0PRS/CIP-0PRS.lagda.md Outdated Show resolved Hide resolved
bwbush and others added 2 commits August 5, 2024 07:41
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
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.

@bwbush we can't keep a code repository within a CIP or use it as a build source, according to precedent and pending an explicit statement that will be added to CIP-0001 soon (last time it was confirmed: recently with #848 (review)). The convention would be for the .agda files & folder to be kept in an external repository which is linked from this CIP. 🙏

@bwbush
Copy link
Author

bwbush commented Aug 6, 2024

@bwbush we can't keep a code repository within a CIP or use it as a build source, according to precedent and pending an explicit statement that will be added to CIP-0001 soon (last time it was confirmed: recently with #848 (review)). The convention would be for the .agda files & folder to be kept in an external repository which is linked from this CIP. 🙏

Thanks for the information. I'll consult with my colleagues and get back to you regarding this.

CIP-0PRS/README.lagda.md Outdated Show resolved Hide resolved
@bwbush bwbush marked this pull request as ready for review October 4, 2024 15:20
@rphair rphair added State: Unconfirmed Triaged at meeting but not confirmed (or assigned CIP number) yet. Category: Consensus Proposals belonging to the `Consensus` category. labels Oct 7, 2024
@rphair
Copy link
Collaborator

rphair commented Oct 7, 2024

@bwbush @abailly - applying freshly created label Category: Consensus Proposals belonging to the `Consensus` category. - please chime in with this issue with any feelings about how you see the CIP process participation for this category developing:

I've marked this Unconfirmed only because it hasn't been assigned a candidate CIP number yet. In my opinion this could happen at any time (@Ryun1 @perturbing @Crypto2099 - shall we put on Review for next meeting to confirm this?).

Copy link
Collaborator

@perturbing perturbing left a comment

Choose a reason for hiding this comment

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

Compliments on how well this CIP is written, it dissects a complex design into readable sections and the motivation of the CIP sets the perfect stage to understand the context of it all. It was a long read, but I learned a ton about Peras, thank you 👍

In general, I think this CIP would benefit from more structure due to its size, as is done in CIP-1694. Perhaps the addition of a table of contents for faster navigation and an occasional collapsed section (for example the Agda spec section), would be good.

CIP-0PRS/README.lagda.md Outdated Show resolved Hide resolved
CIP-0PRS/README.lagda.md Outdated Show resolved Hide resolved
@rphair
Copy link
Collaborator

rphair commented Oct 15, 2024

A high level description published recently that may be of help in review: https://iohk.io/en/blog/posts/2024/10/14/ouroboros-peras-the-next-step-in-the-journey-of-cardano-s-protocol-1/

- Added subsections
- Added table of contents
- Changed "post facto" to "ex post facto"
- Minor cleanup
Resolved outstanding review comments.
@bwbush
Copy link
Author

bwbush commented Nov 13, 2024

@rphair, I believe that b59c80e responds to all outstanding comments and suggestions.

In particular, I added subsections where there were long blocks of text and I included a collapsable table of contents. (The TOC might be redundant because github will not dislay a TOC for markdown documents if one pressed an icon on the upper left of the document. Feel free to remove the TOC if you see fit.)

@rphair
Copy link
Collaborator

rphair commented Nov 13, 2024

thanks @bwbush - according to our usual process that means this will be up for Review at the next meeting (https://hackmd.io/@cip-editors/101). I believe all will be in favour of giving this a CIP number there, even if some remaining issues are found in the meantime.

Also, if you would please tag (for editors' reference) whom you believe has the most interest in reviewing and/or contributing to Consensus proposals, we'll keep track of these for future use.

@@ -0,0 +1,1568 @@
---
Title: Ouroboros Peras - Faster Settlement
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Title: Ouroboros Peras - Faster Settlement
CIP: 0PRS
Title: Ouroboros Peras - Faster Settlement

CIP number is above title via template

@@ -0,0 +1,1568 @@
---
Title: Ouroboros Peras - Faster Settlement
CIP: 0PRS
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
CIP: 0PRS

[Votes](#votes) are serialized in the following CDDL.

```cddl
vote =
Copy link
Collaborator

@Ryun1 Ryun1 Nov 26, 2024

Choose a reason for hiding this comment

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

Suggested change
vote =
votes_certificate =

tiny nit pick, but vote is already defined via Conway CDDL :)

@rphair rphair changed the title CIP-???? | Ouroboros Peras - Faster Settlement CIP-0140? | Ouroboros Peras - Faster Settlement Nov 26, 2024
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.

Please rename containing folder to CIP-0140 and update the leading pathname of the README file accordingly. Also, eventually the trailing pathname will have to be renamed README.md (from README.lagda.md)as soon as convenient for you (given your own workflow & any upstream development).

@@ -0,0 +1,1568 @@
---
Title: Ouroboros Peras - Faster Settlement
CIP: 0PRS
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
CIP: 0PRS
CIP: 140

@rphair rphair added State: Confirmed Candiate with CIP number (new PR) or update under review. and removed State: Unconfirmed Triaged at meeting but not confirmed (or assigned CIP number) yet. labels Nov 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Consensus Proposals belonging to the `Consensus` category. State: Confirmed Candiate with CIP number (new PR) or update under review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants