{"id":108607,"date":"2024-04-12T20:41:04","date_gmt":"2024-04-12T20:41:04","guid":{"rendered":"https:\/\/wp.dash.org\/?p=108607"},"modified":"2024-04-12T20:41:04","modified_gmt":"2024-04-12T20:41:04","slug":"deterministic-finality","status":"publish","type":"post","link":"https:\/\/wp.dash.org\/blog\/deterministic-finality\/","title":{"rendered":"Deterministic Finality"},"content":{"rendered":"
Dash has deterministic, not probabilistic, finality for transactions! \ud83e\udde0
\nThis makes Dash much more certain and secure than cryptocurrencies which have to wait for block confirmations in order to be secure.<\/p>\n
Yes: a Dash payment may be more secure than a Bitcoin transaction will ever be! \ud83e\udd2f<\/p>\n
First, some definitions:<\/p>\n
\u270d\ufe0fProbabilistic Security: High likelihood that a payment won’t be reversed<\/p>\n
\u270d\ufe0fDeterministic Security: Certainty that a payment won’t be reversed<\/p>\n
With Bitcoin and other proof-of-work mined coins in particular, miners build blocks on top of previous ones. The chain with the most accumulated proof-of-work is the valid one (others may be forked off).<\/p>\n
The reason you wait for confirmations is probabilistic security: the deeper in a chain of blocks that a transaction it is, the lower the chance that a chain with a different outcome for the transaction will win out. But it’s always a possibility!<\/p>\n
Dash is a proof-of-work chain and runs on exactly this setup. But it has a couple of different mechanisms built on top that offer deterministic security:<\/p>\n
\u26a1\ufe0fInstantSend: Locks in transactions instantly, making them deterministically unable to be reversed<\/p>\n
\u26a1\ufe0fChainLocks: Locks in the first-seen block on the network, making it deterministically final and permanent<\/p>\n
Chain reorganizations are always a risk in most of the crypto world, which is why exchanges, payment processors, wallets, etc. wait for confirmations, risk score transactions, and so on. This is probabilistic security.<\/p>\n
But this is not necessary with Dash!<\/p>\n