- An alteration in serialization format for some NodeToClient protocols between versions 1.35.7 and 8.1.1 of Cardano Node disrupts communication with downstream tools.
- This change affects several utilities that utilize these mini-protocols, including Ogmios, Phyrhose, TxPipe, and SundaeSwap Scoopers.
As a seasoned blockchain expert, I am here to shed light on the recent issue faced by Cardano, a prominent player in the blockchain landscape. This issue relates to changes in the serialization format for some of Cardano Node’s NodeToClient protocols, specifically between versions 1.35.7 and 8.1.1.
The new 8.1.1 cardano-node is an incredible improvement. As many SPOs are reporting, BCSH pools also missed ZERO slot leader checks this epoch. There's still a few things missed with this update, but this performance improvement cannot be overstated. @IOHK_Charles @InputOutputHK
— Andrew Westberg, NEWM CTO, BCSH, 💧💧 (@amw7) June 25, 2023
Under ideal conditions, serialization formats within a NodeToClient protocol version should remain consistent between Cardano Node releases. However, in this case, the alteration in serialization format has led to breaking changes. This implies that downstream tools, which previously communicated seamlessly with the nodes, now require code changes or external knowledge of the node’s version they are interacting with.
This occurrence was first noticed for the protocolParameters query in version 8.0.0 of the Cardano Node, which was subsequently fixed in 8.1.1. However, it has become apparent that three more queries require rectification for proper compatibility with NodeToClient standards in versions 8.1.1 and beyond. These include queries for delegationsAndRewards, utxo, and stakeDistribution.
>> Buy Cardano quickly and securely with PayPal, credit card or bank transfer at eToro with low fees and deposit protection. Get started with ADA now. Visit Website <<
Such an issue is significant because it disrupts several utilities that depend on these mini-protocols. For example, Ogmios, Phyrhose, TxPipe, cncli, SundaeSwap Scoopers, and other tools experience difficulties in operation due to these changes.
A comment from one of the contributors pointed out that the issue arises from the deserialization of indefinite vs definite length lists. After deserialization, the format remains the same, so there’s no need for a new NodeToClient version. It was also suggested that the issue might be linked to the version of Ogmios in use, as it might not have been updated to work with 8.x.x.
Moreover, it was highlighted that Ogmios utilizes Cardano.Binary for serialization/deserialization, which is less safe compared to Cardano.Ledger.Binary. The latter is versioned as of 8.0.0 and only uses Cardano.Binary when necessary, typically for Byron-related matters.
All these suggest that although an issue exists, the solution might not be as straightforward as initially thought. It involves careful examination of both serialization/deserialization formats and the versions of tools interacting with the nodes. As the blockchain community closely watches the unfolding scenario, it is expected that the affected utilities will adopt appropriate strategies to handle these changes efficiently.
Best Crypto Exchange for Everyone:
- Invest in Cardano and 70+ cryptocurrencies and 3,000 other assets.
- 0% commission on stocks – buy in bulk or just a fraction from as little as $10.
- Copy top-performing traders in real time, automatically.
- Regulated by financial authorities including FAC and FINRA.
2.8 Million Users