mithril icon indicating copy to clipboard operation
mithril copied to clipboard

Low latency signature of Cardano transactions

Open jpraynaud opened this issue 9 months ago • 0 comments

Why

In order to make Cardano transactions signature efficient, we need to provide transactions certification with low latency.

We are currently relying on the immutable files to import the Cardano transactions which brings the constraint of high latency certification. We want to implement an importer that relies on the chainsync mini-protocol of Cardano node in order to remove the limit of how close from the tip of the chain we can import transactions.

This means that we need to handle rollbacks of the Cardano chain itself in order to make sure that we eventually keep the same state signed by all Mithril nodes. This also implies that we will have to work with an unofficial security parameter k' blocks which gives us a strong guarantee that rollbacks are very unlikely to occur (<99%).

Additionally, we need to define the pace at which Cardano transactions will be signed.

Finally, we want to understand precisely how final a Mithril certified chain state is depending on these parameters and answer the question "how revokable a Mithril certified transaction can be?".

What

Use chainsync mini-protocol to import transactions and use a chain point based beacon to allow for signing more often and closer to the tip of the chain. Assess optimal parameters to achieve low latency and induced guarantees in terms of finality.

How

  • [x] #1697
  • [x] #1589
  • [x] #1590
  • [x] #1705
  • [x] #1724
  • [x] Low latency strategy and trade-offs:
    • [x] Define the pace of signing
    • [x] Define the unofficial security parameter for mainnet for fast finality
    • [x] Assess guarantees of the immutability of a Mithril proof for transactions given the unofficial security parameter

Later

  • Make computation of latest block range dynamic (partial block range)

Resources

jpraynaud avatar May 17 '24 16:05 jpraynaud