Everscale Self-Sovereign Identity Framework (Stage 3): Decentralized Identifiers’ SDK and API Implementation
CONTEST PROPOSAL:
Contest Dates
- Submission period: 4 weeks from the approval of this proposal in the Everscale governance interface.
- Voting period: 1 week after the submission deadline.
Short Description
Everscale SSI Framework contest is a second stage of the SSI Everscale Roadmap with the deliverables described below.
Motivation
This contest stage aims to prove the ability of the Everscale blockchain to perform fast and cheap operations on methods of self-sovereign identity concept (SSI) and make first steps in the real implementation of SSI Decentralized Identifiers (DID).
The Everscale SSI should be general-purpose and let the users/community, governance or jury members to use it (issue, revoke and verify credentials).
Our goal is to enable developers to create authenticated data exchange systems on top of Everscale. It should simplify the development of digital identity instruments for external developers.
Stage 3
Decentralized Identifiers’ SDK Significance
Well-developed SDK in a key module for the development of SSI within the Everscale ecosystem. By implementing open source SDK Everscale developers will be able to employ a decentralized identity layer.
Deliverables
- DID SDK with detailed documentation.
- API for a basic DID implementation use case with its detailed documentation.
- Root contract for per-user DID storage smart contracts, which are deployed, paid, and managed by end-users and coherent with the principles of decentralization.
- DID governance instruments on the web.
General Requirements
The implementation of Stage 3 should include a documented SDK, back-end API of the proposed use case, and a smart-contract beta version that will allow developers:
- to undertake an easy-going integration of DID components with Everscale ecosystem services;
- to use developed data structures to create their own SSI-based use cases;
- to create smart contracts allowing to store and manage DID deployed and paid by end-users.
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.
Hard Criteria
- A detailed SDK specification with the description of CRUD.
- A smart contract that meets the principles set in General Requirements.
- The product must be deployed on the Everscale mainnet.
- Back-end code for DID implementation use case.
- The provision of the end-user control over smart-contract DID storage.
- The code of smart contracts, deployed on Everscale, must be published under open source license.
Soft Criteria
- Mainly everyday English to make technical documentation easier to understand. Additional languages will be an advantage.
- Completeness and readiness of the product for actual use in the main network.
- Additional interfaces, de-bots, unit-tests, mobile apps will be a plus.
Winners’ rewards
Prize places
As per Procedural remarks on contests.
Selected calculation mode: DEFAULT.
Reward amounts
1st place: 180 000 EVER
2nd place: 90 000 EVER
3nd place: 45 000 EVER
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 ID 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 a significant 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: Total_Score = sum_i(G%_i * sum_j(P%_j * Sc_j))