Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Task] Add Tangle Promotion / Reattach logic for IOTA Messages #426

Closed
2 tasks
JelleMillenaar opened this issue Oct 5, 2021 · 0 comments · Fixed by #455
Closed
2 tasks

[Task] Add Tangle Promotion / Reattach logic for IOTA Messages #426

JelleMillenaar opened this issue Oct 5, 2021 · 0 comments · Fixed by #455
Assignees
Labels
Enhancement New feature or improvement to an existing feature

Comments

@JelleMillenaar
Copy link
Collaborator

Description

When any message is published to the Tangle, the function returns success if the message has successfully been pushed into the network. This does however not provide any guarantees that messages will be confirmed. Without a confirmation a message is not immutably stored on the Tangle as we have no guarantee that all nodes have observed the message, nor will it be stored in the permanodes. Therefore messages are either promoted or reattached in order to make sure they get confirmed. Promotion adds a new message to the Tangle with no payload (and therefore little PoW) that references our original DID message, increasing the odds it will be picked up by consensus. Reattaching publishes the message with the original payload again to the Tangle, this is done if the original message has become to old to be considered for consensus (also known as "below max-depth"). The Client library already has a very helpful retry_until_included function that we can utilize.

Since Chrysalis Phase 2, consensus has been VERY reliable and most messages get confirmed without promotion or reattachment, however for 1.0 we need to provide guarantees. In addition, we need to update the API in order for an application to know if a message fails to be included even after retries, such as during a time that the coordinator is offline. This will probably be triggered after several MINUTES! So we need to be careful about that.

Motivation

For a 1.0 release, we need to provide guarantees that a message is included in the Tangle.

Resources

  • Retry_until_included from IOTA.rs

To-do list

Create a task-specific to-do list . Please link PRs that match the To-do list item behind the item after it has been submitted.

  • Implement retry_until_included into our publishing logic
  • Provide a way for library consumers to be notified if confirmation fails
@JelleMillenaar JelleMillenaar added the Enhancement New feature or improvement to an existing feature label Oct 5, 2021
@HenriqueNogara HenriqueNogara self-assigned this Oct 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or improvement to an existing feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants