After Stage 3 of the Everscale SSI Framework it is time to move to the next stage. We propose to announce Everscale SSI Stage 4 contest (Verifiable Credentials Infrastructure Implementation).
We believe that it is necessary to implement the use case that will contain:
-
Necessary SSI software infrastructure including smart contracts (must be deployed to mainnet), off-chain components + instruments for deployment.
-
SDK that allows to implement a range of user interface types for Issuer, Holder, Verifier.
-
Documentation that contains the solution architecture overview and instructions to developers on how to use Issuer, Holder, Verifier profiles, and components.
-
Ready-to-use demo interfaces demonstrating user flow for the 3 roles. Issuers, Holders, Verifiers must be able to authorize and perform all necessary steps to perform their role, such as issuing a VC, requesting it to be shared, verifying, etc.
Comments and suggestions are very welcome indeed
=====================================
Verifiable Credentials Infrastructure Implementation
Contest Dates
Submission period: 6 weeks from the approval of this proposal in the Everscale governance interface;
Voting period: 2 weeks after the submission deadline.
Motivation
Stage 2 and Stage 3 of Everscale SSI Framework attempted to create the fundamentals for the SSI infrastructure (DID component and SDK). Further, Stage 4 aims to build up basic Verifiable Credentials (VCs) infrastructure atop the Everscale blockchain and enable the external developers to deploy primitive SSI systems using ready-made components.
The VC module will allow verifiers not only to authorize its’ users but will create the system of attribute verification. As a result, users will be able to present certain credentials to prove their identity, skills, relation to any organization, etc. This feature is useful for many product use cases, such as finance, education, gaming, art industry and many others.
General Objectives
The objectives of Stage 4 implementations are:
- The development of core instruments for Verifiable Credentials issuance, storage and verification with justified usage of the Everscale blockchain infrastructure.
- Empower third-party developers with easy-to-use and well-documented Issuer, Holder and Verifier toolkits that allow creating SSI-based data exchange systems on the top of Everscale.
Fair play
As per Procedural remarks on contests.
Evaluation criteria and conditions for winning
General Requirements
When evaluating a proposal, priority will be given to applications that will take into consideration the following functional, technological, and technical features:
- The system efficiently utilizes storage space and minimizes execution and transaction fees;
- If there is an off-chain part, then maximize the use of decentralized resources to ensure system independence;
- Modularity and documentation of the code, ease of support, the openness of developers to changes and additions;
- High level of user experience in demo interfaces designed for end users.
Hard criteria
-
Basic implementation of SSI Trust Triangle concept with Issuer, Holder, Verifier roles:
-
The Issuer issues Verifiable Credentials with assertions about the subject.
-
The Holder possesses Verifiable Credentials and presents them to Verifiers.
-
The Verifier ensures:
-
VC’s relation to the certain statement
-
VC’s relation with the Subject
-
VC is authentic (cryptographically certified by the Issuer)
-
-
-
The content of VC must be private by default (unauthorized correlation between the claim and the subject must be prohibited).
-
Measures to prevent unauthorized correlation of disclosed data must be undertaken in order to ensure anonymity.
-
The fact of VC disclosure and verification must remain private and be available only to parties in the Trust Triangle
-
Holder must participate in the verification process to provide an authorized disclosure of chosen data
Soft criteria
- Compliance with W3C’s Decentralized identifiers and Verifiable credentials specifications and other relevant web3 standards.
- Everyday English to make technical documentation easier to understand. Additional languages will be an advantage.
- Completeness and readiness of the product for actual use on the Everscale mainnet.
- Additional interfaces, de-bots, unit-tests, mobile apps will be an advantage.
- A fact of verification transaction may be also hidden from the Issuer by design
Deliverables
- Necessary SSI software infrastructure including smart contracts (must be deployed to mainnet), off-chain components + instruments for deployment.
- SDK that allows to implement a range of user interface types for Issuer, Holder, Verifier.
- Documentation that contains the solution architecture overview and instructions to developers on how to use Issuer, Holder, Verifier profiles, and components.
- Ready-to-use demo interfaces demonstrating user flow for the 3 roles. Issuers, Holders, Verifiers must be able to authorize and perform all necessary steps to perform their role, such as issuing a VC, requesting it to be shared, verifying, etc.
Rewards
Prize places
As per Procedural remarks on contests.
Selected calculation mode: DEFAULT.
Prizes
Place | Prize, EVER |
---|---|
1 | 250.000 |
2 | 180.000 |
3 | 100.000 |
Procedural remarks to jurors
As per Procedural remarks on contests.
External jurors
This contest involves external jurors from DevEx subgovernance in addition to DeFi Jury to assess the quality of smart contracts as per the remarks On external jurors involvement.
Name | Telegram | Public key | Wallet address |
---|---|---|---|
Sergey Tyurin | @Custler | 2c0ec55a109eb466d9db5ee7c3adb075e77627ade83ae17cea847671ab8f0a85 | 0:77772d4f5ecefb9e7ce02bca4a13cf81b65b4903ead16671e935850075fc6b4c |
Boris Ivanovsky | @bivanovsky | 1a99622e54b4e87d603dd87c9cc936b388b2a0e1979bb56d4039cfad0fbadc8c | 0:d2cd1ff399d441ca84c1585f634b60a16b65b46c27209fbd9cf928f97465bed2 |
Nikita Monakhov | @keshoid | 816747e3c1e0c3be11797a76ffd5f823a1c933586cac2f170bc1395f1f25e15b | 0:66e01d6df5a8d7677d9ab2daf7f258f1e2a7fe73da5320300395f99e01dc3b5f |
Evgeniy Shishkin | @unboxedtype | 6ff61c1a7bb09795f7b5d5514dd710efb72e9557654d362ef208fde545ba7a33 | 0:612410a54714de99c56eead2d1a4c2a3afdf2edcc392c9d7120f1505b666770d |
Andrey Nedobylsky | @lailune | fb2fe560bfbdda910798e1365d9419ff6e0a75ed5262410b714f162434a88af6 | 0:c1f2b2941fe3ed16960c484db49186363ed4bbb7c825a8128f46d787f973ff2b |
Yaroslav Anishchenko | @yanmsk | c696f383a2d839b9fc7c036ab145982e644a3f14d2a57cd9429729f8bcb79eab | 0:fff3ff48a6f00c5eda84bbac4781735ab0e7994950f55493a85c967f295760e7 |
Jury rewards
As per Procedural remarks on contests.
Governance rewards
As per Procedural remarks on contests.
Procedural reminders to all contestants
As per Procedural remarks on contests.
Recommendations for jurors on the voting process
DeFi contests are a complex combination of economics and technology. It imposes an important requirement on juror’s knowledge and skills while assessing the submissions.
Following the growing demand from the participants’ side and to facilitate the assessment process, the community has prepared a set of recommendations on how to approach the scoring of complex works.
This set of recommendations is not mandatory but will significantly facilitate the understanding between jurors and participants.
- Identify the most crucial points you expect from the submission, according to the contest description. Typically, they should be listed in the Hard criteria section, but you are free to add extra ones;
- Cluster these points in major groups and give them a share in the score (G%), e.g., “Code excellence” with 50% weight or “Gas efficiency” with 25%. Make sure the weights total to 100%;
- Give each point a weight inside such a group (P%), e.g., “Ability to create new pairs” - 10%. Their sum should also be equal to 100%;
- At the moment of assessing, go through the list of points and give each one a score from 0 to 10 (Sc), where 0 means total absence of this point, and 10 - full compliance with your expectations;
- Make sure to check with the author if something is unclear before making the final judgment;
- Sum up the product of G%, P%, and Sc for all points to get the result score. The exact formula will look like this:
TotalScore = Sum_i(G_i% x Sum_j(P_j% x Sc_j))