Questions tagged [utxo]

Unspent Transaction Outputs (UTXOs) are created by transactions and allow the owner of an associated address to spend a specific amount.

Filter by
Sorted by
Tagged with
3
votes
1answer
116 views

Do transactions with old UTXOs take longer to confirm?

Suppose I do a transaction with an UXTO created years ago. Would that take longer to confirm because miners would have to look further back in the transaction chain to verify it?
11
votes
1answer
3k views

Where is the UTXO data stored?

When a new transaction is received it is added to the memory pool (after checking for conflicts). While mining, only the transactions which are in the pool are considered. What happens to the ...
0
votes
1answer
291 views

UTXO all sent to change address?

I have read this question that asks if all UTXOs in an address are sent to a change address or only the UTXO involved in the transaction. As part of a spending transaction, the public address is ...
5
votes
2answers
451 views

Is the UTXO set computed from scratch by new full nodes?

When a new full node joins the network, does he, by default, compute the UTXO set from scratch from the blockchain so far; or does he simply trust the UTXO set he received is valid?
8
votes
1answer
3k views

Why is Bitcoin Core using LevelDB instead of Redis or SQLite?

Why did Core move from BDB to LevelDB? Why don't they use SQLite or move to Redis now? Is there a technical reason for this choice?
2
votes
0answers
94 views

Bug with bitcoinchain.com? [closed]

The bug is with https://bitcoinchain.com Before I report it I would like to see if I can gain any additional clues as to what might be going on in order to assist their developers to get to the root ...
1
vote
1answer
62 views

Do all outputs have an address associated with them?

I guess more specifically, a decodable address? I have seen transactions on blockchain.info where the address was "unable to decode" Is there a way to count these? Also do they stay in the UTXO set ...
2
votes
2answers
620 views

fetching unconfirmed utxos from blockchain.info

A few weeks ago, I would retrieve unconfirmed utxos from Blockchain.info doing API call https://blockchain.info/unspent?active=$address. That enabled me to successfully make a micropayment channel (...
2
votes
1answer
824 views

How do you create a transaction from a UTXO in BitcoinJ?

Is there a way to construct and send a transaction in BitcoinJ without a wallet? I just want to build my transaction from a utxo and broadcast it.
3
votes
1answer
259 views

Why is it not possible to replay transactions?

What if a miner takes a transaction which is already on the chain and adds it to a new block to earn the fee once more? Which mechanism prohibits replay attacks of this type?
1
vote
1answer
345 views

How can I extract the values of all UTXO for a specific section of the blockchain?

I'm working on some statistics concerning the distribution of the UTXO set. I'm especially interested in the values of the UTXO, and would perhaps like to limit extraction to certain sections of the ...
2
votes
1answer
136 views

Is reliance on a UTXO Set provided by other users dangerous?

One of the largest hurdles in my mind to increasing the number of full nodes operating is the startup cost related to downloading the blockchain. A similar but less important (in my mind) issue is ...
7
votes
3answers
2k views

Transaction with Multiple Inputs having Same Address

Why do transactions have multiple inputs with the same address? Is it because the amounts were obtained in the address through multiple separate transactions. Shouldn't the amounts be clubbed to a ...
1
vote
1answer
460 views

Specification of Transaction Inputs - Bitcoin vs Ripple

In Bitcoin, the transaction inputs (UTXOs) are specified as a tuple (transaction index, vout) since there is no notion of an account in the bitcoin system and the address (pointed to by vout) alone ...
2
votes
3answers
506 views

How long is a Bitcoin?

I searched already but I couldn't find anything about the structure of a bitcoin. My understanding is that a bitcoin, which is different AFAIK from a bitcoin address, can be interpreted as a string ...
1
vote
4answers
257 views

How can a lightweight client make sure output has not been spent yet?

It's simple to prove the creation of a UTXO: You just need to provide the transaction data, the Merkle branch, and block of the creating transaction. Then, as a full-node, it is simple to check ...
0
votes
1answer
507 views

What is the memory usage for checking transaction inputs?

Whenever a transaction is received by a node, the node verifies its validity. To that end, it checks for each transaction input whether that input is part of the UTXO set. It is my understanding that ...
6
votes
1answer
1k views

How to index the UTXO set efficiently?

I haven't been able to find information on how to efficiently index UTXOs. Can you explain or point me to some resources? Update: Btw, I understand completely that the notion of address balance is ...
3
votes
1answer
800 views

What are the trade-offs between the different algorithms for deciding which UTXOs to spend?

When someone would like to make a transaction, their software has to choose which of their UTXOs to spend. Here are a few different ways that one might prioritize which UTXOs get spent. Oldest UTXOs ...
1
vote
1answer
672 views

How do miners/clients prove a transaction is valid? [duplicate]

To prove a transaction is valid, you must prove that the source address has a balance at least as much as the transaction. How does one prove this in a performant manner? The block chain of bitcoin ...
5
votes
3answers
1k views

Do miners have to hold all the blocks in memory?

Running a miner node, one would have to verify transactions. This includes checking all the inputs of all the transactions. Does this mean that a miner must hold all the block-chain in memory (...
7
votes
2answers
932 views

How do I uniquely identify a transaction (to protect against malleability)?

Transactions I broadcast can be malleated by anyone watching the mempool (more info here). This rules out using txid for transaction identification. How can I identify my transactions to make sure ...
5
votes
1answer
522 views

Why does bitcoind use a fork of LevelDB for key-value storage?

Since 0.8 bitcoind uses LevelDB for the storage of the UTXO set in chainstate/ and the block index in blocks/index/. On github special branch of LevelDB can be found: https://github.com/bitcoin/...
3
votes
1answer
57 views

Why do we need CCoins in addition to CTransactions?

As per my understanding CTransactions represents the atomic unit in Bitcoin. It has the inputs CTxIn and outputs CTxOut. Can any expert give the intuition of why we need CCoins in source code ? Why ...
8
votes
1answer
805 views

What are the main technical hurdles to implementing UTXO commitments?

Commits of the UTXO set in the block header would enable more secure lightweight clients and caps on the number of blocks that need to be downloaded and validated in the Initial Blockchain Download, ...
2
votes
1answer
262 views

Where can I see the code of how the UTXO set is updated in case of a fork in Bitcoin Core?

I am looking for a filename and a line, or multiple ones if necessary. My goal is to maintain an index of addresses to UTXOs.
2
votes
1answer
181 views

What are spent transactions?

Satoshi's paper says: Once the latest transaction in a coin is buried under enough blocks, the spent transactions before it can be discarded to save disk space. What are spent transactions?
5
votes
4answers
250 views

What technical properties does a confirmed Tx have that an unconfirmed Tx does not?

From a user perspective, each block confirmation reduces the probability that a transaction payment will be reversed. However from the perspective of the software, what happens when a transaction is ...
3
votes
1answer
242 views

What's the maximum possible utxo growth rate now? Can that be turned into an attack?

Now bitcoin unspent transaction output growth rate (not total size) can be, 260k utxo/day (3×60×60×24). With 8MB blocks, that's 2.8 million. Single 1 bitcoin output can be split into 1000 x 1 mBTC ...
1
vote
1answer
425 views

Do we need to maintain the ability to do a reorg over 100 blocks?

The protocol requires that freshly generated coins wait 100 blocks before they can be spent in order to avoid polluting bitcoin addresses with bitcoins that are "uncreated" by a reorg that invalidates ...
4
votes
1answer
286 views

Why does Bitcoin use the input/output system?

Why don't we just use balances? The nodes would verify that balance > 0 before validating the transaction.
1
vote
1answer
248 views

How fast is BitcoinJ for getting UTXOs(/UnspentTXOuts)?

I'm making an app where I need to be able to get unspent TX outs very quickly for addresses I do not know beforehand. Now this is supported by Bitcoins architecture in that you can have a pruned ...
-1
votes
1answer
347 views

Can bloom filter be used to filter UTXO?

I am thinking about building an spv-like wallet using trusted nodes. It does not download blockchain. Instead, the wallet gets its utxo, transactions,balance data from abe. My question is, can the ...
1
vote
1answer
719 views

How to return change (utxo - inputs) to output address?

I've been learning to create bitcoin transactions for 3 weeks now, but keep paying the entire unspent_outputs - inputs as fees, even if the transacted amount was like 1/100 th of the outputs. How do I ...
7
votes
2answers
699 views

Why must UTXO be completely consumed? [duplicate]

Imagine Alice owns 10 BTC and wants to send 1 BTC to bob, with a 1 BTC miners fee. In the blockchain, the transaction is recorded as "Alice spent 10 bitcoins, 1 goes to Bob, 1 goes to the miner, and ...
1
vote
0answers
615 views

Mempool tracking

I'm trying to clear up some uncertainties around the mempool A tx comes in, its validated, and no other transactions have currently marked any of its inputs. Tx gets added to mempool. If a double ...
1
vote
1answer
504 views

OP_EQUALVERIFY: non-equal data

I'm trying to push the following transaction but keep getting OP_EQUALVERIFY: non-equal data Here's the transaction ...
1
vote
1answer
188 views

Unable To Find Transaction Outpoint

I'm working on a project that involves constructing raw transactions and signing them locally before pushing to the network. I keep getting Unable To Find Transaction Outpoint ...
5
votes
1answer
649 views

BIP32 wallet sync with Bloom filters

I'm working on my SPV library and I still have a hard time figuring how to approach the BIP32 + Bloom filters combination. Here's how I currently sync an existing HD wallet (after fast catch-up): ...
1
vote
2answers
315 views

Using Transaction with multiple outputs

Since the output can be spend only once, I am confused by transactions containing multiple recipients. For example, if Alice transfers 5 BTC to Bob and 5 BTC to David in the same transactions. In the ...
2
votes
1answer
377 views

How is UTXO tracked?

What is the best way to compute UTXO of any address? Do I have to traverse whole block chain each time? Is there a efficient way to compute it?
4
votes
1answer
307 views

How can one realistically model the distribution of the network's unspent transaction outputs?

I am working on a simulation to explore the usefulness of a patch for the CoinSelection behaviour of BitcoinCore. To that end, I am looking for statistics on the distribution of unspent outputs ...
0
votes
1answer
343 views

How can I find out if a transaction used a specific vout as its input?

I want to know if a certain output is spent. I am not using bitcoind, I do not have a gettxout RPC call available. How can I learn if a vout is referenced as an input somewhere in the blockchain or ...
2
votes
1answer
194 views

Can the coinbase transaction be used to spend an UTXO?

I know the coinbase transaction's input is usually just has a dummy scriptSig, but what if a miner used it to spend an UTXO? Would it be verified as an actual spend, or would the block be rejected?
1
vote
1answer
247 views

What is the easiest way to associate an utxo to a specific account?

I'm building a web application that uses bitcoind's accounts to track user balances. My dev env is currently in regtest mode. I am working on calculating the network transaction fee prior to creating ...
2
votes
1answer
178 views

How does serializing in coins.h work?

I'm talking specifically about this: /** pruned version of CTransaction: only retains metadata and unspent transaction outputs * * Serialized format: * - VARINT(nVersion) * - VARINT(nCode) * - ...
1
vote
1answer
184 views

Determine which transaction spent a Transaction Output

I will explain my question through an example on the bitcoin testnet network. I am looking at the output at index 0 of this transaction: ...
4
votes
1answer
2k views

How can I read chainstate database?

1) What is the format of the LevelDB databases stored in the database directory? I know there are some custom blockchain parsing libraries, such as this one, but I'm wondering if I can just do a read ...
6
votes
1answer
1k views

Can the outputs of transactions with duplicate hashes be spent?

I've noticed that there are two transaction hashes that appear more than once in the blockchain. The reason for this is understandable: they sent mining rewards to the same address. These transactions ...
2
votes
2answers
732 views

Multiple Addresses in one UTXO

The 'decoderawtransaction' RPC method of the Bitcoin-QT client gives a JSON object with an array of addresses in each UTXO. For example, when I run: decoderawtransaction "...