![]() Depending on the type of transaction, the block will have different requirements. Transaction is the action of creating and publishing a block to the network. This difference in transaction structures means the terminology used can have different meanings, so it is worth defining these more explicitly:īlock is the digital encoding of the transaction details ( Figure 2). There are four different transaction types in Nano (send, receive, change representative and epoch) and in order to transfer funds, two transactions are required - a send transaction and a receive transaction. In Nano, a block contains the details of a single transaction. In traditional blockchain-based cryptocurrencies like Bitcoin, a block is a group of transactions. Transactions are processed independently and asynchronously. This means that account owners are the only ones who can modify the balance and representative on their own account chains and thus contention only happens on a per-account basis or in relation to epoch distributions 1.įor example, if account A attempts a double spend that must be resolved by the network, account B can still make transactions as normal. One user may control many accounts, but only one public address may exist per account.Īlthough a special private key can be used to publish epoch transactions to all accounts, the only changes allowed for this special type of transaction are related to upgrading the account version. A digitally signed packet of data ensures that the contents were approved by the private-key holder. The public-key, also referred to as the address, is shared with other network participants while the private-key is kept secret. Accounts ¶Īn account is the public-key portion of a digital signature key-pair. Block 1 must be a receive transaction with it's previous field as constant 0. Each account has its own blockchain containing the account’s balance history. Nano has no concept of block sizes or block times that arbitrarily limit the number of transactions that can be processed - the network will confirm as many transactions as current network conditions allow.įigure 1. The block lattice ledger design removes this bottleneck, drastically decreasing transaction latency, improving decentralization, and simplifying transaction validation. This means that there is no waiting for leader-selection as there is in single-blockchain cryptocurrencies like Bitcoin, where a single miner or staker extends the global blockchain with a new block (group of transactions) after solving a Proof-of-Work or being chosen through random selection. This converts a seemingly shared data structure (a global blockchain) into a set of non-shared ones (individual account-chains).Įach Nano node determines for itself whether or not to add a valid transaction to its local ledger. This is a key design component that falls under the category of replacing a run-time agreement with a design-time agreement - everyone agrees via signature checking that only an account owner can modify the balance and representative on their own chain. The Nano ledger is the global set of accounts where each account has its own chain of transactions ( Figure 1). If you are interested in helping with revisions please connect with us on the #documentation channel on our Discord server. Some of the sections and headers on this page may be in draft form or just suggestions/framework for later consideration. See the bottom of the page for related whitepaper sections and other related details. These efforts include the Protocol Design and Node Implementation sections of the docs, which will cover and expand on details and topics covered in the original whitepaper. ![]() ![]() This page is part of the Living Whitepaper revisions currently underway to replace the original static whitepaper. Protocol Design - Ledger ¶ Part of work in progress Living Whitepaper
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |