Treasury Proposal: Implement the Ziggurat Network Testing Framework on Kusama (Milestone 1)

About the Project

A Ziggurat is a rectangular stepped tower that uses precise measurements to ensure that each foundation can support the layers above.

This metaphor can be applied to network testing by defining three layers:

  • Conformance: adherence to the network protocol
  • Performance: healthy throughput under pressure
  • Resistance: the withstanding of malicious behavior

Ziggurat by Equilibrium, is a set of tools that allows node developers to test these three layers extensively and ensure that each new release does not introduce bugs, performance bottlenecks, or security flaws.

As mentioned in the conclusion of the recent Trail of Bits report: It’s only a matter of time before a blockchain network is completely toppled by a network-level hack. This proposal will detail why this work is critical, and how we will go about solving it.

This proposal is for the first milestone of this process: Creating a test plan. Please see Miletone 1's description in the overall proposal here: https://docs.google.com/document/d/1HRhFKo5w73wP5Nz8hg3xtw5GmPseNrzsarJLNNZqDZo/edit#heading=h.3xl84ufmazmq

The Team behind it

Lukasz Jedrzejczyk (GitHub, LinkedIn) has followed the development of Rust since before it became stable in 2015 and has been a proactive contributor to the Rust compiler and its StackOverflow community. He has participated in the development of multiple peer-to-peer nodes belonging to blockchains and other distributed systems, usually concentrating on the network layer. Notable examples are Rust IPFS and Aleo.

Niklas Long (GitHub, LinkedIn) deeply cares about open source, distributed systems and data privacy. He has been on the Aleo Core Team since late 2020, mostly overhauling, testing and profiling their network; is the author of Ziggurat and an active contributor to Rust IPFS.

Karlo Mardešić (GitHub) is an embedded software engineer with a solid background in time network synchronization. An eager and passionate learner, he joined Eiger searching for exciting problems in the blockchain world and is currently focused on testing the network protocols. He takes great pleasure working in Rust and OSS community.

Mark Henderson (GitHub, Twitter) is the VP of Engineering at Equilibrium. He has led the team starting with the original Rust IPFS grant in late 2019, through engagements with many of the largest names in Web3, and is now circling back to finish the critical work the team started with the original Ziggurat proposal. Core contributor to OrbitDB, Rust IPFS, and Ziggurat.

Proposal Team Experience

Equilibrium is a software consultancy and venture studio with a mission to further privacy and decentralization. Our clients include StarkWare, ZCash, Aleo, Protocol Labs, The Ethereum Foundation, The XRPL Foundation, Polygon and quite a few more. Our expertise is deeply technical, and we also employ economists and expert cryptographers to deliver results beyond the bounds of software development.

Much of our recent work has involved the design and testing of peer-to-peer networks in both familiar (e.g. libp2p) and customized contexts. Our impact typically falls into the following categories:

Bug Fixing

  • detecting vulnerabilities using dedicated fuzz tests
  • squashing memory leaks
  • detecting and fixing blocking operations in asynchronous contexts

Implementation

  • creating alternative implementations of network protocols
  • creating thorough network integration tests
  • simplifying existing implementations, suggesting protocol improvements

Profiling

  • creating integration-level benchmarks
  • detecting and investigating memory/CPU spikes
  • introducing/increasing parallelism where applicable

Network Analysis

  • crawling swarms using the P2P network layer (not RPC)
  • visualizing data to display on a web-based interface
  • gathering metrics such as reachable node cardinality, as well as node and network protocol versions

Furthermore, Equilibrium has a taste for graphic and product design, seen in the execution of Vanilla, the XRPL Hooks Playground, and the Ziggurat GUI site itself (not included in this scope of work).

For a detailed budget and breakdown of price, see the attached proposal: https://docs.google.com/document/d/1HRhFKo5w73wP5Nz8hg3xtw5GmPseNrzsarJLNNZqDZo/edit?usp=sharing

Up
Comments
No comments here