Actions
Last updated
Last updated
Actions are the steps within a workflow that are performed in a decentralized or pseudo-decentralized manner.
eth_call is an Ethereum API method that executes a smart contract function call without creating a transaction on the blockchain and changing a state. This kind of action is done by each node and is needed to get an output to pass it to the next step. As a result, no consensus is needed here since the input payload of the step where this data is used must be part of the consensus mechanism. If a node returns a wrong eth_call output, the consensus check must fail during the step where this data is used.
Transaction-based actions involve including all transaction data and signatures generated by each network participant. The signing process, implemented via Threshold ECDSA, may be described as follows:
Every network participant generates a transaction, and consensus must be reached within the network regarding its validity. This means that all participants must agree on the same transaction to be sent.
Once the validators have agreed on the transaction to be sent, they initiate the signing process. This process involves six (6) signing rounds among the validators to create a collective Threshold ECDSA signature. This signature ensures the authenticity and integrity of the transaction. The transaction can then be broadcasted by the leader. The sender of this transaction is identified as the current collective address. By verifying that the sender is the current collective address, the registry contract can confidently recognize the transaction as trusted.
Webhook-based actions also include request data and network signature, similar to transactions. The created signature is included in the custom header of the request, allowing the recipient to verify the request through a registry contract call.