Skip to main content

Polkadot Conformance Tests PoC

  • Team Name: Zondax AG
  • Payment Address: (DAI ERC 20) 0xf50a09731dc32a64431920e10e1e58dce28e6b11
  • Level: 2

Project Overview 📄

This grant application falls under this RFP and it aims to develop a comprehensive test suite dedicated to assessing the compliance of Host implementations against the official Polkadot Protocol Specification.

Overview

The reliability and security of the Polkadot network are fundamentally contingent upon the flawless implementation of Hosts/Nodes. At present, Substrate and Smoldot (implemented in Rust) are actively used in production, while Gossamer (in Go) and Kagome (in C++) are undergoing advanced stages of development. Our primary objective is to develop a comprehensive test suite dedicated to assessing the compliance of Host implementations against the official Polkadot Protocol Specification.

Project Details

Our objective will consist of developing a proof of concept for a test suite that can be run across various host implementations and executors.

In this initial phase, we will concentrate on a few different points:

The objective is to ensure conformance with the existing specifications and highlight possible deviations. Moreover, we will organize the PoC in such a way that conformance reports can be generated after each run.

Technology and Languages

We aim to develop this in Python or Typescript. We will investigate but at the moment, we see a much wider ecosystem in Python.

Althoug previous work on this area has been developed in Julia, Python holds several advantages over Julia due to its extensive ecosystem, wide community support, and versatility.

Python is also known for its cross-platform compatibility, facilitating the development of cross-platform applications. Its ease of integration with other languages like C/C++ and Java enables the creation of applications with mixed-language components.

There is some previous work that has been done here in Julia we plan to re-use some part of this work, rewrite it, updated it and confront it against current specification since his code has not been updated since February 2023.

Ecosystem Fit

Zondax is a growing and distributed team with experience and projects for more than 50 blockchains. Zondax has been contributing to the Substrate ecosystem since 2018-2019. The team has received and completed a large number of W3F grants and currently maintains most Ledger apps for the ecosystem. We have recently completed a grant on the research of an alternative host implementation.

Team 👥

Team members

  • 2 x Engineers
  • 1 x Project Manager

Contact

Zondax AG

Dammstrasse 16

Zug 6300, Switzerland

UID CHE-491.796.576

Team's experience

Over the last few years, Zondax has been involved in a large number of projects for most of the key players in the blockchain industry. Our team includes experts in most blockchain aspects, from cryptography to data and protocol engineering.

Team Code Repos

Most of our contributions to the blockchain ecosystem can be found in our GitHub organization zondax

Development Status 📖

Not initiated.

Development Roadmap 🔩

Technical Scope:

The scope of our work will consist on:

Overview

  • Total estimated workload: 4 weeks
  • Delivery time:: 6 to 8 weeks
  • Full-Time Equivalent (FTE): 2.5 FTE
  • Total Costs: 28'800 DAI

Milestone 1 - PoC Implementation

  • Estimated workload: 4 working weeks
  • Delivery time:: 6 to 8 weeks
  • FTE: 2,5
  • Costs: 28'800 DAI
NumberDeliverableSpecification
0a.LicenseApache 2.0 / GPLv3 / MIT
0b.DocumentationWe will provide a inline documentation of the code and inline documentation of the code and a basic tutorial
0c.Testing and Testing GuideCore functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests.
0d.DockerWe will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone.
0e.ArticleWe will publish an article explaining the research, design decisions and proof of concept
1.PoC codeGeneral structure
2a.CodePoC Tests: Host API: cryptography primitives
2b.CodePoC Tests: Trie proof verification
2c.CodePoC Tests: Scale encoding and decoding

*Testing in point 2, will not be comprehensive. We will concentrate on different cases to proof that the architecture and design is adequate.

Future Plans

After we have completed this PoC, we aim to prepare a proposal for a long term test suite.

Additional Information ➕

Zondax has been contributing to the Polkadot ecosystem for several years, and has succesfully completed several grants. We have recently completed a grant on the research of an alternative host implementation. https://github.com/w3f/Grants-Program/pull/1324