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

Reputation onchain SIP - Zerobtc #26

Open
Hero-Gamer opened this issue Jul 19, 2024 · 17 comments
Open

Reputation onchain SIP - Zerobtc #26

Hero-Gamer opened this issue Jul 19, 2024 · 17 comments

Comments

@Hero-Gamer
Copy link
Collaborator

No description provided.

@xyzerobtc
Copy link

Cohort 2

Discord Name:

xyzero.btc

Total grant amount:

$1,000

Project Description:

Reputation onchain is a framework designed to bring reputation management onchain for the entire decentralized ecosystem.
Our Reputation onchain SIP ensures trust and transparency by recording and evaluating onchain interactions.
This system empowers users to build and maintain verifiable reputations across Web3 platforms, enhancing the integrity and reliability of decentralized applications and communities.

Impact:

Definition: Percentage of decentralized applications (dApps) that integrate the Reputation
Impact: Measures the penetration and acceptance of the framework within the ecosystem.

Project Timelines, Milestones, and Deliverables:

Kick-off payment: 0% - $0

Milestone 1: Phase 1: Create a SIP Standard - 70% - $700 Aug 30, 2024
Deliverables:

  • Develop a comprehensive Self-Improving Protocol (SIP) standard and request feedback from the community.

Milestone 2: Phase 2: Implement User Guides - 30% - $300 Sep 30, 2024
Deliverables:

  • Create comprehensive user guides for developers and technical teams, and develop easy-to-use widgets for non-technical end users.

Is/Will this Project be Open-Sourced?

Completely open source for anyone, anywhere in Stacks ecosystem.

ZeroAuthorityDAO Profile Link:

https://zeroauthority.xyz/profiles/SP7QQ9DV0DMV7YW4HR713MKBWADVA0BFC2J65PJT

@xyzerobtc
Copy link

@Hero-Gamer hello - I still have some clarity code to be reviewed by a few people. The framework is ready and need to get some test examples.

@xyzerobtc
Copy link

xyzerobtc commented Aug 30, 2024

Development Summary for SIP: Standard Reputation Framework and NFT Minting for Reputation Badges

Preamble

SIP Number: XXX
Title: Standard Reputation Framework and NFT Minting for Reputation Badges
Authors: [Zero, "xyzerobtc", omelet.btc, "GH-ID", AcrossFire, “GH-ID”, HodlSTX "HodlSTX" ]
Status: Draft
Type: Standard
Created: 2024-05-01
License: MIT License

Abstract

This SIP proposes a framework for implementing a standard reputation system on apps or websites. Each reputation transaction results in the minting of a Non-Fungible Token (NFT) to provide a verifiable, immutable record of the reputation event. This proposal outlines the standard attributes for the reputation system, the structure for XML and JSON representation, and the NFT minting process.

Motivation

A standardized reputation system with blockchain integration provides several benefits:

  1. Transparency and Trust: Immutable records of reputation transactions increase transparency.
  2. Interoperability: Standardized attributes allow for consistent implementation across different platforms.
  3. Ownership: Minted NFTs represent a user’s reputation transactions, providing verifiable proof of reputation that users own.
  4. Gamification: NFTs can be used to incentivize positive behavior and engagement.

Specification

Standard Attributes

User Information

  • user_id: A unique identifier for the user.
  • username: The display name of the user.
  • profile_url: URL to the user's profile.

Reputation Event

  • event_id: A unique identifier for the reputation event.
  • event_type: The type of reputation event (e.g., upvote, downvote, review).
  • event_description: A description of the reputation event.
  • event_timestamp: The timestamp when the event occurred.
  • event_value: The value of the reputation change (positive or negative).

NFT Information

  • nft_id: A unique identifier for the minted NFT.
  • nft_url: URL to the NFT on the blockchain.
  • nft_metadata: Metadata associated with the NFT, including details of the reputation event.

Clarity Code Representation

(define-data-var user_id (string-ascii 50) "unique-user-id")
(define-data-var username (string-ascii 50) "username")
(define-data-var profile_url (string-ascii 100) "https://example.com/user/profile")

(define-data-var event_id (string-ascii 50) "unique-event-id")
(define-data-var event_type (string-ascii 20) "upvote")
(define-data-var event_description (string-ascii 100) "Received an upvote on a comment")
(define-data-var event_timestamp (buff 32) 0x1234567890abcdef)
(define-data-var event_value int 10)

(define-data-var nft_id (string-ascii 50) "unique-nft-id")
(define-data-var nft_url (string-ascii 100) "https://blockchain.com/nft/unique-nft-id")
(define-data-var nft_metadata (buff 1024) 0xBase64EncodedMetadata)

NFT Minting Process

  1. Event Trigger: A reputation event occurs on the platform (e.g., a user receives an upvote).
  2. Data Aggregation: The platform collects the necessary data for the reputation transaction.
  3. NFT Creation: The platform generates an NFT with the collected data as metadata.
  4. Blockchain Interaction: The platform interacts with a blockchain service to mint the NFT.
  5. Storage and Access: The minted NFT’s URL and metadata are stored in the platform’s database and linked to the user’s profile.

Rationale

This framework leverages the immutability and transparency of blockchain technology to create a verifiable and trustworthy reputation system. By standardizing the attributes and using NFTs to record reputation transactions, users gain ownership and can showcase their reputation across different platforms.

Backwards Compatibility

This proposal introduces a new system and does not affect existing implementations. Platforms adopting this standard will need to integrate the reputation framework and NFT minting process.

Implementation

Implementing this proposal requires:

  1. Database Changes: Modify the database to store the new reputation and NFT attributes.
  2. Blockchain Integration: Implement the logic to interact with a blockchain service for minting NFTs.
  3. API Development: Develop APIs to handle reputation transactions and provide data in the specified formats.
  4. Frontend Changes: Update user interfaces to display reputation and NFT information.

Security Considerations

  • Data Privacy: Ensure user data is handled securely and with consent.
  • Blockchain Risks: Mitigate risks associated with blockchain interactions, such as transaction costs and potential delays.

Conclusion

This SIP provides a standardized approach to implementing a reputation system with blockchain integration. By minting NFTs for each reputation transaction, we create a transparent, verifiable, and user-owned record of reputation, enhancing trust and engagement across platforms.

15 Common Categories to Build Reputation Onchain

1. Community Engagement

  • Description: Measures participation in community activities such as forum posts, comments, and social media interactions.
  • Attributes:
    • user_id
    • engagement_type (post, comment, share)
    • engagement_timestamp
    • engagement_value (likes, replies)

2. Transaction History

  • Description: Tracks the history and quality of transactions in marketplaces or financial services.
  • Attributes:
    • user_id
    • transaction_id
    • transaction_type (purchase, sale)
    • transaction_timestamp
    • transaction_value

3. Content Creation

  • Description: Recognizes the creation of valuable content like blog posts, videos, and tutorials.
  • Attributes:
    • user_id
    • content_id
    • content_type (blog, video)
    • content_timestamp
    • content_value (views, likes)

4. Skill Verification

  • Description: Validates user skills through certifications or endorsements.
  • Attributes:
    • user_id
    • skill_id
    • skill_name
    • verification_timestamp
    • verifier_id

5. Project Contributions

  • Description: Measures contributions to open-source projects or collaborative efforts.
  • Attributes:
    • user_id
    • project_id
    • contribution_type (code, documentation)
    • contribution_timestamp
    • contribution_value (commits, pull requests)

6. Review and Feedback

  • Description: Tracks the feedback given and received for products, services, or content.
  • Attributes:
    • user_id
    • review_id
    • review_type (product, service)
    • review_timestamp
    • review_rating

7. Attendance and Participation

  • Description: Logs participation in events, webinars, or conferences.
  • Attributes:
    • user_id
    • event_id
    • event_type (webinar, conference)
    • event_timestamp
    • participation_value

8. Mentorship and Coaching

  • Description: Records activities related to mentoring or coaching others.
  • Attributes:
    • user_id
    • mentee_id
    • mentorship_type (session, advice)
    • mentorship_timestamp
    • mentorship_value (hours, impact)

9. Achievements and Awards

  • Description: Captures achievements, awards, or recognitions received.
  • Attributes:
    • user_id
    • achievement_id
    • achievement_type (award, milestone)
    • achievement_timestamp
    • achievement_value

10. Learning and Development

  • Description: Tracks completion of courses, certifications, or training programs.
  • Attributes:
    • user_id
    • course_id
    • course_name
    • completion_timestamp
    • course_score

11. Bug Reporting and Issue Resolution

  • Description: Logs the reporting and resolution of bugs or issues.
  • Attributes:
    • user_id
    • issue_id
    • issue_type (bug, feature request)
    • issue_timestamp
    • issue_status

12. Reputation and Endorsements

  • Description: Measures endorsements or reputation points received from peers.
  • Attributes:
    • user_id
    • endorsement_id
    • endorsement_type (skill, character)
    • endorsement_timestamp
    • endorser_id

13. Compliance and Certifications

  • Description: Records compliance with standards and attainment of certifications.
  • Attributes:
    • user_id
    • certification_id
    • certification_name
    • certification_timestamp
    • certifying_body

14. Social Impact and Volunteering

  • Description: Tracks involvement in social impact activities or volunteering.
  • Attributes:
    • user_id
    • activity_id
    • activity_type (volunteering, donation)
    • activity_timestamp
    • activity_value (hours, impact)

15. Peer Reviews and Ratings

  • Description: Collects peer reviews and ratings for collaborative work.
  • Attributes:
    • user_id
    • peer_review_id
    • review_type (project

Example where the Stacks Foundation gives a skill badge for "Critical Bounty" as a form of skill verification:

(define-data-var user_id (string-ascii 50) "user-stx-address")
(define-data-var skill_id (string-ascii 50) "critical-bounty-001")
(define-data-var skill_name (string-ascii 50) "Critical Bounty Completion")
(define-data-var verification_timestamp (buff 32) 0x1234567890abcdef)
(define-data-var verifier_id (string-ascii 50) "stacks-foundation")

(define-public (award-skill-badge (user_id (string-ascii 50))
                                  (skill_id (string-ascii 50))
                                  (skill_name (string-ascii 50))
                                  (verification_timestamp (buff 32))
                                  (verifier_id (string-ascii 50)))
    (begin
        ;; Mint an NFT representing the skill badge (this would involve a separate NFT contract)
        (print (tuple (user user_id)
                      (skill-id skill_id)
                      (skill-name skill_name)
                      (timestamp verification_timestamp)
                      (verifier verifier_id)))
        (ok (tuple (user user_id)
                   (skill-id skill_id)
                   (skill-name skill_name)
                   (timestamp verification_timestamp)
                   (verifier verifier_id)))
    )
)

Explanation:

  • user_id: This is the Stacks address of the user who completed the critical bounty.
  • skill_id: A unique identifier for the skill, in this case, associated with the "Critical Bounty Completion."
  • skill_name: The name of the skill being awarded, here "Critical Bounty Completion."
  • verification_timestamp: The timestamp when the skill was verified.
  • verifier_id: The identifier of the entity verifying the skill, in this case, "stacks-foundation."

The award-skill-badge function can be called to log the awarding of the skill badge. This could later be expanded to include minting an NFT that represents this skill badge on the blockchain.

@Hero-Gamer
Copy link
Collaborator Author

Hi @xyzerobtc thanks for sharing the draft SIP.

Reviewing the part regarding "... request feedback from the community." how many or much feedback have you got so far and has something been changed/improved/adjusted due to the feedback?

@xyzerobtc
Copy link

Hi @Hero-Gamer
Waiting for feedback. Asked AcrossFire , Jude, Jason, and 3-10

@Hero-Gamer
Copy link
Collaborator Author

Hi Zero
Understand this already had some feedback before draft is done such as from Hodlstx, HZ, and AcrossFire. And I see you are continuing to seek feedback (it will be ongoing refinement throughout next months / crypto years perhaps).
Therefore imo Milestone 1 has been achieved.

Milestone 1: Phase 1: Create a SIP Standard - 70% - $700 Aug 30, 2024
Deliverables:
Develop a comprehensive Self-Improving Protocol (SIP) standard and request feedback from the community.

Looking forward to seeing further development from this project!

@shaktistacks please kindly distribute M1 payment tysm!

@xyzerobtc
Copy link

Hi @shaktistacks , @Hero-Gamer , M1 is complete. I had help to draft version 1 with Haz, Sushil, and lots of help from HODLSTX, Omelet and AcrossFire.

M2 is close to done soon for the version 1 user guides on our docs.zeroauthority.xyz site to start.

The new website will have user guides, tutorials, and implementation widgets for reputation badges.

Additionally, we are going to work with partners to get them to full adopt the new SIP and create reputation badges for the activities users perform onchain for their protocol.

new profile pages.
Screenshot 2024-08-07 at 08 57 21

homepage.
Screenshot 2024-08-13 at 11 39 54

@Hero-Gamer
Copy link
Collaborator Author

Hi @xyzerobtc are you still on track to completing Milestone 2 by end of Oct?

@xyzerobtc
Copy link

hi @Hero-Gamer - yes, we are still on track for the first user guide by Oct 30, 2024 - thank you

@xyzerobtc
Copy link

xyzerobtc commented Oct 23, 2024

@Hero-Gamer
Reputation Framework User Guide V.0.1. first draft is complete.

@xyzerobtc
Copy link

Standard Reputation Framework
Reputation Framework User Guide V.0.1 first draft. Reputation and NFT Minting for Reputation Badges.

https://docs.zeroauthority.xyz/the-dao/standard-reputation-framework

@Hero-Gamer
Copy link
Collaborator Author

Standard Reputation Framework Reputation Framework User Guide V.0.1 first draft. Reputation and NFT Minting for Reputation Badges.

https://docs.zeroauthority.xyz/the-dao/standard-reputation-framework

Hi @xyzerobtc, from the wording of the milestone 2, I could not tell if the user guides is supposed to be the final version or first draft. Can you share your thought? If you think the first draft is comprehensive enough to meet the milestone 2, could you share some thoughts as to how you are planning to get from draft to final? Thanks Zero

Milestone 2: Phase 2: Implement User Guides - 30% - $300 Sep 30, 2024
Deliverables:

    Create comprehensive user guides for developers and technical teams, and develop easy-to-use widgets for non-technical end users.

@xyzerobtc
Copy link

think the first draft is comprehensive enough to meet the milestone 2, could you share some thoughts as to how you are planning to get from draft to final? Thanks Zero

Hi @Hero-Gamer,

The initial iteration has been thorough enough to meet Milestone 2 objectives. Once we launch our v2 platform, we’ll have live reputation badges for all gigs, bounties, and endorsements.

Timeline to implement actual SIP:

  • July 2024: Badge Clarity contract was completed by Gary Riger, covering gigs onchain.
  • December 2024: Clarity code needs modifications to extend badge functionality for bounties and endorsements.
  • Q1 2025: Launching separate reputation badges and testing the v.0.1 standard reputation NFTs for onchain activities.
  • Q2 2025: Begin testing with other DAOs and community-led groups, with detailed documentation of testing results.
  • Q3 2025: Goal to have the SIP fully tested and documented, supported by real use cases.

We want to keep up the momentum and ensure these milestones set a strong foundation for reputation management across Stacks

@Hero-Gamer
Copy link
Collaborator Author

Appreciate the insight @xyzerobtc
Thanks for making this important step for the ecosystem.

Doc looks good. Consider Milestone 2 complete from DeGrants scope perspective.

Dear @shaktistacks please can you help disburse fund? Tysm!

Milestone 2: Phase 2: Implement User Guides - 30% - $300 Sep 30, 2024
Deliverables:

Create comprehensive user guides for developers and technical teams, and develop easy-to-use widgets for non-technical end users.

@xyzerobtc
Copy link

Appreciate the insight @xyzerobtc Thanks for making this important step for the ecosystem.

Doc looks good. Consider Milestone 2 complete from DeGrants scope perspective.

Dear @shaktistacks please can you help disburse fund? Tysm!

Milestone 2: Phase 2: Implement User Guides - 30% - $300 Sep 30, 2024
Deliverables:

Create comprehensive user guides for developers and technical teams, and develop easy-to-use widgets for non-technical end users.

thank you @Hero-Gamer - i am so excited to show people around the ecosystem how they can issue reputation badges to their communities and give people ownership of their work and verification

@Hero-Gamer
Copy link
Collaborator Author

If anytime you wanna amplify or get your project highlighted, PeaceLove is leading up DeOrganized media, best place to get the words out. Do utilize other DeGrants project at your service! Thank you Zero!

@xyzerobtc
Copy link

hi @Hero-Gamer - that is a good idea to share the project is complete and more updates coming! thank you so much to you and @will-corcoran and shakti!

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

No branches or pull requests

2 participants