Let's assume Alice and Bob creates a channel in which Alice locks her 100 mBTC.
Alice 100mBTC and Bob 0 mBTC --------> 2-of-2 contract
Alice Pays Bob 30mBTC through this channel:
Alice Commitment Txn:
Input:
- Contract
- Alice Signature
- Bob Signature
Output:
- 70 mBTC (Alice's Balance)
- - If revocation key then pay to Bob's Pubkey.
- - Else Alice can pay herself after one day.
- 30 mBTC (Bob's balance)
- - Pay to Bob's pubkey
And,
Bob's Commitment Transaction:
Input:
- Contract
- Alice Signature
- Bob Signature
Output:
- 30 mBTC (Bob's Balance)
- - If revocation key then pay to Alice's Pubkey.
- - Else Bob can pay herself after one day.
- 70 mBTC (Alice's balance)
- - Pay to Alice's pubkey
Then Alice and Bob shares revocation key before sending sending next transaction.
Now Alice Pays Bob 10mBTC through this channel:
Alice Commitment Txn:
Input:
- Contract
- Alice Signature
- Bob Signature
Output:
- 60 mBTC (Alice's Balance)
- - If revocation key then pay to Bob's Pubkey.
- - Else Alice can pay herself after one day.
- 40 mBTC (Bob's balance)
- - Pay to Bob's pubkey
And,
Bob's Commitment Transaction:
Input:
- Contract
- Alice Signature
- Bob Signature
Output:
- 40 mBTC (Bob's Balance)
- - If revocation key then pay to Alice's Pubkey.
- - Else Bob can pay herself after one day.
- 60 mBTC (Alice's balance)
- - Pay to Alice's pubkey
Alice tries to cheat Bob by publishing the previous transaction which is:
Alice Commitment Txn:
Input:
- Contract
- Alice Signature
- Bob Signature
Output:
- 70 mBTC (Alice's Balance)
- - If revocation key then pay to Bob's Pubkey.
- - Else Alice can pay herself after one day.
- 30 mBTC (Bob's balance)
- - Pay to Bob's pubkey
I am not able to understand how can Alice publish the transaction because there is no network transaction fee for confirming the transaction on Bitcoin Blockchain.
Please help me understand what I am missing here.