We are excited to share with our community that Indigo’s integration of the Vasil Hardfork is complete. The Vasil Hardfork will increase throughput on the Cardano blockchain and improve the development of smart contracts and decentralized apps (dApps) and will play a critical role in Indigo’s road to mainnet. Vasil will include the adoption of Cardano Improvement Proposals (CIPs) 31, 32, 33, and 40, which together will help Indigo go live on mainnet at full capacity. The Indigo development team was early to engage with the Vasil testnet which began on July 4th, helping the team to begin testing and integrating Indigo’s smart contracts with the crucial Vasil improvements to the Cardano blockchain ecosystem. Below is a more detailed summary of two of the Vasil improvements that will specifically benefit Indigo users — Reference Inputs and Reference Scripts.
Prior to CIP 31, when a dApp needed data from the blockchain (such as Oracle price data, protocol parameters, or information about an iAsset) the dApp would have to spend a UTxO. The introduction of Reference Inputs with CIP 31 offers greatly improved efficiency by allowing data to be referenced from unspent outputs without consumption of the UTxO. Since data can now be referenced, transactions can read data in parallel without spending the datum as one of the inputs of the transaction. Instead of a datum being handed from one transaction to another (sequentially), the datum can be used by two or more transactions simultaneously.
Indigo has seen a significant improvement to several areas of the protocol by implementing Reference Inputs:
1. Many users can reference the same Oracle data in the same block allowing them all to simultaneously interact with a CDP. This is a major user experience improvement because otherwise, each reference request would have to queue to reference the Oracle data.
2. The Cardano fee costs incurred by Indigo users have been significantly reduced by reducing the amount of script overhead for reading data from the blockchain.
3. Throughput of Indigo transactions has been increased by reducing transaction size (so that more transactions can fit into a block) and correspondingly decreasing the computational resources of most Indigo transactions.
Pre-Vasil, scripts are attached to the transaction output. Post-Vasil, scripts are able to be referenced from separate transactions. Using Reference Scripts decreases the size of each individual transaction and thereby keeps large scripts from negatively influencing performance and transaction speed by allowing more transactions in a single block. Scripts can now be referenced during validation which reduces load on the network and thereby increases throughput (e.g., how fast each transaction is processed).
Indigo is a complex protocol with a high focus on security, meaning that the scripts attached to the transactions include larger file sizes which can in turn slow transaction processing time. But with Vasil, based on our internal benchmarking, transaction sizes for most actions have been reduced from ~12 kB to ~2–3 kB. This helps reduce the fees paid by users, increase Indigo’s throughput, and reduce the storage overhead of the Cardano blockchain for SPOs and light wallets. This improvement offers significant benefits for the longevity of Indigo.
The Vasil Hardfork, now Scheduled for September 22nd, will usher in many beneficial changes to the evolving Cardano ecosystem. We’re grateful to have been involved early in reporting feedback and testing many of the Vasil improvements and to have been part of an ecosystem-wide combined effort with many Cardano development teams. Our successful integration with Vasil features is another crucial milestone for Indigo, following our recent feature completion. Indigo is rapidly progressing towards v1 launch with just a final audit and public testnet remaining, and we could not be more excited to share the Protocol with the Cardano community in the coming months.