- Bitcoin transaction
- Contents
- The general format of all Bitcoin transactions [ edit ]
- View bitcoin transactions with input and output [ edit ]
- Data [ edit ]
- Interpretation [ edit ]
- Input [ edit ]
- Output [ edit ]
- Transaction verification [ edit ]
- General format of each transaction input – Txin [ edit ]
- General format of each transaction output – Txout [ edit ]
- Transaction confirmation [ edit ]
- Current bitcoin transaction fee [ edit ]
- Where do bitcoin transaction fees go? [ edit ]
- Cost of Bitcoin transaction [ edit ]
- Bitcoin address
- Contents
- What’s in a Bitcoin address [ edit ]
- Purpose and opportunities [ edit ]
- Input conditions [ edit ]
- How to create Bitcoin address? [ edit ]
- Transactions [ edit ]
- Bitcoin Address Validation [ edit ]
- Loss of Bitcoins [ edit ]
- Multi-signature Bitcoin address [ edit ]
- Address balances [ edit ]
- «From» addresses [ edit ]
Bitcoin transaction
Enjoyed the article? Share:
Bitcoin transaction is a section of data confirmed by a signature of Bitcoin. It is sent to the Bitcoin network and forms blocks. It typically contains references to preceding transactions and associates a certain number of bitcoins with one or several public keys (Bitcoin addresses). It is not encrypted because there is nothing to encrypt in the Bitcoin system. A Blockchain browser is where all transactions are combined in the form of a blockchain. They can be found and verified. This is necessary to determine technical transaction parameters as well as verify the details of payments.
Contents
The general format of all Bitcoin transactions [ edit ]
Field | Description | Size |
---|---|---|
Version number | Currently 1 | 4 bytes |
In-Counter | Positive integer VI = Varlnt | 1-9 bytes |
List of inputs | The first input of the first transaction is also called a coinbase | many inputs |
Out-counter | Positive integer VI = Varlnt | 1-9 bytes |
List of outputs | The first output of the first transaction use Bitcoins found for the block | many outputs |
Lock time | If not equal to 0 and sequence numbers are inferior to OxFFFFFFFF: block height or timestamp (for final transactions) | 4 bytes |
View bitcoin transactions with input and output [ edit ]
Data [ edit ]
Interpretation [ edit ]
Input in this transaction imports 50BTC from output # 0 in transactions f5d8…, then the output sends 50 BTC to a Bitcoin address (expressed here in the form of a hexadecimal system – 4043…). When the recipient wants to spend their money, he will reference this transaction’s output # 0 for his own transaction’s input.
Input [ edit ]

Input is a reference to the output of another transaction. A transaction often possesses several inputs. The values of these references are resumed and the total value of bitcoins can be used for the current transaction output. Previous tx is the hash of a preceding transaction. Index is a certain output from this transaction. ScriptSig is the first half of the script (see below for more details about this).
The script is composed of two elements: the signature and the public key. The public key belongs to the user who applies the transaction outputs and confirms that the creator of the transaction has the right to have at his disposal the sum of money obtained from the outputs. Another element is EDCSA (hash signature of a simplified version of the transaction). In combination with the public key, this signature confirms that the transaction has been created by the real owner of this Bitcoin address.
Output [ edit ]
The output contains instructions about sending the bitcoins. The value is an amount in satoshi (1 BTC = 100000000 satoshi), which can be used by the transaction for which the current transaction is the input. ScriptPubKey is the second half of the script (this will be elaborated upon afterwards). There can be more than one output and these will share the amount sent from the inputs. Each transaction output may only be used as the input for the subsequent transaction once, with the effect that the sum of all current transaction inputs must be used in the output. Otherwise the remaining sum from the transaction inputs will be lost. For example, if the input is equal to 50BTC and the user must only send 25BTC, Bitcoin creates two outputs of 25BTC each: one will go to the destination, the other will go to the owner of the funds again (the so-called ‘change’ – a transaction in which the user in fact sends money to himself). Any amount remaining from the input of bitcoins not used in the transaction will become the fee for the transaction. The person generating the block will receive this fee.
Transaction verification [ edit ]
In order to verify if the inputs are permitted to collect the requisite sums from the outputs of the preceding transactions, Bitcoin uses the standard system of the script (see below) of scriptSig input and scriptPubKey output which this transaction references. They are evaluated with the help of scriptPubKey using the remaining values in the scriptSig stack.
The input is confirmed if the scriptPubKey script returns a “true” value. Using the script system, the sender can create very complex conditions to fulfill by those who wish to obtain the output value. For example, it is possible to create an input which any user will obtain without authorization. It is equally possible to request that the input be signed by 10 different keys or verified by password.
General format of each transaction input – Txin [ edit ]
Field | Description | Size |
---|---|---|
Hash of preceding transaction | Hashed double SHA256 of preceding transaction | 32 bytes |
Previous Txout-index | Arithmetical integer. It indexes outputs of the preceding transaction | 4 bytes |
List of inputs | The first input of the first transaction is also called a coinbase | many inputs |
Length of Txin script | Arithmetical integer VI = Varlnt | 1-9 bytes |
Txin-script / scriptSig | Script | many bytes |
Sequence number | Normally 0[FFFFFFFF; functions in the case that the lock time of the transaction > 0 | 4 bytes |
The input adequately describes where and how the number of bitcoins can be obtained which can be redeemed by their new owner. If it is the only input of the first transaction in the block, it is called the generated transaction input. Its contents are completely ignored.
General format of each transaction output – Txout [ edit ]
Field | Description | Size |
---|---|---|
Value | Arithmetical integer giving a satoshi amount (BTE/10^8) necessary for transactions | 8 bytes |
Length of Txout-script | Arithmetical stack | 1-9 bytes |
Txout-script / scriptPubKey | Script | many bytes |
The output determines the conditions of use of the Bitcoin data in the following transactions, the sum of the output values of the first transaction in the block is a value of bitcoins taken for the block. Here a fee amount is added from the other transactions added to this block.
Transaction confirmation [ edit ]
A transaction is a transfer of value between Bitcoin wallets that gets included in the block chain. How does Bitcoin work? 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 «0/unconfirmed»
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.
Current bitcoin transaction fee [ edit ]
Currently a large amount of transactions is processed in a way that commission isn’t necessary. At the same time in case if transaction has a lot of entry points (e.g. it carries large amounts of data) a small commission is not uncommon.
Any miner can be the one who processes the transaction and earns the commission fee. When the network finds a new block it includes all information about transactions including their commission. Thus any user of group of users who find that block will gain both the reward for the block and the commission fees for every transaction included in it.
Including commission in a transaction is a voluntary decision but a user who finds a block can attach any transactions he wants to the said block. That way transactions with 0 commission have the lowest priority when transactions with even the minimal possible commission (
0.0001 BTC at the current moment) have standard priority and will more probably be included in the block.
Where do bitcoin transaction fees go? [ edit ]

Cost of Bitcoin transaction [ edit ]
Transaction fees (cost of Bitcoin transaction) are included with your bitcoin transaction in order to have your transaction processed by a miner and confirmed by the Bitcoin network. The space available for transactions in a block is currently artificially limited to 1 MB in the Bitcoin network. This means that to get your transaction processed quickly you will have to outbid other users.
Bitcoin transaction price shown at the historic charts and tables are in US dollars per transaction and in satoshis per byte [here].
Источник
Bitcoin address
Enjoyed the article? Share:
Bitcoin address is an identifier (account number), starting with 1 or 3 and containing 27-34 alphanumeric Latin characters (except 0, O, I). Bitcoin addresses can be also represented as a QR-code. The addresses are anonymous and do not contain information about the owner. A bitcoin address can be obtained for free, using, for example, Bitcoin software. Bitcoin address example:
Addresses can be generated at no cost by any user of Bitcoin. For example, using Bitcoin Core, one can click «New Address» and be assigned an address. It is also possible to get a Bitcoin address using an account at an exchange or online wallet service.
There are currently two bitcoin address format in common use:
Common Pay-to-Pubkey Hash (P2PKH) which begin with the number 1. Newer Pay-to-Script Hash (P2SH) type starting with the number 3, eg: 35bSzXvRKLpHsHMrzb82f617cV4Srnt7hS .
Contents
What’s in a Bitcoin address [ edit ]
Most Bitcoin addresses are 34 characters. They consist of random digits and uppercase and lowercase letters, with the exception that the uppercase letter «O», uppercase letter «I», lowercase letter «l», and the number «0» are never used to prevent visual ambiguity.
Some Bitcoin addresses can be shorter than 34 characters (as few as 26) and still be valid. A significant percentage of Bitcoin addresses are only 33 characters, and some bitcoin address length may be even shorter.
Every Bitcoin address stands for a number. These shorter addresses are valid simply because they stand for numbers that happen to start with zeroes, and when the zeroes are omitted, the encoded address gets shorter.
Several of the characters inside a Bitcoin address are used as a checksum so that typographical errors can be automatically found and rejected. The checksum also allows Bitcoin software to confirm that a 33-character (or shorter) address is in fact valid and isn’t simply an address with a missing character.
Purpose and opportunities [ edit ]
Transfer/receive transactions of Bitcoins (Cryptocurrency, BTC) can be performed via address like the work with e-mail messages. One person can create an unlimited number of addresses, increasing the anonymity level of the payments. When performing the next transaction with BTC a new address is often created (the funds are credited/debited within 1-2 hours). At the same time the private key pair is generated, providing access to the identifier and the ability to perform transactions with currency. They are stored in the wallet.dat file on the user’s computer.
Input conditions [ edit ]
In order to avoid errors when manually inputting the address, it is recommended to use the clipboard. Symbols register is considered when you manually input the address. In case of incorrect input Bitcoins are sent to the wrong address or the transaction is rejected. Last one is done automatically if the identifier contains symbols that are used as a checksum (for verification).
The probability that a mistyped address is accepted as being valid is, approximately 1 in 4.29 billion.
How to create Bitcoin address? [ edit ]
The address is created by generating of random numbers and performing specific mathematical operations. It does not require Internet connection and registration at Bitcoin, where it begins to be monitored. Thousands of addresses (including personalized) and keys thereto can be generated within 1 minute, for example, when using Vanitygen utility.
Creating bitcoin address can be done without an Internet connection and does not require any contact or registration with the Bitcoin network. It is possible to create large batches of addresses offline using freely available software tools. Generating batches of addresses is useful in several scenarios, such as e-commerce websites where a unique pre-generated address is dispensed to each customer who chooses a «pay with Bitcoin» option. Newer «HD wallets» can generate a «seed» token which can be used to allow untrusted systems (such as webservers) to generate an unlimited number of addresses without the ability to spend the bitcoins received.
Transactions [ edit ]
Record of the BTC transfer from one address to another generates a transaction. It contains the hash of the previous transaction signed by the sender and Bitcoins recipients address. All information is sent to the Bitcoin network and after signatures verification transaction is accepted for processing.
Most Bitcoin wallets have a function to «sign» a message, proving the entity receiving funds with an address has agreed to the message. This can be used to, for example, finalise a contract in a cryptographically provable way prior to making payment for it.
Some services will also piggy-back on this capability by dedicating a specific address for authentication only, in which case the address should never be used for actual Bitcoin transactions. When you login to or use their service, you will provide a signature proving you are the same person with the pre-negotiated address.
It is important to note that these signatures only prove one receives with an address. Since Bitcoin transactions do not have a «from» address, you cannot prove you are the sender of funds.
Current standards for message signatures are only compatible with «version zero» bitcoin addresses (that begin with the number 1).
Bitcoin Address Validation [ edit ]
If you would like to validate a Bitcoin address in an application, it is advisable to use a method rather than to just check for string length, allowed characters, or that the address starts with a 1 or 3. Validation may also be done using open source code available in various languages or with an online validating tool.
Loss of Bitcoins [ edit ]
Loss of Bitcoins is possible in the following situations:
- if the wallet is lost because of the hard drive failure,
- when generating a new address, getting BTC on it and restoring the wallet from an earlier backup, where address is not yet created,
- when sending Bitcoins to address that doesn’t have owner.
Multi-signature Bitcoin address [ edit ]

Addresses can be created that require a combination of multiple private keys. Since these take advantage of newer features, they begin with the newer prefix of 3 instead of the older 1. These can be thought of as the equivalent of writing a check to two parties — «pay to the order of somebody AND somebody else» — where both parties must endorse the check in order to receive the funds.
The actual requirement (number of private keys needed, their corresponding public keys, etc.) that must be satisfied to spend the funds is decided in advance by the person generating this type of address, and once an address is created, the requirement cannot be changed without generating a new address.
Address balances [ edit ]
Addresses are not wallets nor accounts, and do not carry balances. They only receive funds, and you do not send «from» an address at any time. Various confusing services and software display bitcoins received with an address, minus bitcoins sent in random unrelated transactions as an «address balance», but this number is not meaningful: it does not imply the recipient of the bitcoins sent to the address has spent them, nor that they still have the bitcoins received.
An example of bitcoin loss resulting from this misunderstanding is when people believed their address contained 3 BTC. They spent 0.5 Bitcoins and believed the address now contained 2.5 BTC when actually it contained zero. The remaining 2.5 Bitcoins was transferred to a change address which was not backed up and therefore lost. This has happened on a few occasions to users of Paper wallets.
«From» addresses [ edit ]
Bitcoin transactions do not have any kind of origin-, source- or «from» address.
Источник