You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The API was originally designed to convey several degrees of confirmation/finality, but a few things have changed since it was designed and implemented, including the introduction of the Hare certificate.
Per @tal-m, we consider a layer/block/tx final if:
a block has a Hare certificate. the certificate is needed only for sync; if a node observed the Hare protocol completing successfully, that's equivalent.
or, if the Hare fails, or we're in self-healing mode, it's enough that the vote margin for a block passes the global confidence threshold.
Note that, just like Bitcoin, we don't have actual finality. The "finality guidelines" above guarantee irreversibility except with 2^{-40} probability, assuming all the security assumptions hold.
to be on the safe side it's probably better to wait until the global threshold is reached even when we see a Hare output.
The text was updated successfully, but these errors were encountered:
I spent some time refamiliarizing myself with the tx/layer flow and how the API reports it. For reference a lot of the history is explained/linked here: spacemeshos/api#144.
Right now the node applies a layer after the Hare outputs a block. At this point the layer gets marked LAYER_STATUS_APPLIED. There's no differentiation at present between Hare and Tortoise "approving" a tx/block/layer. TransactionState and TransactionResult and TransactionReceipt don't contain any information on this, either: the TransactionResult.layer gets set when the tx gets processed/applied to state.
The API was originally designed to convey several degrees of confirmation/finality, but a few things have changed since it was designed and implemented, including the introduction of the Hare certificate.
Per @tal-m, we consider a layer/block/tx final if:
The text was updated successfully, but these errors were encountered: