22.12.2021

The queue of unconfirmed transactions and commissions in the Bitcoin network began to decline. Bitcoin transaction verification Bitcoin transactions and their role in the big picture


Bitcoin transfers have long taken pride of place in the virtual world. But bitcoin transactions need to be checked regularly, as the network can throw out various surprises in the form of transfers that hang in the blockchain for several days, or some other problems arise with them.

Nevertheless, no one thinks of giving up online bitcoin transactions in real time, because it is convenient, especially now, when the rate of this cryptocurrency has grown significantly, which means that there are more people who want to work with the coin. But the more users, the more often there are problems with translations. So you have to regularly monitor to check how everything is going, whether the transaction is stuck, etc.

In order to have something to track, you must first buy bitcoin. One of the fastest and most convenient ways to buy is an online exchanger. As an example, consider a reliable service among the Russian crypto market. First of all, you need to go through a simple registration on the site, then replenish the balance of your personal account in rubles. It is possible to use various payment systems that are available on the service.

Then you need to go to the "Exchange" tab and exchange rubles for bitcoins. After that, the user can send the cryptocurrency to their bitcoin wallet. Select "Send cryptocurrency", and enter your bitcoin address and amount.

By the way, there is an important point here! If the user is not particularly in a hurry and is ready to wait for confirmation of his transaction for more than 1 hour, then setting “high priority” is not required. But, if it is necessary for the transaction to be confirmed within 10-15 minutes, then the user needs to check the “high priority” checkbox.

Further, the transaction will go to the network with a higher commission and the miners will include it in the block in priority order. As soon as the bitcoins have been sent, you can go to the "History" menu (in the left sidebar) and the operation will already be visible there. By clicking on the bitcoin address, the user will be redirected to the Blockchain.com bitcoin transaction explorer website page, which will display the sender bitcoin address (i.e. Matbi), the recipient bitcoin address (i.e. yours) and miner commissions. At first, the transaction will have the status of unconfirmed, and as soon as the miners add it to the block, the first confirmation will appear, followed by the second, followed by the third, etc. This is the whole process of tracking bitcoin transactions.

The whole process of working on Matbi is described in detail in the video instruction.

Perhaps, thanks to a person, real control over money appeared. But in order for the money to be safe on the wallet, you need to figure out how to view the transaction (transfer) queue of bitcoins. I am glad that the transfers are made without intermediaries, but even this does not guarantee that the funds will go to the specified address.

Before they get to another wallet, you need to look at the sender how the transaction was confirmed. Not all transactions are successfully completed in a couple of minutes. Sometimes you have to wait hours or even days. This is facilitated by the peculiarity of the blockchain.

The fact is that bitcoins as a physical object do not exist - it is a cryptocurrency, sold exclusively on the Internet, and formed. Therefore, transaction verification must be carried out in the blockchain. In principle, the balance of the wallet is found out in the blockchain using a special access key of a particular user. The mechanism that allows you to track the action in the blockchain network works according to the same principle.

As for the Bitcoin blockchain itself, it is a chain of blocks that include a public database with information about any transactions with bitcoins (the transfer of cryptocurrency from one addressee to another). Each of these blocks contains the following information:

  • History of previous operations;
  • Information about new transactions.

In other words, the blockchain system is a bunch of blocks arranged in a chain. This is a continuous sequence, tracking which allows you to see all transactions from the first to the last. In addition, it even allows you to perform actions such as verifying a bitcoin transaction made from a specific wallet.

This is very convenient both for large businessmen who regularly carry out large transactions in the blockchain network with no less large transfers, and for ordinary users who are gradually starting to master new technologies in the financial industry. Funds are transferred in the form of a cipher, which is sent along the chain from one virtual wallet to another. But even if the transaction is confirmed, but the funds did not reach the final wallet, the transaction cannot be called completed.

Thanks to the verification of a bitcoin transaction, you can track the current state of the transaction as accurately as possible and with minimal difficulty. And if there are any problems, take drastic measures. The peculiarity of the blockchain is its openness. Any action on the network can be seen by anyone. True, everything is anonymous, so you need to find exactly the transaction you are interested in, and not a billion others that are performed daily on the network. And how to do this, we will now find out.

Bitcoin transaction - definition

A bitcoin transaction is a process in the blockchain chain where general information is collected on the network and the next block is formed from it. The faster this block is formed, the sooner the operation between users will end.

In the block chain, you can track the sequence from the first transaction to the last. By the way, blocks are formed not from one, but from many operations, therefore, in theory, the work process should be fast. But in practice, this is not the case, despite the fact that cryptocurrency miners form blocks almost every 10 minutes, or even more often.

The fact is that the competition is high, which means that only those transactions that are competitive, that is, with a high commission, can quickly get into the block. And others have to wait. By the way, transactions on the network are completely open. That is, everyone can see all the information about this transaction:

  • The input is the address from which bitcoins are transferred;
  • Further, anyone who wishes has access to information about the amount of transferred crypto coins;
  • The output of the current transaction previous tx is the address of the recipient of the transfer.

The system is anonymous, so there are no names here, but you can track the operation by characters that form a special key. So the movement of the operation is not a problem to find. If the transfer amount is small, then one block is enough for the user, but if the transfer is large, then several blocks will be required. The exact amount depends on the amount.

The user can check the btc transaction at any time, both before and after confirmation. In order to spend a large amount, you need to receive confirmation of at least six blocks of the blockchain. If confirmation is not received, there is a possibility that the transaction will not be executed or stuck in an indeterminate state.

Each operation goes through a chain along which you can trace the history of the circulation of the cryptocurrency in the network. Thanks to this scheme, anyone can see information about a bitcoin transaction. The block itself consists of:

  • Hash code;
  • Own hash;
  • The hash of the previous block.

Before checking a blockchain transaction, you need to understand that those transfers with a higher commission will be the first to be confirmed, which means that those transfers will go to the network. The commission is a reward for miners who are engaged in transfers, receiving a reward for this. And only after the operation is validated into a block, you can check its authenticity.

The chain is stored on a huge number of computers that are members of the blockchain network. This is the reason that the accounts of both the recipient and the sender are not updated immediately, and users cannot notice that the operation was successful. When a small amount is transferred, it makes no sense to wait until the transaction is confirmed by six blocks, as required by the rules. The fewer blocks involved, the faster the transaction will go through, and it will be easier to identify it.

The transfer is carried out using the address and the secret key. The user opens a wallet where a private key is generated, consisting of 25 or 34 characters. The wallet opens the address and also converts the private key. A user who has this key can at any time see what is happening with bitcoins. No one else has the right to such actions, even if the blocks look like a transparent case.

The procedure is as follows:

Translations are both complex and simple - this is the secret of the network's popularity.

How long does it take to complete a transaction on the Bitcoin blockchain?

The blockchain system is not designed for a quick transaction. As a rule, users have to wait from 10 minutes for the transaction to go through the chain and be executed. But often the verification of a bitcoin transaction can last from 20 minutes to an hour. Moreover, this is provided that the transaction is supported by a sufficient commission and is not executed during rush hour.

If the transfer is carried out for a large amount, that is, you need to use many blockchain cells, it may take even more time. The period during which the transfer of funds takes place takes several days.

Let's try to identify all the factors that can affect the time of the transaction:

  1. Transaction Size . As already mentioned, transfers of a small amount of bitcoins imply a significant reduction in the number of blocks that the operation must go through. If there is not much money, then one block is enough, and this is an almost complete guarantee that the transaction can be completed in a minimum period of 10 minutes. Of course, if we are talking about rush hour, then the time increases, but you rarely have to wait more than a few hours with correctly specified parameters.

  1. Network stability . This refers to the network load at a particular point in time. It is logical that your deal will be noticed faster if the number of transactions is minimal than when there are a lot of them. Over the past two years, the popularity of blockchain and bitcoins has grown significantly, which means that network congestion has also increased. According to the most conservative estimates, the number of transactions in the blockchain network has increased eight times. There are now several trillion hashes per second on the network. In addition, periods began to appear more often when the average number of transactions in blocks grows, and the block size reaches a critical size.
  2. exchange rate fluctuations . During periods of rate stabilization, there are much fewer operations, since there is no particular need for them for traders working on the difference in rates. But during the period of a sharp decline or increase in the price of bitcoin, a period of activity begins, which negatively affects the average time for the transfer of bitcoins, which is verified by the user. So, if you want to make a deal faster, choose periods when the number of transactions is less - that is, when the rate is relatively stable.

  1. Commission fee . As already mentioned, whether the miners pay attention to your cryptocurrency transfer or not depends on the size of the reward. The higher the commission, the higher the chances that the transaction will go first in line. But no one gives a guarantee that someone else will not put a commission higher than what you declared, and his operation will go first, and you will have to wait for your turn. In this case, you need to either raise the commission additionally, or be patient and wait until the transaction enters the block.

In any case, it does not hurt to regularly check the status of a bitcoin transaction. If it hangs, you can make appropriate efforts in time to correct this shortcoming.

How to verify a bitcoin transaction?

To check whether the payment of the bitcoin payment went through or not, you need to perform a certain sequence of actions. But this requires knowing the information about the payment, as well as the fact that there are three types of records in the blockchain:

  • Sender's address, or input (input);
  • The exact amount of money that is transferred - amount;
  • The recipient's address, or output.

can be done using public services. Many of them do not even require registration, which greatly increases their convenience. So, let's look at some of the most popular services that will help you find out if a bitcoin transaction has been confirmed, and if it is confirmed, it indicates when and how it happened.

  1. blockchain.info. It is a virtual wallet service that has been operating since 2011. In addition, this service is engaged in the review of blocks, which allows you to track the progress of transfers. Everything is very convenient here, the statistics are shown in tables and graphs, so it is quite easy to clarify the information.
  2. chain.so. A public and free service where you can quickly and conveniently see if a transaction has been verified. Among the found bitcoin payments, the system will find transactions that are of interest to the user. And when the operation is found, the service gives a complete list of available information.

The search itself is carried out according to the standard scheme for public services:


After that, all information about the application and its current status will be displayed. In particular, the information that appears will affect information about how many blocks the transaction has already passed and its status.

Confirmed and unconfirmed transactions

How to check the number of bitcoin confirmations? To do this, you need to use special resources, which we have already talked about. And to find out how it works, we must at least try to find out which transactions are called confirmed and which are not:

  • Confirmed are transactions that are included in the blockchain block;
  • Unconfirmed are transactions that have not yet been included in the blocks of the blockchain.

One enable equals one confirmation. But transactions in the blockchain use from one to six confirmations, depending on the volume of the transferred cryptocurrency. Although the number of blocks is limited only by the number of bitcoins transferred, therefore, more than six blocks can be involved in a transaction. And this, in turn, increases the time to complete the operation. It is in such cases that you need to figure out how to view the confirmation of a bitcoin transaction in order to know at what stage the operation is being performed.

When the transaction is confirmed by all the necessary blocks, it is considered confirmed. But until this moment, it is necessary to monitor how the operation is going, that is, to determine the number of bitcoin confirmations. Then, if something is wrong, you can find out about it much faster.

Each block is validated separately. Of course, this is not very convenient and takes more time, but a similar function was introduced in order to secure the system after attackers managed to rob customers at the beginning of the blockchain. In addition, thanks to the spread of the blockchain, there will be no repeated spending of the same capital. This was calculated based on the theory of probability, according to which thieves cannot accumulate more than 10% of the hashrate in order to fake a transfer. So by sacrificing time, users get increased system security.

Classic Bitcoin clients show transactions as unconfirmed until all the blocks necessary for their execution are collected. In fact, the user sees that the system is working and finds blocks, but it’s just that the operation is still in progress, because the wallet does not reflect it as completed. That is why transactions with a large number of blocks can hang on the network for a long time.

Latency in Bitcoin transactions

According to the blockchain mechanism, each block must be decrypted within 10 minutes (on average), but in fact, users have to wait much longer to complete the transaction. You will also be very lucky if the operation can be carried out within the next hour or day after the application is submitted to the system. So confirming a bitcoin transaction is not as easy in practice as it sounds in theory.

Delays are survivable, although they make life difficult for Bitcoin network customers. There is an opinion that the delays are provoked by low transaction fees. In addition, more and more users, trying to push their transactions, increase their correlation costs, so even taking into account the high interest rate on rewards, it is not possible to become the first in line. Therefore, transactions on which minimum interest is set will not be a priority.

Today, the minimum transaction price is around $0.16. Target 110 Satoshi per byte, and the average trade size is 226 bytes. If you use minimum prices, then do not expect the transaction to go through quickly. In this case, the delay is guaranteed. True, you can figure out where to look at the confirmation of a bitcoin transaction, thereby checking the status of the operation. After all, even despite the low commission, it may well pass. But delays have their consequences:

  • There is a significant impact on the price of a cryptocurrency. This is understandable, because complaints that transactions are delayed for a period of two days or more do not make bitcoins more popular. After all, this means that it is more difficult to work with them. Hence the constant, albeit insignificant, fluctuations in the exchange rate;
  • Trade is seriously suffering, because payment in bitcoins has become commonplace online and in the real world. Not everyone is willing to wait longer to get paid. This causes the failure of the most promising deals. In addition, due to the limited time of the product or service, payment may no longer be necessary;
  • Users working with cryptocurrency lose interest in it, as they cannot use it for its intended purpose. And this is terrible for a currency whose welfare depends on the interest in it.

Only its high cost in terms of fiat money saves from a complete loss of interest in bitcoin. In addition, delays in the execution of transfers negatively affect the overall reputation of the cryptocurrency, causing even more fear among people who find it so difficult to accept that the digital currency has no real, physical backing. Therefore, there are discussions on the topic of increasing the block size in order to offload the system and get rid of most of the delays.

Can a transaction be cancelled?

Let's say your transaction is stuck. This problem is not new and appears frequently. But what to do? Cancel. But there is a significant problem - it is impossible to cancel a transaction in the blockchain network. This is one of the distinguishing features of the system. True, recently developers have been discussing the possibility of editing transactions. But so far this is only a theory, the implementation of which is in doubt.

However, even now there are options on how to reverse blockchain transactions in real time. Of course, this is not entirely easy to do, and only if the transactions are not confirmed. That is why, before taking any action, check if the blocks of the blockchain have been activated for your transactions. Check if there is an inscription “ ” next to them. If this is the case, then, most likely, not everything is lost, and you can proceed to cancel the actions taken earlier.

But we warn you right away, these actions are to delete your old bitcoin wallet and create a new one. You can follow this procedure as follows:


In a new wallet with imported keys, you can proceed with other transactions, and an unconfirmed transaction is canceled. In addition, there is information about all previous transactions.

Transaction acceleration methods

Despite the fact that the transaction was carried out correctly and all the conditions were met, there is a risk that the operation will still be delayed or even freeze. If the delay in the transfer of funds does not suit either party to the transaction, additional measures can be taken. This is perceived by the transaction system as a magic kick, and significantly speeds up the operation.

Simple methods to reduce time:


There are even more complex options for accelerating transactions in the blockchain network. In particular, the use of multi-signature. This system allows you to significantly speed up the transfer, since the parties to the transaction themselves sign that the operation is completely safe. That is, it makes no sense to carefully check it. Thus, the transaction passes through the blockchain network much faster.

In addition, cryptocurrency transfers on a trusted server are in demand today. That is, it contains information about both the receiving party and the party that provides the money. This ensures security, and the transaction also goes faster. At the same time, the anonymity of the translation is also preserved here.

Well, the most effective manipulation to speed up the transaction is to perform a second transaction using the Opt-In Replace-by-fee function. Its essence is to repeat the same transaction, but significantly increase the commission so that the transaction jumps to more profitable positions. If you do not use this function, then the system will not accept the resend, seeing it as a double waste.

Bitcoin transaction fees

There is one peculiarity in the blockchain system regarding the size of the transaction fee. The fact is that the user himself determines how much he is willing to pay for his transaction to be identified in the block as quickly as possible.

The connection is simple - if you want the operation to go quickly, then you have to pay more than the recommended amount. And if time does not play a fundamental role for you, then you can wait by setting a standard commission. Although the priority of the transfer depends on the amount that is being transferred.

Miners are more interested in deals that offer high rewards. Therefore, it is precisely such transactions that will end faster, despite how long other users have been waiting for their turn. And if you save a lot or don’t set commissions at all, then the deal can hang in the network for eternity.

Although if you're lucky, the operation will be completed in a few days, which still does not suit most users who are willing to wait several hours, but not days. But there are cases when you can do without a commission. Professionals argue that commissions can be avoided under the following circumstances:

  • If the transaction uses no more than 0.01 bitcoin;
  • If the operation will use little space in the block;
  • If the sent bitcoins already have confirmation.

The commission is something like the wages of the miners. If the transaction they conduct is simple, then you need to pay for it accordingly, without using high rates. And if the operation involves a lot of effort, then you need to pay for it at the prescribed rate.

Information on the transaction of transactions with bitcoins is available to everyone. For instance:

  • The user does not care about the speed of the transaction, and he puts a commission in the amount of 0.0003438 bitcoin. In this case, the priority will be minimal, and the chances that the transaction will go through quickly is only 10%;
  • If the commission is from 0.000405 BTC, then the transaction receives a standard priority, and the chances of a quick transaction increase to 50%;
  • Medium priority can be obtained by paying a fee of 0.00108 BTC. The success rate in this case is 55%;
  • But the transaction will be carried out quickly if the commission is from 0.0018 BTC. This is expensive, so a high priority level is used when it comes to large transfers, where the loss of several hundred dollars is not fundamental.

The main thing to remember is that the amount of the commission depends on the size of the transaction in bytes. To accurately calculate the commission, you can use special programs that make it much easier to determine the exact transfer fee.

Where to see the history of all bitcoin transactions

The history of bitcoin transactions is in the public domain - this is a feature of the system. But not everyone can access the data, but only the owners of the access key. Without it, it is impossible to find the desired information among billions of operations. But if you follow a certain sequence, you can get all the necessary information:

  1. First of all, you need to go to the site https://blockchain.info/. This is a resource where all information about operations with bitcoins is stored.
  2. The main page has a search bar where you can enter block height data, block or transaction hash addresses, IPv4 address, and other data that will help you sort out the transaction.
  3. After entering the bitcoin address, the user will have a list of all the transactions that he has ever made. Viewing bitcoin transactions here is much more convenient than in a client wallet.

The information shown on the resource is unambiguously accurate and up-to-date. This is the fastest way to get current information about the transaction situation.

Constantly increasing, which means that the blocks in which they are stored fill up faster. After all, the block size remains the same - 1 megabyte. Because of this, a common problem arises - a delay in a transaction as a result of the fact that it is not confirmed (at least 2 confirmations are required).

The waiting time for a transfer can take several hours, and sometimes days. This creates obvious inconveniences, especially in situations where it is necessary to transfer funds in a short time. In this article, we will take a closer look at the concept of an unconfirmed transaction and find out what needs to be done in such a situation.

What does an unconfirmed bitcoin transaction mean?

An unconfirmed transaction is a transaction that, after its initiation, was not added to the block. The operation of the Bitcoin network is supported by miners, who “process” the transfers. They have their own priority - the higher the commission per byte of a transaction, the faster it will be added to a new block. So the phenomenon of an unconfirmed transaction is most often a consequence of the low commission that the sender chose.

You can always find out the status of your transfer by simply entering your TXID (your transaction id) in the search field of the blockchain.info website. It displays the number of confirmations and the path of the transaction itself. The number 2 next to and the blue status of the "button" with the inscription Confirmations in the Blockchain means that the transaction has passed. And if it has not been confirmed, then you will see the characteristic Unconfirmed Transaction inscription on a red background.

Subject to setting an adequate commission, confirmation takes up to 30 minutes, otherwise, you can expect 72 hours or even more.

If you are sure that your transaction is stuck and not waiting for confirmation, read this article.

Why is the transaction not being confirmed?

The main reason for an unconfirmed transaction is the low commission that the user has set. Most wallets have the concept of a recommended commission, which the program chooses itself. However, this indicator can be both underestimated and overestimated.

It is important to remember that the size of the commission does not depend on the amount of the transaction. That is, a transaction for 100 bitcoins can be cheaper than 0.01 BTC. It all depends on its size in bytes. In turn, the size depends on the number of related transactions. For example, if you received 1 bitcoin from Dima, Sasha, Katya, and then send these 3 bitcoins to Vakhtang, then 4 addresses (including yours) will participate in this transaction. And that's an extra 600 bytes or so.

But if you dig deeper, it turns out that the long transaction confirmation time is a consequence of the small block size of Bitcoin. The network, in the context of a constant increase in the number of participants and transfers, is not able to quickly process them at this stage.

You can even make an approximate calculation. The size of 1 block is 1 megabyte, on the screen above, a normal transaction “occupies” 370 bytes. It takes about 10 minutes to generate 1 block. This means that about 2600 transactions can be confirmed in 10 minutes. But in fact there are much more of them.

On the same blockchain.info website, you can see the size of the mempool (mempul - queue) of the network. This is the volume of all transactions that are waiting for confirmation.

In total, they occupy over 100 megabytes. This means that less than 1% of transactions will be confirmed within 10 minutes. In total, it will take 10x100=1000 minutes to process them, or almost 17 hours. And this is provided that any new transactions suddenly cease to be carried out in the BTC network.

The global solution to this situation is to increase the block size. That's what Segwit was made for. It provides for the optimization of memory usage for storing transaction data, and should prepare the network for further modifications (block increase) through a soft fork. Segwit2x, which involved a hard fork (hard splitting of the blockchain) and an increase in the block size to 2 megabytes, was cancelled.

What will happen to the money?

One thing is for sure - your money will not be lost anywhere from you. There are two scenarios here:

  • Wait until your transaction still receives the required 2 confirmations;
  • Take some action to push it through.

The first option does not require any action from you. You know that transaction verification is available on blockchain.info and some other services, and you can look at its status from time to time by entering an identifier into the search. However, the waiting time can be delayed for days, and in extreme cases - weeks.

And even if you are not in a hurry with the transfer, at some stage you will have to take action. We will talk about the main methods of acceleration below.

How long to wait for confirmation of a bitcoin transaction

Some services specify how long to wait for confirmation. But these figures rarely ever have anything to do with reality. You can independently calculate the transaction confirmation time. To do this, you need to pay attention to the Fee per byte line.

How to protect yourself from freezing transactions

First of all, you need to understand what affects the speed of transaction confirmation. A affects on it the time of the transaction, the selected commission and the "path" of the bitcoins you send. Does not affect the number of bitcoins you are sending and the wallet you are sending them from.

If you received 10 bitcoins through 10 transactions of 1 bitcoin, then the transfer of these 10 bitcoins in terms of its volume in bytes will be much larger than the transfer of 100 bitcoins that you received from 1 address. This is an example of the "Path" of sent bitcoins. Similarly, when sending - the more addresses, the greater the commission. If you need to send BTC to multiple recipients, then combine transactions into one and "fork" it through Input.

The key value is the size of the commission per 1 byte. Before sending bitcoins, check the mempool metrics and check the average network fees. You can see the commission rates on BitcoinFees.

If the mempool is empty, then even a transfer with a small "penalty" will pass - a simple law of supply and demand works here. Miners process transactions as the best deals are rare. The ideal timing is when China and Asia are asleep. That is, in the European first and second time zone during this period it is evening (6-10 hours).

With proper work with the mempool, wallet and data on the average commission rates, you can quickly conduct transactions and save money at the same time.

Now you know why a transaction in bitcoins is not confirmed, how to track it and how to confirm it using various methods.

So summary:

  1. An unconfirmed transaction is a transaction that, after being sent, was not added to the block for some reason.
  2. To speed up the transaction, you can use the double spend method (Double Spend), CPFP, Replace-by-fee, or special accelerators.
  3. To protect yourself from freezes, you need to set the correct commission and take into account the time of the transaction.

Whether you want to become a blockchain application developer or just wondering what happens when you send bitcoin to a friend, you need to understand the process of creating and executing transactions. Why?

Because transfers are the main operation, which is the pinnacle of the foundation on which the blockchain is built. Transactions combine the technologies of cryptography, data structures and scripts. These components are simple enough not to overload the transaction process, but they are flexible and allow programmers to customize the system for themselves. Today we will talk about these mechanisms in more detail.

Developers will learn how their Bitcoin client makes transactions on the network (and what happens when they are received).

Ordinary users will find the answer to the question: “What processes are launched when you send bitcoins to a friend?”.

This article assumes the reader has basic knowledge of asymmetric cryptography, hashing, and P2P networks. It would also be nice to know what blockchain mechanisms are, even if you are not familiar with the intricacies of how they work.

Bitcoin transactions and their role in the big picture

Bitcoin consists of two main parts: nodes and blockchain. The task of a typical node is to maintain the installed version of the blockchain and keep it up to date. The blockchain is made up of blocks that include transactions.

This simple but accurate description can be confusing: so what exactly is a transaction?

⦁ How can understanding the translation process help you become a good blockchain developer?

⦁ How do transactions allow you to transfer bitcoins to another person?

The answers to these questions vary depending on the type of transaction. Even working only with bitcoin, we can use several transfer systems.

But let's start with the basics and deal with the main type of transaction called pay-to-PK-hash. Now this type of transfer is used by 99% of bitcoin owners.

To begin with, let's simulate the operation of a cryptosystem. Many imagine it as a familiar account environment for everyone. You send bitcoins to someone, the other person receives them, and your balance decreases.

In fact, everything is not so simple. All your money at the time of transfer leaves the balance (minus transaction fees). Some bitcoins are returned back to the account - this is how the balance is formed.

Each Bitcoin transaction consists of “inputs” (inputs) and “outputs” (outputs). We displayed its structure on the image:

The first time it is quite difficult to understand, so let's talk about the scheme in more detail.

When you send money to a friend, her “exit” is used as the address. And your "inputs" will be proof that the sender has enough money to complete the operation. You can have several "inputs", the sum of which is the account balance. In this simple case, there is only one input and one output involved in the transaction.

More about bitcoin transactions

Let's understand the mechanism of a real Bitcoin transaction. For clarity, take another look at the image.

If we study a typical transaction in a “section”, we will see that it consists of 3 large parts: header, input(s) and output(s). Let's take a quick look at the components that make up these sections, as they will be important to understanding the process. Note that all these fields are inherent in the so-called row-transactions. They are carried out between peers when a translation is created.

header

hash (hash): Applies to all transactions. Bitcoin uses it as a pointer, and the hash is also needed to check the integrity of the data. We will look at it in more detail in the next chapter.

ver: version number that is used to verify the block.

vin_sz: number of transaction inputs. Vout_sz displays the number of outputs.

lock_time: defines the earliest time a block can be added to the chain. This is either the block height or the unix timestamp.

entrance

hash Previous Exit: Indicates the transaction's previous uncompleted exit (UTXO). Basically, it is your money that you are going to spend on this transaction.

n: index in the list of outputs of the previous transaction. Shows the actual number of the current output.

scriptSig: send script that confirms that the creator of the transaction has the rights to send money.

Exit

value: number of satoshi spent (1 BTC = 100,000,000 Satoshi).

scriptPubKey: The second of two scripts that execute the transaction. Needed to determine the hash of the recipient's public key.

Transaction Verification

One of the tasks of a bitcoin node is to verify the correctness of incoming transactions (the data should not be changed, only the intended recipients can use the funds, etc.). A more exhaustive list can be found on the Internet, here we will indicate the most important rules.

⦁ All outputs confirmed by the inputs of this transaction are in the UTXO pool. Unsent outputs can only be acknowledged once.

⦁ Signatures on each input are valid. This is determined by the execution of a sequence of scripts. You will find details in the next chapter.

⦁ No UTXO sent more than once per transaction. Pay attention to the differences with the first paragraph.

⦁ All transaction output values ​​are non-negative.

⦁ The sum of the values ​​of the inputs of this transaction is greater than the sum of the values ​​of the outputs. Note! If the numbers differ from each other, the difference counts as a fee that the miner can charge.

Basic pay-to-PK-hash transaction

Bitcoin has its own scripting language. It is powerful enough to allow developers to create complex and custom transaction types. There are about five standard types of transfers that are supported by classic bitcoin clients. But there are other clients who work with other types of transactions for a fee. Here we will just look at the pay-to-PK-hash mechanism.

For any transaction to be considered valid, the scriptSig/scriptPubKey script pair must show the value "true". When a transaction is sent, a scriptSig is included. It collects information from the scriptPubKey and, when executed, confirms the exit of the transaction. Both scripts are in the same cell.

Since bitcoin addresses are actually hashes, the sender will not be able to know which key is being checked: public or private. So the recipient specifies both keys, and scriptPubKey will duplicate and hash the public key. This process allows the script to verify that the key belongs to the intended recipient.

During the execution of the operation, you will see that the constants are pushed onto the stack when they are encountered. The system adds or removes items from the stack as they are processed. For example, OP_HASH160 will take the top element from the stack and do it twice, first with SHA-256 and then with RIPEMD-160. When all the elements in our script have been evaluated, it will return true on success or false on errors.

In general, pay-to-PK-hash is a fairly simple type of transaction. It ensures that only a user with a matching public/private key pair can receive and spend bitcoins. When all the criteria from the previous paragraph are met, the transaction is considered successful and placed in a block.

In the following articles, we will look at more complex types of transactions. You will learn how 3 or more people can participate in transfers and how long-term types of transactions can be implemented.

The number of payments in Bitcoins is growing, but not all are completed successfully. Blockchain-based unconfirmed transactions are one of the main problems of the world's most popular cryptocurrency. When there are too many users who want to make a transfer, the network cannot cope with providing two confirmations. A queue forms, and some translations will never be completed at all. Because of such inconveniences, the popularity of Bitcoin is falling.

Blockchain and transactions

Blockchain is essentially a set of transactions linked into blocks. Before a transfer enters a block, it must be confirmed. Each block has a limited size, for example, in Bitcoin, the block initially contained 1 MB, and after the introduction of SegWit - 4 MB. It can be partially filled, but if the block is full, the network will not accept it. This helps to protect the blockchain from attacks by intruders.

Transactions in the blockchain are carried out between crypto wallets that have digital signatures. Operations do not need intermediaries and the disclosure of the identity of their participants. All transfers ever made on the network can be seen, right down to the very first one, but they are encrypted, so it is impossible to know who sent the cryptocurrency to whom.

Blockchain is a chain of blocks. Transactions are the building material for their formation. These are records in the blockchain containing three components:

  • sender address (Input);
  • the amount sent by the sender (Amount);
  • recipient address (Output).

To complete a transaction, in addition to the recipient's address, you need a key. Keys and addresses are generated randomly. But if the address is public and anyone can recognize it, then the key used to gain access to the wallet and sign the transaction is known only to the sender. The key and address consist of numbers and letters of different registers.

How transactions are carried out

All transactions are carried out according to the general scheme:

  1. The user is about to send some coins. He makes an application and signs it with a secret key. The "application" contains the three parameters listed above - the address of the recipient, the amount and the address of the sender.
  2. Miners (network members) are engaged in confirming transactions sent by users. For this they receive money, therefore it is beneficial for them to confirm transfers with a high commission. When the transaction is confirmed, it goes into the block.
  3. When a block is attached to the blockchain, the recipient’s wallet receives the same amount of coins that was deducted from the sender’s wallet.

All users participate in blockchain transactions, and the network is updated on all connected computers. The transaction fee is one of the decisive factors in the speed of the transfer. The higher the commission, the greater the chance that the operation will be included in the blockchain within a few minutes.

Unconfirmed transaction

What does an unconfirmed transaction mean? An unconfirmed transaction is a payment that was initiated but did not get into the block. Miners confirm transactions and send them to blocks, choosing those transfers with a high commission as a priority. Unconfirmed transactions are transfers with a low commission or no commission.

You can track the status of the payment on blockchain.info. To see the result, it is enough to indicate the TXID in the search course. If the “Confirmations” button is located next to the transaction and is marked in green, then the operation is confirmed. Red color indicates unconfirmed trades. Near them is the mark "Unconfirmed Transaction".


If the commission is high, on average, it takes 10-30 minutes to confirm. Payments with a low commission take 72 hours, and sometimes longer. How many unconfirmed transactions can be seen on blockchain info.

Causes

Miners verify all transactions on the blockchain. If the operation is legitimate, it gets a green light. For example, in bitcoin, 6 confirmations are required for a transaction to be completed, but in practice two are enough. There are several reasons for the freeze:

  1. User errors. Usually a similar problem occurs for beginners who have not had time to figure out how the digital system works.
  2. Commission. In the Bitcoin blockchain, the priority transaction will be the one with the highest commission. Most wallets, such as Bitcoin Core or blockchain.info, have an option with a recommended fee. This is the minimum amount that guarantees a transaction. If the fee is too low, the miners ignore the transfer. The commission is not related to the transferred amount. It may be more than the translation itself. The weight of the translation in bytes is decisive.
  3. Network congestion. If there are too many transfers on the blockchain, even a high commission does not guarantee a quick transaction. Congestion arises due to the increased number of users. The situation can be further complicated by occasional spam attacks.
  4. Limited block sizes. Bitcoin blocks weighed only 1 MB, so they could not place the transactions of everyone. Due to the popularity of bitcoin, the number of users has increased, and the initial sizes are no longer able to maintain the network.

Initially, the Bitcoin platform carried out transactions with minimal, fixed commissions. There were no queues, as there were few users. When bitcoin gained popularity, and there were more users, queues appeared. In order for the transactions to go through, they began to raise commissions, and the project team started solving the problem of block expansion.

What to do

Even if the transaction is not confirmed, the money does not evaporate anywhere. But there are several scenarios:

  • the transaction does not receive the necessary confirmations and hangs in the network for eternity, along with other similar transfers;
  • the user is not waiting for who knows what, but is trying to advance the transaction.

In the first case, no action is required. You can track the status of the application and wait, perhaps, by some miracle, it will pass. Sometimes users wait for weeks.

How long should I wait

To see the status of the transaction and the time of its confirmation, you can use special services:

  • blockchain.info
  • bitaps;
  • blocktrail.

But the figures indicated there rarely correspond to reality. To get more accurate information, you can do the calculations yourself:

  1. Take the number indicated in the Fee per byte line.
  2. Go to btc.com.
  3. Find the unconfirmed transactions section.

This section will present the average price of a byte and the time it takes to complete a transaction with one or another commission.

How to reduce the risk of freezing

Three methods can solve the problem:

  1. Block enlargement. The Bitcoin blockchain was not designed for the loads that exist today. One MB is clearly not enough for everyone who wants to conduct transactions, so the block needs to be increased. But developers are in no hurry with this due to the fact that maintenance of the blocks is becoming more time-consuming and expensive. In this case, maintaining the network is inaccessible to most users and the platform turns into a centralized community for the elite.
  2. SegWit protocol. It allows you to do a soft fork (soft branching) to improve the performance of the blockchain by removing information about signatures from transactions. It was this method that was chosen to increase the capacity of Bitcoin blocks from 1 to 4 MB.
  3. Using dynamic block size. This technology is used in Monero. In this case, the block size automatically changes depending on the network load. A blockchain built on such blocks is practically not subject to the risks of slowing down.

There are other revolutionary methods in the cryptocurrency industry to avoid unconfirmed transactions or significantly reduce their number, but they have not yet gained wide popularity.

How to prevent blocking

To prevent freezing, you can resort to the following measures:

  1. Use high commission. The transfer fee should be above average. The wallet sometimes charges fees that are too low. This can be corrected manually or made the appropriate settings in the wallet. If the commission is small, the operation can also go through, but it will take more time.
  2. Use a wallet with dynamic fees. These wallets are connected to the bitcoin blockchain, adapt to the requirements of the network, and are automatically changed in the wallet. The wallet, after a little adjustment, will indicate the commission with which the transaction will be built into the next block.
  3. Update your wallet. If the number of delayed transactions, especially during rush hour, increases, this is a signal that the wallet is out of date. To begin with, you can update it, but if this does not help, change it. Funds that are stored on one wallet can be transferred to another, just created, or simply export private keys. The latter option will allow you to avoid transactions through the blockchain and not wait for the coins to come to a new wallet.

This is usually enough to get rid of the problem.

If the transaction has already been sent

If a transaction is made, but it is stuck, there are several ways to move it forward:


What should the recipient do

Since most blockchain transactions are conducted by strangers, the sender may not be interested in receiving funds from the other party. In this case, the recipient will have to look for a way out of the problem:

  1. If the wallet allows you to use unconfirmed transactions, you can repeat the above scheme through CPFP. It provides for the transfer of unconfirmed incoming bitcoins to the original wallet, including a high commission.
  2. Apply the ViaBTC transaction accelerator, which helps not only senders, but also recipients.

If you couldn't handle it yourself, you can ask the sender to resend using Opt-In RBF.

How to cancel a transaction

If there is an inscription “transaction not confirmed” next to the operation in blockchain.info, it can be canceled in a few steps:

  1. Login to your personal account and debug console (help - debug window - console). If the account is encrypted, you need access to it.
  2. Choosing an address and creating an informal key - in the dumpprivkey line, replace the word with the address chosen for the transfer of the crypt. The result is an informal key that you want to copy. Keys are needed for all wallets to which coins were transferred.
  3. Wallet cancellation. It is enough to move to another device or change the name.
  4. Reloading the client. After that, it is important to go to the console and import the keys through the importprivkey command. This may take time.

The updated wallet does not contain a stuck transaction, all missing funds are in the account. The scheme is suitable for all crypto wallets, with the exception of cloud ones. According to bitcoin.info, there are thousands of unconfirmed transactions constantly on the network. This is a common occurrence in the cryptocurrency industry. Developers are trying to solve this problem, and users want to avoid the hassle associated with it.

In younger crypto-currency systems, due to their low popularity, clients rarely encounter this.

If transactions are not added to the block, the first thing to do is to increase the fee. So far, this is the only publicly available method of dealing with stuck trades. And if the operation is already suspended, you can resort to the services of special accelerators - the ViaBTC mining pool or its lesser-known competitor AntPool.

Data stored using blockchain technology is a continuous chain of blocks, each of which contains information. This chain is updated and supplemented over time. To confirm the truth of the recorded blocks, the hashing function is used in the blockchain.

Blockchain is a revolutionary technology for storing and processing data, which has several properties at the same time:

  • distribution, i.e. information is stored on all computers working with the blockchain;
  • unnecessary double entries: the accounting system operates in such a way that when a transaction is created to transfer a certain number of coins, another transaction is automatically formed with the number of coins that the sender formally sends to himself, and the sum of these transactional operations is equal to the initial number of coins;
  • resistance to substitution, blocks are simultaneously copied as many times as there are users participating in the blockchain, so an attacker's attempt to replace one block is doomed to failure.

To hash the data obtained in the process of generating bitcoins (bitcoin), they use the SHA-256 encryption algorithm, which is also used in cryptography. It consists in the fact that information of any size and type is encoded in a 256-bit key, consisting of numbers and letters of the Latin alphabet.

The hash function is unique in that it encodes both a multi-volume book and a single word, and the size of the resulting key will be the same. If you try to make changes to at least 1 character of the source block, the resulting hash key will be radically different. This situation is called the "avalanche effect" and serves to protect against change. Also, the SHA-256 algorithm guarantees protection against collisions, i.e., the probability of generating matching hashes with unequal initial data tends to zero.

Hashing in mining


The computational process of generating data in the blockchain is called mining. Hashing is an integral part of it. Each new block carries the following information: the hash of the previous and the hash of the current blocks, the list of transactions and other system values. The technology understands, based on the decryption of the hash, which block is old and which is new, and accordingly writes them to the list of transactions.

During mining, users create new containers with information, but only those that meet the specified blockchain conditions receive confirmation. The hash of a user-generated block must be less than the maximum possible minus a variable referred to as "complexity". Depending on the speed of the previous blocks, the difficulty of the task increases or decreases so that the speed of mining in the future remains at a relatively constant level. If more than one block that satisfies the specified condition is tracked at the same time, then it will be checked and only the one whose chain is longer will be added to the list of transactions.


IMPORTANT! To find out the hash of a particular transaction, you need to use special software tools or websites. For example, if you enter information about a bitcoin transaction on the website www.blockchain.info, then the screen will display all the information about it, including the desired hash. Transactions are managed in a personal account, where senders and recipients of bitcoins are tracked, a bitcoin wallet is opened, and cryptocurrency is exchanged.

The use of hashing in the field of blockchain and when creating bitcoins helps to verify the truth and immutability of the received blocks, protects them from outside interference. In addition to SHA-256 encryption, other good cryptographic methods are used in the blockchain: X11, DaggerHashimoto, Scrypt.

Video: Cryptographic Hash Functions

Video: what is called hashing?


2022
polyester.ru - Magazine for girls and women