Leios miniprotocols for transaction processors? #180
Replies: 3 comments 11 replies
-
The hypothesis is that the existing miniprotocols and provide a "view" of the chain that matches what currently happens: i.e. chainsync would return "blocks", with a list of applicable transactions, and the tooling built on top wouldn't need to change. Then, new miniprotocols, such as That being said, I think this is a tall order, and might be a lot harder than it sounds in practice. |
Beta Was this translation helpful? Give feedback.
-
Do tools like Kupo assume they can trust the node they are getting data from or do they perform some amount of validation? In the first case it doesn't seem necessary for them to have direct access to EBs and IBs, just the already-serialized list of Txs should actually be enough? |
Beta Was this translation helpful? Give feedback.
-
For clarity, we're talking here about the node to client protocol, not the node to node protocol (which will of course need to change for Leios). My expectation is that it's totally possible and practical and a good idea to have a mode of the node to client protocol that emulates simple blocks of transactions. This would be a much easier target for most clients that just care about the ledger content and do not themselves need to validate the blocks or to know about block structures. This would be 99% of clients, including indexers. And it'd make the transition to Leios much easier. As an extension, some special clients might want to know the full gory details of the Leios block structure and so want protocols appropriate for that (probably similar to the node to node case). |
Beta Was this translation helpful? Give feedback.
-
I'm curious what Leios miniprotocols will look like for software which processes transactions. I'm specifically thinking about tools like Kupo which index all onchain transactions; today they use chainsync+blockfetch to collect blocks, and assume that the cbor body of a block contains a complete set of unique+valid transactions for that block.
In Leios, EBs and IBs (which contain transactions) are gossiped between nodes and then included on-chain by reference. I think that there are some implications to this which make transaction processing harder:
tree structureDAG of resources required.What will it look like to implement Kupo on top of Leios? Will transaction processing tooling, new relay nodes catching up with history, and block producers at the tip of the chain all use the same set of miniprotocols for IBs/EBs?
Beta Was this translation helpful? Give feedback.
All reactions