LF-Decentralized-Trust-labs / paladin

Programmable privacy for EVM
https://lf-decentralized-trust-labs.github.io/paladin
Apache License 2.0
16 stars 6 forks source link

Coordinator selector / delegation policy for 100% endorsment domains #329

Open hosie opened 1 month ago

hosie commented 1 month ago

What would you like to be added?

In domains ( such as pente) where the endorsement rules are 100% endorsement and the spending rules for each state is that any party can spend the state, then we need to coordinate the assembly of transactions across multiple nodes.

The proposal for achieving this, is to implement a policy that complies with combination 2 + 1 from https://github.com/kaleido-io/paladin/issues/327.

To achieve this, it is important that we have an algorithm that allows all nodes to agree on which of them should be selected as the coordinator at any given point in time. And all other nodes delegate their transactions to the coordinator.

The desired properties of that algorithm are

Current proposal being pursued is:

Why is this needed?

Currently, pente domain cannot handle concurrency of more than one active node at a time per private EVM contract. Otherwise, concurrent active nodes will assemble transactions that spend the same state(s) and will both refuse to endorse the other.

github-actions[bot] commented 3 days ago

This issue is stale because it has been open 30 days with no activity.