Author

Topic: Question about transactions (Read 348 times)

legendary
Activity: 4466
Merit: 3391
September 21, 2020, 01:39:28 PM
#17

my bad, I am still newbie in bitcoin. However, I can manage to do a transaction. My only problem is how to explain and probably the technical side of the transactions.  

The hard part is that some informations provided in the internet using google search engine are not right. The information they provide made me confuse. I only learn these from the internet blogs and reviews that has different explainations and interpretation of the bitcoin trasaction. Good thing that it was been discuss here. Thanks for the feedback. Again I was confused and glad to be corrected.

Nothing wrong with being a newbie. Everybody started out knowing nothing about Bitcoin, even Satoshi.

The problem is explaining something that you don't understand without making it clear that you don't understand it.
full member
Activity: 686
Merit: 125
September 21, 2020, 03:52:04 AM
#16
I suggest you learn from books such as Mastering Bitcoin. You can buy or read them for free on some websites. It is more reliable compared to those articles, which usually are just a copy writer version of another one. After that ask here if you found something hard to understand. Pretty sure this will be quicker than spending your day scrolling on google search results.
I can rely more on the forum for now because it is still different to learn whem somebody is explaining it to you vs. yoyo in which there will be time that you cant umdestand the writings in the book. I do believe that all written in book are well explain compared to some experts here that will tell not information not included in the books. However, books are considered as best resources to learn but it could be great also when somebody is there to explain it to you especially the hard part of the topics tp be discussed.
legendary
Activity: 2170
Merit: 1789
September 20, 2020, 01:24:24 AM
#15
The information they provide made me confuse. I only learn these from the internet blogs and reviews that has different explainations and interpretation of the bitcoin trasaction.
I suggest you learn from books such as Mastering Bitcoin. You can buy or read them for free on some websites. It is more reliable compared to those articles, which usually are just a copy writer version of another one. After that ask here if you found something hard to understand. Pretty sure this will be quicker than spending your day scrolling on google search results.
legendary
Activity: 3472
Merit: 10611
September 20, 2020, 12:24:27 AM
#14

my bad, I am still newbie in bitcoin. However, I can manage to do a transaction. My only problem is how to explain and probably the technical side of the transactions. 

The hard part is that some informations provided in the internet using google search engine are not right. The information they provide made me confuse. I only learn these from the internet blogs and reviews that has different explainations and interpretation of the bitcoin trasaction. Good thing that it was been discuss here. Thanks for the feedback. Again I was confused and glad to be corrected.

that's true, you will slowly gain experience in knowing which information is reliable and which ones are not. usually based on the place they are posted, for example anything posted by news sites is mostly unreliable, majority of things on twitter, youtube and other social media like these are unreliable unless you know the person like Andreas Antonopoulos, things on forums are more reliable because most of the times if there is a mistake others will comment on it, of course forums are different from each other too. for instance things found on stackexchange are always a lot more reliable compared to the same thing on lets say reddit.
jr. member
Activity: 84
Merit: 3
September 19, 2020, 02:25:53 PM
#13
Your Bitcoin is your bitcoin,in the process of transaction make sure you keep your private address and other personal details very well.
hero member
Activity: 1358
Merit: 851
September 19, 2020, 01:58:28 PM
#12
At the end of the day for privacy the best way is to mix coins in some fashion, for example sending all your small amounts to an exchange, changing the receiving address every time, and getting back a bigger amount on a fresh address.
Sending to an exchange is way to expose yourself or put your fund at risk. If you use exchange, you are likely to not using TOR of course nor any VPN as these may put your account to be suspicious and get your account terminated until you fill KYC and thus get yourself exposed. Rather, mixers are there to ensure privacy.
full member
Activity: 686
Merit: 125
September 19, 2020, 09:52:30 AM
#11

my bad, I am still newbie in bitcoin. However, I can manage to do a transaction. My only problem is how to explain and probably the technical side of the transactions.  

The hard part is that some informations provided in the internet using google search engine are not right. The information they provide made me confuse. I only learn these from the internet blogs and reviews that has different explainations and interpretation of the bitcoin trasaction. Good thing that it was been discuss here. Thanks for the feedback. Again I was confused and glad to be corrected.
hero member
Activity: 2548
Merit: 950
fly or die
September 19, 2020, 09:31:33 AM
#10
If you find this a bit confusing don't worry about it, it is a bit complicated. And most people, even understanding it well enough, have no ability to script things manually, or understand the maths behind everything (myself included).

My advice would be to try things out with small amounts, and low fees, your transactions will take some time but the tests won't cost you much, and little by little you'll be more comfortable with things. Use electrum or another advanced wallet (bitcoin core) that lets you control the transactions.

At the end of the day for privacy the best way is to mix coins in some fashion, for example sending all your small amounts to an exchange, changing the receiving address every time, and getting back a bigger amount on a fresh address.

Alternatively, if the amounts are too big to avoid KYC on the exchange for example, you could use a coin mixer.
legendary
Activity: 3472
Merit: 10611
September 18, 2020, 12:25:49 AM
#9
First, you have 5 btc in your wallet and you want to send 4 btc to your friend.  You have to ask for his bitcoin adress to receive the payment. The input is 4 btc which is the desired amount to sent to your friend but you have 5 btc balance in your wallet. You make the transaction and input 4 btc to send to your friend's bitcoin address.
you are confusing input and output a little here. input is what you put in and output is what you pull out.
if you have 5BTC then your input value is 5BTC and your output value is 4BTC.

Quote
This is what happen during the transaction. The system sent 5 btc to your friend's bitcoin address but since you only want to send 4 btc the system automatically send back the change which is 1 btc to your other bitcoin address.
there is no "system" and no "automatic". when using bitcoin, you are always in full control. some wallets make it easier and abstract away some concepts but the principle is the same. you are the one choosing to send those coins to another address from your wallet, you can also choose to send the change back to the same address.

Quote
The system uses other bitcoin adresses of your wallet because the system wanted to keep your privacy especially from people checking your spending habits. Scammers and hackers would likely to see too how much you spend in your btc address and how much balance left to your btc address. This is why the system generate another btc address for your change to keep your privacy in owning or keeping btc to your wallet.
not really the case because you don't really gain any meaningful amount of additional privacy by using a change address. in almost all cases it is very easy to detect the change address and link it back to the origin.
full member
Activity: 686
Merit: 125
September 17, 2020, 08:45:27 PM
#8
As I read too in other articles regarding bitcoin transaction and will going to share it here in layman's term.

For example

First, you have 5 btc in your wallet and you want to send 4 btc to your friend.  You have to ask for his bitcoin adress to receive the payment. The input is 4 btc which is the desired amount to sent to your friend but you have 5 btc balance in your wallet. You make the transaction and input 4 btc to send to your friend's bitcoin address.

This is what happen during the transaction. The system sent 5 btc to your friend's bitcoin address but since you only want to send 4 btc the system automatically send back the change which is 1 btc to your other bitcoin address. The system uses other bitcoin adresses of your wallet because the system wanted to keep your privacy especially from people checking your spending habits. Scammers and hackers would likely to see too how much you spend in your btc address and how much balance left to your btc address. This is why the system generate another btc address for your change to keep your privacy in owning or keeping btc to your wallet.

This feature of using another btc address for the change of the transaction could actually be uncheck depending on the bitcoin wallet that has a feature which you can chose either to use another btc address for change or kept the same address for change.

Hope this help.
legendary
Activity: 4466
Merit: 3391
September 16, 2020, 06:18:21 PM
#7
I've seen some examples as the one you've made. I think I've understood that, if I receive different amounts of Bitcoins on different addresses and then I send a different amount to another address, the amounts of more addresses will be "combined" and used in the transaction, and I will get a change back. I've read that multiple inputs and outputs can be used to "muddy the waters" and increase privacy.

When sending bitcoins, a wallet will combine bitcoins from different addresses that it controls, if necessary. So, analysis of a transaction can assume that all addresses used as inputs in a transaction are in the same wallet.

However, there are protocols (e.g. CoinJoin) that use addresses from different people (and different wallets) as inputs in a single transaction. These transactions cause problems for this kind of analysis.



There's no "from address", but, from your previous example, there are "inputs", which consist of addresses from which Bitcoins are sent, and "outputs", which consist of addresses to which Bitcoins are sent (change included). Isn't it the same thing to say that Bitcoins are sent from those addresses in the inputs to the addresses in the outputs?
So, the point about privacy is that addresses in the inputs are visible in the transactions written in the blockchain.

I've read how a public address is made (hash made from the public key of the person who will receive the Bitcoins) and I've tried to read how transactions are made with scripts, but it's too long and technical.  Sad

Very strictly speaking, there are no "from" addresses, but is perfectly ok to talk about "from" addresses because it is a convenient and effective way to talk about a transaction. Nearly all transactions can be thought of sending bitcoins "from" one set of addresses "to" another set of addresses, even though that is not precisely how Bitcoin works.

As for the nitty gritty, ...

Bitcoins are stored in the transaction outputs. A transaction output typically provides an address as a way to identify who can access its bitcoins. A transaction does not contain any "from" addresses, it only contains "to" addresses.

A transaction input does not contain an address. It contains a reference to an output in a previous transaction (that typically contains a "to" address) and provides the information required to access the bitcoins in that output (typically the public key associated with the "to" address and a signature).

A block explorer looks up the "to" address in the output referenced by a input and lists that as the input's "from" address.
legendary
Activity: 2380
Merit: 5213
September 16, 2020, 06:01:15 PM
#6
Isn't it the same thing to say that Bitcoins are sent from those addresses in the inputs to the addresses in the outputs?
Yes. As already explained by webtricks, bitcoins are always sent from an address (or multiple addresses) to another address (other addresses) unless they have been generated in a coinbase transaction.

I read the article you referred to in OP. I feel it is talking about sending coins from an exchange ( or any other third party).
When I send some bitcoin from an exchange, the address you receive coins from is not my address. The address is owned by the exchange.

So, the point about privacy is that addresses in the inputs are visible in the transactions written in the blockchain.
When you send bitcoin to someone, the receiver can check the transaction (or transactions) in which you had received those coins. But the main point is when you use a single address for receiving from different people or use multiple addresses but combine them when spending them.

Let's say I receive bitcoin from someone in address A.
Now, I wish to receive bitcoin from someone else. I give that person address B, so he cannot know the transaction I have received before.

When I want to spend received bitcoins, my wallet combines bitcoin received from both persons.
Since I have spent all the fund in a single transaction, the person who sent me bitcoin using address B, can know that I own the address A as well and can check the transaction I received in address A.
newbie
Activity: 2
Merit: 4
September 16, 2020, 04:55:29 PM
#5
Thanks all for your fast answers.  Smiley
Yes, of course, I'm concerned about privacy.


If you are just receiving bitcoins on new address every time and haven't spent any of the output then it is impossible to link your public addresses with each other. You will only see single receiving transaction if you search the specific bitcoin address on 'Block Explorer'. However, if you have sent money from the wallet then it is possible to link addresses. This is how:

Suppose you received 0.005 BTC on your bitcoin address A and 0.002 BTC on your bitcoin address B. Now you sent a transaction of 0.006 BTC to another address X. To create this transaction, your wallet will use both unspent outputs (UTXOs) as the input like this

Inputs                                                 Outputs

Address A 0.005 BTC        >>>            Address X 0.006 BTC
Address B 0.002 BTC        >>>            Change Address 0.001 BTC

There are some services which will create link between addresses through this method and will show you all linked addresses to the specific wallet.
 

I've seen some examples as the one you've made. I think I've understood that, if I receive different amounts of Bitcoins on different addresses and then I send a different amount to another address, the amounts of more addresses will be "combined" and used in the transaction, and I will get a change back. I've read that multiple inputs and outputs can be used to "muddy the waters" and increase privacy.


Transactions are not done from/to addresses. Transactions are done via scripts and hashes. You create an output and lock it with a locking script. For example, if I say I am sending 0.02 BTC to Address 16Rv1veEeGncvoBEWYCjtp2ViSee1aRtrj what I am actually doing is this:

I am locking 0.02 BTC with this hash - 16Rv1veEeGncvoBEWYCjtp2ViSee1aRtrj and putting a condition that who ever can produce a valid signature using public key such that hash of the public key is equal to 16Rv1veEeGncvoBEWYCjtp2ViSee1aRtrj can spend these 0.02 BTC.

P2SH addresses i.e. addresses starting with '3' work little differently from what I just said. If you send 0.02 BTC to say, 3G8uPe3XKGhyQ2HGZfrmT7yJSxeQ6kJHK4, you are actually locking 0.02 BTC to the script whose hash is 3G8uPe3XKGhyQ2HGZfrmT7yJSxeQ6kJHK4. Now to spend these 0.02 BTC, you have to provide valid redeem script such that hashing that script will produce hash equal to 3G8uPe3XKGhyQ2HGZfrmT7yJSxeQ6kJHK4 and another script to unlock redeem script.

More doubts? Keep them coming.

That's what I can't understand.
There's no "from address", but, from your previous example, there are "inputs", which consist of addresses from which Bitcoins are sent, and "outputs", which consist of addresses to which Bitcoins are sent (change included). Isn't it the same thing to say that Bitcoins are sent from those addresses in the inputs to the addresses in the outputs?
So, the point about privacy is that addresses in the inputs are visible in the transactions written in the blockchain.

I've read how a public address is made (hash made from the public key of the person who will receive the Bitcoins) and I've tried to read how transactions are made with scripts, but it's too long and technical.  Sad
legendary
Activity: 1918
Merit: 1728
September 16, 2020, 02:20:49 PM
#4
Hi, I'm a beginner to Bitcoin. I made a lot of search, but there are some things about how transactions work that still make me desist from getting into the business.
The answers I found to my doubts are ambiguous and I hope someone can help me to clear them.
I created a wallet (I tried Bitcoin Core and Electrum). If I've well understood, when I want to receive a payment, I have to create a new public address for every transaction. So, if I use a new address, nobody should be able to associate all the payments received to a single wallet. If I want to send Bitcoins, I need the public address of the receiver.

Any transaction is written in the Blockchain, and there are some sites that, for a given public address, can show several transactions associated to it, both for sent and received Bitcoins.
This is how it is explained for example here:
https://support.coincorner.com/hc/en-us/articles/360010531460-Understanding-a-Bitcoin-transaction
But how is this possible, if for every payment I receive I use a new public address? It shouldn't be possible to associate all the public addresses to a single wallet.

If you are just receiving bitcoins on new address every time and haven't spent any of the output then it is impossible to link your public addresses with each other. You will only see single receiving transaction if you search the specific bitcoin address on 'Block Explorer'. However, if you have sent money from the wallet then it is possible to link addresses. This is how:

Suppose you received 0.005 BTC on your bitcoin address A and 0.002 BTC on your bitcoin address B. Now you sent a transaction of 0.006 BTC to another address X. To create this transaction, your wallet will use both unspent outputs (UTXOs) as the input like this

Inputs                                                 Outputs

Address A 0.005 BTC        >>>            Address X 0.006 BTC
Address B 0.002 BTC        >>>            Change Address 0.001 BTC

There are some services which will create link between addresses through this method and will show you all linked addresses to the specific wallet.
 


Moreover, I found this page:
https://en.bitcoin.it/wiki/From_address
in which it says there's no "from address" from which Bitcoins are sent.
By the way, this page in contradicted by this page in the same wiki:
https://en.bitcoin.it/wiki/Wallet
Read where it says: "transactions done from/to your addresses".

Transactions are not done from/to addresses. Transactions are done via scripts and hashes. You create an output and lock it with a locking script. For example, if I say I am sending 0.02 BTC to Address 16Rv1veEeGncvoBEWYCjtp2ViSee1aRtrj what I am actually doing is this:

I am locking 0.02 BTC with this hash - 16Rv1veEeGncvoBEWYCjtp2ViSee1aRtrj and putting a condition that who ever can produce a valid signature using public key such that hash of the public key is equal to 16Rv1veEeGncvoBEWYCjtp2ViSee1aRtrj can spend these 0.02 BTC.

P2SH addresses i.e. addresses starting with '3' work little differently from what I just said. If you send 0.02 BTC to say, 3G8uPe3XKGhyQ2HGZfrmT7yJSxeQ6kJHK4, you are actually locking 0.02 BTC to the script whose hash is 3G8uPe3XKGhyQ2HGZfrmT7yJSxeQ6kJHK4. Now to spend these 0.02 BTC, you have to provide valid redeem script such that hashing that script will produce hash equal to 3G8uPe3XKGhyQ2HGZfrmT7yJSxeQ6kJHK4 and another script to unlock redeem script.

More doubts? Keep them coming.
hero member
Activity: 1358
Merit: 851
September 16, 2020, 01:59:06 PM
#3
I'm not quoting your questions; I'll try to go through all of your questions below as some of your questions are related to one with another answer.
It's good if you avoid reuse of addresses if you are privacy concerned person. Now, if you use different address each time, it doesn't ensure that all of your public addresses will be linked. It depends on you. If you use coin control feature, you can only send fund from a single address; any address you want to send fund from. But if you make a tx including all the input from all of your addresses, you will leave proof of owning all the addresses.
To make it clear for you; imagine you have two public address where you received 0.5 BTC each. You now have 1 BTC balance. If you want to send 0.6 BTC to someone, you have to use both the inputs of 0.5 BTC and thus, you will link all of your addresses to one with another.
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
September 16, 2020, 01:57:49 PM
#2
Bitcoins sent to an address must be sent from the SAME address in bitcoin.

For privacy, you can receive bitcoins to different addresses but if you send an amount bigger than the largest received amount for a single address, amounts sent to other addresses will then be used to fulfill the transaction.
newbie
Activity: 2
Merit: 4
September 16, 2020, 01:46:41 PM
#1
Hi, I'm a beginner to Bitcoin. I made a lot of search, but there are some things about how transactions work that still make me desist from getting into the business.
The answers I found to my doubts are ambiguous and I hope someone can help me to clear them.
I created a wallet (I tried Bitcoin Core and Electrum). If I've well understood, when I want to receive a payment, I have to create a new public address for every transaction. So, if I use a new address, nobody should be able to associate all the payments received to a single wallet. If I want to send Bitcoins, I need the public address of the receiver.

Any transaction is written in the Blockchain, and there are some sites that, for a given public address, can show several transactions associated to it, both for sent and received Bitcoins.
This is how it is explained for example here:
https://support.coincorner.com/hc/en-us/articles/360010531460-Understanding-a-Bitcoin-transaction
But how is this possible, if for every payment I receive I use a new public address? It shouldn't be possible to associate all the public addresses to a single wallet.
Moreover, I found this page:
https://en.bitcoin.it/wiki/From_address
in which it says there's no "from address" from which Bitcoins are sent.
By the way, this page in contradicted by this page in the same wiki:
https://en.bitcoin.it/wiki/Wallet
Read where it says: "transactions done from/to your addresses".

So, why in the sites that show Bitcoin transactions is it possible to see transactions relative to Bitcoins sent from and received by a pubblic address?
If I always use the same public address to receive payments, I can understand anyone can see all the payments received by that public address, but how is it possible to know that Bitcoins have also been sent from that address?

Thanks.
Jump to: