<p>Nodes don't check the history of a coin or address to determine whether to include or propagate it, so it will be possible to send coins from an address to itself multiple times.</p>

<p>However, the priority of a transaction depends on how aged its inputs are. If you try to do it too frequently, you'll be using young inputs, lowering the priority and making a fee necessary.</p>

CC BY-SA 3.0
2013-07-25T19:52:17.807Z
I see. So even if you mine a new block of 25 BTC, and used those 25 BTC to send to yourself every so often, eventually you'd end up paying a fee on that transaction due to the coin age? That makes sense. Is there anywhere I can learn more about the exact timing of that eventuality or do I have to sort through the source code to figure this one out?
bvpx
CC BY-SA 3.0
2013-07-25T20:19:35.413Z
@bvpx: There is some information at https://en.bitcoin.it/wiki/Transaction_fees. I'm not sure it's up to date but at least it can give a hint what to look for in the code.
Meni Rosenfeld
CC BY-SA 3.0
2013-07-25T20:21:50.457Z
@bvpx: I'd like to reiterate that it's not how many times you do it it matters, it's the interval. With 25 BTC you likely won't run into this problem, but with a smaller amount, you won't need to pay a fee if you make a transaction per day (giving the coin time to age before sending again), but you will need to pay a fee if you make a transaction every 10 minutes.
Meni Rosenfeld
CC BY-SA 3.0
2013-07-25T20:36:02.880Z
@bvpx The network doesn't discriminate against coins that are old, only coins that are "new." Coins can become new by being spent.
Nick ODell
CC BY-SA 3.0
2013-07-25T20:45:22.930Z
I see. So there is an equation that I can use to figure out how many coins I need to put into the wallet to achieve no fees at a certain interval. For example, if I wanted to send a message every 30 minutes I could then calculate `priority = sum(input_value_in_base_units * input_age)/size_in_bytes` and estimate around 1-3 for `input_age` and measure `size_in_bytes` to find the values that fit this model.
bvpx
CC BY-SA 3.0
2013-07-25T19:25:13.107Z
2013-07-25T19:25:13.107Z
Meni Rosenfeld
<p>Let's say I create an address that has a balance of <code>x</code> bitcoins, where <code>x</code> is the minimum transaction amount before prompting a fee. Hypothetically this address is used as a permanent cryptographically secure mechanism that sends itself <code>x</code> coins at certain points which have some significance. </p>

<p>Will miners mine this transaction over and over or will it eventually be ignored by the network?</p>

<p>Will this transaction be readable by parsing the blockchain, or is it handled differently? </p>

<p>Will this transaction ever eventually incur fees and thus never be put into a block (since the wallet will never own more than <code>x</code> BTC)?</p>

CC BY-SA 3.0
2013-07-25T17:29:30.593Z
Why on earth would I be downvoted for asking this question?
bvpx
CC BY-SA 3.0
2013-07-25T18:13:15.573Z
I didn't downvote, but the question is fairly confusing, it's not clear what you're asking and the premises suggest misunderstandings of how Bitcoin works.
Meni Rosenfeld
CC BY-SA 3.0
2013-07-25T18:17:55.323Z
I want to send myself `x` amount of coins continuously and use a blockchain parser to get that data (timestamp, block #, for carbon dating). Will I eventually be unable to send this transaction into the network due to fees or will this work as expected as long as I put in the minimum coin amount to avoid fees?
bvpx
CC BY-SA 3.0
2013-07-25T18:19:25.250Z
Or simply, is there ANYTHING AT ALL within the bitcoin protocol (besides pruning in the future) which would pose as a serious problem for this application?
bvpx
CC BY-SA 3.0
2013-10-25T12:42:47.470Z
I am really curious what the motivation for such a scheme would be.
Murch
CC BY-SA 3.0
2013-10-25T14:50:18.743Z
It's not a DDoS, simply a way to associate the `n`th transaction with a timestamp using the blockchain as a proof-of-existence. The transaction will have 1 input and 1 output both concerning the same address. The wallet will contain `x` Bitcoins where `x` is the minimum amount necessary to send this transaction to the network every `y` seconds, where `y` is the smallest amount of time required by my application. `y` will probably be in the range of a few days, so I'm assuming the `x` value will be limited by `input_value_in_base_units` rather than `input_age` or `size_in_bytes`.
bvpx
<transactions><blockchain><wallet><transaction-fees><mining-theory>
Repeatedly sending coins from an address to itself
bvpx
# Repeatedly sending coins from an address to itself

(Asked by: username_0 on 2013-07-25)

Let's say I create an address that has a balance of `x` bitcoins, where `x` is the minimum transaction amount before prompting a fee. Hypothetically this address is used as a permanent cryptographically secure mechanism that sends itself `x` coins at certain points which have some significance.

Will miners mine this transaction over and over or will it eventually be ignored by the network?

Will this transaction be readable by parsing the blockchain, or is it handled differently?

Will this transaction ever eventually incur fees and thus never be put into a block (since the wallet will never own more than `x` BTC)?

**Tags:** transactions, blockchain, wallet, transaction-fees, mining-theory

> **Comments:**
> **username_0**: Why on earth would I be downvoted for asking this question?  
> **username_1**: I didn't downvote, but the question is fairly confusing, it's not clear what you're asking and the premises suggest misunderstandings of how Bitcoin works.  
> **username_0**: I want to send myself `x` amount of coins continuously and use a blockchain parser to get that data (timestamp, block #, for carbon dating). Will I eventually be unable to send this transaction into the network due to fees or will this work as expected as long as I put in the minimum coin amount to avoid fees?  
> **username_0**: Or simply, is there ANYTHING AT ALL within the bitcoin protocol (besides pruning in the future) which would pose as a serious problem for this application?  
> **username_2**: I am really curious what the motivation for such a scheme would be.  
> **username_0**: It's not a DDoS, simply a way to associate the `n`th transaction with a timestamp using the blockchain as a proof-of-existence. The transaction will have 1 input and 1 output both concerning the same address. The wallet will contain `x` Bitcoins where `x` is the minimum amount necessary to send this transaction to the network every `y` seconds, where `y` is the smallest amount of time required by my application. `y` will probably be in the range of a few days, so I'm assuming the `x` value will be limited by `input_value_in_base_units` rather than `input_age` or `size_in_bytes`.  

---

## 1 answers

### Answer by username_1 on 2013-07-25. Score: 4 | Accepted answer

Nodes don't check the history of a coin or address to determine whether to include or propagate it, so it will be possible to send coins from an address to itself multiple times.

However, the priority of a transaction depends on how aged its inputs are. If you try to do it too frequently, you'll be using young inputs, lowering the priority and making a fee necessary.

> **Comments:**
> **username_0**: I see. So even if you mine a new block of 25 BTC, and used those 25 BTC to send to yourself every so often, eventually you'd end up paying a fee on that transaction due to the coin age? That makes sense. Is there anywhere I can learn more about the exact timing of that eventuality or do I have to sort through the source code to figure this one out?  
> **username_1**: @username_0: There is some information at https://en.bitcoin.it/wiki/Transaction_fees. I'm not sure it's up to date but at least it can give a hint what to look for in the code.  
> **username_1**: @username_0: I'd like to reiterate that it's not how many times you do it it matters, it's the interval. With 25 BTC you likely won't run into this problem, but with a smaller amount, you won't need to pay a fee if you make a transaction per day (giving the coin time to age before sending again), but you will need to pay a fee if you make a transaction every 10 minutes.  
> **username_3**: @username_0 The network doesn't discriminate against coins that are old, only coins that are "new." Coins can become new by being spent.  
> **username_0**: I see. So there is an equation that I can use to figure out how many coins I need to put into the wallet to achieve no fees at a certain interval. For example, if I wanted to send a message every 30 minutes I could then calculate `priority = sum(input_value_in_base_units * input_age)/size_in_bytes` and estimate around 1-3 for `input_age` and measure `size_in_bytes` to find the values that fit this model.  

---

