Fuse Validator Integration into Node Launch/Node Pilot

Summary

Decentralized Authority would like to apply for USDT and FUSE token Grant to:

  1. Add Fuse Validation to Node Launcher, a new, open-source, TypeScript node deployment engine, making Fuse full nodes, archival nodes, and validator nodes deployable from any application with a few lines of code.
  2. Add Fuse archival nodes and one-click validation to Node Pilot, a user-friendly, GUI-driven node deployment software built on the Node Launcher engine.
  3. Maintain and update Fuse nodes in accordance to latest stable releases.
  4. Operate a Fuse Validator to provide mainnet testing and build a long-term partnership.

Background

Shane and Ryan Burgett started developing Node Pilot in August 2020 after being unable to find a comprehensive node deploy/management solution. Shane was a full-time business development contributor to Pocket Network since January 2019. Ryan is a full-stack crypto application developer with years of experience in the areas of wallets, interoperability platforms, mining, and node deployment.

Motivation/Rationale

To keep blockchain networks both secure and censorship resistant, crypto projects need to have a strong node community that is decentralized and always up-to-date. However the technical skills required to run crypto nodes severely limits who can participate, and the lack of node toolings leaves most networks running out-of-date software. Decentralized Authority is driving a new solution that addresses node deployment on both a technical and user-experience level to democratize node running while adhering to industry best practices for any blockchain.

This was first done by building a new node deployment engine called Node Launcher. Node Launcher is a TypeScript library that enables any application to deploy nodes and validators via Docker with only a few lines of code. For the first time, developers can programmatically add node deployment features to any application using only JavaScript. No more CLI, bash scripts, or wrestling with docker config files. Blockchains that are supported in Node Launcher have a powerful node tool to streamline deployments and automate version updating.

With Node Launcher addressing the technical side of node deployments, Node Pilot was created to be free-software that enables users to deploy, manage, and monetize crypto nodes and validators with a few clicks. Seamless Docker integration through Node Launcher brings enterprise-level security and scalability while providing users a simple self-hosted GUI interface. Node Pilot currently supports 10+ blockchain nodes and is bringing 1-click validation capabilities to non-technical users.

There are some limited node management platforms out there like DappNode and AVADO, which are great for simple node deployment, but are locked to a dedicated OS or proprietary hardware and lack the features required for someone to be an effective validator operator on most networks. Validators that are not run properly or outdated become a burden on their networks. Decentralized Authority is designing flexible tools from the ground up to be just as easy as these other platforms while providing important features that make for good validator operators.

When users don’t have a user-friendly, self-hosting solution for participating in their favorite blockchains, their only option is to turn to hosting services where they must trust their keys to 3rd parties. Many of these services are great, but crypto should be an ecosystem with options, and a solution like Node Pilot gives everyone the freedom to be an independent validator operator by overcoming the technical barriers that exist today.

Objective(s)

  1. Fully integrate Fuse full nodes, archival nodes, and validator nodes into the Node Launcher. This would give the Fuse ecosystem an approachable developer tool to create node deployment applications.
  2. Add Fuse validation to Node Pilot as a one-stop, full stack solution for user-friendly self-hosting. This gives all users the ability to run Fuse validators with industry best practices and seamless updating via a user-friendly GUI.
  3. Provide long-term update support to ensure Fuse Valdiators and Pocket Validators are operating on the most up-to-date Fuse software.
  4. Run a mainnet Fuse Validator to provide a real world testing environment for Decentralized Authority to test new updates. This will allow updates to be tested internally before being pushed to the larger community. It is crucial to ensure updates work on mainnet validators.
  5. Create Fuse focused documentation and provide technical support to developers using Node Launcher, and node operators using Node Pilot.

Deliverable(s)

  • Add Fuse node suite to Node Launcher
    • Full nodes
    • Archival nodes
    • Validator nodes
    • Mainnet and Testnet support
  • Add Fuse to Node Pilot
    • Full Fuse node suite
    • 1-click validation
    • CLI Command Entry support
  • User resources and documentation for Node Launcher and Node Pilot
  • VMs/images that enable 1-click deployments
    • AWS
    • Digital Ocean
    • VMware

Budget

10k USDT grant to build initial integrations and documentation

  • Node Launcher
  • Node Pilot

100k FUSE to operate Fuse Validator

  • 18 month lock-up
  • Provides Mainnet validation testing for Node Launcher and Node Pilot
  • Establish a long-term, cross-ecosystem partnership

Contributor(s)

Shane Burgett - Pocket bizdev contributor with a background in business development, marketing, design, and media production.

Ryan Burgett - Full-stack Web3 application developer with 4+ years of experience in the areas of wallets, interoperability platforms, mining, and node deployment.

2 Likes

This is not really my strong side, so I might not be the right person to ask this, but I was wondering if this adds vulnerability for a 51%-attack?

Normally each validator will deploy updates themselves and so if the network gets tampered with, the source can be found. Also getting control of many validators at the same time is almost impossible.

If updating the validators happens centralized and is pushed, this means that a hacker that would get command over the source code and/ or the way the code is being pushed, will immediatly be able to do a 51%-attack (assuming that the validators that would use the pilot actually control 51%+ of the tokens).

Is this a potential risk? And if so, which failsafes can we implement (or are implemented) to make sure this will not happen?

3 Likes

Thanks for the comment @Lucas!

Updates to Validators from Node Pilot always require action from the owner. It is still the responsibility of the individual to update, we just make it able to be done in a seamless fashion (no code via automation). We do not want the responsibility to make network decisions… and updates must come from the official Fuse repos and Validator owners have to approve any upgrades. We are complete with you on this.

As mentioned, we are using the official Fuse Docker container, which comes directly from the Fuse team. You are ultimately trusting their code, and we are just making it able to be deployed and controlled on Docker through a GUI instead of through CLI. It’s similar to how Fuse’s Quickstart Script automates much of the process through CLI, but we do it via a GUI with many other management features added.

Our deployment engine Node Launcher also ensures complete transparency as well to what is being deployed and where the container is coming from. Here is an example from Ethereum where it is hardcoded to pull from the official Ethereum Docker container.

image: 'ethereum/client-go:v1.10.3',

Since NP is using docker, anyone can still access the node via CLI and has complete control of making any changes required, especially if there is a network issue being worked out. At the end of the day, the node itself is just an official Fuse node running in Docker.

In summary, updating is not executed in a centralized manner. Every individual with a vested stake in Fuse still has the same control/responsibilities they have always had. We rely on the official repos for updates and show full transparency to what/how something is being deployed :+1:

I hope I have provided ample detail and if you have any other questions, let us know :slightly_smiling_face:

4 Likes

Sounds good Shane, so basically the team should build safeguards and decide on how to use this tool responsably.

The tool itself sounds great to me. I’m all for it! Let’s have a vote on this asap please.

2 Likes

I’d very much like to see this proposal passed. The current Fuse documentation is far too difficult to follow for the average user, and below-average linux administrator. Being able to spin up nodes and validators with one-click would bring dozens if not hundreds of new nodes, from my sphere of influence alone.

2 Likes

Voted for and passed. Congratulations Node Pilot team. Great to have you onboard and supported in this deployment. Looking forward to seeing Node Launcher in action, and getting some Pokt nodes running as well!

1 Like