Ability to select which addresses to spend from for a payment #2711

issue Suffice opened this issue on May 29, 2013
  1. Suffice commented at 11:54 PM on May 29, 2013: none

    This can be used to maintain multiple identities of a person without a separate wallet.

    This would allow for some basic form of accounting, to see how much is in each address.

    And in the case of having a shared address with others, from inadvertently spending the shared balance, or if desired, to only spend from the shared balance.

    This isn't something that is entirely needed, but it's something that would be useful to some.

  2. luke-jr commented at 11:58 PM on May 29, 2013: member

    Invalid: Transactions don't have "from addresses".

    Side note: Coin Control seems ready for merging.

  3. Suffice commented at 12:01 AM on May 30, 2013: none

    "It is only possible to send bitcoins from the same address with which they have been received. However, if one has bitcoins on several address, one can theoretically choose from which address to send the coins." - Bitcoin wiki

    Will Coin Control allow for that?

  4. gmaxwell commented at 12:16 AM on May 30, 2013: contributor

    @Suffice Thanks for pointing out that the wiki anonymity page was somewhat misleading, I've corrected it a bit... though it could use some more revisions.

  5. Suffice commented at 12:39 AM on May 30, 2013: none

    Now I have no idea how spending works anymore!

  6. Suffice closed this on May 30, 2013

  7. whitslack commented at 6:17 AM on June 4, 2013: contributor

    "Transactions don't have from addresses" is really misleading. Transactions do have TxIns, which almost always reference TxOuts that were pay-to-address outputs, so in that sense, most transactions do have "from addresses."

  8. luke-jr commented at 6:21 AM on June 4, 2013: member

    The address a TxIn's previous TxOut was sent to, is not a from address. There is no reason to assume this transaction has any relation to the previous coin destination, nor reason to assume the person sending it can receive coins sent to that destination in the future.

  9. whitslack commented at 6:29 AM on June 4, 2013: contributor

    While technically correct, that's an academic point. 999 transactions in a thousand will follow the conventional pattern.

  10. luke-jr commented at 6:35 AM on June 4, 2013: member

    I wouldn't be so sure. Most Bitcoin transactions occur on MtGox (off-chain), so it seems reasonable to expect a large number would be sent from their wallets. There are a number of other e-wallet providers as well. And moving forward, we'll see things like combined transactions as wallets get smarter about collaborating with their peers to save on transaction fees, debt settlements which may have multiple hops optimized out entirely, etc.

  11. sipa commented at 7:15 AM on June 4, 2013: member

    @whitslack You are technically correct. Transactions have inputs, and inputs refer to previous outputs, and those outputs have in the majority of cases a well-defined address. You can call this a "from address" if you like, and it is well-defined. The reason for not calling it that way is because people make incorrect assumptions about it. People associate certain properties with a "from address", like that it belongs to the sender of the transaction (not true in case of online wallets), that you can send coins back to it (not true in case of shared wallets), or that it is unique or always present. Furthermore, it makes people think Bitcoin works as a ledger with address balances.

    More in the context of this issue: the problem is that it breaks the abstraction provided by the wallet software (which is: a wallet has a balance, and has several address to receive coins with, but otherwise functions as a black box). Not everyone needs this abstraction, but just breaking it partially will even cause more confusion.

    My preferred solution is coin control - not because I think it's that useful as a feature for most (micro-management is IMHO not how you solve a privacy issue, the software should offer higher-level solutions for that like multiple independent wallets and linking-minimizing transaction creation), but because it breaks the abstraction completely and allows you to see the wallet as a set of coins, assigned to addresses. This indeed does what you want, but without risking the misunderstanding that it's addresses that are used as inputs.

  12. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 06:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me