Why is this important? Vast majority of users dont “think about tx processing” and I dont see why thinking about it matters more than practical aspects and the UX.
This is a good point, but could be fixed by having a rule for the min length of time tx would be valid.
Ok, I’ll admit that Tromp and Antioch have seemed to cover the bases with wallet rules, from what I can tell. I think making the UX much worse is a really bad decision, one that will not affect Tromp & Antioch and is easier for them to make. I think this decision will hurt grin immensely and that it is imperative that the UX is improved rather than harmed. I think passing the buck on security to wallet devs and end users is a cop out and also a horrible mistake that will harm the adoption of the coin even more than the current obstacles. I hope you all sincerely consider the average user (which has no hope of using grin today) when you make such important decisions. Every user running the same seed on mobile as desktop will be forever annoyed by these horrible decisions. It is not simple to treat UTXOs your wallet has control of as anything other than yours, it is not simple that some might not be solely in your control and it is not simple to mark txs the user willfully and legitimately made as “in limbo” because of choosing a poor UX instead of hardened security
Like @johndavies24 I find the arguments given for enforcing a list of all kernels to be kept a bit abstract. I understand it from a ‘philisophical’ point of vieuw but I would like to hear more about concrete usecases to warent the burden of keeping all kernels stored forever. Payment channel renegotiation only for online wallets sounds like an acceptable price to pay.
Question: What would be the cost exactly in Gb’s for nodes to keep a record of all kernels?
However, I do find that migrating of funds would be a usefull feature to add to wallets, even if this might put a burden on wallet developers.
I’ll share an idea that I found interesting to think about. If creation of initial set S is possible, it might prevent all replay attacks. I’m not saying this is a good idea to go with if it is indeed possible, but it is an interesting approach at least.
if ”A gives B” is the tx you want to replay, where A was a output that you owned, you can always and easily do ”Aprime gives B” for your replay, where Aprime is different from A, and you adjust your kernel offset.
The root cause of a replay is not the values of the outputs and if they are different or not but it is people being able to copy and paste a kernel.
So the only serious and non broken solution is to prevent people from copy paste them.
Wouldn’t this require the knowledge of blinding factor of A (for which we assume in MW only the owners know)? meaning that only the real owner would be able to do that