Skip to content

Conversation

@quantumagi
Copy link
Contributor

See #281

@@ -0,0 +1,12 @@
namespace Stratis.FederatedPeg.Features.FederationGateway.Interfaces
{
public interface ISignatureProvider
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please describe the purpose and behaviour of this class in details, its clear it provides signatures but from who and how are the keys provided?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The keys are provided by the API call that activates federation. The purpose of the class is in the associated issue. I will add the detail to the class.

@dangershony
Copy link
Contributor

@quantumagi please describe again the intention behind this change.
And I suggest you verify it does not break the current cross chin transfer as we just got ti to work.

One thing I don't get here is why do you need to pass signature information between the main and sidechain nodes (the two nodes connect to each other via api), signature material is passed around int he p2p payloads.

@quantumagi
Copy link
Contributor Author

quantumagi commented Dec 16, 2018

@dangershony, let's keep this PR on hold until after the release.

There is no intention to pass signatures between main and sidechain nodes. The plan is to replace the P2P calls with API calls (or wait for the P2P results) to support the following simplified synchronous workflow:

e.g. a new SignAndBroadcastMethod could do the following:

  • Build a transaction
  • Passes the transaction from leader to other sidechain members via parallel synchronous calls for signing). Wait for the results up to a max of a few seconds.
  • Broadcasts the transaction if enough signatures were collected.
  • This will require a quorum to be online simultaneously but should not be too big an ask.

This way there is no need to reserve UTXO's in the current way. We simply build, sign and broadcast in a single step.

Copy link
Contributor

@bokobza bokobza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Locking so it doesn't go in by mistake.

@bokobza bokobza added the discussion Where a discussion is needed label Dec 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

discussion Where a discussion is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants