FreeTON Self-Sovereign Identity Framework (Stage 3)

after stage 2 framework contest Contest Proposal: FreeTON Self-Sovereign Identity Framework (Stage 2) we are moving on with Everscale SSI Stage 3: (Decentralized Identifiers’ SDK and API Implementation)

Comments and suggestions for contestants and jurors are very welcome

1 Like

Thanks for the proposal; I have a few comments:

  1. Please define better the essence of the smart contract(s?) to be developed in frames of the contest. For now, I cannot understand what the outcome of the contest should look like;
  2. I propose to reduce the reward for the first place to 160-180k to be in line with other contests;
  3. Please also include the smart-contracts jury members (see External jurors section in Free TON DEX Implementation Stage 3 - #2 by cryonyx).

It would also be nice if you present the contest tomorrow at the weekly call.

1 Like

thnx, will fix it and update

Thanks for the proposal. We are planning to participate. Could we have more places in case there will be more potential contestants?

Also don’t we wanna explicitly say to use free software license for all smart-contracts and SDKs ?

1 Like

thnx for comment
we making 3 awards instead of 2.
and will mention “open source” approach in requirements

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.

  1. 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;
  2. 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%;
  3. 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%;
  4. 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;
  5. Make sure to check with the author if something is unclear before making the final judgment;
  6. 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))

After several discussions here is the final version of the contest description.


Everscale Self-Sovereign Identity Framework (Stage 3)

Decentralized Identifiers’ SDK and API Implementation

Contest Dates

  • Submission period: 4 weeks from the approval of this proposal in the Everscale governance interface;
  • Voting period: 2 weeks after the submission deadline.

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 the first steps in the actual implementation of SSI Decentralized Identifiers (DID).

The Everscale SSI should be general-purpose and let the users/community, governance, or jury members 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.

Decentralized Identifiers’ SDK Significance

Well-developed SDK is a crucial module for the development of SSI within the Everscale ecosystem. By implementing an open-source SDK Everscale, developers will employ a decentralized identity layer.

General Requirements

The implementation of Stage 3 includes a documented SDK, back-end API of the proposed use case, and a smart contract that will allow developers:

  • undertaking an easy-going integration of DID components with Everscale ecosystem services;
  • using developed data structures to create their SSI-based use cases;
  • creating smart contracts allowing to store and manage DID.

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

  • Develop a detailed SDK specification with the description of CRUD;
  • Write a smart contract that meets the principles set in General Requirements;
  • Deploy the smart contract 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 an open-source license at Github.

Soft criteria

  • 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 mainnet.
  • Additional interfaces, de-bots, unit-tests, mobile apps will be a plus.

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.

Rewards

Prize places

As per Procedural remarks on contests.

Selected calculation mode: DEFAULT.

Prizes

Place Prize, EVER
1 180 000
2 90 000
3 45 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.

  1. 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;

  2. 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%;

  3. 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%;

  4. 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;

  5. Make sure to check with the author if something is unclear before making the final judgment;

  6. 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))

Our team proceeds with the next submission on the Stage 3 of Everscale SSI Framework. Previously, we successfully participated in Stage 1 and Stage 2.

The description of the use case and its technical implications can be found at the public Notion page where our documentation repository is located. We kindly ask you to read the installation and launch description as well as to enjoy our recap that depicts basic user stories.

The programming code repositories are located at our GitLab group.

You can find the screencast and observe the basic user story.

Project credits: Alexey Vorobey, Stepan Gershuni, Arthur Pinchuk, Vladimir Kanin, Vyacheslav Zhuravlyov, Alexander Alexeenko, Nikita Lobushkin, Konstantin Agapotov, Yuliya Matsokina, Ildar Nurmukhametov, Yehor Chirilov.

Do not hesitate to contact me (Alexey Vorobey) in Telegram @avarab on any matter related to this submission.

1 Like

RadianceTeam presents our submission:

Submission link - Free TON Community

GitHub - https://github.com/radianceteam/ssi3

2 Likes