This article is part of a series on the highly innovative PascalCoin ($PASC), a cryptocurrency written entirely in the Pascal programming language.

The world is run on money. Every day, billions of transactions are sent through various financial institutions to facilitate the transfer of funds between consumers, merchants, and businesses. But cryptocurrencies don’t operate in that manner. They are, by definition, decentralized. How will transactions be confirmed as valid, then? Who verifies and confirms that things are as they should be? This is where a cryptocurrency’s confirmation system comes in and the guarantees it can provide on that system. Let’s explore what this means by examining its definition, some practical examples, and why it matters.

Transaction Validity in Bitcoin

Crucial to the idea of transactions and their validity in Bitcoin is that of Unspent Transaction Outputs (UTXOs). Transactions are connected through a series of inputs and outputs. A given transaction’s inputs are the result of a previous transaction’s outputs. Transactions need not send their output to a singular transaction; they may break up their output and send it to multiple transactions.

To help illustrate this concept, let’s think about an existing model that we’re all very familiar with: banks. Let X be an arbitrary amount of money in a bank account. We’ll call this our output. You can split X up into smaller amounts and send these amounts off to multiple other accounts. For example, you could send 20% to an account A, 30% to an account B, and 50% to an account C. The sent money (X, your output) is then received (as an input) by the accounts (transactions).

Outputs can only be described in one of two ways: UTXOs or spent transaction outputs. Ideally, no transaction can be confirmed as valid if it not using only UTXOs as input. However, it is possible to “double-spend” these UTXOs as we’ll explain later.

Confirmations in Bitcoin

In Bitcoin, a level of confidence is provided given a certain number of confirmations. When a transaction is broadcast to the network, miners pull that in with other pending transactions for inclusion in the next block. When this block — including our transaction above — is published to the network, it is considered to have a depth of one. When additional blocks are then found and published to the network, the depth of the first block above is increased by one for each additional block. This is referred to as the number of confirmations the transaction inside that first block has. It is generally accepted to consider a transaction confirmed once it has reached a depth of six. This particular depth does not hold a special significance, rather it is simply a comfortable level of assurance that this transaction is valid.

Confirmations can take some time, though. Given that the next block is found based on probability, you can reach six confirmations in ten minutes or several hours if luck swings against you. This makes it rather unsuitable for “microtransactions,” or everyday purchases, such as a cup of coffee. In these situations, the merchant needs to confirm the purchase immediately as they must provide their product immediately. Imagine if you had to wait two hours to receive that cup of coffee.

Others felt this frustration and a proposal was born to provide a so-called Lightning Network. As the name implies, this would provide the appearance that the network moved as quickly as lightning. It operated by entering into a “smart contract” off-chain. This would help provide the assurance needed to operate on a low level of confirmations, even zero confirmations — hence, 0-confirmation guarantees. However, this was an additional layer and operated off-chain.

PascalCoin: State-Based Currency

PascalCoin offers a state-based currency rather than a UTXO-based currency, as Bitcoin does. Stronger 0-confirmation guarantees are provided by a state-based currency.

As an example, consider that a merchant accepts a cryptocurrency as payment for goods. Given that this exchange is quick, the merchant does not want to and cannot wait around for confirmations. As such, they have to accept a 0-confirmation. Doing so is inherently risky; they cannot be certain that the transaction will be seen as valid. The buyer can then “[re-spend] this UTXOs to himself in a new transaction (with a higher fee) thus invalidating them for the merchant,” as Albert Molina and Herman Schoenfeld point out in the PascalCoin whitepaper.

The way PascalCoin works around this situation is by using a “delta-operation to debit/credit the quantity from/to accounts respectively.” Because the network’s pending pool does not allow the double-spend of a pending transaction, the merchant has stronger assurance regarding confirmation.

Looking Forward

Even with the current 0-confirmation strength advantage over other cryptocurrencies, PascalCoin is looking to strengthen this even further for stronger assurances. This is known as the “double-spend-detection-service.” Using a JSON API, a merchant can communicate with the service 10 seconds after payment. The service may reply with “No double spend detected.” If so, it is extremely likely that the payment will clear as most nodes are honest.

PascalCoin continues to excel as a unique blockchain with inherent strengths.

For more information and how to get PascalCoin, visit http://pascalcoin.org