ETH Price: $2,949.41 (-0.83%)

Transaction Details

Transaction Action
IDM:
# 3-phase commit to deter Denial of Service (DoS) attacks in multi-hop payments

2-phase commit systems in multi-hop payments can be built in two different ways, depending on if the timeout defaults to cancel or finish the payment. In either alternative there will only be a penalty on one of the phases, and the penalty will be on the opposite phase for either alternative (on the first phase for finish on timeout and on the second phase for cancel on timeout). To have a penalty on both phases, both variants of 2-phase commits have to be combined, with an intermediary phase to change the timeout action between the phases (this intermediary phase also informs all nodes that the first phase succeeded and that it can no longer be cancelled).

### 2-phase commits

@startuml
start
:Prepare;
note right: No penalty
note left: Cancel on timeout
:Commit;
note right: Penalty
end
@enduml

@startuml
start
:Prepare;
note right: Penalty
note left: Finish on timeout
if (All agree?) then ([Yes])
:Commit;
note right: No penalty
end
else ([No])
:Cancel;
note right: Penalty
stop
endif
@enduml

### 3-phase commit

@startuml
start
:Prepare;
note left: Finish on timeout
note right: Penalty
if (All agree?) then ([Yes])
:Pre-Commit;
note left: Cancel on timeout
note right: Penalty
:Commit;
note right: Penalty
end
else ([No])
:Cancel;
note right: Penalty
stop
endif
@enduml

## Chunked penalty 

With 3-phase commit, the penalty is what prevents DoS attacks rather than the time until the pending payment has been fully timed out. The pending payment can remain open as long as the penalty is actively deterring an attacker. This allows for a slow and gradual penalty, and this reduces the risk that a non-attacker is punished disproportionally.
Transaction Hash:
0x734f8d84d8a04403823f358d436163024cf42dec3ec68efec99c52e5976447ad
Status:
Success
Block:
22684015215023 Block Confirmations
Timestamp:
30 days ago (Jun-11-2025 09:31:11 PM UTC)

Sponsored:


Value:
0 ETH ($0.00)
Transaction Fee:
0.0003077949910896 ETH $0.91
Gas Price:
3.39280193 Gwei (0.00000000339280193 ETH)
Ether Price:
$2,772.57 / ETH
Gas Limit & Usage by Txn:
137,494 | 90,720 (65.98%)
Gas Fees:
Base: 2.45190193 Gwei |Max: 4.332244827 Gwei |Max Priority: 0.9409 Gwei
Burnt & Txn Savings Fees:
🔥 Burnt: 0.0002224365430896 ETH ($0.66)💸 Txn Savings: 0.00008522625961584 ETH ($0.25)

Other Attributes:
Txn Type: 2 (EIP-1559) Nonce: 14 Position In Block: 52
Input Data:

Private Note:
To access the Private Note feature, you must be Logged In
Invoked Transactions
ADVANCED MODE:
  Type Trace Address Method From   To Value Gas Limit
AA Txn Hash Method Position From Internal Txns Token Txns NFT Txns Txn Fee (ETH) Gas Limit
Transaction Receipt Event Logs

                
Authority Delegated Address Nonce Validity yParity r s
Loading...
Loading
Loading...
Loading
Loading...
Loading

A transaction is a cryptographically signed instruction that changes the blockchain state. Block explorers track the details of all transactions in the network. Learn more about transactions in our Knowledge Base.