See all bitcoin transactions

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.

Читайте также:  Asus expedition radeon rx 570 майнинг

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].

Читайте также:  Смузи с чиа для похудения рецепты

Источник

Ethical hacking and penetration testing

InfoSec, IT, Kali Linux, BlackArch

How to trace a Bitcoin wallet transaction. Bitcoin transaction visualization

Bitcoin Wallets Information

All transactions on the blockchain network (Bitcoin network) are public. That is, for the wallet you are interested in, even if it is someone else’s wallet, you can find out at any time:

  • current balance
  • total number of transactions, including transactions of received and sent money
  • total income and expense for all time
  • addresses of wallets that sent money or to which money was sent from this wallet

All this information is available on the official blockchain.com website, which supports site searches. The address of the Bitcoin wallet is a long string, which consists of letters and numbers, for example: 1CeePVnmoGD3xpDtnFtshLHqA2jNrCNeEr

In addition to the search, you can refer to the site at direct addresses:

If you need raw information, for example, for processing in your program, then you can use an address of the form:

Scrolling a little lower you can see information about transactions, green indicates the receipt of funds, and red indicates the expenditure:

If you click on the address of any wallet, you can see the same information for it.

Each transaction has a unique identifier. If you click on it, you can see more detailed information:

There you will see additional information: time, cost of translation, etc.

When you click on the link ‘View the tree diagram’ you can traceroute money:

Information for the wallet 1CeePVnmoGD3xpDtnFtshLHqA2jNrCNeEr you can see in raw format at the corresponding link https://blockchain.info/rawaddr/1CeePVnmoGD3xpDtnFtshLHqA2jNrCNeEr

As you can see, the websites blockchain.com and blockchain.info provide us with enough information about the transactions made. But there are special programs for tracking the way of Bitcoins.

How to build a Bitcoin money flow chart

Since all data are open, it is enough to analyze them. That is, for the wallet of interest, see what other wallets it has transactions with, and then see the transactions for each of the found wallets and so on. Thus, a path of any length can be traced.

The problem is that there is a lot of data, and without any means of assistance it is easy to get confused. One option is to visualize Bitcoin transactions. For it, you can use, for example, the Orbit tool.

How to install orbit

The Orbit program installs the same way on any Linux. If you have not already installed the git package, then start by installing it, then simply run the commands:

If help appears, then everything is all right.

How to use Orbit

Orbit is designed to explore network of a blockchain wallet by recursively crawling through transaction history. The data is rendered as a graph to reveal major sources, sinks and suspicious connections.

The graphs used to visualize the data do not completely solve the problem of excess data. But with the help of them, you can sometimes reveal some extra information.

I will show an example of analyzing my wallet about which I know something. More precisely, I only know about outgoing transactions. Will I be able to say at least something additional in this situation, find at least some other information? Let’s check.

How to run Orbit to track bitcoins

My wallet address is 1CeePVnmoGD3xpDtnFtshLHqA2jNrCNeEr, it is used for donations to the sites Miloserdov.org, HackWare.ru, Kali.Tools, SuIP.biz. By the way, if you like any of these sites you can also support them.

The wallet for analysis must be specified after the -s option. All other options are not necessary. But we will do the first launch with the -d option, which adjusts the crawling depth. By default, the crawling depth is 3. Set the level to 1 to see only the wallets from which or to which transactions were made with respect to this wallet:

At the first start, the program will output:

These lines mean that the optional Quark program is installed right now, which is necessary for generating graphs.

When all requests are completed, the results will be saved to a file and this file will be opened in a web browser. When analyzing one level, we get such a sun, each ray of which shows the address of the wallet from/to which the transaction was sent.

We continue and now do the analysis at two levels:

At the very beginning we get the following scheme:

Читайте также:  Биткоин без ввода капчи

Let’s do a little analysis. Let’s start by searching for the wallet of interest, enter 1CeePVnmoGD3xpDtnFtshLHqA2jNrCNeEr and click the Find button. The desired element will be highlighted in yellow, I will pull it out of the general group so that I always know where it is:

Now click the Make Clusters button to form clusters based on the community detection algorithm. After that, use Color Clusters to assign different colors to the clusters. Finally, click Spacial to fix overlapping nodes & edges.

It has become noticeably better.

I will continue the analysis. To demonstrate interesting findings, I will remove some “bushes”. You can delete nodes one at a time. To do this, click the Delete button in the menu. You can also select several using the Lasso tool at once:

Look at the highlighted green triangle:

I cash out all received bitcoins in currency exchanger (I do not need bitcoins, I need to pay bills). That is, this ‘curly’ node, which I designated with the letter B, is a currency exchanger. I designated my wallet with the letter A. Therefore, we can conclude: the donor (by the way, thank him for his support, and in general, thanks to everyone who supports, especially financially!), And so, the donor bought bitcoins in this exchanger (they came to the site C), and then sent it to another wallet (D) and then sent part of the amount to me.

Based on the chart, you might think that we used one exchange at the same time — but this is not necessarily the case, since the chart shows all the transactions that have ever been made by my wallet. Another option – transaction AB is also a donation that was made by someone directly through the exchanger.

I redistributed the nodes a bit, look at point B – it is connected with the same nodes as my wallet (A), that is, with D, E, F, G. A donation came from user B, that is, he bought it somewhere on the exchanger Bitcoins, and sent part of the amount to me, and I returned these bitcoins back to exchangers.

The same can be said about point C, this user buys and sells on exchangers and once sent part of the amount to me. Alternatively, these wallets received funds from another source (not exchangers), but cashed them through them, and also sent me a few bucks.

By default, the search depth is three, that is, if you run without the -d option:

then you can get something like this:

By default, Orbit processes only the last 50 transactions from each wallet. You can change this value with the -l option. You can both reduce and increase the number of covered transactions.

Wallets that have made just a couple of interactions with our target may not be important, Orbit can be told to crawl top N wallets at each level by using the -t option.

If you want to view the data collected by the graph viewer of your choice, you can use the -o option. After it, you need to specify one of the supported formats:

  • graphml (supported by most graph viewers)
  • json (for raw processing)

Conclusion

The Orbit tool is not intended to deanonymize Bitcoin users, but it can help gather interesting information. For example, as it turned out, the world is rather cramped, and together with others I use approximately the same exchangers.

Under close scrutiny are bitcoins with an interesting “fate” or origin. For example, the public is watching the very first bitcoins that the author of Bitcoin mined. There are many of these bitcoins, and an attempt to cash out may well reveal the mystery of who invented Bitcoin. The public also watches the bitcoins that the FBI seized from Silk Road and various criminal bitcoins.

This is possible due to the fact that anonymity and decentralization are in conflict. As a countermeasure to this analysis, you can create unique wallet addresses for each transaction, for example, wikileaks generates a unique wallet address for each donor. But if then they merge (at any stage) into one wallet, then this measure loses its meaning.

We can assume other problems related to the transparency of the blockchain: if someone (for example, to me in a donation to the site) was transferred to criminal bitcoins. And without a second thought, I exchanged them for cash through the exchanger, where I specified my bank card number. It will turn out that law enforcement authorities may have questions for me…

Источник

Оцените статью