Skip to main content

Research & Whitepapers

Nirmata Network Whitepaper

1. Introduction

Nirmata Network is an anonymous blockchain platform that combines advanced distributed ledger technologies with mathematical principles of harmony. Our project is designed to provide:

  • Complete financial anonymity
  • Decentralized communication system
  • Sustainable economic model
  • Energy-efficient consensus

1. Project History

1.1 Background

The Nirmata team entered the blockchain industry from traditional IT sectors. Our years of experience in developing distributed systems and cryptography revealed key problems in modern blockchains:

  • Mining centralization
  • Privacy vulnerabilities
  • Unstable economic models

1.2 Development Philosophy

"We created Nirmata as a response to growing censorship in the financial world. Our goal is to provide users with tools for:

  • Anonymous transactions
  • Secure communication
  • Decentralized asset management

Key principle: Freedom through mathematical harmony"

2. Technical Features

2.1 Hybrid PoW/PoS Consensus

Nirmata Network uses a unique hybrid consensus mechanism combining Proof-of-Work (PoW) and Proof-of-Stake (PoS). This approach provides:

  1. Enhanced security: A 51% attack becomes economically unfeasible as it requires simultaneous control over the majority of hashrate and staking coins.

  2. Decentralization: Protection from ASIC through the ProgPowZ algorithm and equal opportunities for stakers.

  3. Energy efficiency: Resource optimization through balance between PoW and PoS.

PoS Mechanism in Nirmata

graph LR
A[Staker] --> B[UTXO Verification]
B --> C[Block kernel calculation]
C --> D[Verification of condition Hash(kernel) < CoinAmount*PosTarget]
D --> E[Block signing with ring signature]
E --> F[Block broadcast to network]

Key PoS Components:

  1. Block Kernel:

    • Timestamp with 15-second precision
    • KeyImage - 32 bytes of pseudorandom data derived from the public key
    • Stake Modifier - 64 bytes derived from the latest PoW and PoS blocks
  2. Block Signing Condition:

    Hash(kernel) < CoinAmount * PosTarget

    Where:

    • CoinAmount - number of coins in UTXO
    • PosTarget - adaptive parameter maintaining constant block creation rate
  3. Anonymity:

    • Use of ring signatures
    • Hiding staker identity
    • No connection between transactions

Advantages of the Hybrid Approach

  1. Economic Sustainability:

    • Attack requires simultaneous control over hashrate and staking
    • High attack cost makes it economically unfeasible
  2. Decentralization:

    • Protection from ASIC through ProgPowZ
    • Equal opportunities for miners and stakers
  3. Energy Efficiency:

    • Balance between PoW and PoS
    • Network resource optimization

Comparison with Classical Approaches

ParameterPure PoWPure PoSNirmata Hybrid
SecurityVulnerable to hashrate rentalVulnerable to "nothing at stake"High
DecentralizationDepends on hardwareDepends on coin distributionOptimal
Energy consumptionHighLowModerate
AnonymityLimitedLimitedComplete

Design Solutions

  1. Kernel Structure:

    • Using KeyImage instead of direct output references
    • Preserving anonymity through ring signatures
  2. Stake Modifier:

    • Protection against manipulation
    • Recalculation for each new block
    • Combination of data from the latest PoW and PoS blocks
  3. Coin Age:

    • Does not affect block creation probability
    • Ensuring equal opportunities for all participants
    • Supporting liquidity and price discovery

This approach makes Nirmata Network resistant to attacks while maintaining a high level of anonymity and decentralization.

2.2 Dynamic Staking

Minimum balance for PoS participation:

Block HeightMinimum Balance
121,3931,597 NIR
196,4182,584 NIR
317,8114,181 NIR
514,2296,765 NIR
832,04010,946 NIR

2.3 Emission Model

  • Block Reward: 1.618 NIR/block (for all block types)
  • Daily Emission: 4,659.84 NIR
  • Monthly Emission: ~139,795.2 NIR
  • Annual Emission: ~850,267.5 NIR
  • 50-year Forecast: 42,513,375 NIR
  • Premine: 2,178,309 NIR (fixed pre-emission)

2.4 Progressive ProgPowZ Algorithm

  • Protection against ASIC mining
  • GPU optimization
  • Dynamic mining difficulty
  • Energy efficiency

2.5 NiRVeil - Anonymous Messenger

graph TD
A[User] --> B[Ring Signature]
B --> C[Hidden Address]
C --> D[AES-256 Encryption]
D --> E[P2P Network]
E --> F[Recipient]

2.7 Cumulative Chain Weighting

Nirmata Network uses a unique cumulative chain weighting algorithm to ensure balance between PoW and PoS. This approach solves the following tasks:

  1. Protection against manipulation: Preventing artificial difficulty changes in favor of one consensus mechanism.

  2. Attack resistance: Enhancing network security by accounting for both PoW and PoS contributions.

  3. Decentralization: Ensuring equal influence of miners and stakers on the main chain selection.

Mathematical Model

K' = \frac{d_{pos}}{d_{pow}}

Where:

  • K' - correction coefficient at the chain split point
  • d_{pos} - current PoS difficulty
  • d_{pow} - current PoW difficulty

Cumulative difficulty for subchain S, split from the main chain after block B':

CD_s = CD_{pow} + K' \cdot CD_{pos}

Where:

  • CD_{pow} = \sum_i d_{pow}^i - cumulative PoW difficulty
  • CD_{pos} = \sum_j d_{pos}^j - cumulative PoS difficulty

Calculation Example

For two competing chains A and B:

CD_A = 4 + 4 \cdot \left(\frac{1000}{100000}\right) = 8
CD_B = 4 + 1 \cdot \left(\frac{1000}{100000}\right) = 5

2. Technical Features (Additional)

2.8 Aliases

Nirmata Network provides the ability to register aliases - convenient, human-readable names linked to payment addresses. This allows users to:

  1. Simplify transactions: Use short names instead of long cryptographic addresses.
  2. Decentralized address book: Storing aliases in the blockchain ensures their immutability and protection from takeover.
  3. Universal identifiers: Aliases can be used for various services on the Nirmata platform.

Alias Registration

sequenceDiagram
participant User
participant Wallet
participant Blockchain
User->>Wallet: Request to register alias
Wallet->>Blockchain: Check name availability
Blockchain-->>Wallet: Verification result
Wallet->>Blockchain: Create transaction with alias
Blockchain-->>Wallet: Registration confirmation
Wallet-->>User: Successful registration notification

Alias Restrictions

  • Length: 6 to 12 characters
  • Characters: Latin letters (a-z) and numbers (0-9)
  • Case: lowercase letters only

Usage Example

const alias = "nirmatauser";
const address = "NirAddress...";

// Alias registration
const registerAlias = async (alias, address) => {
const tx = await nirmata.createAliasTransaction(alias, address);
await tx.send();
console.log(`Alias ${alias} registered successfully!`);
};

2.9 Additional Data in Transactions

Nirmata Network supports including arbitrary data in transactions, which opens possibilities for:

  1. Comments: Adding text notes to transactions.
  2. Escrow: Storing deal information.
  3. Third-party services: Integration with external applications.

Data Types

  1. Transaction Extra:

    • Permanent blockchain storage
    • Hashing during signature generation/verification
  2. Transaction Attachments:

    • Temporary storage
    • Deletion after passing checkpoints
    • Data hash is saved in Transaction Extra

Data Encryption

K_{enc} = H(K_{derivation} || "encryption")

Where:

  • K_{derivation} - shared secret obtained via Diffie-Hellman protocol
  • H - hash function
  • "encryption" - constant for key generation

2.10 Multi-Signatures (Multi-Sig)

Nirmata Network supports multi-signatures to enhance security and functionality:

  1. M-of-N schemes: Requires M signatures out of N possible.
  2. Two-factor authentication: Storing keys on different devices.
  3. Escrow: Joint asset management.

Multi-signature Identification

ID = H(txPubKey || Out)

Where:

  • txPubKey - one-time transaction public key
  • Out - output body
  • H - hash function

Usage Example

struct MultiSig {
keys: Vec<PublicKey>,
threshold: usize,
}

impl MultiSig {
fn new(keys: Vec<PublicKey>, threshold: usize) -> Self {
Self { keys, threshold }
}

fn create_output(&self, amount: u64) -> Output {
Output::new_multi_sig(self.keys.clone(), self.threshold, amount)
}
}

These functions make Nirmata Network more user-friendly and secure, providing modern tools for asset management and blockchain interaction.

2.11 Difficulty Regulation

Nirmata Network uses an advanced difficulty regulation mechanism that solves the following tasks:

  1. Protection from "greedy mining": Preventing strategies where miners sharply increase hashrate and then reduce it after difficulty adjustment.

  2. Network stability: Ensuring a steady flow of blocks even with sharp hashrate changes.

  3. Fairness: Protecting honest miners from unfavorable mining conditions.

Mathematical Model

D = \frac{D_{720} + D_{240} + D_{40}}{2}

Where:

  • D_{720} - difficulty calculated based on the last 720 blocks with parameters 60/60
  • D_{240} - difficulty calculated based on the last 240 blocks with parameters 7/5
  • D_{40} - difficulty calculated based on the last 40 blocks with parameters 6/2

Approach Advantages

  1. Fast adaptation: Priority to new blocks for quick response to hashrate changes.
  2. Smoothing: Accounting for old blocks to prevent timestamp manipulation.
  3. Resilience: Protection from attacks related to sharp hashrate changes.

Operation Example

graph LR
A[Sharp hashrate increase] --> B[Difficulty adjustment]
B --> C[Block flow stabilization]
C --> D[Honest miner protection]

2.12 Core Architecture

Nirmata Network uses a modern core architecture that provides:

  1. Modularity: Division into daemon, miner, and wallet.
  2. Compatibility: Support for old and new client versions.
  3. Asynchronicity: Parallel request processing.

Components

  1. Daemon:

    • Network connection
    • Validation and exchange of blocks and transactions
    • Local blockchain database support
  2. Miner:

    • Mining task execution
    • New block creation
  3. Wallet:

    • Private key storage
    • Transaction creation

Architecture Advantages

  1. Security: Separation of keys and network.
  2. Scalability: One daemon can serve multiple wallets.
  3. Flexibility: Independent component updates.

2.13 Asynchronous Processing

Nirmata Network uses a fully asynchronous architecture that allows:

  1. Parallel processing: Simultaneous execution of multiple requests.
  2. No locks: Independent operation of the transaction pool.
  3. High performance: Optimization for large transaction volumes.

Operation Example

graph TD
A[Incoming request] --> B[Asynchronous processing]
B --> C[Parallel execution]
C --> D[Result]

These features make Nirmata Network resistant to attacks and ensure high performance even under heavy loads.

3. Economic Ecosystem

3.1 Burning Mechanism

Eternal burning address: aNx1YNfGpWJ74m2Qb1qrwkjgjJ24jJEyRNn43YpN35e1YEKLQmvy99n4h5rry7uj8Zb64JQL33NRoKneTrJ8rADPLM8GkvP7Gfs (public audit) Tracking tracker: aNx1YNfGpWJ74m2Qb1qrwkjgjJ24jJEyRNn43YpN35e1YEKLQmvy99n4h5rry7uj8Zb64JQL33NRoKneTrJ8rADPLM8GkvP7Gfs:c9a8a57529cdba327f1d407f7ba121bf27b64fdd7b0001cd25493aab5ac8ce06:1708767692

  • Daily automatic burning through PoS
  • Impossibility of fund withdrawal
  • Participation in network consensus

3.2 Fibonacci Economics

  • Golden ratio 1.618 as the foundation for:
    • Fee sizes
    • Block rewards
    • Emission curve

3.3 PeerSwap - P2P Exchange

struct PeerSwap {
escrow: EscrowContract,
nir_collateral: u64,
status: SwapStatus,
}

impl PeerSwap {
fn new(collateral: u64) -> Self {
Self {
escrow: EscrowContract::new(),
nir_collateral: collateral,
status: SwapStatus::Pending,
}
}
}

3.4 NiRoom - Decentralized Communication

  • Blockchain-level encryption
  • Anonymous communication channels
  • Wallet integration

3.5 Consolidated Transactions

Nirmata Network provides a mechanism for joint transaction creation by multiple users, which ensures:

  1. Atomicity: All or nothing - the transaction either executes completely or not at all.
  2. Fund protection: Prevention of fund freezing or burning.
  3. Security: Protection from malicious actions through financial incentives.

Consolidated Transaction Creation Process

sequenceDiagram
participant Anika
participant Vivan
participant Blockchain
Anika->>Anika: Prepare transaction template
Anika->>Vivan: Send transaction template
Vivan->>Vivan: Verify and sign transaction
Vivan->>Blockchain: Broadcast transaction
Blockchain-->>Anika: Transaction confirmation
Blockchain-->>Vivan: Transaction confirmation

Usage Example

struct ConsolidatedTransaction {
inputs: Vec<Input>,
outputs: Vec<Output>,
signatures: Vec<Signature>,
}

impl ConsolidatedTransaction {
fn new() -> Self {
Self {
inputs: Vec::new(),
outputs: Vec::new(),
signatures: Vec::new(),
}
}

fn add_input(&mut self, input: Input) {
self.inputs.push(input);
}

fn add_output(&mut self, output: Output) {
self.outputs.push(output);
}

fn sign(&mut self, signature: Signature) {
self.signatures.push(signature);
}
}

3.6 Escrow

Nirmata Network implements a decentralized escrow mechanism that allows:

  1. Secure deals: Protecting interests of both parties.
  2. Anonymity: No need for a trusted third party.
  3. Flexibility: Customizing deal conditions by agreement between parties.

Escrow Process

graph TD
A[Anika creates escrow template] --> B[Vivan adds his funds]
B --> C[Funds locked in multi-signature]
C --> D[Vivan sends the goods]
D --> E[Anika confirms receipt]
E --> F[Funds unlocked]

Usage Example

const createEscrow = async (buyer, seller, amount) => {
const escrowTx = await nirmata.createEscrowTransaction({
buyer,
seller,
amount,
deposit: amount * 2, // Deposit to protect against malicious actions
});

await escrowTx.send();
console.log('Escrow transaction created successfully!');
};

Usage Scenarios

  1. Successful deal:

    • Anika and Vivan sign the unlock transaction.
    • Funds are distributed according to deal conditions.
  2. Goods return:

    • Anika returns the goods to Vivan.
    • Both get their funds back.
  3. Conflict:

    • In case of non-fulfillment of conditions, both parties lose their deposit.

Security

  1. Protection from changes:

    • Data hash is stored in the corresponding transaction input.
    • Alice's signature protects data from changes.
  2. Temporary fund locking:

    • Funds are locked until transaction confirmation by the network.
    • In case of rejection or timeout, funds are unlocked.
  3. Financial incentives:

    • Need to add own funds for malicious actions.
    • Deposit loss in case of deal condition violation.

These functions make Nirmata Network a secure and convenient platform for conducting complex transactions and deals while maintaining a high level of anonymity and decentralization.

4. Development Ecosystem

4.1 Nirmata CELL

  • Universal application for:
    • Asset management
    • Staking
    • P2P exchange
    • Anonymous communication
    • Access to trading data
    • Access to blockchain data

4.2 API for Developers

const nirmata = require('nirmata-sdk');

const wallet = new nirmata.Wallet({
network: 'mainnet',
storage: 'local'
});

wallet.createTransaction({
to: 'NirAddress...',
amount: 1.618,
fee: 0.001618
}).then(tx => {
console.log('Transaction created:', tx);
});

4.3 Partnership Ecosystem

4.3.1 Exchanges and Listings

Nirmata Network is listed on the following exchanges:

  • IndoEx
  • TradeOgre
  • Exbitron
  • Xeggex
  • NonKyc

4.3.2 Technical Partners

Nirmata Network is integrated with leading crypto industry services:

  • Mining services:

    • Whattomine
    • Hashrate
    • Kryptex
    • HiveOS
    • Minerstat
    • MiningPoolStats
    • MinerBox
  • Information platforms:

    • Coinpaprika
    • CoinCodex
    • Coinranking
    • Coingecko
    • LiveCoinWatch
    • Blockspot
    • Cryptounit
    • Coincheckup
    • Dropstab

4.3.3 SWFT Integrations

Integration with the SWFT platform is under development for:

  • Mobile wallets
  • Cross-chain exchanges
  • Fast transactions

4.4 Development Roadmap

Q1 2024

  • Mainnet launch ✅
  • Nirmata wallet release ✅
  • Block Explorer launch ✅
  • Listing on NonKyc ✅
  • Listing on Xeggex ✅
  • Listing on TradeOgre ✅
  • Picasso soft fork ✅
  • Nirmata Wallet 1.0.2 release ✅
  • Santi soft fork ✅
  • Nirmata Wallet 1.0.3 release ✅
  • TestNet launch ✅

Q2 2024

  • Nirmata Wallet 1.0.4 release ✅
  • Fundraising on Mexc ✅
  • Listing on Coingecko ✅
  • Kryptex integration ✅
  • PeerSwap testing ✅
  • Monet soft fork ✅
  • Nirmata Wallet 1.1.0 release ✅
  • PeerSwap release ✅
  • New exchange listings ✅
  • JS tools for daemon and wallet operations ✅
  • Chat system implementation ✅

Q3-Q4 2024

  • Dali soft fork ✅
  • DaVinci soft fork ✅
  • Nirmata Wallet 1.1.1 release ✅
  • macOS support ✅

2025

  • Nirmata CELL release ✅
  • NiRVeiL release ✅
  • Mobile wallets release (SWFT) ⏳
  • NirEx development ⏳

Updated roadmap data: https://nirmata-network.com/#roadmap