btcb3g1nn3r (OP)
Member
Offline
Activity: 178
Merit: 32
|
Hello,
I'm still learning but there are million+ of forum users and posts that would mean a very slow learning process for me.
I discovered that all transactions are listed on sites like blockchain.com.
I see very interesting sums so I clicked one to see its details: how come that from one sender the transaction come with 2 recipient addresses? I see also 2 sender addresses that are sent 2 other, all in one hash...
Sorry if this is already answered, you can write me an explanation then delete my post if needed by tomorrrow.
thank you
|
|
|
|
tranthidung
Legendary
Offline
Activity: 2450
Merit: 4273
Farewell o_e_l_e_o
|
|
December 24, 2020, 06:50:16 AM |
|
The chapter 2 in Mastering Bitcoin can help you. Some things you need to pay attention on: - Inputs
- Outputs
- Change address (in outputs)
I discovered that all transactions are listed on sites like blockchain.com.
Bitcoin has its pubic ledger and all transactions are recorded on its full nodes. Blockchain.com is one of site, on which they build up a block explorer for bitcoin transactions. I see very interesting sums so I clicked one to see its details: how come that from one sender the transaction come with 2 recipient addresses? I see also 2 sender addresses that are sent 2 other, all in one hash...
If you are senders, you can send your bitcoin by some inputs in your bitcoin wallet (the wallet you are using need to have a coin control feature). By sending 2 inputs to one new receiving address, if it is another address of yours, it is called as consolidation of your inputs. If the total amount you send out is smaller than total amount in that 2 inputs, you have the leftover, it can be sent to a change address. To protect your privacy, you should use a change address. Simply visualization like this image.
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4420
Crypto Swap Exchange
|
|
December 24, 2020, 06:50:33 AM |
|
Bitcoin transactions consists of inputs and outputs. Transactions are spent by referencing UTXOs (unspent transaction outputs) and for which, they are encumbered with the requirements to spent it, scripts that fulfill certain criteria, such as signatures or conditions, P2SH, P2PWKH, P2PKH etc.
Most block explorers represent the inputs as addresses for a simplified view. They are just representation of the UTXOs that are being referenced and "used" in a transaction. The outputs are the new UTXOs generated complete with the new requirements to spend them. You can spend UTXOs that have different signature requirements for which in the case of P2PKH/P2PWKH, you have to be able to produce the signatures which would in turn validate that you are able to spend those UTXOs.
There are no limits to the number of outputs that you can have as well. Most commonly, there would be 2 addresses being represented and that is because one of them is used as the change.
|
|
|
|
Oshosondy
Legendary
Offline
Activity: 1624
Merit: 1196
Gamble responsibly
|
|
December 24, 2020, 07:04:14 AM |
|
Also it depends on the platform you are sending the bitcoin, if you send it on noncustodial wallet, you will see only one input, while the output can contain two address which one represent the recipient address and your unspent UTXO address. But while sending on exchanges and on custodial wallets, your input is summed together with other users input which will make it to be more than one.
|
|
|
|
btcb3g1nn3r (OP)
Member
Offline
Activity: 178
Merit: 32
|
|
December 24, 2020, 07:43:55 AM |
|
thank you, the book chapter was great for understanding
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18726
|
|
December 24, 2020, 11:37:42 AM |
|
I see very interesting sums so I clicked one to see its details: how come that from one sender the transaction come with 2 recipient addresses? I like using analogies to explain concepts like this. Let's say you have two $10 bills in your wallet, and you want to pay me $15. You can't rip a $10 bill in half and give me one and a half bills. Instead, you have to include both bills in the transaction, and this is why you might have two or more inputs in to a transaction. Now, obviously you only want to pay me $15 and not $20, and so you would receive $5 back as change. In bitcoin, this would show as two outputs - one for $15 to me, and one for $5 back to yourself. Sorry if this is already answered, you can write me an explanation then delete my post if needed by tomorrrow.
Don't delete the post! Other users can learn from it, either now or by searching in the future.
|
|
|
|
Upgrade00
Legendary
Offline
Activity: 2212
Merit: 2348
Playgram - The Telegram Casino
|
|
December 24, 2020, 12:22:58 PM |
|
You should also note that in addition to 'change address' increasing the number of outputs. An address can send Bitcoins to multiple recipients in one single transaction, and they will each show up as outputs in the transaction, in addition to the change address. So do not get confused when you see a tx with more than 2 recipient addresses. Using o_e_l_e_o 's analogy above; If you want to pay 3 vendors $4 each from your $15 bill. Each address will count as a unique output and you'll have a change address to receive the $3 left back. I made a simple thread on transaction and fees, you may want to check it out - https://bitcointalk.org/index.php?topic=5251213.msg54504855#msg54504855
|
|
|
|
▄▄███████▄▄███████ ▄███████████████▄▄▄▄▄ ▄████████████████████▀░ ▄█████████████████████▄░ ▄█████████▀▀████████████▄ ██████████████▀▀█████████ █████████████████████████ ██████████████▄▄█████████ ▀█████████▄▄████████████▀ ▀█████████████████████▀░ ▀████████████████████▄░ ▀███████████████▀▀▀▀▀ ▀▀███████▀▀███████ | ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ Playgram.io ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ | ▄▄▄░░ ▀▄ █ █ █ █ █ █ █ ▄▀ ▀▀▀░░
| │ | ▄▄▄███████▄▄▄ ▄▄███████████████▄▄ ▄███████████████████▄ ▄██████████████▀▀█████▄ ▄██████████▀▀███▄██▐████▄ ██████▀▀████▄▄▀▀█████████ ████▄▄███▄██▀█████▐██████ ██████████▀██████████████ ▀███████▌▐██▄████▐██████▀ ▀███████▄▄███▄████████▀ ▀███████████████████▀ ▀▀███████████████▀▀ ▀▀▀███████▀▀▀ | | │ | ██████▄▄███████▄▄████████ ███▄███████████████▄░░▀█▀ ███████████░█████████░░█ ░█████▀██▄▄░▄▄██▀█████░█ █████▄░▄███▄███▄░▄██████ ████████████████████████ ████████████████████████ ██░▄▄▄░██░▄▄▄░██░▄▄▄░███ ██░░░█░██░░░█░██░░░█░████ ██░░█░░██░░█░░██░░█░░████ ██▄▄▄▄▄██▄▄▄▄▄██▄▄▄▄▄████ ███████████████████████ ███████████████████████ | | │ | ► | |
[/
|
|
|
Karma24
Jr. Member
Offline
Activity: 196
Merit: 2
|
|
December 24, 2020, 12:28:50 PM |
|
Google can help you better than this forum tbh (regarding the explanation)
|
|
|
|
Insanerman
|
|
December 24, 2020, 01:44:51 PM |
|
I see very interesting sums so I clicked one to see its details: how come that from one sender the transaction come with 2 recipient addresses? I see also 2 sender addresses that are sent 2 other, all in one hash...
If you still cannot get how it works just by reading the suggested blogs and threads, better watch how Bitcoin works in videos on youtube. I suggest this [1] one as it was, I guess, the one video that explained your questions and doubts. And to answer your question, lets make a simple analogy. Imagine a person would send 2 letters on 2 different addresses/P.O box. The post office that would send your letter wouldn't address the sender with different ID, why? Because its from you. Now there can be two addresses but of a same holder or owner as well. I hope my analogy is right and helpful [1] - https://www.youtube.com/watch?v=bBC-nXj3Ng4
|
|
|
|
btcb3g1nn3r (OP)
Member
Offline
Activity: 178
Merit: 32
|
|
December 27, 2020, 01:22:28 PM |
|
In case a transaction is not processed for weeks, is it feasible that I install myself Bitcoin Core as full node and to validate the transaction myself?
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18726
|
|
December 27, 2020, 01:29:02 PM |
|
In case a transaction is not processed for weeks, is it feasible that I install myself Bitcoin Core as full node and to validate the transaction myself?
No, that's not how it works. Transaction go through two processes after you broadcast them - first they are validated, then they are mined. The first process - validation - is performed by full nodes, such as Bitcoin Core (there are a couple of other software implementations of full nodes, but Bitcoin Core accounts for ~99% of full nodes). The node essentially checks that the transaction conforms to all the necessary rules, and if it does, then adds it to its pool of unconfirmed transactions (known as the mempool) and broadcasts the transaction to other nodes. The second process - mining - is performed by miners, most commonly running hardware which is built specifically for mining, known as ASICs. In this process, the miners take a bunch of transactions from the mempool, usually the highest paying ones, and attempt to include them in a block by using a hash function. When they find a hash output which meets the criteria, then the block is mined and added to the blockchain, and the miner who found it collects the block reward and all the transaction fees, and the transactions included in that block then move from "unconfirmed" to having "1 confirmation". If you download and run Bitcoin Core, you are helping to support the network, and you will validate transactions and broadcast them to other nodes. However, you will not be mining any blocks, and so you wouldn't increase the speed of your transactions being mined. To do that, you would need to become a miner by buying and running ASIC hardware.
|
|
|
|
RapTarX
|
|
December 27, 2020, 01:32:05 PM |
|
In case a transaction is not processed for weeks, is it feasible that I install myself Bitcoin Core as full node and to validate the transaction myself?
From my simple explanation (I'm not expert in this), you can check the validity of the tx, whether the transaction is true or false but you can't include the tx into a block as you need to mine a block.
|
|
|
|
btcb3g1nn3r (OP)
Member
Offline
Activity: 178
Merit: 32
|
|
December 27, 2020, 01:46:22 PM |
|
I've read that in case of a blocked transaction, one can ask a miner to explicitly confirm it, how this can work if nobody will know who'll win the block to be added in the blockchain? I mean, if that miner that mines as part of o mining pool, can do that, myself (assumed as independent miner) cannot do the same? Should I understand that the mining pools have the 1st chance to mine the block, so, in fact when a miner attempts to confirm that transaction, he/she will just manually add it to their next lot of transactions from the mempool but still there is no warranty they'll succeed?
|
|
|
|
ranochigo
Legendary
Offline
Activity: 3038
Merit: 4420
Crypto Swap Exchange
|
|
December 27, 2020, 01:52:36 PM |
|
I've read that in case of a blocked transaction, one can ask a miner to explicitly confirm it, how this can work if nobody will know who'll win the block to be added in the blockchain? I mean, if that miner that mines as part of o mining pool, can do that, myself (assumed as independent miner) cannot do the same?
Block transaction as in censored? The only way for censorship to be 100% effective is for someone to gain a majority of the hashpower. If you're asking for blocked transactions as in transactions that are not mined,they're typically submitted to a mining pool and the mining pool will include it in their next block, when they mine it and there's not guarantee of the timeframe. A miner mining as a part of the mining pool usually don't have a say in the transactions that is included in the block being mined. The only way you can confirm a transaction is to mine a block which includes that specific transaction and for that to happen, you need to generate a block which fulfills certain criteria and that is very very difficult. Should I understand that the mining pools have the 1st chance to mine the block, so, in fact when a miner attempts to confirm that transaction, he/she will just manually add it to their next lot of transactions from the mempool but still there is no warranty they'll succeed?
Mining pools usually get a block more often than solo miners is because the hashpower are "pooled" together and thus more hashes are generated per unit time, resulting in a greater probability of getting a hash that fits the current target. When the miner includes a transaction specifically, they will (not necessarily manually) insert the transaction into the set of the transactions that they're mining and build a merkle root based on that. If and only if they mine a block then your transaction can be confirmed.
|
|
|
|
o_e_l_e_o
In memoriam
Legendary
Offline
Activity: 2268
Merit: 18726
|
|
December 27, 2020, 02:07:18 PM |
|
I've read that in case of a blocked transaction, one can ask a miner to explicitly confirm it, how this can work if nobody will know who'll win the block to be added in the blockchain? You can ask a miner to include it in their next block, but there is no guarantee they will do that, since if you have paid a low fee they will be losing money by using space on your low fee transaction which they could otherwise use to include a high fee transaction. Even if they agree, they can only agree to include it in the next block they find. Whether that's the next block or isn't for 100 blocks, no one knows. The more hash rate they control, then the higher their chances are of finding any given block. Should I understand that the mining pools have the 1st chance to mine the block, so, in fact when a miner attempts to confirm that transaction, he/she will just manually add it to their next lot of transactions from the mempool but still there is no warranty they'll succeed? There is no preference given to different miners or mining pools. Everyone who is trying to mine the next block builds their own "candidate block" with transactions from their own mempool and hashes the header. If the hash result is below the target, then they have found a block and it is added to the blockchain. If the hash result is not below the target, then they change something in the header (usually the nonce), and try again. Rinse and repeat until a block with a header which hashes to below the target. Everyone trying to mine the next block is doing this simultaneously. If you are in control of a huge mining rig that can perform quadrillions of hashes a second then you are more likely to succeed than someone solo mining who is only performing a few billion hashes a second.
|
|
|
|
|