NSD makes it possible to maintain financial privacy in blockchain use

17 October 2017
Print version

It took just half a year for the team of National Settlement Depository (NSD), Russia’s central securities depository, to find a solution for the challenge of maintaining confidentiality when verifying distributed ledger transactions.

The achievement has become a cornerstone in blockchain-based corporate solutions for the financial sector in which financial privacy, in terms of client account balances, is a key. What is seen now as a breakthrough had started with the desire to try to create a distributed ledger-based e-voting system for shareholders.

The global issue of confidentiality in blockchain

Once distributed ledger technology (DLT) emerged, both developers and businesses proposed a list of applied problems that could be efficiently solved using blockchain. The list included a challenge of creating an e-voting system for securities owners. NSD accepted the challenge, as the company has long been developing similar solutions, although based on more conventional technology.

Once the solution designed by NSD is implemented, any company will be able to ensure confidential, transparent, and reliable shareholder voting, regardless of the number of shareholders voting or the complexity of the voting process. This is made possible by blockchain technology which helps reduce costs associated with various corporate disputes. According to the data available to NSD, each year Russian commercial (arbitrazh) courts handle roughly 12,000 corporate dispute cases, of which 20% are disputes relating to decisions made by corporate management bodies, 18% are disputes over ownership of shares, and 14% are cases in which someone is seeking to invalidate a deal.

In the course of prototype implementation, the developers found that it was impossible to ensure complete confidentiality during the voting process on any of the existing blockchain platforms. That is a global issue relevant to any closed corporate system migrating to distributed ledger technology.

Most centralised IT solutions are isolated, thus preventing external access. External players cannot get information on who voted, how they voted, and how many stocks they used to vote. Any attempt to get such information – either through insiders or through data leakage by the vote counting commission – is a violation of law and subject to penalty.

However, if we launch a distributed system, we will be able to derive certain information from the data recorded on a computer of someone involved in maintaining the distributed ledger. Transactions are anonymised; however, as there is some information available regarding market players (such as, who makes most transactions, or who owns an interest in the company), one can interpret such information correctly and, thus, get knowledge of insider information.

That is why NSD decided to invest both in the development of an e-voting system, and in finding a solution to the confidentiality issue in general.


The issue of anonymization in the voting process was dealt with by a team of NSD’s employees, external IT security experts, and many developers from across DataArt offices in St Petersburg, London, New York, Odessa, Kyiv, and Voronezh. The project also involved consultations with the ZCash protocol developers.

The project team applied special encryption techniques that allowed them to maintain the distributed nature of blockchain technology, while ensuring complete data confidentiality. Thanks to the joint efforts, a new technology was created which maintains anonymity of participants in the course of transaction verification and allows to control the voting process and to automatically count votes in the distributed ledger.

From the business perspective, the solution makes it impossible to identify, even indirectly, deal parties, voting participants, or wallet owners in open blockchain networks.

The solution was implemented on the Hyperledger Fabric platform and allows for any digital assets to be issued and dealt with, with any such transaction being protected against forgery through the use of cryptographic tools designed to verify the total balance of the asset in the network.

Creation of a blockchain-based enterprise platform

As part of the reference implementation of the Hyperledger Fabric platform, the confidentiality issue is solved by removing the network nodes that bear no relation to the particular transaction from the validation process. The remaining network participants are removed from the validation process and cannot see any data irrelevant to them. In addition, in the Hyperledger Fabric network, only a centralized transaction ordering service may, by default, see all data.

To make sure that all of the requirements to the voting process are met, ZK-Snark algorithms were used. Those algorithms are, in particular, applied for implementation of ZCash, an anonymous cryptocurrency, and ensure the highest possible level of confidentiality in distributed ledgers at minimum resource costs (as compared to other systems). Technically, the joint use of the ZK-Snark and Hyperledger Fabric 1.0 algorithms allowed NSD’s team to solve the issue of confidentiality in blockchain and to create an effective and efficient voting system.

The system has been successfully tested throughout the entire process, from the voting initialization through to the voting, vote counting, and vote recording.

Opportunities for business

The confidentiality solution opens prospects for implementation of blockchain-based corporate solutions. NSD is in the process of having its rights to the new algorithms registered.

The solution designed by NSD may be used for blockchain-based distributed recordkeeping of financial instruments and, in the future, adapted to a wide range of business challenges, such as delivery of goods and services, registration and transfers of rights, financial transactions, and quality assurance.

Ask question
— Mandatory fields
Обратная связь
— Mandatory fields
Send your request and our specialists will contact you as soon as possible
— Mandatory fields