CIPs
CIPs copied to clipboard
fix(CIP-145): updates from forum discussion
In general, these are the most important features from my perspective:
- All known commits, pruned or not, are pinned by the node
- A new node can learn about all known commits, pruned or not, from other nodes
The reason is that a historical shuffle should not prevent resolution of a once-valid commit, which we should be able to implement in the client using these two properties. Otherwise, there is an avenue for abusing late publish as an undo button. We would like to be able to rely heavily on deterministic resolution of state, and this is OK as long as the commits are preserved and communicated regardless of a consensus change.
If I understand this CIP correctly, I think the scope of a late publishing attack would be equated to just adding a new commit on the tip, which is anyway possible to do for the controller. What I'm not sure about though is what the merge of a divergent branch means for the state of the stream, but I'm not sure if this is relevant in this context.
In general, these are the most important features from my perspective:
- All known commits, pruned or not, are pinned by the node
- A new node can learn about all known commits, pruned or not, from other nodes
The reason is that a historical shuffle should not prevent resolution of a once-valid commit, which we should be able to implement in the client using these two properties. Otherwise, there is an avenue for abusing late publish as an undo button. We would like to be able to rely heavily on deterministic resolution of state, and this is OK as long as the commits are preserved and communicated regardless of a consensus change.
If I understand this CIP correctly, I think the scope of a late publishing attack would be equated to just adding a new commit on the tip, which is anyway possible to do for the controller. What I'm not sure about though is what the merge of a divergent branch means for the state of the stream, but I'm not sure if this is relevant in this context.
The two big advantages of this CIP are:
- The tip event is a discovery mechanism for and commitment to not only the prev-chain but the prev-DAG.
- You can at any point in time account for which branches are pruned and which have been merged.