Baker transaction submission server

Bakers currently obtain transactions from their mempool which holds the operations gossiped through the peer to peer network. It’s a convenient feature but it needn’t be the only way in which bakers accept transactions.

Since network participants know well in advance who is supposed to create a block and when, this opens the possibility of users directly submitting their transaction to the baker of the upcoming block.

One way this could be achieved is by offering a standardized RPC and a small server allowing bakers to directly accept transactions.

This has several benefits:

  • The baker can specify the fee they demand, which means users do not have to guess how large of a fee they should attach to the transaction to ensure inclusion in the next block.

  • This consumes less bandwidth as it does not have to hop through the gossip network

  • The baker can sign a receipt guaranteeing inclusion in the block and position in the block. With a simple protocol upgrade, smart-contracts could parse such signed receipts and detect situations where the guarantee wasn’t upheld (i.e. the block was produced but the transaction was not included) and allow slashing of the bakers. This gives some amount of instantaneous economic finality to users.

Running this server would be optional for bakers, so users can always fall back on the peer to peer network if the baker of the upcoming block offer this convenience.

14 Likes

I am surprised this has not taken off.

In particular, the following:

The baker can sign a receipt guaranteeing inclusion in the block and position in the block. With a simple protocol upgrade, smart-contracts could parse such signed receipts and detect situations where the guarantee wasn’t upheld (i.e. the block was produced but the transaction was not included) and allow slashing of the bakers. This gives some amount of instantaneous economic finality to users.

We are working on the change of the protocol that allows this. As a result, one would get instant finality* for most practical dapps, without needing any change to existing smart-contracts! This is huge.

* It’s weak instant finality. But when that finality is violated, one would get compensated in possibly something like, hundreds of XTZ. I don’t know of any other app that does this when it looses the result of my last minutes of work!

10 Likes