Please describe your proposed solution.
Source Code and Blueprints
Administrators will be able to upload the source code and JSON Blueprint files of a contract (https://cips.cardano.org/cips/cip57/) along with its corresponding hash on our website. The platform will verify that compiling that source code generates the specified hash.
Initially, we will accept source code in Haskell, but we intend to incorporate all available contract writing forms. To achieve this, we will implement a compilation process for each of these forms and obtain the resulting hash, which will then be compared to the initially provided hash.
Ideally, the submitted source code should include comments and documentation so that the average user can understand and comprehend what the contracts they are interacting with do.
If the source code is not provided, we can attempt to retrieve it from the serialized code through reverse engineering. The serialized code can be found in the transactions that utilize it or in a UTXO left as a reference.
If the Blueprint file is not delivered, we can also try to create the Blueprint from the source code.
Searching Scripts
Users will search for a hash and obtain information and details of the contract. The platform will display contract definitions, source code, explanations, comments, and various ratings left by users who have analyzed the code.
Analysis by Creators, Experts, and Third Parties
Users will be able to perform analysis, leave comments, and provide ratings for each contract. Both the creator and other users can analyze the code and leave their insights, and these analyses can be rated and ranked.
Some possible ratings for the contract could be: secure, clear, controversial, unreadable, insecure, etc.
A reputation system could be implemented to reward users for their participation and valuable contributions.
Additionally, expert analysis can be offered in exchange for a fee.
The goal is to have these analyses written in terms understandable to an average person, explaining what the contract does in general, its datums and redeemers, under what valid conditions it operates, and under what conditions it fails.
Minting Policies and NFTs
In the case of minting policies, we will provide additional information about the tokens being generated, such as whether they are FTs or NFTs, if there are wallet restrictions for generating them, if there are temporal limitations, and other relevant aspects.
This information is particularly valuable for studying NFTs. Some NFTs hold high economic value, often costing hundreds or thousands of dollars, and many users cannot determine with certainty whether what they are purchasing is truly an NFT or simply resembles one.
For a token to be considered an NFT, the minting policy must meet certain conditions to prevent duplication. There are various ways to achieve this, including utilizing temporal conditions that can be highly useful. However, the most established condition for defining such policies is to use a UTXO as a parameter of the policy and ensure that this UTXO is being consumed, indicating that the policy will only validate once. This is one of the necessary conditions for creating NFTs. Therefore, we can analyze the scripts and their source code to identify which policies fulfill this condition and provide this information to users.
Automatic AI Analysis
We will incorporate artificial intelligence to analyze the code and provide explanations by adding comments.
Through the use of advanced machine learning algorithms and natural language processing techniques, the AI system will automatically examine the code and generate insightful comments that help users understand its functionality, logic, and potential implications.
Additionally, the AI analysis will take into account best practices, security considerations, and industry standards when providing explanations and comments. This will help users assess the quality and reliability of the code and make informed decisions regarding its usage.
REST API
We will be implementing an API to query token information based on minting policies. This API will provide details about the token, such as whether it is an NFT or an FT, reuse restrictions of the policy, specific wallet restrictions, temporal limitations and the maximum supply defined in the policy, among other relevant aspects.
Different wallet services will be able to access this information through our API and clearly display to users whether a token is considered an NFT or not. Additionally, network explorers can also utilize our API to provide this information to users.
In addition, we will also introduce the capability to query contract information through APIs. This feature will provide basic information about a contract, as well as reviews and ratings associated with it.
The REST API will provide a user-friendly interface for developers and service providers to access our data programmatically. They can query specific policies or smart contracts, retrieve token attributes, and integrate this information into their applications or platforms.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
Herer is how:
- Creation of a Valuable Product: By developing a website that enables users to access and understand scripts and smart contracts on the Cardano network, we are creating a product that directly addresses transparency and trust issues. Users will be empowered with the information they need to make informed decisions.
- Integration with Existing Services: Our platform will feature an API that can be integrated with wallet services, blockchain explorers, and other third-party applications. This facilitates a more seamless and connected experience as users can directly access insights and information within the applications they already use.
- Enhancing User Experience and Adoption: By providing detailed information about scripts, including AI-powered analysis, we are improving the end-user experience. This can attract more users to the Cardano ecosystem as they can interact with dApps and contracts with more confidence and understanding.
- Supporting the Development Community: Our platform can serve as a resource for developers who can analyze scripts and learn best practices. This supports the growth of a more robust and secure ecosystem of dApps on Cardano.
- Promoting Education and Understanding: Our solution bridges the gap between technical complexity and general understanding, which can lead to a more educated community. This is crucial for the mass adoption of blockchain technology.
- Security & transparency: Establishing a source of truth for contracts and policies could lead to increased security in the ecosystem.
Impact on the Cardano Ecosystem:
- User Engagement: Expect an increase in the number of users engaging with the Cardano network, as they have access to a tool that helps them understand what they are interacting with.
- Developer Involvement: By offering insights and an avenue for sharing code, it's likely to have more developers contributing to the ecosystem.
- Quality Enhancement: Our AI analysis and community-driven reviews can lead to an increase in the quality of smart contracts, as developers receive feedback and insights.
- Trust and Transparency: Establishing a source of truth for contracts and policies could lead to increased trust in the ecosystem.
How do you intend to measure the success of your project?
We intend to measure the success of our project through a combination of quantitative and qualitative metrics:
- User Adoption Rate: Measuring the number of users who sign up and actively use our platform over time. A steady increase in this number indicates that the community finds value in the service we provide.
- API Integration Adoption: Tracking the number of wallet services, blockchain explorers, and other third-party applications that integrate our API. This serves as an indicator of how well our service is being adopted within the Cardano ecosystem.
- User Feedback and Satisfaction: Collect feedback through user surveys and reviews to gauge the quality of the user experience and the usefulness of our platform. Positive feedback and constructive criticism will be crucial indicators of success.
- Community Engagement: Monitoring community engagement in terms of discussions, questions, and content sharing related to our platform on social media and forums. A thriving community discussion is a good indicator of interest and perceived value.
- Educational Impact: Assessing the level of understanding and awareness that users gain from using the platform. This can be measured qualitatively through feedback and by tracking how often educational content is accessed.
- Developer Engagement: Measuring the number of developers who use the platform for analyzing scripts, submitting their code, or learning. This reflects how the platform is contributing to the development community.
- Content Submissions and Updates: Tracking the number of new scripts, contracts, and analyses submitted by the community. This indicates the community’s involvement in keeping the platform updated.
Short-Term Impact on Cardano’s Productivity and Growth:
- Enhanced transparency and trust within the community.
- Better-informed users making safer interactions with smart contracts.
- A potential reduction in scams and malicious contracts.
Long-Term Impact on Cardano’s Productivity and Growth:
- Sustained growth in the user base due to increased confidence.
- A more educated community, leading to higher quality dApps and smart contracts.
- Developers becoming more proficient in creating secure and efficient smart contracts, enriching the Cardano ecosystem.
Please describe your plans to share the outputs and results of your project?
Our plans to share the outputs and results of our project are structured around broad dissemination, community engagement, and collaboration. Here's how we plan to achieve this:
- Open Source Code and Documentation: We will create a dedicated GitHub repository to share all the code, Dockerfiles, documentation, and resources developed as part of the project. This repository will serve as a centralized hub where developers can access and contribute to the project's outputs.
- Project Catalyst: We will submit regular updates and progress reports to Project Catalyst, sharing the milestones achieved, impact metrics, and future plans.
- Social Media and Forums: We plan to share updates and milestones on platforms like Twitter, Reddit, and the Cardano forums. Engaging with the community through these channels helps to keep them informed and allows for direct feedback.
- Webinars and Meetups: We will organize webinars and participate in meetups to present the results and opportunities created by the project. This will also include demonstrations on how the project can be used and integrated into other services.
- Collaboration with Wallets and Explorers: Reaching out to wallet services, blockchain explorers, and other stakeholders to integrate our API. This will enhance user experience by offering them insights on scripts directly within these services.
- Community Feedback Loop: We’ll actively encourage the community to provide feedback and suggestions, and will implement valuable recommendations into the project’s ongoing development.
In terms of utilizing the results for further research and development activities:
- Continuous Improvement: Data and feedback obtained from users will be used for continuous improvement of the platform, refining algorithms, and adding new features.
- Expansion to New Use Cases: Depending on the success and community interest, we may expand the project to cater to additional use cases within the Cardano ecosystem.