[GENERAL] Name and surname of main applicant
Angel Castillo
[GENERAL] Are you delivering this project as an individual or as an entity (whether formally incorporated or not)
Entity (Incorporated)
[GENERAL] Co-proposers and additional applicants
- Luis Daniel Bianchi Cordova
- Anledry Cobos
[GENERAL] Please specify how many months you expect your project to last (from 2-12 months)
8
[GENERAL] Please indicate if your proposal has been auto-translated into English from another language
No
[GENERAL] Summarize your solution to the problem (200-character limit including spaces)
We propose a high-quality, MISRA-C-compliant C library for secure Ledger hardware wallet integration, enabling binding generation for universal language support.
[GENERAL] Does your project have any dependencies on other organizations, technical or otherwise?
No
[GENERAL] If YES, please describe what the dependency is and why you believe it is essential for your project’s delivery. If NO, please write “No dependencies.”
No dependencies.
[GENERAL] Will your project’s output/s be fully open source?
Yes
[GENERAL] Please provide here more information on the open source status of your project outputs
Our project will be fully open source, hosted on GitHub to facilitate community collaboration and transparency. We will release the entire library under the Apache License 2.0.
[METADATA] SDG rating
Goal 9: Industry, Innovation, and Infrastructure - Our project supports SDG 9 by driving technological innovation and infrastructure in the digital and blockchain sphere, enhancing security and accessibility across diverse programming environments.
[SOLUTION] Please describe your proposed solution
Understanding the Problem:
There is limited availability of hardware wallet integration in various programming languages in Cardano, this means that dApps build in different programing languages do not have access to the safety features of Hardware wallets. Hardware wallets are essential for secure blockchain interactions, as they store private keys offline and prevent unauthorized access during transactions. Our approach aims to close this gap by enabling robust, secure hardware wallet interactions across multiple programming environments.
Our Approach and Rationale:
We are developing a MISRA-C-compliant C library tailored for integrating Ledger hardware wallets, chosen for C’s broad compatibility. By focusing on binding generation, we ensure that our library can be easily adopted in any programming language, making advanced security features accessible to a wider array of developers. This universal approach is designed to democratize access to secure blockchain technologies.
Engagement and Beneficiaries:
Our project targets a wide range of developers, from those working in popular languages like Python and Java to those in niche programming environments, including:
- Developers across various languages, who will benefit from easy-to-integrate, secure hardware wallet functionalities.
- End-users who will enjoy enhanced security for their transactions and digital assets.
- Application developers who can leverage our library to build more secure dApps on Cardano.
Demonstrating and Proving Impact:
We will measure our project’s success through the adoption rate of our library across various language ecosystems, the number and variety of apps integrating the Ledger hardware wallets using our library, and feedback from the developer community. Our commitment to MISRA standards will ensure the highest quality, appealing to developers in mission-critical and financially sensitive domains.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community
Impact on the Cardano Community:
Our project will boost the security and usability of the Cardano ecosystem by providing a high-quality, bind-friendly C library that allows interoperation with Ledger hardware wallets. This initiative will enable developers from various programming backgrounds to incorporate hardware wallet features into their applications.
Measuring Impact:
Quantitative Measures:
- Adoption Rate: We will track the number of downloads and integrations of our library across different programming environments to assess its reach and utility.
Qualitative Measures:
- Community Feedback: We will actively collect feedback from developers through surveys, forums, and direct communications to gauge the library’s impact on their development process and the usability of its features.
- Case Studies: Documenting specific use cases where our library has significantly bolstered security or functionality in Cardano-based projects, showcasing real-world applications and benefits.
Sharing Outputs and Opportunities:
- Open Source Repository: Our library will be completely open source, hosted on GitHub to promote community collaboration and accessibility.
- Documentation and Tutorials: Comprehensive resources will be provided to support developers in integrating the library, including step-by-step guides and example projects.
Value to Cardano Community:
The addition of hardware wallet support through our library not only secures transactions but also expands the range of potential applications on Cardano, attracting a broader spectrum of developers and users.
[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?
Project Delivery Capability:
I bring over a decade of experience in C and C++ programming in high-stakes fields such as democracy and elections technology, alongside a robust background in blockchain and Cardano in particular, I have been working professionally in the space for several years.
Team Expertise:
- Alendry Cobos: Alendry is a product owner with over 12 years of experience leading the Hardware Quality Departments. His work electronic electoral devices, and his skills in directing software and hardware testing lifecycles will be crucial for our project. Alendry will enhance our development process, ensuring efficient management and high-quality outputs.
- Luis Daniel Bianchi Cordova: Luis has extensive experience as a software engineer, working with C/C++ in the banking sector. His background in managing security vulnerabilities and implementing development pipelines provides a strong foundation for ensuring our library's security and reliability.
Validation of Approach:
- Technical Validation: Rigorous testing cycles including unit, integration, and system testing will validate the library's compliance with MISRA-C guidelines and functional requirements.
- Community Engagement: Feedback from the Cardano community will be instrumental in refining our solution, ensuring it meets the real-world needs of developers and users.
- Prototype Development: An early prototype will help identify technical issues and refine our approach based on practical outcomes.
Risk Management:
We anticipate potential delays due to unforeseen technical challenges or updates in Cardano's protocol. Our response includes a flexible development strategy, buffer periods for problem-solving, and regular updates to stay aligned with Cardano developments.
[PROJECT MILESTONES] What are the key milestones you need to achieve in order to complete your project successfully?
Milestone 1: Requirements Gathering and Initial Design
A: Milestone Outputs
- Development of a comprehensive design document that details the technical specifications and architectural design for integrating Ledger hardware wallets with the proposed C library. This document will cover all necessary interfaces and interactions with Ledger hardware.
B: Acceptance Criteria
- The design document must fully articulate the library's architecture, including how it will communicate with Ledger hardware wallets.
- All design decisions must be justified in terms of security, efficiency, and compatibility with existing systems.
C: Evidence of Milestone Completion
- Set of documents articulating the library's architecture.
Milestone 2: Development of Core Integration Modules
A: Milestone Outputs
- Development of core integration modules for the C library to enable robust communication with Ledger hardware wallets, handling all communication aspects including USB and Bluetooth Low Energy (BLE).
- Execution of rigorous testing protocols to ensure reliable data transmission over both USB and BLE interfaces.
B: Acceptance Criteria
- The communication modules must successfully establish and maintain stable connections with Ledger hardware wallets via both USB and BLE.
- Modules must comply with MISRA standards, with detailed checks to ensure safety and reliability.
C: Evidence of Milestone Completion
- Submission of a comprehensive test report detailing the results from both USB and BLE communication tests, including scenarios that mimic real-world usage.
- GitHub repository links to the committed code for the modules.
- A compliance report demonstrating adherence to MISRA standards, including a list of checked rules, violations found, and corrective actions taken.
- Documentation of testing procedures and outcomes, consolidated in a quality assurance report that includes testing outcomes and MISRA compliance.
Milestone 3: Implement all Available Ledger Commands
A: Milestone Outputs
- Complete implementation of all commands available in the Cardano Ledger app within the library, including critical functions like transaction signing.
- Development and execution of a comprehensive testing protocol, encompassing unit tests, integration tests, and system tests designed to verify the functionality and security of each command across a range of scenarios.
B: Acceptance Criteria
- The library provides commands for transaction signing, root public key generation, and other interactions.
- The testing protocol must thoroughly evaluate all commands, demonstrating operation of all commands without errors.
C: Evidence of Milestone Completion
- Documentation of testing procedures and outcomes, consolidated in a quality assurance report that includes testing outcomes and MISRA compliance.
- GitHub repository update with links to the second iteration of core modules, complete with detailed change logs.
Milestone 4: Testing and Quality Assurance
A: Milestone Outputs
- Conducting comprehensive testing of the entire library to ensure that all functionalities, including those related to Ledger hardware wallet integration, perform as expected.
- Testing will include a detailed suite of unit tests, integration tests, and system tests.
- Identification and resolution of any bugs or issues discovered during testing, with a possible second iteration of core modules to address these findings.
B: Acceptance Criteria
- The library must pass all unit tests, integration tests, and system tests with no critical failures, ensuring functionality, security, and compatibility are up to the required standards.
- All identified bugs must be resolved, and any necessary adjustments to improve functionality and security must be implemented.
- The library must demonstrate full compatibility with the Ledger hardware wallet, including all communication and transaction signing capabilities.
C: Evidence of Milestone Completion
- A comprehensive test report documenting all testing processes, outcomes, and methodologies used, including details of all tests conducted and their results.
- A detailed bug report and resolution log showing all identified issues and how they were addressed.
- Submission of updated core modules (if necessary), with complete documentation on changes made, validated by code reviews and approval from the project's technical lead.
Milestone 5: Final Adjustments and Official Release
A: Milestone Outputs
- Finalization of the Bind-friendly C Library for Ledger Hardware Wallets, incorporating all feedback received during the testing phase and making necessary adjustments to ensure the highest quality and functionality.
- Comprehensive documentation of the library, detailing setup, integration, and operational guidelines to assist developers in effectively utilizing the library.
B: Acceptance Criteria
- The library must meet all previously established functional and security requirements after incorporating feedback and adjustments.
- Documentation must be clear, comprehensive, and sufficient for developers to integrate and use the library without external assistance.
C: Evidence of Milestone Completion
- The final version of the library, hosted on GitHub, along with all associated documentation.
- A release announcement on relevant platforms to inform stakeholders and the broader Cardano community about the availability of the new library.
- Submission of a completion report that includes details of all final adjustments made, the outcomes of the final internal testing, and feedback incorporation.
[RESOURCES] Who is in the project team and what are their roles?
Project Team and Roles
- Angel Castillo - Project Lead and Primary Developer
- LinkedIn Profile: https://www.linkedin.com/in/angelcastillob/
- GitHub: https://github.com/AngelCastilloB
- Role: Responsible for overall project management, core development of the C library, and integration with Ledger hardware wallets.
- Experience: Over a decade in C/C++ developing mission critical applications, extensive experience with Cardano building libraries and developer tools.
- Anledry Cobos - Quality Assurance and Documentation Lead
- LinkedIn Profile: https://www.linkedin.com/in/anledry/
- Role: Will lead the testing phases including unit, integration, and system testing. Anledry is also tasked with overseeing the documentation of the library and ensuring compliance with MISRA standards.
- Experience: Expert in hardware and software testing lifecycles, previously led the Hardware Quality Department in electronic electoral devices.
- Luis Daniel Bianchi Cordova - Senior Software Engineer
- LinkedIn Profile: https://www.linkedin.com/in/luis-daniel-bianchi-cordova/
- GitHub: https://github.com/luisdbianchi
- Role: Focuses on the development of security protocols within the library, and assists with the integration and debugging of core modules.
- Experience: Rich background in software engineering for banking systems, specializing in security and C/C++ development.
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources
All ADA calculations were made with an ADA price of $0.5 per ADA.
Milestone 1: Requirements Gathering and Initial Design
- Duration: 1 month
- Budget Allocation: $12,500 ≈ 25,000 ADA
- Angel Castillo: 11 days at $500/day ≈ 1,000 ADA/day = 11,000 ADA
- Anledry Cobos: 10 days at $400/day ≈ 800 ADA/day = 8,000 ADA
- Luis Daniel Bianchi Cordova: 10 days at $300/day ≈ 600 ADA/day = 6,000 ADA
Milestone 2: Development of Core Integration Modules
- Duration: 2 months
- Budget Allocation: $25,000 ≈ 50,000 ADA
- Angel Castillo: 22 days at $500/day = 22,000 ADA
- Anledry Cobos: 20 days at $400/day = 16,000 ADA
- Luis Daniel Bianchi Cordova: 20 days at $300/day = 12,000 ADA
Milestone 3: Implement all Available Ledger Commands
- Duration: 2 months
- Budget Allocation: $25,000 ≈ 50,000 ADA
- Angel Castillo: 22 days at $500/day = 22,000 ADA
- Anledry Cobos: 20 days at $400/day = 16,000 ADA
- Luis Daniel Bianchi Cordova: 20 days at $300/day = 12,000 ADA
Milestone 4: Testing and Quality Assurance
- Duration: 2 months
- Budget Allocation: $25,000 ≈ 50,000 ADA
- Angel Castillo: 22 days at $500/day = 22,000 ADA
- Anledry Cobos: 20 days at $400/day = 16,000 ADA
- Luis Daniel Bianchi Cordova: 20 days at $300/day = 12,000 ADA
Milestone 5: Final Adjustments and Official Release
- Duration: 1 month
- Budget Allocation: $12,500 ≈ 25,000 ADA
- Angel Castillo: 11 days at $500/day ≈ 1,000 ADA/day = 11,000 ADA
- Anledry Cobos: 10 days at $400/day ≈ 800 ADA/day = 8,000 ADA
- Luis Daniel Bianchi Cordova: 10 days at $300/day ≈ 600 ADA/day = 6,000 ADA
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
By creating a library that simplifies the integration of Ledger hardware wallets across multiple programming environments, we empower developers with diverse technical backgrounds to build on the Cardano platform more easily.
Investing in foundational technologies like a hardware wallet integration library maximizes economic efficiency across the Cardano ecosystem. It eliminates the need for repetitive, individualized development efforts, thereby allowing resources to be allocated more effectively towards innovation and improvement. This strategic focus helps avoid redundancy in development work, freeing up valuable time and resources that can be redirected towards addressing more complex challenges and enhancing the capabilities of the Cardano platform.
The integration of Ledger hardware wallets significantly enhances the security of interactions with the Cardano blockchain, promoting best practices among developers of decentralized applications (dApps) and their users. Hardware wallets are widely recognized as the safest method for managing private keys and performing transactions. By providing a straightforward way to integrate these wallets into any programming environment, our project contributes substantially to the safety, reliability, and economic value of the Cardano ecosystem. This capability not only fosters greater trust and security but also encourages a higher volume of transactions and more diverse application development, directly impacting the network's utilization and economic growth.