spec.nexa.org
Open in
urlscan Pro
159.65.163.15
Public Scan
Submitted URL: http://spec.nexa.org/
Effective URL: https://spec.nexa.org/
Submission: On October 28 via api from US — Scanned from DE
Effective URL: https://spec.nexa.org/
Submission: On October 28 via api from US — Scanned from DE
Form analysis
1 forms found in the DOM<form id="searchBar"><input class="textEntry" id="searchText" type="text" placeholder="search" value=""><input id="hiddenSubmit" type="submit" onclick="search(); return false;"></form>
Text Content
NEXA login Search Page Contents Nexa Blockchain Protocol and Consensus Specifications Overview Design Basics Overview Blockchain Basics Chain work Protocol Hashing Algorithms Transaction Pool The Blockchain Addresses Address Types Cashaddr Encoding Blocks The Block Block Header Merkle Tree Transaction Ordering Cryptography Bitcoin Keys (Public/Private) Multisignature (M-of-N multisig) Signatures (ECDSA/Schnorr) Encoding Base58 Cashaddr Proof of Work (PoW) Difficulty Adjustment Algorithm Mining Proof of Work Script (Bitcoin transaction language) Operation Codes (opcodes) Script Tokens Native Tokenization Token Description Document NFT/SFT Specification NFT/SFT Categories Transactions NEXA Transactions Overview Template Script Output Format Locking Script Transaction Format Transaction Signing Unlocking Script Transaction validation Block-Level Validation Rules Network-Level Validation Rules Transaction Validation Formats Network Address Variable Length Integer Variable Length String History Block Version Protocol Version Transaction Version Mining Echelon Protocol Mining Pools Network protocol Basic Network Parameters Handshake Network Messages Nexa Address Bignum Bignum Modulo Divisor Blinded POW CAPD Challenge Transaction Delegated Payment Protocol Nexa POW Nexa ID OP_BIN2BIGNUM OP_EXEC OP_NUM2BIN OP_PLACE OP_PUSH_TX_STATE Opcode Syntax Outpoint Script Templates Sighash Type Script Instructions Transaction Transaction Identifier Transaction Overview Protocol Changes Addresses CAPD Message Pool (Counterparty and Protocol Discovery) DPP (Delegated Payment Protocol) Nexa Identity Challenge Transactions Simple Payment Verification (SPV) Bloom Filters SPV Miscellaneous Endian Related Recently Viewed home { "title": "NEXA", "summary": "Nexa cryptocurrency consensus and protocol specifications" } NEXA BLOCKCHAIN PROTOCOL AND CONSENSUS SPECIFICATIONS Last updated: 2023 May 9 OVERVIEW Nexa is a decentralized cryptocurrency with a public distributed ledger. Transactions are validated and transmitted over a peer-to-peer (P2P) overlay (over TCP-IP) network, and stored in the blockchain. Nexa utilizes the Proof-of-Work timestamping and consensus scheme with a hash function that is a combination of elliptic curve multiplication and SHA-256, targeting a 2-minute block time. It utilizes the secp256k1 parameters with the Schnorr algorithm for digital signatures. The ticker symbol for Nexa is NEXA (or NEX if you must have 3 letters). The Nexa consensus protocol is a modification of Bitcoin Cash, which is a modification of Bitcoin. This documentation attempts to cover the full Nexa protocol, by leveraging previously written documentation for Bitcoin Cash. Therefore you may occasionally see references to Bitcoin Cash that are no longer applicable. Please notify us on our issue tracker if you discover a problem. Style Guide – Contributors – Target Audience – Project History CWIK Markdown Cheat Sheet DESIGN Merkle Tree Block N Hash0 Hash1 Hash2 Hash3 Hash01 Hash23 Root Hash Prev_Hash Timestamp Merkle Root Block N+1 Block N-1 Tx0 Tx1 Tx2 Tx3 Nexa operates on the blockchain which is replicated among the nodes in the Nexa overlay network. Transactions are submitted to network nodes, which will validate the transaction against the transaction history in the blockchain. Once transactions are considered valid, they will be grouped into blocks through Merkle Trees. Through rigorous hash computation, blocks can be mined into the blockchain by the network nodes and are subsequently broadcast to the network. The blockchain serves as the public ledger for the nexa cryptocurrency and participant-defined tokens. It consists of a tree of blocks, where each block references its parent by cryptographic hash. Of this tree, one single chain of blocks probabilistically contains overwhelmingly more cumulative hashing work than any other chain. This chain is called the “main chain” and its history, from genesis block to tip, defines the current state of the ledger, achieving consensus about what transactions are included in the blockchain and ledger. Due to the characteristics of hash functions, the content of any block cannot be altered without changes to all its subsequent blocks. The time and computation intensity of such change increases as the blockchain is extended with new blocks. Therefore, the transaction history in the blockchain at an arbitrary point in the past can be considered probabilistically immutable even with public access, with the probability of immutability increasing the deeper in the chain the transaction is found. The transactions on Nexa are pseudonymous. The blockchain does not keep records of coin ownerships for users. Instead, each transaction refers to the unspent outputs of previous transactions. The outputs of the transaction is then locked through locking scripts and whoever holds the correct unlocking scripts can use the outputs in their future transactions. The Nexa network is an ad-hoc decentralized network of volunteers, in which transactions are transmitted and validated. Messages on the network are usually broadcast on a best-effort basis. BASICS OVERVIEW BLOCKCHAIN BASICS CHAIN WORK PROTOCOL HASHING ALGORITHMS TRANSACTION POOL THE BLOCKCHAIN ADDRESSES ADDRESS TYPES CASHADDR ENCODING BLOCKS THE BLOCK BLOCK HEADER MERKLE TREE TRANSACTION ORDERING CRYPTOGRAPHY BITCOIN KEYS (PUBLIC/PRIVATE) MULTISIGNATURE (M-OF-N MULTISIG) SIGNATURES (ECDSA/SCHNORR) ENCODING BASE58 CASHADDR PROOF OF WORK (POW) DIFFICULTY ADJUSTMENT ALGORITHM MINING PROOF OF WORK SCRIPT (BITCOIN TRANSACTION LANGUAGE) OPERATION CODES (OPCODES) SCRIPT TOKENS NATIVE TOKENIZATION TOKEN DESCRIPTION DOCUMENT NFT/SFT SPECIFICATION NFT/SFT CATEGORIES TRANSACTIONS NEXA TRANSACTIONS OVERVIEW TEMPLATE SCRIPT OUTPUT FORMAT LOCKING SCRIPT TRANSACTION FORMAT TRANSACTION SIGNING UNLOCKING SCRIPT TRANSACTION VALIDATION BLOCK-LEVEL VALIDATION RULES NETWORK-LEVEL VALIDATION RULES TRANSACTION VALIDATION FORMATS NETWORK ADDRESS VARIABLE LENGTH INTEGER VARIABLE LENGTH STRING HISTORY BLOCK VERSION PROTOCOL VERSION TRANSACTION VERSION MINING ECHELON PROTOCOL MINING POOLS NETWORK PROTOCOL BASIC NETWORK PARAMETERS HANDSHAKE NETWORK MESSAGES NEXA ADDRESS BIGNUM BIGNUM MODULO DIVISOR BLINDED POW CAPD CHALLENGE TRANSACTION DELEGATED PAYMENT PROTOCOL NEXA POW NEXA ID OP_BIN2BIGNUM OP_EXEC OP_NUM2BIN OP_PLACE OP_PUSH_TX_STATE OPCODE SYNTAX OUTPOINT SCRIPT TEMPLATES SIGHASH TYPE SCRIPT INSTRUCTIONS TRANSACTION TRANSACTION IDENTIFIER TRANSACTION OVERVIEW PROTOCOL CHANGES ADDRESSES CAPD MESSAGE POOL (COUNTERPARTY AND PROTOCOL DISCOVERY) DPP (DELEGATED PAYMENT PROTOCOL) NEXA IDENTITY CHALLENGE TRANSACTIONS SIMPLE PAYMENT VERIFICATION (SPV) BLOOM FILTERS SPV MISCELLANEOUS ENDIAN