Aggregate Addresses in CryptoNote: Towards Efficient Privacy

Discussion of code updates and pull requests proposed by the community across all CryptoNote currencies.

Aggregate Addresses in CryptoNote: Towards Efficient Privacy

Postby ullo » Fri Sep 04, 2015 5:43 pm

Aggregate Addresses in CryptoNote: Towards Efficient Privacy (Whitepaper)

Aggregate addresses (or multi-addresses) is the new scheme for efficient bulk processing of CryptoNote transactions. It was introduced in Bytecoin 1.0.6 to improve experience of e-commerce services that accept Bytecoin and other CryptoNote currencies.

Today Bytecoin Team has released the whitepaper that defines the aggregate addresses scheme: "Aggregate Addresses in CryptoNote: Towards Efficient Privacy". It is available in the new section of the website devoted to Bytecoin and CryptoNote technical documentation.

To make a brief recap, CryptoNote protects sender's privacy with ring signatures (allowing a sender to sign the transaction on behalf of a group of potential senders), while recipient's privacy is ensured with one-time keys. Unlike in Bitcoin, a public address of a Bytecoin user has no link to the data contained in the blockchain. When sending a transaction, the sender creates one-time keys for each output using recipient's public key and random data. Thus, the only option for the recipient to claim the funds is to check each output in the blockchain with his private keys.

In case of user-to-user transaction, this approach is suitable. However, it poses an obstacle for enterprise operations. If a service, such as a payment processor or an exchange, receives payments from a number of users, it is non-feasible to verify each transactions output against each user's address. It would require exponentially increasing resources.

The original solution to this issue is payment ID enclosed with each transaction, which is sent to one public address. It is the unique identifier that helps a server to distinguish payments of various customers. However, such an approach is not convenient for the clients (what if you forgot to provide your payment ID?). Moreover, payment ID is stored non-encrypted in the blockchain, making deposit transactions potentially linkable.

Aggregate addresses is the solution introduced by Bytecoin Team in order to resolve this inefficiency. It allows the server to create a new deposit address for each customer. The solution lies within CryptoNote protocol design, which utilizes two private keys for a user's address. It is possible to share one key between all addresses and save time on repeating calculations with the same data when receiving a payment.


There is also another trick that reduces the load on the server allowing it to process a number of Bytecoin addresses simultaneously, namely a hash table of public keys. In the "Aggregate Addresses in CryptoNote: Towards Efficient Privacy" whitepaper we describe the issue in details as well as the naive and aggregate addresses approaches. Please refer to the paper for more information.

Aggregate addresses is the solution that significantly improves Bytecoin transaction processing for services. This scheme is useful for all CryptoNote currencies as it drastically upgrades user experience and effectively depreciates Payment ID. Aggregate addresses are currently available in Bytecoin RPC Wallet.

Today we would like to present this whitepaper for peer review and are looking forward to your feedback.
Bytecoin BCN Developer
User avatar
Posts: 19
Joined: Wed Mar 26, 2014 3:48 pm

Return to Features & code updates discussion

Who is online

Users browsing this forum: No registered users and 2 guests