Skip to content

Conversation

@Thomas-nada
Copy link

@Thomas-nada Thomas-nada commented Oct 28, 2025

This is a new Metadata CIP proposing a standard for on-chain surveys and community sentiment polling.

The goal is to provide a single, standardized, transparent, and reliable way for any entity (Foundations, DReps, projects, or community members) to conduct simple, structured consultations directly on-chain — without requiring deposits or governance actions.

This proposal defines two minimal CIP-0068 (label 674) metadata payloads:

  • Survey Definition Payload: Specifies the survey question, available options, eligibility criteria, and vote aggregation method (StakeBased or CredentialBased). It may optionally reference a governance action by transaction ID and action index.
  • Survey Response Payload: Enables any eligible stakeholder to submit their response, immutably linked to the originating survey transaction ID.

This standard provides a lightweight, interoperable foundation for ecosystem-wide sentiment gathering — allowing explorers, wallets, and dApps to discover, display, and aggregate survey results in a consistent, transparent way.


(rendered latest proposal version)

@Ryun1 Ryun1 changed the title CIP-XXXX: A Standard for On-chain Survey via Info Action CIP-???? | A Standard for On-chain Survey via Info Action Oct 28, 2025
@Ryun1 Ryun1 added the Category: Metadata Proposals belonging to the 'Metadata' category. label Oct 28, 2025
Copy link
Collaborator

@Ryun1 Ryun1 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 the proposal @Thomas-nada
I agree on the problem space
keen to see this one develop

@rphair rphair added the State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction. label Oct 29, 2025
Thomas-nada and others added 2 commits October 29, 2025 08:33
Co-authored-by: Ryan <ryan.williams@intersectmbo.org>
Co-authored-by: Ryan <ryan.williams@intersectmbo.org>
Co-authored-by: Ryan <ryan.williams@intersectmbo.org>

```json
{
"674": {

Choose a reason for hiding this comment

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

I understand that a governance body's vote transaction is linked to the underlying info governance action, but for the ADA holder, I don't see how the vote metadata is tied to the info action. Here, I would suggest following the same methodology as CIP-0094, which includes a hash of the entire question.

@thenic95
Copy link

Thanks for sharing this idea on how to improve the capability of the info governance action type.

One thing that immediately comes to mind is how the metadata file for the actual info governance action should be structured to avoid a situation where the questions in the governance action metadata contradict the question posed in the transaction metadata.

It seems wise to me to also establish a standard for the governance action metadata body, perhaps even leaving it blank or using a template that will always generate the same metadata anchor URL and metadata anchor hash, so tools can easily verify this as well.

@Thomas-nada
Copy link
Author

Thats a valid question.

The way I envisioned it is the Info action acting as a vessel for the extended function.
The Info action itself contains no question, it only details the poll attached to it.
A specific mention that the votes being casted on the info action itself will not be taken into account could be a solution as we cannot "shut off" the ability to vote yes/no/abstain

Key updates:

Reworked the structure to no longer depend on the governance Info Action, surveys can now exist independently.

Added an optional referenceAction field (transactionId, actionIndex) to link a survey to a governance action when relevant.

Updated rationale, examples, and CDDL schema to align with the new standalone approach.

This version aims to make the standard simpler, cheaper to use, and more flexible, while still allowing contextual linkage to governance actions when desired.
@Thomas-nada Thomas-nada changed the title CIP-???? | A Standard for On-chain Survey via Info Action CIP-???? | A Standard for On-Chain Surveys and Polls Nov 5, 2025
@Thomas-nada
Copy link
Author

Following the earlier discussion, this proposal has been refactored into a generic, standalone metadata standard for on-chain surveys.

  • Surveys are now defined directly through CIP-0068 (label 674) metadata, without using a governance Info Action as a carrier.
  • An optional referenceAction field (transactionId, actionIndex) allows a survey to link to a governance action when relevant.
  • This approach removes deposits and lifetime limits while preserving contextual linkage to on-chain governance data.

Feedback on this direction is very welcome. 🙏

@rphair rphair changed the title CIP-???? | A Standard for On-Chain Surveys and Polls CIP-???? | On-Chain Surveys and Polls Nov 6, 2025
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.

@Thomas-nada this is a whole new document! I'm encouraged to see the "new direction" seems to accommodate the feedback so far & provide a less disputable approach. Below are only more general corrections before the technical review begins again:

rphair and others added 4 commits November 6, 2025 12:22
Removed revision history section and moved summary of design evolution into Rationale
Thomas-nada and others added 2 commits November 6, 2025 11:42
Co-authored-by: Robert Phair <rphair@cosd.com>
Co-authored-by: Robert Phair <rphair@cosd.com>
@rphair
Copy link
Collaborator

rphair commented Nov 25, 2025

@Thomas-nada we weren't able to confirm this at the CIP meeting today because of some technical uncertainty: especially concern over metadata overpopulation & congestion in the 674 metadata label. Please continue to address that & other posted issues (@Ryun1 I think maybe #1107 (comment) has been resolved so please double-check and mark resolved if possible).

@rphair rphair added State: Unconfirmed Triaged at meeting but not confirmed (or assigned CIP number) yet. and removed State: Triage Applied to new PR afer editor cleanup on GitHub, pending CIP meeting introduction. labels Nov 25, 2025
@Thomas-nada
Copy link
Author

"especially concern over metadata overpopulation & congestion in the 674"

I have been thinking about this myself. I am leaning towards shifting to a unique tag to avoid conflict with other transactions. Should be an easy enough fix.

Update the survey CIP to use metadata label 0017 and revise the abstract accordingly. All references to metadata label 674 have been replaced with 0017 throughout the specification, including in surveyDetails, surveyResponse, examples, and explorer guidance. Incorrect references to CIP-0068 “via 674” and any implied dependency on CIP-20 have been removed. The abstract has been updated to clarify that surveys use a dedicated metadata label, and a rationale has been added explaining the choice of 0017, referencing the Roman census of 17 BC as an early example of structured population data collection. No other structural or semantic changes have been made. Using a dedicated metadata label avoids congestion in CIP-20’s reserved space and provides a clear, unambiguous channel for survey metadata.
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.

@Thomas-nada my apologies for missing the notification about 449e320 (in which the metadata tag question was cleared up) with all that has happened in the last week or two.

@Ryun1 @perturbing I can't be sure from my own technical level if moving all such activity to the new metadata tag in fact clears up the "metadata congestion" that we highlighted at the last meeting. If you can confirm that it would be, please post as such & we'll get this back onto the Review agenda to re-assess this as a CIP candidate.


This proposal defines a generic, standardized transaction metadata structure for creating and responding to on-chain surveys and polls.

All survey-related metadata is encoded under label 0017, chosen as a reference to the Roman census of 17 BC — one of the earliest organized systems for structured population data collection.
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
All survey-related metadata is encoded under label 0017, chosen as a reference to the Roman census of 17 BC — one of the earliest organized systems for structured population data collection.
All survey-related metadata is encoded under label `17`, chosen as a reference to the Roman census of 17 BC — one of the earliest organized systems for structured population data collection.

As far as I know, the usage & documentation for these labels isn't zero-padded (and in fact would be padded to the maximum size of 5 digits even if it were) and might cause some inconsistencies in text search unless the (quoted) plain number were used.

Comment on lines +45 to +46
This specification uses metadata label 0017 and defines two payload types:
`surveyDetails` (definition) and `surveyResponse` (vote).
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
This specification uses metadata label 0017 and defines two payload types:
`surveyDetails` (definition) and `surveyResponse` (vote).
This specification uses metadata label `17` and defines two payload types:
`surveyDetails` (definition) and `surveyResponse` (vote).
  1. This is what I was thinking of in the question above about whether there could still be "congestion" in the metadata... would not surveys & responses have different structure, different audiences, different frequency of distribution, etc? (I'm not claiming they are: but it's a review question to consider)
  2. In any case, this PR (like others which have added metadata labels in the past) should also included an update to CIP-0010 to add the label itself... but please feel free to settle the question that this would be the only new label before making that change.

cc @Ryun1 @perturbing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Category: Metadata Proposals belonging to the 'Metadata' category. State: Unconfirmed Triaged at meeting but not confirmed (or assigned CIP number) yet.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants