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

Compatibility Matrix: revise RBF columns #1600

Open
OttoAllmendinger opened this issue Apr 4, 2024 · 1 comment
Open

Compatibility Matrix: revise RBF columns #1600

OttoAllmendinger opened this issue Apr 4, 2024 · 1 comment

Comments

@OttoAllmendinger
Copy link

The current compatibility matrix table for RBF has the following columns:

  • "Notification"
    {% case rbf.receive.notification %}
    {% when "true" %}{:.feature-yes}
    - **Notification notes RBF**<br>
    Notification of incoming transaction notes that the transaction signals RBF.
    {% when "false" %}{:.feature-no}
    - **Notification does not note RBF**<br>
    Notification of incoming transaction does not note that the transaction signals RBF.
    {% when "na" %}{:.feature-neutral}
    - **No notification**<br>
    There are no incoming transaction notifications for this service.
    {% when "untested" %}{:.feature-neutral}
    - **Not tested: Does transaction notification show whether transaction signals RBF?**<br>
    We either didn’t test this or could not appropriately determine the results.
    {% else %}{% include ERROR_42_UNEXPECTED_VALUE %}
    {% endcase %}
    (Notification of incoming transaction notes that the transaction signals RBF.)
  • "List"
    {:id="receive-list"}
    {% case rbf.receive.list %}
    {% when "true" %}{:.feature-yes}
    - **Received transaction labeled replaceable in list**<br>
    Visually indicates that an incoming transaction has signaled RBF.
    {% when "false" %}{:.feature-no}
    - **Received transaction not labeled replaceable in list**<br>
    Does not visually indicate that an incoming transaction has signaled RBF.
    {% when "na" %}{:.feature-neutral}
    - **This services does not handle incoming transactions**<br>
    Does not support incoming transactions.
    {% when "untested" %}{:.feature-neutral}
    - **Not tested: Does transaction list show whether received transactions signal RBF?**<br>
    We either didn’t test this or could not appropriately determine the results.
    {% else %}{% include ERROR_42_UNEXPECTED_VALUE %}
    {% endcase %}
    (Received transaction labeled replaceable in list)

In light of growing full-rbf adoption, these columns and the visual indicators might not be appropriate anymore. The difference between signalling and non-signalling transactions is diminishing.

Explicitly highlighting the "RBF" field suggests a significant difference between transactions that have opted in and those that have not. The wording in the "List" column does not even use "signals RBF" and just uses "replaceable". To some readers it could suggest that only RBF transactions are replaceable, when this is not true.

The easiest solution to this might be to remove these two columns.

@murchandamus
Copy link
Collaborator

I think you are bringing up some great points. With some adoption of mempoolfullrbf, it is a lot less important for wallets and services to notify that a transaction is marked as non-final. Essentially all transactions should be treated as non-final and replaceable.

We currently have someone looking into reworking the "Compatibility Matrix" into a "Best Practice Adoption Tracker". I will bring up the point there. Thank you for raising the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants