The Cardano network is once again preparing for the arrival of the hard fork Vasil. This is an update that promises big changes that will bring you closer to a smart contract infrastructure with great flexibility to create even more powerful dApps and where the scalability of the network will be so wide as to allow double its current capacity. But what surprises does Vasil Cardano bring? How will it improve one of today's great blockchain networks? We will see that below.
Vasil, a tribute and an expected optimization
En the first place, the name of the Vasil hard fork has been chosen as a tribute to a personal friend of Charles Hoskinson: Vasil Stoyanov Davov, who was a Cardano Global Ambassador, who passed away in December 2021. The choice of Vasil as the name of this hard fork breaks with the tradition of using names of historical scientific personalities, but also shows the esteem for Vasil, who promoted the adoption of Cardano in the world.
Beyond that, Vasil Cardano arrives with several improvements that seek to provide optimal performance to the network in order to provide the capacity to serve the growing number of users that come to the network. Since the activation of smart contracts and the arrival of tokens, NFTs and dApps to Cardano, the use of the network has multiplied.
With that in mind, the Cardano developers have gone to work to maintain a cost-fair and highly scalable ecosystem. In that scenario, Vasil is a step forward in that sense, one that takes place within the Goguen era, the current era of network development, and that allows developers to start working on Basho, the next era of Cardano, which promises to double the on-chain scalability and at the same time create the necessary infrastructures to lateralize many functions and on-chain capabilities of Cardano, further increasing its scalability.
Now, exactly what improvements and optimizations are we talking about? Well, let's see everything new that Vasil will offer to the community that makes life in Cardano.
Improvements in the dissemination of information on the network
One of Vasil's main improvements comes in the system for broadcasting transactions and blocks within the network. One of the main challenges of blockchain networks is that as their networks grow and become more decentralized, they end up requiring more and more time to spread and propagate the information to all the nodes of the network in order to reach consensus. During this time, not only is the consensus delayed, but at the same time the door is opened to carry out attacks on it, and it may happen that malicious third parties can alter and break the network temporarily or permanently.
Thus, the first line of defense is to have short information diffusion times and make this system very efficient. And that is something where Vasil brings great improvement to the Cardano network. Let us remember that the Cardano network has grown in size and use, which generates more information to be transmitted and at the same time consumes bandwidth. In this way, making use of this limited resource is essential, and in order to improve its efficiency and capacity, Vasil will activate an improvement known as «Diffusion Pipeling», a process that helps the propagation of information to be done much more quickly and efficiently, so that this process is carried out in a maximum of 5 seconds.
To achieve this, Diffusion Pipeling propagates the blocks before their complete validation, thus "overlapping" the time spent on diffusion with the time required for validation. In this way, the diffusion becomes asynchronous with respect to the validation, allowing:
- That the blocks propagate quickly and within the validation times.
- That the network recognizes the new block and its previous block, maintaining security and the correct “chain of blocks” at all times, avoiding DDoS or split-network type attacks that malicious actors can carry over the network.
This is perfect if we take into account that the Cardano system for its network communication is based on two large systems:
- A system derived from the Gossip protocol that allows the efficient use of network resources. This part is designed on technologies like TCP, HTTP and techniques like CBOR (you can read more in the RFC 7049 – Concise Binary Object Representation).
- A set of mini-protocols that work together to carry out the different communication tasks in the most efficient way and that is responsible for finding peers, maintaining communication and various network synchronization tasks.
Plutus script improvements
Another big improvement on Vasil can be seen on Plutus, Cardano's smart contract platform. With Vasil, developers will now be able to create faster and more efficient dApps, thanks to the optimization of smart contracts that will come in Vasil, along with the Plutus V2 primitives, which will help to better take advantage of Cardano's EUTXO model.
PIC or Cardano Improvements Proposals for Pluto
All of these improvements to Plutus come in the form of CIP or Cardano Improvements Proposals, which in Spanish means, Improvement Proposal for Cardano. These CIPs are technical documents that explain in a clear and detailed way the motivations, objectives and formulations of an improvement introduced to Cardano, in order to make this ecosystem evolve.
Like the BIPs (Bitcoin Improvements Proposals) or EIP (Ethereum Improvements Proposal), the CIPs are openly discussed and developed in order to thoroughly study their scope, being approved and implemented as part of the official project once all of them have been polished and well tested. The developers keep all these proposals accessible to the public in this website, so that they can participate both in its development, and in its review and use for the development of other proposals or projects.
In this case, Vasil presents the following IPCs to improve Plutus:
- Addition of reference entries (CIP-31). This update enables on-chain data sharing. Previously, data was carried in transaction outputs; they stored and provided access to information on the blockchain. However, to access the information of this data, the output to which the data was attached had to be spent. This required the recreation of a spent sortie. The addition of reference entries now allows developers to query the data without additional steps. This makes it easy to access information stored on the blockchain without the need to spend and recreate UTXOs. This will be useful for oracles, for example.
- Adding data online (CIP-32). Transaction data is pre-attached to the outputs as hashes. With the inline data implementation, developers can now script and attach data directly to outputs instead of using its hashes. This simplifies the use of the data, as the user can see the actual data instead of supplying it to match the given hash.
- Reference Script Implementation (CIP-33). In Alonzo, when spending locked output within a Plutus script, the script had to be included in the spending transaction. This increased the size of the script, also causing certain delays in its processing. Updating reference scripts allows developers to reference a script without including it in every transaction. This significantly reduces transaction size, improves performance, and lowers script execution costs (since the script only needs to be paid once).
Cryptography improvements
In addition, Vasil will also include improvements to Cardano's cryptographic primitives (enabling more interoperability options for other blockchains). For example, Vasil will activate special functions that will allow the use of ECDSA with the secp256k1 curve (the same configuration used in Bitcoin) for the realization of digital signatures within Plutus smart contracts.
Likewise, the Cardano team has also decided to take advantage of another advance made in Bitcoin to add it to its crypto stack: Schnorr. With the arrival of Schnorr to Cardano, the network will be able to benefit not only from more advanced, secure and optimized cryptographic operations, but also from the ability to communicate through bridges with networks such as Bitcoin and Ethereum without especially complicating the generation of such infrastructure or requires significant changes to the crypto stack.
Improvements in the management of guarantees of smart contracts
Another big improvement from Vasil comes over the guarantee system used in Plutus V2. Under CIP-40 known as the Script Assurance Adjustment, this system will not only help improve transaction validation, but will fix an ongoing issue with Plutus V1 scripts.
Previously the collateral amount was set at 150% of the transaction fee and no change was made to the collateral UTXO. This meant that if a script failed phase 2 validation a DApp user would lose all funds stored in the chosen UTXO for collateral, an unacceptable fact.
After Vasil, DApp developers will have the ability to specify a change address for script collateral. If the script fails phase 2 validation, only the collateral amount will be taken, and the remaining funds will be sent to the exchange address.
Finally, Vasil optimizes the Ouroboros verifiable random function (VRF) process. Before Vasil, block validation required two VRF functions on each network hop. Vasil dispenses with one of these features, which translates to faster network synchronization and block validation times overall. Users will experience increased performance without compromising security settings.
Vasil's commissioning
Despite all the work put into vasil cardano, the hard fork has not yet been applied on the mainnet due to a series of delays caused by the need for developers to polish all the necessary points to avoid problems in its deployment on it. Charles Hoskinson himself has said that the delays have been to guarantee a problem-free process and currently, the cardano-node software in its version 1.35.3 is already deployed and ready to be the one that allows the deployment of Vasil within the mainnet.
Although the software version is ready, there is still no clear date to start the deployment on mainnet and tests continue on testnet, in order to close the errors that block the process (bug blockers), which you can review in this link.
In any case, once all these problems are solved, we will surely have the final date of Vasil's deployment and we will enjoy its benefits on the Cardano mainnet.