@franky1: The HTLCs being formatted in millisats may be implementation details, the important thing however is that you always get the right (by the off-chain transactions sent to you by your counterparties) to settle on the blockchain with the correct value rounded to satoshi, with a pure Bitcoin transaction. If that's not the case, then please provide me further proof.
bitcoins structure is simple. you get paid when its confirmed. anything else should not be treated as a payment until confirmed and immutable. thats the security and the whole beauty of what makes bitcoin and blockchains and crypto such a unique and trusted system
however
inside LN
"get the right to settle in the blockchain" = commitment..
these commitments however have conditions(if statements) thus not the same as legacy/native bitcoin system
but so many obsess about commitments and pretend its like a guarantee. and a security that people will always get paid..
with the fluff that these yet unconfirmed commitments are as secure as a confirmed bitcoin transaction
reality is people are not guaranteed. and there is no security of always getting paid.
definitely not while unconfirmed and in many cases not even after confirmation(IF conditions attached)
there are many many bugs and flaws that break the ability to claim whats owed.
note: commitments are separate from the HTLC/invoice messages in ln
its like a commitment is a signed cheque of ajoint bank account. and an HTLC/invoice is a post-it note IOU between users in LN.. handed around the routes of users
i know people are going to obsess and want to distract people with the commitments and avoid with their very harsh insults that people should only think and discuss commitments.. but,. take a breath and start thinking about the real inside LN stuff.. beyond the commitments
commitments are sent onchain to settle
HTLC'offers'/'invoices' (the inside LN messages looping around the network) are not sent onchain
there is alot of stuff happening between commitment updates. there are also alot of issues around the bugs and flaws of not getting the "secret" of a hash160(secret) commitment outputs 'if condition'.
so even if someone was to form a commitment and broadcast it. they are not able to claim all thats owed unless they have the "secret" and they only get the secret AFTER all the inside LN flimsy htlc/invoice stuff is complete
many users AND DEVS have lost funds this way. many malicious users playing around outside the flimsy non audited rules, abuse the system to ensure they get an advantage
..
if alice-bob-charlie-dave-eric were on a route
and alice wanted to pay eric. where alice has NO COMMITMENT with eric.
its not a system where alice only talks to bob. via commitments
alice sends messages to eric and eric provides messages back to alice with a millisats value and hash(hash160(secret) accepting the offer
alice then and only then talks to bob. and starts the gossip/path finding through the channels to get through charlie dave to get to eric where then and only then the commitments are created with the hash160 added output 'IF condition'
but in all this part described above. has bob charlie or dave got the secret?? NO.
and alot can go wrong
however bob-charle-dave have locked value toward their own outbound counterparty unable to be spend on other things.. and also dont have the secret to spend the promised inbound funds
thus unable to spend it themselves and the other party unable to claim it
again lots can go wrong here
even broadcasting the current commitment wont help as they dont have the secret to claim
its a known fact that lots can go wrong here. its not just the low success rate of "payment success" issues
these locks are not measured in milliseconds. but have lengthy timeouts.
these lengthy timeouts are to allow users to accept and help out or reject
during these lengthy timeouts of initial offer... alice can reject/abstain/not respond to the bob-charlie-dave route to eric
and instead use zoe-yenson-xena to get to eric and leave bob-charlie-dave waiting with locked value they cant spend of their own commitment forward(outbound) nor claim funds owed/promised to them(inbound)
because they are left waiting for the other LN messages that are not commitments.
so please understand there is alot more happening in LN then just the commitments. and alot that can break/delay/make unclaimable those commitments.
so please understand the other "layers" of LN outside the over promised and utopian dreams of commitment guarantee