Digital contract platform using Quorum blockchain and Solidity smart contracts to create, store, sign client contracts and record the history of changes
January 2019 - April 2019
Kazakhtelecom is the largest telecom provider and national operator in Kazakhstan. It consistently holds the highest positions among the most profitable enterprises in the country with an annual turnover of tens of millions USD.
The company owns the National Information Superhighway, a fiber-optic ring connecting the largest cities of Kazakhstan and providing digital streams with a high data transmission rate.
Kazakhtelecom used digital contracts and online agreement forms stored on internal centralized databases. This prevented the company’s clients from having access to vital information and history of changes, leaving room for misunderstandings and possible disagreements, a low level of transparency and trust in the company’s organizational processes.
The project’s goals were to develop a fast and remote database using blockchain technology that would store client contract data and history, protecting it from unauthorized access and modification. Blockchain is the perfect solution, because the moment the client signs the contract, this information, and any other adjustments will be made public on the blockchain, preventing any one party from altering contracts without proper authorization.
For blockchain implementation we chose Quorum, an institutional framework backed by JP Morgan Chase, having a modified Ethereum core and full support for Solidity smart contracts. It uses a modified consensus for internal (non-public) projects, as well as a mechanism for dividing data into private and public, which allowed us to provide access and verification of public data to users outside Kazakhtelecom company.
Due to the fact that Kazakhtelecom required to retain its current business infrastructure, we needed to implement an API to communicate between our client’s current system and the developed blockchain digital contract platform architecture. For these purposes, we used the OAuth 2.0 protocol with Refresh tokens.
Further integration of the new blockchain system was to be carried out by Kazakhtelecom using documentation prepared and provided by PixelPlex.
The overall system’s user flow after partial integration (via API) of our blockchain platform into the company’s business processes, is as described below.
The client registers through Kazakhtelecom’s existing system and provides the necessary information. Private smart contracts are used to store this information on the blockchain. A special private ID key is generated for the client which is later used to create a ‘new client’ smart contract. This contract holds the information the client previously provided and the public address based on the client’s private key.
The client chooses which services they would like to be provided with from Kazakhtelecom. The existing system generates a contract digital file containing this information. The hash and the link to this digital document are saved on the blockchain.
Digital contracts are represented by smart contracts on the blockchain, containing information about the contract itself, the supplement agreement, the client with whom the contract is concluded, information on its status and any additional information necessary.
Supplement agreements go through the same process and are created based on the generated client contract, holding data on the required services to be provided, and any other special conditions.
Both parties sign the contract and this information (the signed contract hash and conditions) are saved on the blockchain. The system has a bulk-sign feature, allowing Kazakhtelecom to sign multiple contracts at once. Storing signatures via the blockchain is much more secure and efficient than the usual services such as DocuSign.
Kazakhtelecom is able to make changes to client data and the contracts concluded with clients. The history of these changes is recorded on the blockchain. This creates absolute trust in Kazakhtelecom’s system.
Blockchain technology provides clients with exclusive access, allowing them to view their digital contracts and the history of changes.
This blockchain system architecture augments Kazakhtelecom’s CRM system and creates a transparent, secure and very efficient way for the company to communicate with clients and provide them with telecom services.
Quorum, Solidity, Node.js, web3, React, Redux, PostgreSQL, Docker Hub