Reply to this post.
So the idea here is you allow users to withdraw from a previous state if a transaction for that address has not already been included ?
My concern here is that after a user has withdraw from an older state what stops that user from continuing to transfer funds that are already inside their rollup ? So the attack is that i withdraw from old state, transfer my funds on rollup to a new address withdraw again. I just doubled my money.
@adompeldorius this may also be applicable to your design ?
This is not an issue in my design, because the user’s balance is represented as a sum of a balance stored in the on-chain available state and a balance stored in the off-chain available state:
balanceOf(address) = onChainBalanceOf(address) + offChainBalanceOf(address)
So when you withdraw, your on-chain available balance decreases, and so the amount left for withdrawals (or transfers) is decreased.