You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue captures a discussion about the role of badges in The Guild, how they relate to attestations, and possible evolutions. Updated after discussion with @joelamouche.
Current model
Badge = a skill label (e.g. "Rust", "Solidity", "Code Review"). Stored in TheGuildBadgeRegistry.
Attestation = the EAS on-chain act: "A attests that B has badge X, because Y". Schema: bytes32 badgeName, bytes justification.
They are two facets of the same system, not separate layers.
Context
Badges were initially envisioned as peer-to-peer recognition (people giving badges to others).
Skill-related badges were also meant to act as a CV / skill discovery surface.
In practice, engagement with pure P2P badges has been low.
Most badges today are issued by The Guild and tied to contributions.
The Guild already relies on EAS on-chain, but the product semantics are not fully clarified yet.
There is interest in using badges for reputation, participation/gamification, and social sharing.
Badge taxonomy
"Badge" as the umbrella term, with qualifiers to distinguish types:
Type
Description
Attested by
Skill badge
A competence label (Rust, Solidity, Code Review...)
Badges could point to other badges, creating a knowledge tree/graph.
Example: rust-chapter1 → rustbook → rust
This structures the badge space itself. See #118.
Individual levels — attestation-count thresholds
A person's mastery on a given badge could be expressed as a level derived from how many peer attestations they've received for it (e.g. 3 = beginner, 10 = intermediate, 25 = expert).
This is complementary to badge hierarchy: one structures the badge space, the other measures individual progression within a badge.
Also complementary to the upvoting system (#122), which evaluates badge relevance (meta-level).
Guild badges — aggregated / system-attested
A badge derived from multiple peer attestations across different skills.
Examples:
"Web3 Full-stack Developer": unlocked when a member has received N peer attestations on each of Rust, Solidity, and React.
"Active Contributor": attested by the system after X attestations received across all skills over a given period.
These would be attested by the system (not a peer), introducing a new attestation source type.
External contributions
External contributions (PRs merged on external repos, published audits, conference talks, technical articles) could be imported as evidence, but would only become Guild signals once recognized and attested within the Guild framework — for instance by a maintainer, a vote mechanism, or a system validator.
Today the contracts don't enforce who can attest, so a trust layer would need to be built.
Open questions
Badge hierarchy: Do we want a knowledge graph between badges? What governance for pointers? (see Badge enhancements #118)
Individual levels: Do we want attestation-count thresholds? Off-chain (indexer) vs on-chain?
Guild badges: Do we want system-attested badges derived from multiple peer attestations?
External contributions: What trust layer for validating external evidence? Maintainer? Vote? System?
Badges & Attestations - clarification & directions
This issue captures a discussion about the role of badges in The Guild, how they relate to attestations, and possible evolutions. Updated after discussion with @joelamouche.
Current model
TheGuildBadgeRegistry.bytes32 badgeName, bytes justification.Context
Badge taxonomy
"Badge" as the umbrella term, with qualifiers to distinguish types:
"Attestation" remains the underlying EAS act for all types.
Two complementary kinds of badges (current)
1. Skill badges (fact-based)
2. Peer badges (social)
A clear distinction between these two types (UX + semantics) seems important.
Possible evolutions (not implemented)
Badge hierarchy — knowledge graph (#118)
Badges could point to other badges, creating a knowledge tree/graph.
Example:
rust-chapter1 → rustbook → rustThis structures the badge space itself. See #118.
Individual levels — attestation-count thresholds
A person's mastery on a given badge could be expressed as a level derived from how many peer attestations they've received for it (e.g. 3 = beginner, 10 = intermediate, 25 = expert).
This is complementary to badge hierarchy: one structures the badge space, the other measures individual progression within a badge.
Also complementary to the upvoting system (#122), which evaluates badge relevance (meta-level).
Guild badges — aggregated / system-attested
A badge derived from multiple peer attestations across different skills.
Examples:
These would be attested by the system (not a peer), introducing a new attestation source type.
External contributions
External contributions (PRs merged on external repos, published audits, conference talks, technical articles) could be imported as evidence, but would only become Guild signals once recognized and attested within the Guild framework — for instance by a maintainer, a vote mechanism, or a system validator.
Today the contracts don't enforce who can attest, so a trust layer would need to be built.
Open questions
Related Issues (non-exhaustive)
Attestations: #48, #47, #130, #32
Badges: #69, #122, #58, #64
Architecture / tokens: #55, #72
Profiles & discovery: #49, #98
Analysis: #126