The updated version of the platform has a new type of consensus, enhanced support for atomic transactions, and much more.
The main feature of this release is the addition of Crash Fault Tolerant (CFT) consensus protocol, which in the future will replace the current PoA in private networks, simplifying the interaction of external applications with the blockchain network thanks to the rapid finality of blocks and reducing integration costs.
The implementation of the CFT consensus, a consensus with fast finality, will eliminate possible ordinary rollbacks of transactions that arise due to the specifics of the decentralized infrastructure of blockchain networks and popular Proof-of-anything consensus algorithms used in most blockchain platforms.
Unlike classic Proof-of-anything consensus algorithms, CFT consensus is not subject to block forks and rollbacks. For example, in PoS or PoA consensus, the process of creating, distributing and synchronizing blocks by miners includes the possibility of a regular fork of the chain and there are special “fork resolving” procedures. There is no such problem in our new CFT consensus.
In other words, using the new CFT consensus will allow business application developers to always be sure that a transaction sent to the UTX pool of a blockchain network node has been recorded, and it is not necessary to check its presence in the registry before performing subsequent related actions.
The use of CFT consensus will simplify the integration of external applications and systems with a private blockchain network built on the Waves Enterprise platform. Its use significantly reduces the costs for business applications’ developers associated with the creation of software that monitors operations and the current state of the blockchain.
The PoA consensus is still supported in the configuration of a blockchain network. Next year, the team plans to release a tool to automate the migration of private networks from PoA to CFT.
Improvements to the gRPC event model
In the last update of the platform, we added the gRPC event model, which allowed developers to switch from sending requests to the REST interface of a node to subscribing for notifications on events in the node. In version 1.5, the team has managed to optimize and unify the data transfer format by converting all data streams to a binary format. We have also added the ability to call the NodeConfig method over gRPC to correctly interpret the data received via this protocol. In addition, the method of obtaining the status of the smart contract execution status (ContractStatus) has been transferred to the gRPC protocol.
The service for extracting data from nodes and transferring it to the data service, called Сrawler, has received several new updates:
- Added support for the gRPC. REST support discontinued
- Added support for atomic transactions
- Added the ability to use a custom SSL certificate for Postgres on cloud services
The client side of the platform received full support for atomic transactions released in the previous update. In addition, the team has improved the UX \ UI:
- Added the display of atomic transactions
- Updated styles in the information table about transactions
- Added more detailed messages when restoring your account and registering
- Color is added to each token
- In the user card, the link to search for address transactions has been changed to search by participant
- Added feedback form display when data loading is slow
- The authorization service has been switched to case-insensitive email addresses
- Fixed the display of the registration form in Firefox
The data service adds the ability to search by an atomic transaction ID, as well as support for native SSL certificates for Postgres on cloud services.