According to John Woods, Director of Cardano Architecture at Input Output Global, the upgrades coming in the Vasil Hardfork Update ‘are going to make Apps sing on Cardano.’ The new additions to the network are already code complete, but more time is needed to thoroughly test everything and give exchanges, businesses, and developers ample time to prepare for the changes. The Vasil Hardfork is a major ledger upgrade that will give new tools to dApp developers in the ecosystem, allowing them to build faster and lighter processes on their platforms, without sacrificing security. The hardfork event is planned for June 29th, 2022. Cardano is undergoing continuous updates, many of which do not necessitate a hardfork combinator event, the most recent of which was the 10% block size increase that took place at the boundary of Epoch 335 (April 25th), from 80KB to 88KB. It can be difficult to keep up with all these ongoing developments - don’t worry though - we will give you a solid overview of what to expect from Vasil!
‘Reference inputs’ facilitate on-chain data sharing that hasn’t been possible on Cardano up to this point. The new capability of looking at a Tx Output without having to spend it will be a huge change to the way developers interact with UTxOs. A multitude of Cardano dApps will soon be able to access the same datum simultaneously. Currently, Cardano stores datums in Tx Outputs that must be spent in order to gain access to the information, then recreated after it’s spent. Due to the recreation of the Tx Output taking at least one block to manifest on-chain, apps often have important operations limited to once per block. Reference inputs are used in two other impactful upgrades included in the Vasil Hardfork: ‘reference scripts’ and ‘inline datums.’
‘Inline datums’ allow Cardano users to store relatively large amounts of data (kilobytes) on-chain by altering the Tx Output so the datum field can contain either a datum hash or the actual datum itself. This means ‘reference inputs’ will soon be able to access complete datums carried in Tx Outputs directly, on-chain. Storing data in this manner will be a step forward in the effort to decentralize Cardano. Currently, you can only attach hashes of datums to Tx Outputs, making App development unnecessarily complicated in many cases. Inline datums change where data is stored by altering Plutus script context to contain datums in their entirety. Transmission costs will be paid by the creator of the inline datum, rather than the consumer. Inline datums will also have minimum UTxO value costs that vary with the data size, as opposed to the current fixed costs of datum hashes. Easy on-chain communication and public transparency also make inline datums very appealing to developers.
‘Reference scripts’ are scripts attached as Tx Outputs that can be referenced to satisfy the script witnessing requirements for a transaction. This makes transactions using scripts on Cardano much smaller, as they will only need to include a short address that points to an on-chain script. Currently, transactions seeking to use a script must supply it in its entirety, leading to unnecessary chain bloat and making transactions containing multiple scripts more likely to hit the Tx size limits. Soon, using a script will not demand providing it, only referencing an output which contains the script. The goal is to stop sending highly utilized scripts to the chain every time they’re needed and instead make them accessible persistently on-chain. This will be achieved by augmenting Plutus script context to include a field for reference scripts.
Collateral outputs have presented issues for developers of Plutus scripts, as mistakes can happen during deployment and result in loss of funds when the script fails. Soon, developers will be able to submit a Tx with the minimum collateral required, and any amount over the minimum that is included will automatically be sent back. This improvement will protect those working on Cardano dApps from what can be unnecessary ADA losses in the event of script failure.
There are improvements coming to Cardano in the Vasil Hardfork which don’t necessarily require hardforking, notably ‘diffusion pipelining.’ This consensus layer change accelerates block propagation by giving nodes the ability to pre-notify their downstream peers of an incoming block so the peer can pre-fetch the new block body. This will save time that can be used to transmit bigger blocks or execute more resource demanding Plutus scripts. Pre-notifying peers is a simple new iteration on Cardano’s method of reaching consensus that exemplifies the ceaseless learning process that the blockchain is experiencing in real-time.
A hardfork event represents the adoption of a new ledger and the retirement of the previous iteration. The goal of the Vasil Hardfork event is to empower dApp developers with tools to make their code as light, inexpensive, and simple to deploy as possible. As always, the brilliant minds at Input Output Global are working to make sure the fork happens seamlessly and painlessly for the average user. For those who have not experienced a Cardano hardfork, it is typically rather seamless due to the Hardfork Combinator technology which was deployed in 2021. However, the new powers gained from Vasil are ultimately in the hands of the people building on Cardano. It’s up to the developers to take advantage of the new capabilities that will soon be at our fingertips!