Digital contract platform using Quorum blockchain and Solidity smart contracts to create, store, sign client contracts and record the history of changes
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.
Work doneQuorum-powered blockchain network Two separate servers: Blockchain Service and Authorization for token generation API gateway for communicating Kazakhtelecom system with the blockchain platform Web UI for managing history and user data Back-end for handling business logic Blockchain service back-end for handling requests and communicating UI, API and the blockchain Documentation on further system integration
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.
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.
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.
API Gateway Development and Further Integration
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.
Blockchain Digital Contract User Flow
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.
- CLIENT REGISTRATION. 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.
- DIGITAL CONTRACT CREATION. 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.
- SIGNING THE CONTRACT. 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.
- MAKING CHANGES USING SMART CONTRACTS AND THE HISTORY OF CHANGES. 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.
- CLIENT HAS ACCESS AND IS ABLE TO VIEW THE CONTRACT. Blockchain technology provides clients with exclusive access, allowing them to view their digital contracts and the history of changes.
Project featuresClient registration data storage on the blockchain Digital contract generation and storage on the blockchain Making changes to contracts and recording the history of changes on the blockchain Client's ability to view their contract and the history of changes Digital contract signature using the client's private key
Hyperledger-Based Solution for Multi-Signature Document Flow ManagementFlact
IoT Solution with Web and Mobile App for BMWBMW View our portfolio