- Transaction confirmation
- Contents
- How to confirm bitcoin transaction? [ edit ]
- Bitcoin Confirmation Time [ edit ]
- How many confirmations in bitcoin needed? [ edit ]
- Number of Bitcoin Confirmations [ edit ]
- Bitcoin transaction accelerator [ edit ]
- General format of a Bitcoin transaction (inside a block) [ edit ]
- Data [ edit ]
- Explanation [ edit ]
- Input [ edit ]
- Output [ edit ]
- Verification [ edit ]
- Types of Transaction [ edit ]
- Pay-to-PubkeyHash [ edit ]
- Unconfirmed Transactions, Support & Open Dialogue
- Unconfirmed Transactions are Starting to Worry People
- So What Solutions Are Being Developed to Help Scale Bitcoin?
- On Chain
- Off the Chain
- What To Do Next
Transaction confirmation
Enjoyed the article? Share:
Bitcoin transaction confirmation is needed to prevent double-spending of the same money. One of the main advantages of bitcoin is that it avoids the problem of double-spending, i.e. the risk that a digital currency token may be copied and spent more than once. In spite of having no central authority to verify that its tokens are not being duplicated, bitcoin successfully avoids double-spending through a system of decentralized transaction confirmation, based on the consensus of its users. Bitcoin transaction time is always changing and it depends on the miner’s fee.
Contents
How to confirm bitcoin transaction? [ edit ]
A transaction is a transfer of value between Bitcoin wallets that gets included in the block chain [1] . Bitcoin transactions are not immediate. When a user wishes to send bitcoins, information is broadcast from her wallet to the (users in the) network, who verify that she has enough coins, and that they have never been spent before. Once validated, miners will include this transaction – along with others – in a new block in the blockchain. This is called a transaction confirmation. The transaction is now said to be «unconfirmed bitcoin transaction».
Each time a new block is added to the chain (every ten minutes), the transaction is said to be confirmed again. As a consensus, many users wait for a transaction to be confirmed six times (after roughly sixty minutes) before accepting it as payment, to avoid double-spending. Users will usually show a transaction as «n/unconfirmed» until it is six blocks deep.
Bitcoin Confirmation Time [ edit ]
To answer the question «How Long Does It Take To Transfer Bitcoin» it needs to understand that bitcoin transaction confirmation time depends on many factors. The deeper a transaction is buried, the harder it will be to manipulate. Although 0/unconfirmed transactions could be reversed via Finney attack, race attack, or 51% attack, small amounts of money will not be worth the trouble. Larger sums are worth protecting under more bitcoin confirmations. The number six is just an arbitrary limit, beyond which the feasibility of an attacker being able to amass more than 10% of the network’s hashrate for purposes of a transaction falsification becomes negligible (a risk lower than 0.1%).
Having understood how transactions occur, you should find out what affects the speed of processing and verification of information. To speed up the process, you need to know that it can slow down. Usually at the final time is affected by:
- network utilization;
- sharp jumps in the course;
- low commission.
The influence of the first factor is especially noticeable. When the system needs to process many requests, users have to wait. Especially long we have to wait in the days of peak activity, which is not often, but sometimes. Of great importance is the Commission paid to miners. The bigger it is, the higher the priority will be.
How long does bitcoin take to send? The size of the transaction has an influence on bitcoin confirmation time. It also has an additional impact: sending large amounts is much faster.
How many confirmations in bitcoin needed? [ edit ]
Although six confirmations is the consensus, merchants and exchanges that accept bitcoin as payment for their products and services should set their own standard of confirmations they require before accepting payment.
Freshly-minted bitcoins can only be used after 100 confirmations, to prevent coins from orphan blocks being spent. Older bitcoin client will not use newly-earned coins until they have 120 confirmations.
Number of Bitcoin Confirmations [ edit ]
A regular bitcoin client will show the transaction as “n / unconfirmed” until its size in the chain becomes 6 blocks. Users and cryptocurrency exchanges that accept bitcoins as payment set their threshold in the number of required blocks until the payment is confirmed.
To find out how many checks are required to process the transaction and how long to wait for the receipt of funds, it is necessary to understand the features of cryptocurrency transfers. This process consists of several stages:
- addressee sends money;
- information about transactions is made in special blocks, each of which has a room and a hash (special data);
- the blocks are sent for scanning to different computers;
- if everything is done correctly, the received information replenishes various databases;
- checked blocks complete the chain;
- the money goes to the recipient.
To make a transfer, the transaction must be verified in 6 blocks. If this does not happen, cryptogenic reach the final destination. Accordingly, the speed of bitcoin confirmations depends on the time of sending Finance.
Bitcoin transaction accelerator [ edit ]
Theoretically, it is impossible to speed up the confirmation of bitcoin transactions. Because it is impossible to increase the speed of data processing on another computer. But the reality is somewhat different. Cryptocurrency holders can take advantage of several options:
- the increase in the size of the commission;
- using proven reliable wallets;
- the opening of the transaction;
- using multifunction purses that support the creation of multipurpose.
Additionally, visitors can use the alternative, involving the procurement transaction as a reserve. This option requires the creation of a private, independent from the wallet address bitcoins.
Depending on conditions the time of making the bitcoin payment can be both immediate and delayed for a few days. Therefore, in order not to be in a difficult situation, you should think in advance about all the details and decide how to speed up the process. And the most important is the size of the Commission and the reliability of the selected wallet. If miners get a good reward, the priority of data processing will increase dramatically. A high-quality payment resource is able to make a financial transaction instant.
General format of a Bitcoin transaction (inside a block) [ edit ]
Field | Description | Size |
---|---|---|
Version no | currently 1 | 4 bytes |
Flag | If present, always 0001, and indicates the presence of witness data | optional 2 byte array |
In-counter | positive integer VI = VarInt | 1 — 9 bytes |
list of inputs | the first input of the first transaction is also called «coinbase» (its content was ignored in earlier versions) | -many inputs |
Out-counter | positive integer VI = VarInt | 1 — 9 bytes |
list of outputs | the outputs of the first transaction spend the mined bitcoins for the block | -many outputs |
Witnesses | A list of witnesses, 1 for each input, omitted if flag above is missing | variable, see Segregated_Witness |
lock_time | if non-zero and sequence numbers are Principle example of a Bitcoin transaction with 1 input and 1 output only [ edit ] |
Data [ edit ]
Explanation [ edit ]
The input in this transaction imports 50 BTC from output #0 in transaction f5d8. Then the output sends 50 BTC to a Bitcoin address (expressed here in hexadecimal 4043. instead of the normal base58). When the recipient wants to spend this money, he will reference output #0 of this transaction in an input of his own transaction.
Input [ edit ]
An input is a reference to an output from a previous transaction. Multiple inputs are often listed in a transaction. All of the new transaction’s input values (that is, the total coin value of the previous outputs referenced by the new transaction’s inputs) are added up, and the total (less any transaction fee) is completely used by the outputs of the new transaction. Previous tx is a hash of a previous transaction. Index is the specific output in the referenced transaction. ScriptSig is the first half of a script (discussed in more detail later).
The script contains two components, a signature and a public key. The public key must match the hash given in the script of the redeemed output. The public key is used to verify the redeemers signature, which is the second component. More precisely, the second component is an ECDSA signature over a hash of a simplified version of the transaction. It, combined with the public key, proves the transaction was created by the real owner of the address in question. Various flags define how the transaction is simplified and can be used to create different types of payment.
Output [ edit ]
An output contains instructions for sending bitcoins. Value is the number of Satoshi (1 BTC = 100,000,000 Satoshi) that this output will be worth when claimed. ScriptPubKey is the second half of a script (discussed later). There can be more than one output, and they share the combined value of the inputs. Because each output from one transaction can only ever be referenced once by an input of a subsequent transaction, the entire combined input value needs to be sent in an output if you don’t want to lose it. If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as «change», though you send it to yourself). Any input bitcoins not redeemed in an output is considered a transaction fee; whoever generates the block can claim it by inserting it into the coinbase transaction of that block.
Verification [ edit ]
To verify that inputs are authorized to collect the values of referenced outputs, Bitcoin uses a custom Forth-like scripting system. The input’s scriptSig and the referenced output’s scriptPubKey are evaluated (in that order), with scriptPubKey using the values left on the stack by scriptSig. The input is authorized if scriptPubKey returns true. Through the scripting system, the sender can create very complex conditions that people have to meet in order to claim the output’s value. For example, it’s possible to create an output that can be claimed by anyone without any authorization. It’s also possible to require that an input be signed by ten different keys, or be redeemable with a password instead of a key.
Types of Transaction [ edit ]
Bitcoin currently creates two different scriptSig/scriptPubKey pairs. These are described below.
It is possible to design more complex types of transactions, and link them together into cryptographically enforced agreements. These are known as Contracts.
Pay-to-PubkeyHash [ edit ]
A Bitcoin address is only a hash, so the sender can’t provide a full public key in scriptPubKey. When redeeming coins that have been sent to a Bitcoin address, the recipient provides both the signature and the public key. The script verifies that the provided public key does hash to the hash in scriptPubKey, and then it also checks the signature against the public key.
Источник
Unconfirmed Transactions, Support & Open Dialogue
Lately, there have been issues with unconfirmed transactions in the Bitcoin world. One experience I had dealing with this problem was on February 29th as I waited three days for a large sum transaction to confirm. This is the longest I’ve had to wait for confirmation. However, quite a bit of the time since then, most of my transactions have taken longer than ten minutes, sometimes hours, and have definitely caused some frustration. This article will explain to newcomers what it means when transactions take this long, and suggested solutions and contrasting opinions to this issue.
Unconfirmed Transactions are Starting to Worry People
There have been complaints lately in regards to unconfirmed transactions within the network. You can see this on the subreddit r/bitcoin, bitcointalk.org, bitcoin.com’s forum, and of course r/btc nearly every single day. Some have assumed that there are posts created deliberately by people in order to sway the block size debate. Despite this, the problem is considered legitimate to some as people are waiting longer for confirmation times and are paying larger fees to miners .
Quite a bit of Bitcoin wallet companies have recently added a replace-by-fee to their software’s interface for users to prioritize transactions with different fee tiers. However, not all wallets give this option, and some users suffer from whatever fee the platform decides to use as the fuel to prioritize transactions, which at times, can be too little. This makes users wait longer for transactions to confirm and can take hours or even days. If a transaction does not confirm within a three day period, the transaction will drop from the mempool.
Mempools often get filled up when volume is particularly high, and this typically happens when the price rises as transactions increase, people look to cash in gains or use their valuable bitcoins to purchase physical goods or services. Users waiting for a transaction to confirm have to use a blockchain explorer to figure out where their transaction is at the moment in time.
Usually, if it goes unconfirmed after three days, most block explorers will drop the transaction off their interface data. This means typically the mempool will drop the transaction and funds are sent back to the original wallet.
However, in my case after the three-day mark and blockchain.info’s explorer dropped my transaction, the exchange was eventually confirmed and I had received the funds into my Circle Financial account. The case in point for newbies is to reassure them that bitcoins are never lost in this limbo-state and eventually are returned to the original wallet, or they confirm. So stressing about fear of loss is unnecessary.
So What Solutions Are Being Developed to Help Scale Bitcoin?
So Bitcoin supporters who have just been introduced to the cryptocurrency might wonder what solutions are on the table to fix these issues of extended transaction times and higher fees. There are a bunch of fixes being discussed as we speak and all of them may or may not help the current situation. But all of them are being experimented with, researched and debated on whether or not they will help the transaction time and current fee market rise, otherwise known as scalability.
On Chain
The first solution on the table is a fork to raise the block size to either 2 megabytes (MB) or higher. Currently, the block size is capped at 1 MB and was put into place because people had concerns about tiny spam transactions clogging up the network. With the block size set at 1 MB, this is said to limit the amount of transactions per second, which is roughly around seven at the moment. There are those who believe increasing the block size or removing the cap would allow for more transactions and become competitively as fast as networks such as those of major credit cards.
Segregated Witness (segwit) is another on chain idea coming shortly to the Bitcoin blockchain. Segwit is a proposal that splits transactions up segregating transactions signatures (witnesses), after which the data gets handled separately. The protocol is said to make enhancements by modestly bumping up transaction time and eliminating malleability. By segregating the digital signatures into another merkle tree, segwit could possibly include a lot more transaction data and increase bandwidth. Talks of releasing this into the wild beyond the testnet seems to be imminent.
There are those who are against bigger blocks and complain there will be centralization in the realm of mining due to an increase. It has also been said that it will lower the fee market, and miners would be less incentivized to secure the network. Alongside this argument, bandwidth would require heavy downloading for full nodes and the change would add quite a bit of gigabytes to the already large 87.84 GB Bitcoin blockchain .
There are many other arguments concerning these particular proposals of raising the block size, and there are many proponents who believe this will solve the mempool issue, slow transactions, and a higher fee market. There are multiple BIP proposals on the table regarding a block size increase in this nature as well as attempts to advance the idea with clients such as Bitcoin XT, and Classic. Consensus is needed for these solutions to be adopted.
Off the Chain
Currently, there are three popular off chain solutions being discussed. The Lightning Network is one such concept that may address the transaction bloat as well proponents of this idea explain. According to the Lightning Network’s website , it says the system is “capable of millions to billions of transactions per second across the network.” The protocol depends on using Bitcoin’s smart contract scripting language and has been theorized by proponents to fix scalability issues and significantly lower fees allowing for better microtransactions.
Another off chain solution that is called Duplex Micropayment Channels (DMC) was introduced by Dr. Christian Decker of ETH Zurich and Professor Roger Wattenhofer. Decker doesn’t believe the network can scale at the moment and has proposed his DMC solution back in 2015. The off chain approach uses decreasing timelocks, which separates the idea from the Lightning Network that uses a private key method. Payments are said to be end-to-end secure using hashed timelock contracts that separate into channels by two users, which could enhance scalability and feature micropayment channels. Alongside the DMC proposal, a malleability BIP must also be applied to the network before implementation.
Just recently a new off chain payment solution has entered the realm of Bitcoin land. The Thunder Network has been unveiled by the Blockchain.info (BC.info) team the creators of the popular wallet service and explorer. The developers over at BC.info say the Thunder Network will scale faster than traditional credit card processors and could handle 100,000 transactions per second. The idea is somewhat similar to the Lightning Network and operates in a trustless manner. The project is currently in Alpha and was tested by BC.info’s CEO Peter Smith and developer Mats Jerratsch.
There are quite a few disagreements concerning these off chain solutions, and one of them is it will bring centralized entities into the mix of a decentralized atmosphere. Those against these solutions believe private companies who created these off chain ideas have a lot to gain such as firms like Blockstream. Concerns like these say centralization will exist with certain parties handling the paths such as Lightning Network channels.
In many ways, people against off chain ideas say that trust moves back to centralized facilitators. Some arguments also say if a solution uses two-way pegging mechanism a failure could happen where bitcoins get trapped. There are many disagreements against off chain concepts, and some of them are parallel with the fears of raising the block size.
What To Do Next
The best thing common users can do for now is to wait and review all the solutions on the table. Eventually, Bitcoin’s developers, investors, and the community will come to a consensus. A 10 billion dollar market isn’t something you can just modify on a whim it needs heavy research and testing needs to happen well before supporters and miners adopt these features.
The longer waits are cumbersome, and many are against significantly larger fees, but it is being worked on by developers representing the code, and there are many things one can do to show support or even contribute to these solutions. That’s the beauty of an open source project such as Bitcoin. Fighting and censorship over these solutions in an unkind manner will not progress the situation any faster and most likely will deter most solutions. Helping people would be the most productive method in these times, such as recommending a better wallet that uses replace-by-fee features. Calming someone down could help if they have a stuck transaction. Having robust, healthy debates regarding the best way to enhance the Bitcoin Blockchain and doing so with tact, reason, and logic, as opposed to emotion, could go a long way.
The fact of the matter is no matter what side of this debate you are on, we can scale and optimize Bitcoin in the long run. Working together like open source code, peer-to-peer networks and decentralized individuals with recognized differences is the only way we get there.
What is your do you think about scaling Bitcoin, transaction times and fee markets currently? Let us know in the comments below.
Источник