Nillion Documentation

website·Indexed 29 days ago

https://staging-nillion-builder-docs.vercel.app/

Documentation for Nillion, a secure computation network for decentralizing high-value data. Includes guides on the Nillion Client, the Nada MPC language, and tools for storing and retrieving secrets, managing permissions, and performing single or multi-party computation.

Tokens
10.4K
Snippets
42
Records
92
Agent score
74%

What's inside Nillion

  1. Overview of the nillion CLI tool

    The nillion tool is a command-line version of the Nillion Client. It can be used against the Nillion Network or a local cluster (via nillion-devnet). Key capabilities include storing and retrieving secrets, storing and computing on programs, fetching cluster information, checking preprocessing pool status, and inspecting node/user IDs from keys.
  2. Overview of the nada CLI tool

    nada is the primary command-line tool for managing Nada projects. It provides functionality to create new projects, compile programs, execute programs (including a debug mode), run tests, and automatically generate test files from existing programs.
  3. Overview of High Value Data (HVD) in Nillion

    High Value Data (HVD) refers to critical information—such as AI models, trading data (leverage and limit orders), identity, healthcare records, access controls, decentralized social data, passwords, and biometrics—that has a significant impact on individuals and organizations. Nillion utilizes cryptography to decentralize HVD, moving beyond simple defensive security to enable new use cases and a more equitable data ecosystem.
  4. Overview of the Nillion secure computation network

    Nillion is a decentralized secure computation network designed for high-value data. Unlike traditional systems that require a 'decrypt-compute-reencrypt' cycle—which introduces security vulnerabilities and inefficiencies—Nillion uses privacy-enhancing technologies (PETs), specifically Multi-Party Computation (MPC), to allow computations to be executed directly on masked data. This ensures that high-value data remains hidden even during processing, enabling secure use cases for healthcare data, password management, trading data, and private predictive LLMs.
  5. Overview of Nillion's MPC Protocol workflow

    Nillion's MPC protocol extends Linear Secret-Sharing Schemes (LSSS) to evaluate non-linear operations, specifically the sum of products (SoP) of non-zero user inputs. The protocol is divided into two primary phases:

    1. Phase 1: Pre-processing: Generates and distributes shares (masks) for each factor and term in the sum of products expression. This phase is independent of actual input values and only depends on the number of inputs required.
    2. Phase 2: Non-Interactive Computation: Performs calculations on private inputs across three stages:
      • Input Stage: Parties combine their private inputs with pre-processing shares to create multiplicatively homomorphic masked factors, which are then broadcast to the network.
      • Evaluation Stage: Parties perform local calculations (addition and multiplication) directly on the masked data using computationally homomorphic properties.
      • Output Stage: Local calculation results are revealed and aggregated to derive the final result of the multi-party computation.
  6. Overview of the Nillion secure computation network

    Nillion is a secure computation network designed to decentralize trust for high-value data. It allows developers to build privacy-preserving applications by defining MPC (Multi-Party Computation) programs, managing permissioned secrets, and executing computations on those secrets within a decentralized network.
  7. Overview of the Nada MPC Language

    Nada is a strongly typed, correctness-oriented, compiled Domain Specific Language (DSL) implemented in Python. It is used on the Nillion Network to define Multi-Party Computation (MPC) programs. The language features compile-time type checking and static analysis to prevent type mismatches and other common errors.
  8. Understand Nillion User Identity and Keys

    A Nillion Network user is identified by an Ed25519 key pair.

    • user_key: The private key. This must be kept secret as it grants access and permissions to secrets stored on the network.
    • user_id: The public identifier derived from the public key. This ID is used by other parties to grant permissions to secrets.
  9. Deploy a Nillion node using the Node Deployment Kit (NDK)

    The Nillion Node Deployment Kit (NDK) is the primary tool used to deploy nodes on the Nillion Network. It is used for provisioning nodes across various environments, including the devnet, testnet, and the future mainnet.
  10. Store secret strings, integers, and arrays in Nillion

    The Nillion network allows you to store secrets in three primary formats: SecretBlobs (UTF-8 encoded strings), SecretIntegers (single integer values), and SecretArrays (lists of values with the SecretInteger type). These operations are performed using the store_secrets method in the Nillion Python Client.
  11. Understand Multi-Party Computation (MPC) fundamentals

    Multi-Party Computation (MPC) is a cryptographic technique that enables multiple parties to jointly compute a function over their inputs while keeping those inputs private. Unlike traditional data handling, which follows a 'decrypt-compute-reencrypt' cycle—leaving data vulnerable during the computation phase—MPC ensures that data remains confidential while it is being processed. This allows parties to collaborate on hidden secrets without ever revealing the actual secrets to each other or any third party.