Bitcoin Forum
November 21, 2017, 03:55:36 PM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Sending BTC back  (Read 1346 times)
Chillance
Sr. Member
****
Offline Offline

Activity: 307


View Profile
February 11, 2017, 03:10:38 PM
 #1

Hey!

What is the best way to send BTC back? One way I'm working on right now is using one address from the input in the transaction, but that isn't 100% reliable and safe. I suppose it's only a problem if there is more than one input. This is related to https://bitcointalk.org/index.php?topic=1770958.0 but this is more about actually sending BTC back to users.

I want it to be easy and anonymous if wanted too, but I'm not sure how to go on about it beyond using the same address that was send from. If someone want to use a different address for me to send to, I need a way to confirm it's the same person from another address. I suppose signing a message could work here.

It's tricky because I was thinking using one address for everyone to send to. However, that limits what I can do on my end regarding sending back correctly. If I generate a new address per user and create a unique link, then users can enter a new return addresses that way, but I was hoping to just use one address for people to send to, to make things easily transparent. And also because using one address makes it so much easier where I don't have to generate extra addresses and keep track of that. So, I'm not sure what approach I should take here.

This is basically a combined issue. The way I see it, there are two options:

1. Using a single address where I then send back to to one of the inputs (how to confirm it's correct one?). Not much overhead with this, but not sure how would would make sure it arrives properly if there are many inputs. Easy transparency since everyone can look up this address people send to. Although less good with anonymity. Easy for me to just use Electrum and better control over private key. Users specifying a different return address can work, but requires more work on users end to sign a message or whatnot so they can confirm one of the input addresses are owned by them.

Edit: Main point here is also so that users can easily see how much I have received, and not only trust my word on it.

or

2. Create one (or more) unique address(es). Better anonymity. Users can specify another return address easier. But, more overhead on my part, and would probably be better to use a online wallet since I need to create new addresses for users. Little less of transparency, although if I expose all addresses so people can look it all up, it would basically be like if I had used one address I suppose.

What do you smart people here say about this? What do you prefer? Other comments?

Thanks!
Join ICO Now A blockchain platform for effective freelancing
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1511279736
Hero Member
*
Offline Offline

Posts: 1511279736

View Profile Personal Message (Offline)

Ignore
1511279736
Reply with quote  #2

1511279736
Report to moderator
legendster
Hero Member
*****
Offline Offline

Activity: 714



View Profile
February 12, 2017, 07:55:36 AM
 #2

Hey!

What is the best way to send BTC back? One way I'm working on right now is using one address from the input in the transaction, but that isn't 100% reliable and safe. I suppose it's only a problem if there is more than one input. This is related to https://bitcointalk.org/index.php?topic=1770958.0 but this is more about actually sending BTC back to users.

I want it to be easy and anonymous if wanted too, but I'm not sure how to go on about it beyond using the same address that was send from. If someone want to use a different address for me to send to, I need a way to confirm it's the same person from another address. I suppose signing a message could work here.

It's tricky because I was thinking using one address for everyone to send to. However, that limits what I can do on my end regarding sending back correctly. If I generate a new address per user and create a unique link, then users can enter a new return addresses that way, but I was hoping to just use one address for people to send to, to make things easily transparent. And also because using one address makes it so much easier where I don't have to generate extra addresses and keep track of that. So, I'm not sure what approach I should take here.

This is basically a combined issue. The way I see it, there are two options:

1. Using a single address where I then send back to to one of the inputs (how to confirm it's correct one?). Not much overhead with this, but not sure how would would make sure it arrives properly if there are many inputs. Easy transparency since everyone can look up this address people send to. Although less good with anonymity. Easy for me to just use Electrum and better control over private key. Users specifying a different return address can work, but requires more work on users end to sign a message or whatnot so they can confirm one of the input addresses are owned by them.

or

2. Create one (or more) unique address(es). Better anonymity. Users can specify another return address easier. But, more overhead on my part, and would probably be better to use a online wallet since I need to create new addresses for users. Little less of transparency, although if I expose all addresses so people can look it all up, it would basically be like if I had used one address I suppose.

What do you smart people here say about this? What do you prefer? Other comments?

Thanks!


The whole point of BTC & blockchain initially was anonymity. To make BTC legal however it has to be demystified to a certain extent and the anonymous nature of BTC addresses need to be scrapped. But then again that is in direct violation of the core founding principles of blockchain & bitcoin about defying the traditional banking system.

Lectures & philosophy aside, the one way you can go about it is by creating a new breed of bitcoin Master addresses.
These Master addresses will hold no transaction history but only a list of active and inactive sub addresses which it would generate. It would be the subaddresses that would hold all the transaction history without leaking it to the master address.
These Sub addresses could have a certain identifier in them which would link it to the master address.
These Sub addresses will expire from time to time & new addresses have to be generated by the Master address, but thanks to the identifiers, even if a sub address expires - which would hold the transnational history, it would redirect the transaction it to the Master address and the Master address would reassign an active sub address to hold the new "refunded" transaction.

This backflow of money should only be made possible if the original transaction was made by one of the many sub addresses the Master address generated.

This idea is not without it's flaws but its something I thought of that should work.

johhnyUA
Hero Member
*****
Offline Offline

Activity: 672


Crypto for the Crypto Throne!


View Profile
February 12, 2017, 12:27:55 PM
 #3

Second way is much better. If i understand your goal right, you must know that in every blockchain wallet there some kind of reserved addreses (about 100) to which change come back. And it will be good to make the same system in your project.
If i didn't undertand your goal please specify it to me)

.SPECTRE.                ▄▄███▄▄
            ▄▄███▀▀▀▀▀███▄▄
▄▄      ▄▄███▀▀ ▄▄███▄▄ ▀▀███▄▄      ▄▄
████▄▄  ▀▀▀ ▄▄███████████▄▄ ▀▀▀  ▄▄████
  ▀▀████▄    ▀▀█████████▀▀    ▄████▀▀
 ██▄▄ ▀██ █▄▄    ▀▀▀▀▀    ▄▄█ ██▀ ▄▄██
 ▀▀███ ██ █████▄       ▄█████ ██ ███▀▀
      ██ ███████▄   ▄███████ ██
       ██ ████████   ████████ ██
       ██▄▄ ▀▀████   ████▀▀ ▄▄██
        ▀▀███▄▄ ▀▀   ▀▀ ▄▄███▀▀
            ▀▀███▄▄▄▄▄███▀▀
                ▀▀███▀▀
             │
     │      ███
     │      ███
    │     ███
███  │     ███
███ ███ ███ ███
███ ███ ███ ███
███ ███ ███ ███
███ ███ ███ ███
███ ███     │
███ ███     │
    │
 
▬▬     WHITEPAPER    ▬▬
FACEBOOK     TELEGRAM
TWITTER     SLACK     MEDIUM
.
PRE-SALE.
PUBLIC SALE.
Chillance
Sr. Member
****
Offline Offline

Activity: 307


View Profile
February 12, 2017, 02:09:03 PM
 #4

...

The whole point of BTC & blockchain initially was anonymity. To make BTC legal however it has to be demystified to a certain extent and the anonymous nature of BTC addresses need to be scrapped. But then again that is in direct violation of the core founding principles of blockchain & bitcoin about defying the traditional banking system.

Lectures & philosophy aside, the one way you can go about it is by creating a new breed of bitcoin Master addresses.
These Master addresses will hold no transaction history but only a list of active and inactive sub addresses which it would generate. It would be the subaddresses that would hold all the transaction history without leaking it to the master address.
These Sub addresses could have a certain identifier in them which would link it to the master address.
These Sub addresses will expire from time to time & new addresses have to be generated by the Master address, but thanks to the identifiers, even if a sub address expires - which would hold the transnational history, it would redirect the transaction it to the Master address and the Master address would reassign an active sub address to hold the new "refunded" transaction.

This backflow of money should only be made possible if the original transaction was made by one of the many sub addresses the Master address generated.

This idea is not without it's flaws but its something I thought of that should work.

Thanks for response. I suppose making the extra effort and do #2 would be better then, as some would probably want to be anonymous. The main reason to just use one address was that it would be easy for people to see how much I have received, and not just trust my word on it.
Chillance
Sr. Member
****
Offline Offline

Activity: 307


View Profile
February 12, 2017, 02:17:25 PM
 #5

Second way is much better. If i understand your goal right, you must know that in every blockchain wallet there some kind of reserved addreses (about 100) to which change come back. And it will be good to make the same system in your project.
If i didn't undertand your goal please specify it to me)

Thanks for responding. I added the explanation that one of the main points with #1 would that users can see how much I received., and not just trust my word on it. But the problem there then is of course that it exposes everyone. I think I will go with #2 anyway, as it is better for the users that want to be anonymous.

And yes, I know about the extra addresses generated. Going with #2, I'm not sure if I want to use Electrum. Would be a bit easier to use an online wallet. I mean, I prefer Electrum, but since I have to generate addresses per transaction it would be easier working with an online wallet. Unless.. I generated a bunch in Electrum and put those in the system to be given to users... could work I suppose... but not sure how good of an idea that is..
Chillance
Sr. Member
****
Offline Offline

Activity: 307


View Profile
February 12, 2017, 10:51:20 PM
 #6

After doing some research I realized that I could possibly just use a Master Public Key to get (generate) the new addresses. This, in combination of using Trezor/KeepKey I think would be fantastic. That way I can easly in code get new addresses, and then have the private keys offline...
johhnyUA
Hero Member
*****
Offline Offline

Activity: 672


Crypto for the Crypto Throne!


View Profile
February 13, 2017, 12:09:09 PM
 #7

Second way is much better. If i understand your goal right, you must know that in every blockchain wallet there some kind of reserved addreses (about 100) to which change come back. And it will be good to make the same system in your project.
If i didn't undertand your goal please specify it to me)

Thanks for responding. I added the explanation that one of the main points with #1 would that users can see how much I received., and not just trust my word on it. But the problem there then is of course that it exposes everyone. I think I will go with #2 anyway, as it is better for the users that want to be anonymous.

And yes, I know about the extra addresses generated. Going with #2, I'm not sure if I want to use Electrum. Would be a bit easier to use an online wallet. I mean, I prefer Electrum, but since I have to generate addresses per transaction it would be easier working with an online wallet. Unless.. I generated a bunch in Electrum and put those in the system to be given to users... could work I suppose... but not sure how good of an idea that is..


Here you can read about this tradition (i mean reserved addresses) - https://en.bitcoin.it/wiki/Change
It's question not also anonimity, but and system secure.
And there isn't need to create new address for every transaction. It will be better to have some number of reserved addresses in which change will be return.

.SPECTRE.                ▄▄███▄▄
            ▄▄███▀▀▀▀▀███▄▄
▄▄      ▄▄███▀▀ ▄▄███▄▄ ▀▀███▄▄      ▄▄
████▄▄  ▀▀▀ ▄▄███████████▄▄ ▀▀▀  ▄▄████
  ▀▀████▄    ▀▀█████████▀▀    ▄████▀▀
 ██▄▄ ▀██ █▄▄    ▀▀▀▀▀    ▄▄█ ██▀ ▄▄██
 ▀▀███ ██ █████▄       ▄█████ ██ ███▀▀
      ██ ███████▄   ▄███████ ██
       ██ ████████   ████████ ██
       ██▄▄ ▀▀████   ████▀▀ ▄▄██
        ▀▀███▄▄ ▀▀   ▀▀ ▄▄███▀▀
            ▀▀███▄▄▄▄▄███▀▀
                ▀▀███▀▀
             │
     │      ███
     │      ███
    │     ███
███  │     ███
███ ███ ███ ███
███ ███ ███ ███
███ ███ ███ ███
███ ███ ███ ███
███ ███     │
███ ███     │
    │
 
▬▬     WHITEPAPER    ▬▬
FACEBOOK     TELEGRAM
TWITTER     SLACK     MEDIUM
.
PRE-SALE.
PUBLIC SALE.
Chillance
Sr. Member
****
Offline Offline

Activity: 307


View Profile
February 20, 2017, 02:13:26 AM
 #8

Second way is much better. If i understand your goal right, you must know that in every blockchain wallet there some kind of reserved addreses (about 100) to which change come back. And it will be good to make the same system in your project.
If i didn't undertand your goal please specify it to me)

Thanks for responding. I added the explanation that one of the main points with #1 would that users can see how much I received., and not just trust my word on it. But the problem there then is of course that it exposes everyone. I think I will go with #2 anyway, as it is better for the users that want to be anonymous.

And yes, I know about the extra addresses generated. Going with #2, I'm not sure if I want to use Electrum. Would be a bit easier to use an online wallet. I mean, I prefer Electrum, but since I have to generate addresses per transaction it would be easier working with an online wallet. Unless.. I generated a bunch in Electrum and put those in the system to be given to users... could work I suppose... but not sure how good of an idea that is..


Here you can read about this tradition (i mean reserved addresses) - https://en.bitcoin.it/wiki/Change
It's question not also anonimity, but and system secure.
And there isn't need to create new address for every transaction. It will be better to have some number of reserved addresses in which change will be return.
Ah, interesting read. Thank you.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!