RGB-Tools / RGB-Tools/rgb-lightning-node

Proposal: Integrating Validating Remote Signer (VLS) in RGB Lightning Node

Open
#43 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
50
Forks
48
Avg merge
8h 52m
Merged PRs (30d)
2

Description

Proposal: Integrating Validating Remote Signer (VLS) in RGB Lightning Node

At ThunderStack, we aim to provide the best possible service and security for our clients, developers, and users. To achieve this, we propose integrating the Validating Remote Signer (VLS) into the RGB Lightning Node.

Motivation

During the implementation of a cloud solution for the RGB Lightning Node (RLN), one of the primary concerns raised by users was the need for higher standards of security. Users emphasized the importance of separating the signer from the node to minimize attack surfaces and enhance key protection. To address these needs, we propose providing several deployment options for the signer, each offering different trade-offs in terms of security, usability, and control. See the use cases below for details.

Use Cases

1. Secure Remote Signer Deployment

By default, deploy the remote signer to AWS Nitro Enclaves, ensuring:

  • Isolation of the signer in a hardware-secured environment.
  • Protection against unauthorized access and external threats.

Reference: AWS Nitro Enclaves

2. User-Hosted Non-Custodial Signers

Provide users with:

  • Scripts and documentation for hosting signers locally, ensuring full key ownership.
  • Optional MPC-based signing for enterprise-grade security in cloud environments, inspired by Fireblocks custody solutions.

Reference: Fireblocks MPC API, AWS Nitro MPC

3. Mobile Wallet Integration

Enable signers to operate on mobile wallets by:

  • Supporting a non-custodial architecture suitable for mobile aligning with the Greenlight framework, to keep secret keys on user's device for signing operations.
  • Leveraging notification systems to wake the device for signing operations.

Reference: Breez SDK Notifications, Greenlight Key Manager

Reference Implementation

LDK VLS Implementation

The LDK VLS Implementation demonstrates the use of Lightning Development Kit (LDK) with VLS

Design Goals

  • Ensure compatibility with Greenlight.
  • Enhance security for both cloud-hosted and user-hosted setups.
  • Introduce enterprise-level security via MPC mechanisms.

References

  1. AWS Nitro Enclaves
  2. Fireblocks MPC
  3. Breez SDK Notifications
  4. Greenlight Key Manager
  5. VLS Overview
  6. VLS Transaction Diagrams

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no repository files, tests, or entry points. Start by reviewing the linked LDK VLS implementation and VLS references, then define the integration scope; done would mean an agreed implementation covering the listed deployment options and Greenlight compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, rust
Domain
backend, cloud, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.