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