Skip to content
@runziggurat

Ziggurat

Ziggurat

Secure and analyze your blockchain network

Like the multi-stepped pyramids of antiquity, Ziggurat stands to provide multiple layers of stability for your peer-to-peer network. By reverse-engineering the network protocol and using lightweight "synthetic" nodes, Ziggurat provides blockchain node developers with the foundation of reliability, performance, and scalability needed to realize their true potential.

Network Coverage

Our coverage so far includes ZCash, Aleo, Algorand, and the XRP Ledger. More are on the way. The table below illustrates whether a network is covered (💚), WIP (🚧), or not covered (❌)

  Spec Conformance Input Fuzzing Network Crawler Bad Actor Modeling Network Visualization Performance Benchmarking
ZCash 💚 💚 💚 💚 💚 💚
XRP Ledger 💚 💚 💚 💚 💚
Algorand 💚 💚 💚 💚
Bitcoin 💚
The Graph 💚

Coverage Details

Ziggurat started with the three single-node layers of testing - Conformance, Performance, and Resistance (CPR). However, we are now exploring (and in some cases performing) network-wide analysis and testing.

Single Node Tests

The CPR test suite has become a staple of any Ziggurat implementation:

  1. Conformance to the network specification
    1. Does a network spec exist?1
    2. Do all clients exhibit the same networking behavior?
    3. Do any inconsistencies cause incompatibility between clients?
  2. Performance under scale
    1. Does your node experience slowdowns under increased load?
    2. ...heavy load? Very heavy load?
    3. What factors of your node's engineering lead to performance bottlenecks?
  3. Resistance to bad actors.
    1. How does your node respond to unexpected messages?
    2. Does your node inadvertendly allow malicious or unexpected behaviors?

Network-wide

  1. Network Crawler
    1. How many nodes are running on your network?
    2. How many are running well?
    3. What versions of clients and network protocols are out there?
    4. What other analytics can we gather from the peer-to-peer network?
  2. Data analytics and visualization
  3. Data flow for network analysis: IPS and network visualization

Development Cycle

Ziggurat is compatible with networks at any phase of deployment. For example - the CPR tests can be run during development or pre-deployment, and the network-wide tests can be run on devnet, testnet, or even mainnet.

Contributors

Contributing

Feedback and contributions from the open source community are welcome. If you have any queries, you can open an issue in the relevant repository and our team will take it from there.

For more information see CONTRIBUTING.md

Footnotes

  1. Sometimes, the Ziggurat test suite becomes the de-facto networking spec

Pinned Loading

  1. zcash zcash Public

    The Zcash Network Stability Framework

    Rust 15 9

  2. xrpl xrpl Public

    Ziggurat x XRPL

    Rust 3

  3. algorand algorand Public

    Algorand x Ziggurat

    Rust 7 8

Repositories

Showing 9 of 9 repositories
  • .github Public
    runziggurat/.github’s past year of commit activity
    0 4 0 0 Updated Nov 7, 2023
  • zcash Public

    The Zcash Network Stability Framework

    runziggurat/zcash’s past year of commit activity
    Rust 15 Apache-2.0 9 0 0 Updated Sep 7, 2023
  • algorand Public

    Algorand x Ziggurat

    runziggurat/algorand’s past year of commit activity
    Rust 7 8 0 0 Updated Jul 25, 2023
  • p2p-viz Public archive

    The p2p network visualizer of our dreams.

    runziggurat/p2p-viz’s past year of commit activity
    TypeScript 0 MIT 1 0 0 Updated Jun 28, 2023
  • ziggurat-viz Public

    The Ziggurat Visualizations.

    runziggurat/ziggurat-viz’s past year of commit activity
    TypeScript 1 0 7 0 Updated Jun 28, 2023
  • ziggurat-core Public

    Base package for common utils used across the ziggurat projects

    runziggurat/ziggurat-core’s past year of commit activity
    Rust 4 5 0 1 Updated Jun 19, 2023
  • xrpl Public

    Ziggurat x XRPL

    runziggurat/xrpl’s past year of commit activity
    Rust 0 3 0 1 Updated Jun 12, 2023
  • crunchy Public
    runziggurat/crunchy’s past year of commit activity
    Rust 0 3 0 0 Updated May 11, 2023
  • roadmap Public

    Our high-level roadmap of Ziggurat's features and business model

    runziggurat/roadmap’s past year of commit activity
    0 0 0 0 Updated Apr 11, 2022

Top languages

Loading…

Most used topics

Loading…