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:
Enhanced security: A 51% attack becomes economically unfeasible as it requires simultaneous control over the majority of hashrate and staking coins.
Decentralization: Protection from ASIC through the ProgPowZ algorithm and equal opportunities for stakers.
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:
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
Block Signing Condition:
Hash(kernel) < CoinAmount * PosTarget
Where:
CoinAmount
- number of coins in UTXOPosTarget
- adaptive parameter maintaining constant block creation rate
Anonymity:
- Use of ring signatures
- Hiding staker identity
- No connection between transactions
Advantages of the Hybrid Approach
Economic Sustainability:
- Attack requires simultaneous control over hashrate and staking
- High attack cost makes it economically unfeasible
Decentralization:
- Protection from ASIC through ProgPowZ
- Equal opportunities for miners and stakers
Energy Efficiency:
- Balance between PoW and PoS
- Network resource optimization
Comparison with Classical Approaches
Parameter | Pure PoW | Pure PoS | Nirmata Hybrid |
---|---|---|---|
Security | Vulnerable to hashrate rental | Vulnerable to "nothing at stake" | High |
Decentralization | Depends on hardware | Depends on coin distribution | Optimal |
Energy consumption | High | Low | Moderate |
Anonymity | Limited | Limited | Complete |
Design Solutions
Kernel Structure:
- Using KeyImage instead of direct output references
- Preserving anonymity through ring signatures
Stake Modifier:
- Protection against manipulation
- Recalculation for each new block
- Combination of data from the latest PoW and PoS blocks
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 Height | Minimum Balance |
---|---|
121,393 | 1,597 NIR |
196,418 | 2,584 NIR |
317,811 | 4,181 NIR |
514,229 | 6,765 NIR |
832,040 | 10,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:
Protection against manipulation: Preventing artificial difficulty changes in favor of one consensus mechanism.
Attack resistance: Enhancing network security by accounting for both PoW and PoS contributions.
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 pointd_{pos}
- current PoS difficultyd_{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 difficultyCD_{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:
- Simplify transactions: Use short names instead of long cryptographic addresses.
- Decentralized address book: Storing aliases in the blockchain ensures their immutability and protection from takeover.
- 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:
- Comments: Adding text notes to transactions.
- Escrow: Storing deal information.
- Third-party services: Integration with external applications.
Data Types
Transaction Extra:
- Permanent blockchain storage
- Hashing during signature generation/verification
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 protocolH
- hash function"encryption"
- constant for key generation
2.10 Multi-Signatures (Multi-Sig)
Nirmata Network supports multi-signatures to enhance security and functionality:
- M-of-N schemes: Requires M signatures out of N possible.
- Two-factor authentication: Storing keys on different devices.
- Escrow: Joint asset management.
Multi-signature Identification
ID = H(txPubKey || Out)
Where:
txPubKey
- one-time transaction public keyOut
- output bodyH
- 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:
Protection from "greedy mining": Preventing strategies where miners sharply increase hashrate and then reduce it after difficulty adjustment.
Network stability: Ensuring a steady flow of blocks even with sharp hashrate changes.
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/60D_{240}
- difficulty calculated based on the last 240 blocks with parameters 7/5D_{40}
- difficulty calculated based on the last 40 blocks with parameters 6/2
Approach Advantages
- Fast adaptation: Priority to new blocks for quick response to hashrate changes.
- Smoothing: Accounting for old blocks to prevent timestamp manipulation.
- 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:
- Modularity: Division into daemon, miner, and wallet.
- Compatibility: Support for old and new client versions.
- Asynchronicity: Parallel request processing.
Components
Daemon:
- Network connection
- Validation and exchange of blocks and transactions
- Local blockchain database support
Miner:
- Mining task execution
- New block creation
Wallet:
- Private key storage
- Transaction creation
Architecture Advantages
- Security: Separation of keys and network.
- Scalability: One daemon can serve multiple wallets.
- Flexibility: Independent component updates.
2.13 Asynchronous Processing
Nirmata Network uses a fully asynchronous architecture that allows:
- Parallel processing: Simultaneous execution of multiple requests.
- No locks: Independent operation of the transaction pool.
- 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:
- Atomicity: All or nothing - the transaction either executes completely or not at all.
- Fund protection: Prevention of fund freezing or burning.
- 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:
- Secure deals: Protecting interests of both parties.
- Anonymity: No need for a trusted third party.
- 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
Successful deal:
- Anika and Vivan sign the unlock transaction.
- Funds are distributed according to deal conditions.
Goods return:
- Anika returns the goods to Vivan.
- Both get their funds back.
Conflict:
- In case of non-fulfillment of conditions, both parties lose their deposit.
Security
Protection from changes:
- Data hash is stored in the corresponding transaction input.
- Alice's signature protects data from changes.
Temporary fund locking:
- Funds are locked until transaction confirmation by the network.
- In case of rejection or timeout, funds are unlocked.
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