Aggregate Addresses in CryptoNote: Towards Efficient Privacy

Introduced in: Bytecoin 1.0.6

In this whitepaper we describe an efficient solution for bulk handling of Bytecoin addresses without need to change the CryptoNote protocol. Our scheme is designed to process transactions efficiently regardless of the number of addresses. Nevertheless, it still ensures the same level of privacy as the regular CryptoNote protocol.


CryptoNote v 2.0

This whitepaper gives an overview of the major differences between Bitcoin technology and CryptoNote technology, which powers Bytecoin. This is a general introduction to ring signatures, one-time output keys, CryptoNight hash function, smooth emission curve, and adjustable parameters.


CNS002: CryptoNote Signatures

This CryptoNote Standard defines the exact method of zero-knowledge proof to establish the ownership of an asset used in Bytecoin. The standard CryptoNote approach is the one-time ring signature scheme: it allows a user to sign a message on behalf of the group while keeping his identity indistinguishable from others. Only one signature is allowed under the same key ("one-time" property), as any other signatures will be unambiguously linked with the first one, which prevents double-spending.

CNS003: CryptoNote Blockchain

This CryptoNote Standard defines the way data is stored within Bytecoin blocks and the blockhain along with the corresponding data structures.

CNS004: CryptoNote Transactions

The document defines the transfer of assets between users through transactions. Each transaction consists of inputs (i.e. references to the funds owned by the sender prior to the transaction) and outputs (i.e. records of the subsequent ownership of those funds). As a proof of ownership, the sender digitally signs the transaction with his secret keys in zero-knowledge, using one-time ring signature.

CNS005: CryptoNote Transaction Extra Field

This document is devoted to the Extra field of a transaction. It defines the way extra data can be added to a Bytecoin transaction. The content of transaction Extra field is not verified by the network. Transaction Extra field can contain arbitrary data.

CNS006: CryptoNote One-Time Keys

This CryptoNote Standard defines the exact method of achieving the unlinkability property of transactions: the anonymity of receivers. Unique keys are generated for each payment via modified Diffie-Hellman protocol.

CNS007: CryptoNote Keys and Addresses

This CryptoNote Standard defines various types of user keys used in CryptoNote and the way the addresses are encoded into alphanumeric strings.

CNS008: CryptoNight Hash Function

This CryptoNote Standard defines the CryptoNote's default proof-of-work hash function, CryptoNight.

CNS009: CryptoNote Technology

This CryptoNote Standard defines the core concepts of the CryptoNote technology and surveys the whole system's workflow. All transactions are public data and are stored by every peer, yet none of the private information is revealed. Payments cannot be unambiguously traced to senders; transfers can only be interlinked by their owners. Peers validate all the data and rely on proof of work to reach a consensus. The proof-of-work function guarantees egalitarian voting, so that none of the participants can utilize special purpose devices to obtain an excessive voting advantage.

CNS010: CryptoNote Difficulty Adjustment

This document defines the method for maintaining the rate at which blocks are generated. It gives insight into smooth difficulty adjustment of Bytecoin.