Re: [Bitcoin-development] DS Deprecation Window

2014-10-28 Thread Thomas Zander
On Monday 27. October 2014 19.26.48 Tom Harding wrote:
 Miner has to be very careful including a double-spend in his block -- he 
 hopes:

How does it help the zero-confirmation to not include a payment? Doesn't that 
just mean that if I send a double spend that neither of the payments will be 
made? So the thief just got an even bigger incentive to double-spent!
 

   - that based on his measured time offset from the first spend he 
 received, at most a tiny fraction of the network will delay his block

   - that not too many nodes saw an earlier spend that he didn't see, 
 which could increase that fraction
 
   - that most other nodes saw his tx.  Any who didn't will only learn 
 about it by receiving his block, and they will assign it the time when 
 they receive the block.  That's likely to be more than T (30 seconds) 
 after an earlier spend, so they would delay the block.

This doesn't addresses the point that Matt brought up.
Your proposal essentially has some side effects that would be disastrous to 
miners. As detailed by the other two replies on this thread.

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Reworking the policy estimation code (fee estimates)

2014-10-28 Thread Mike Hearn
Could you explain a little further why you think the current approach is
statistically incorrect? There's no doubt that the existing estimates the
system produces are garbage, but that's because it assumes players in the
fee market are rational and they are not.

Fwiw bitcoinj 0.12.1 applies the January fee drop and will attach fee of
only 1000 satoshis per kB by default. I also have a program that measures
confirmation time for a given fee level (with fresh coins so there's no
priority) and it aligns with your findings, most txns confirm within a
couple of blocks.

Ultimately there isn't any easy method to stop people throwing money away.
Bitcoinj will probably continue to use hard coded fee values for now to try
and contribute to market sanity in the hope it makes smartfees smarter.
On 27 Oct 2014 19:34, Alex Morcos mor...@gmail.com wrote:

 I've been playing around with the code for estimating fees and found a few
 issues with the existing code.   I think this will address several
 observations that the estimates returned by the existing code appear to be
 too high.  For instance see @cozz in Issue 4866
 https://github.com/bitcoin/bitcoin/issues/4866.

 Here's what I found:

 1) We're trying to answer the question of what fee X you need in order to
 be confirmed within Y blocks.   The existing code tries to do that by
 calculating the median fee for each possible Y instead of gathering
 statistics for each possible X.  That approach is statistically incorrect.
 In fact since certain X's appear so frequently, they tend to dominate the
 statistics at all possible Y's (a fee rate of about 40k satoshis)

 2) The existing code then sorts all of the data points in all of the
 buckets together by fee rate and then reassigns buckets before calculating
 the medians for each confirmation bucket.  The sorting forces a
 relationship where there might not be one.  Imagine some other variable,
 such as first 2 bytes of the transaction hash.  If we sorted these and then
 used them to give estimates, we'd see a clear but false relationship where
 transactions with low starting bytes in their hashes took longer to confirm.

 3) Transactions which don't have all their inputs available (because they
 depend on other transactions in the mempool) aren't excluded from the
 calculations.  This skews the results.

 I rewrote the code to follow a different approach.  I divided all possible
 fee rates up into fee rate buckets (I spaced these logarithmically).  For
 each transaction that was confirmed, I updated the appropriate fee rate
 bucket with how many blocks it took to confirm that transaction.

 The hardest part of doing this fee estimation is to decide what the
 question really is that we're trying to answer.  I took the approach that
 if you are asking what fee rate I need to be confirmed within Y blocks,
 then what you would like to know is the lowest fee rate such that a
 relatively high percentage of transactions of that fee rate are confirmed
 within Y blocks. Since even the highest fee transactions are confirmed
 within the first block only 90-93% of the time, I decided to use 80% as my
 cutoff.  So now to answer estimatefee Y, I scan through all of the fee
 buckets from the most expensive down until I find the last bucket with 80%
 of the transactions confirmed within Y blocks.

 Unfortunately we still have the problem of not having enough data points
 for non-typical fee rates, and so it requires gathering a lot of data to
 give reasonable answers. To keep all of these data points in a circular
 buffer and then sort them for every analysis (or after every new block) is
 expensive.  So instead I adopted the approach of keeping an exponentially
 decaying moving average for each bucket.  I used a decay of .998 which
 represents a half life of 374 blocks or about 2.5 days.  Also if a bucket
 doesn't have very many transactions, I combine it with the next bucket.

 Here is a link https://github.com/morcos/bitcoin/pull/3 to the code.  I
 can create an actual pull request if there is consensus that it makes sense
 to do so.

 I've attached a graph comparing the estimates produced for 1-3
 confirmations by the new code and the old code.  I did apply the patch to
 fix issue 3 above to the old code first.  The new code is in green and the
 fixed code is in purple.  The Y axis is a log scale of feerate in satoshis
 per KB and the X axis is chain height.  The new code produces the same
 estimates for 2 and 3 confirmations (the answers are effectively quantized
 by bucket).

 I've also completely reworked smartfees.py.  It turns out to require many
 many more transactions are put through in order to have statistically
 significant results, so the test is quite slow to run (about 3 mins on my
 machine).

 I've also been running a real world test, sending transactions of various
 fee rates and seeing how long they took to get confirmed.  After almost 200
 tx's at each fee rate, here are the results so far:

 Fee rate 1100   

Re: [Bitcoin-development] Reworking the policy estimation code (fee estimates)

2014-10-28 Thread Gavin Andresen
I think Alex's approach is better; I don't think we can know how much
better until we have a functioning fee market.

We don't have a functioning fee market now, because fees are hard-coded. So
we get pay the hard-coded fee and you'll get confirmed in one or two or
three blocks, depending on which miners mine the next three blocks and what
time of day it is.

git HEAD code says you need a fee of 10, satoshis/kb to be pretty sure
you'll get confirmed in the next block. That looks about right with Alex's
real-world data (if we take 90% chance as 'pretty sure you'll get
confirmed'):

Fee rate 10 Avg blocks to confirm 1.09 NumBlocks:% confirmed 1: 0.901
2: 1.0   3: 1.0

My only concern with Alex's code is that it takes much longer to get
'primed' -- Alex, if I started with no data about fees, how long would it
take to be able to get enough data for a reasonable estimate of what is
the least I can pay and still be 90% sure I get confirmed in 20 blocks ?
Hours? Days? Weeks?

-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Reworking the policy estimation code (fee estimates)

2014-10-28 Thread Alex Morcos
Oh in just a couple of blocks, it'll give you a somewhat reasonable
estimate for asking about every confirmation count other than 1, but it
could take several hours for it to have enough data points to give you a
good estimate for getting confirmed in one block (because the prevalent
feerate is not always confirmed in 1 block 80% of the time)   Essentially
what it does is just combine buckets until it has enough data points, so
after the first block it might be treating all of the txs as belonging to
the same feerate bucket, but since the answer it returns is the median*
fee rate for that bucket, its a reasonable answer right off the get go.

Do you think it would make sense to make that 90% number an argument to rpc
call?  For instance there could be a default (I would use 80%) but then you
could specify if you required a different certainty.  It wouldn't require
any code changes and might make it easier for people to build more
complicated logic on top of it.

*It can't actually track the median, but it identifies which of the smaller
actual buckets the median would have fallen into and returns the average
feerate for that median bucket.





On Tue, Oct 28, 2014 at 9:59 AM, Gavin Andresen gavinandre...@gmail.com
wrote:

 I think Alex's approach is better; I don't think we can know how much
 better until we have a functioning fee market.

 We don't have a functioning fee market now, because fees are hard-coded.
 So we get pay the hard-coded fee and you'll get confirmed in one or two or
 three blocks, depending on which miners mine the next three blocks and what
 time of day it is.

 git HEAD code says you need a fee of 10, satoshis/kb to be pretty sure
 you'll get confirmed in the next block. That looks about right with Alex's
 real-world data (if we take 90% chance as 'pretty sure you'll get
 confirmed'):

 Fee rate 10 Avg blocks to confirm 1.09 NumBlocks:% confirmed 1: 0.901
 2: 1.0   3: 1.0

 My only concern with Alex's code is that it takes much longer to get
 'primed' -- Alex, if I started with no data about fees, how long would it
 take to be able to get enough data for a reasonable estimate of what is
 the least I can pay and still be 90% sure I get confirmed in 20 blocks ?
 Hours? Days? Weeks?

 --
 --
 Gavin Andresen

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Reworking the policy estimation code (fee estimates)

2014-10-28 Thread Alex Morcos
Sorry, perhaps I misinterpreted that question.  The estimates will be
dominated by the prevailing transaction rates initially, so the estimates
you get for something like what is the least I can pay and still be 90%
sure I get confirmed in 20 blocks  won't be insane, but they will still be
way too conservative.  I'm not sure what you meant by reasonable.  You
won't get the correct answer of something significantly less than 40k
sat/kB for quite some time.  Given that the half-life of the decay is 2.5
days, then within a couple of days.  And in fact even in the steady state,
the new code will still return a much higher rate than the existing code,
say 10k sat/kB instead of 1k sat/kB, but that's just a result of the
sorting the existing code does and the fact that no one places transactions
with that small fee.   To correctly give such low answers, the new code
will require that those super low feerate transactions are occurring
frequently enough, but the bar for enough datapoints in a feerate bucket is
pretty low, an average of 1 tx per block.  The bar can be made lower at the
expense of a bit of noisiness in the answers, for instance for priorities I
had to make the bar significantly lower because there are so many fewer
transactions confirmed because of priorities.  I'm certainly open to tuning
some of these variables.





On Tue, Oct 28, 2014 at 10:30 AM, Alex Morcos mor...@gmail.com wrote:

 Oh in just a couple of blocks, it'll give you a somewhat reasonable
 estimate for asking about every confirmation count other than 1, but it
 could take several hours for it to have enough data points to give you a
 good estimate for getting confirmed in one block (because the prevalent
 feerate is not always confirmed in 1 block 80% of the time)   Essentially
 what it does is just combine buckets until it has enough data points, so
 after the first block it might be treating all of the txs as belonging to
 the same feerate bucket, but since the answer it returns is the median*
 fee rate for that bucket, its a reasonable answer right off the get go.

 Do you think it would make sense to make that 90% number an argument to
 rpc call?  For instance there could be a default (I would use 80%) but then
 you could specify if you required a different certainty.  It wouldn't
 require any code changes and might make it easier for people to build more
 complicated logic on top of it.

 *It can't actually track the median, but it identifies which of the
 smaller actual buckets the median would have fallen into and returns the
 average feerate for that median bucket.





 On Tue, Oct 28, 2014 at 9:59 AM, Gavin Andresen gavinandre...@gmail.com
 wrote:

 I think Alex's approach is better; I don't think we can know how much
 better until we have a functioning fee market.

 We don't have a functioning fee market now, because fees are hard-coded.
 So we get pay the hard-coded fee and you'll get confirmed in one or two or
 three blocks, depending on which miners mine the next three blocks and what
 time of day it is.

 git HEAD code says you need a fee of 10, satoshis/kb to be pretty
 sure you'll get confirmed in the next block. That looks about right with
 Alex's real-world data (if we take 90% chance as 'pretty sure you'll get
 confirmed'):

 Fee rate 10 Avg blocks to confirm 1.09 NumBlocks:% confirmed 1: 0.901
 2: 1.0   3: 1.0

 My only concern with Alex's code is that it takes much longer to get
 'primed' -- Alex, if I started with no data about fees, how long would it
 take to be able to get enough data for a reasonable estimate of what is
 the least I can pay and still be 90% sure I get confirmed in 20 blocks ?
 Hours? Days? Weeks?

 --
 --
 Gavin Andresen



--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Reworking the policy estimation code (fee estimates)

2014-10-28 Thread Gavin Andresen
On Tue, Oct 28, 2014 at 10:30 AM, Alex Morcos mor...@gmail.com wrote:

 Do you think it would make sense to make that 90% number an argument to
 rpc call?  For instance there could be a default (I would use 80%) but then
 you could specify if you required a different certainty.  It wouldn't
 require any code changes and might make it easier for people to build more
 complicated logic on top of it.


RE: 80% versus 90% :  I think a default of 80% will get us a lot of the
fee estimation logic is broken, I want my transactions to confirm quick and
a lot of them aren't confirming for 2 or 3 blocks.

RE: RPC argument:  I'm reluctant to give too many 'knobs' for the RPC
interface. I think the default percentage makes sense as a
command-line/bitcoin.conf option; I can imagine services that want to save
on fees running with -estimatefeethreshold=0.5  (or
-estimatefeethreshold=0.95 if as-fast-as-possible confirmations are
needed). Setting both the number of confirmations and the estimation
threshold on a transaction-by-transaction basis seems like overkill to me.

-- 
--
Gavin Andresen
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Reworking the policy estimation code (fee estimates)

2014-10-28 Thread Alex Morcos
RE: 90% : I think it's fine to use 90% for anything other than 1
confirmation, but if you look at the real world data test I did, or the raw
data from this new code, you'll see that even the highest fee rate
transactions only get confirmed at about a 90% rate in 1 block, so that if
you use that as your cut-off you will sometimes get no answer and sometimes
get a very high fee rate and sometimes get a reasonable fee rate, it just
depends because the data is too noisy.  I think thats just because there is
no good answer to that question.  There is no fee you can put on your
transaction to guarantee greater than 90% chance of getting confirmed in
one block.  I think 85% might be safe?

RE: tunable as command-line/bitcoin.conf: sounds good!

OK, sorry to have all this conversation on the dev list, maybe i'll turn
this into an actual PR if we want to comment on the code?
I just wanted to see if it even made sense to make a PR for this or this
isn't the way we wanted to go about it.




On Tue, Oct 28, 2014 at 10:58 AM, Gavin Andresen gavinandre...@gmail.com
wrote:

 On Tue, Oct 28, 2014 at 10:30 AM, Alex Morcos mor...@gmail.com wrote:

 Do you think it would make sense to make that 90% number an argument to
 rpc call?  For instance there could be a default (I would use 80%) but then
 you could specify if you required a different certainty.  It wouldn't
 require any code changes and might make it easier for people to build more
 complicated logic on top of it.


 RE: 80% versus 90% :  I think a default of 80% will get us a lot of the
 fee estimation logic is broken, I want my transactions to confirm quick and
 a lot of them aren't confirming for 2 or 3 blocks.

 RE: RPC argument:  I'm reluctant to give too many 'knobs' for the RPC
 interface. I think the default percentage makes sense as a
 command-line/bitcoin.conf option; I can imagine services that want to save
 on fees running with -estimatefeethreshold=0.5  (or
 -estimatefeethreshold=0.95 if as-fast-as-possible confirmations are
 needed). Setting both the number of confirmations and the estimation
 threshold on a transaction-by-transaction basis seems like overkill to me.

 --
 --
 Gavin Andresen

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] DS Deprecation Window

2014-10-28 Thread Tom Harding
On 10/27/2014 7:36 PM, Gregory Maxwell wrote:
 Consider a malicious miner can concurrently flood all other miners
 with orthogonal double spends (which he doesn't mine himself). These
 other miners will all be spending some amount of their time mining on
 these transactions before realizing others consider them
 double-spends.

If I understand correctly, the simplest example of this attack is three 
transactions spending the same coin, distributed to two miners like this:

 Miner AMiner B
Mempool   tx1a   tx1b
Relayed   tx2tx2

Since relay has to be limited, Miner B doesn't know about tx1a until it 
is included in Miner A's block, so he delays that block (unless it 
appears very quickly).

To create this situation, attacker has to transmit all three 
transactions very quickly, or mempools will be too synchronized. 
Attacker tries to make it so that everyone else has a tx1a conflict that 
Miner A does not have.  Ditto for each individual victim, with different 
transactions (this seems very difficult).

Proposal shows that there is always a tiny risk to including tx1 when a 
double-spend is known, and I agree that this attack can add something to 
that risk.  Miner A can neutralize his risk by excluding any tx1 known 
to be double-spent, but as Thomas Zander wrote, that is an undesirable 
outcome.

However, Miner A has additional information - he knows how soon he 
received tx2 after receiving tx1a.

The attack has little chance of working if any of the malicious 
transactions are sent even, say, 10 seconds apart from each other. 
Dropping the labels for transmit-order numbering, if the 1-2 transmit 
gap is large, mempools will agree on 1.  If 1-2 gap is small, but the 
gap to 3 is large, mempools will agree on the 1-2 pair, but possibly 
have the order reversed.  Either way, mempools won't disagree on the 
existence of 1 unless the 1-3 gap is small.

So, I think it will be possible to quantify and target the risk of 
including tx1a to an arbitrarily low level, based on the local 
measurement of the time gap to tx2, and an effective threshold won't be 
very high.  It does highlight yet again, the shorter the time frame, the 
greater the risk.


--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] death by halving

2014-10-28 Thread Ferdinando M. Ametrano
On Oct 25, 2014 9:19 PM, Gavin Andresen gavinandre...@gmail.com wrote:
 We had a halving, and it was a non-event.
 Is there some reason to believe next time will be different?

In november 2008 bitcoin was a much younger ecosystem, with less liquidity
and trading, smaller market cap, and the halving happened during a quite
stable positive price trend.

In the next months competition might easily drive down mining margins, and
the reward halving might generate unexpected disruption in mining
operations.

Moreover, halving is not strictly necessary to respect the spirit of
Nakamoto's monetary rule and its 21M limit. At the beginning of the 3rd
reward era (block 42, in 2017) a new reward function could become
effective R(b)=k*2^(-h*b/21) where b is the block number and R(b) is
the reward. The parameters h and k can be calibrated so that R(41)=25
and sum_b{R}=21M


​If the increased issuance speed in the third era is considered
problematic, then each era could have its own R_e(b)=k_e*2^(-h_e*b/21)
fitted to the amount of coins to be issued in that era according to the
current supply rule, e.g. fitting k_e and h_e to R(41)=25 and
sum_{b}_e=2,625,000.

Would such a BIP have any chance to be considered? Am I missing something?

Nando
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


[Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Gregory Maxwell
On Tue, Oct 28, 2014 at 8:17 PM, Ferdinando M. Ametrano
ferdinando.ametr...@gmail.com wrote:

 On Oct 25, 2014 9:19 PM, Gavin Andresen gavinandre...@gmail.com wrote:
  We had a halving, and it was a non-event.
  Is there some reason to believe next time will be different?

 In november 2008 bitcoin was a much younger ecosystem,

Or very old, indeed, if you are using unsigned arithmetic. [...]

 and the halving happened during a quite stable positive price trend

Hardly,

http://bitcoincharts.com/charts/mtgoxUSD#rg60zczsg2012-10-01zeg2012-12-01ztgSzm1g10zm2g25zv

 Moreover, halving is not strictly necessary to respect the spirit of 
 Nakamoto's monetary rule

It isn't, but many people have performed planning around the current
behaviour. The current behaviour has also not shown itself to be
problematic (and we've actually experienced its largest effect already
without incident), and there are arguable benefits like encouraging
investment in mining infrastructure.

This thread is, in my opinion, a waste of time.  It's yet again
another perennial bikeshedding proposal brought up many times since at
least 2011, suggesting random changes for
non-existing(/not-yet-existing) issues.

There is a lot more complexity to the system than the subsidy schedule.

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Alex Mizrahi
 This thread is, in my opinion, a waste of time.  It's yet again
 another perennial bikeshedding proposal brought up many times since at
 least 2011, suggesting random changes for
 non-existing(/not-yet-existing) issues.

 There is a lot more complexity to the system than the subsidy schedule.


Well, the main question is what makes Bitcoin secure.
It is secured by proofs of work which are produced by miners.
Miners have economic incentives to play by the rules; in simple terms, that
is more profitable than performing attacks.

So the question is, why and when it works? It would be nice to know the
boundaries, no?
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Jérémie Dubois-Lacoste
Answering today's concerns with yesterday's facts is dangerous,
especially with bitcoin on a 4 years period. I personally consider all
arguments like we went through once, and nothing special. So no
disturbance worthy of discussion to expect baseless.
Also, starting a topic with mentions of death is not leading to any
useful discussion.

@Topic starters: don't oversell your topic with that kind of
vocabulary hype. death by halving, seriously?
@Everybody else: don't focus on the chosen vocabulary, or use it to
discard what might be a relevant discussion topic.

The fact that a topic was brought up many times since a long time,
does not mean it is not relevant. It only means it is a recurring
concern. I read no convincing argument against a significant
disturbance of the mining market to come. The fact that it is known in
advance is no counter argument to me.
Environmental conditions will have changed so much, the next halving
occurence might have nothing to do with the previous one, and it
should be perfectly ok to discuss it instead of putting the whole
thing under the carpet.

What is most important to the discussion to me: the main difference
between the last halving and the one to come is the relative weight of
ideology vs. rationality in miners's motivations. Effectively putting
us closer to the original bitcoin premises (miners fully rational).
Miners were close to being 100% individuals last halving, they are now
largely for-profit companies. This isn't a change we can overlook with
pure maths or with previous experience.


Jeremie DL





2014-10-28 21:36 GMT+01:00 Gregory Maxwell gmaxw...@gmail.com:
 On Tue, Oct 28, 2014 at 8:17 PM, Ferdinando M. Ametrano
 ferdinando.ametr...@gmail.com wrote:

 On Oct 25, 2014 9:19 PM, Gavin Andresen gavinandre...@gmail.com wrote:
  We had a halving, and it was a non-event.
  Is there some reason to believe next time will be different?

 In november 2008 bitcoin was a much younger ecosystem,

 Or very old, indeed, if you are using unsigned arithmetic. [...]

 and the halving happened during a quite stable positive price trend

 Hardly,

 http://bitcoincharts.com/charts/mtgoxUSD#rg60zczsg2012-10-01zeg2012-12-01ztgSzm1g10zm2g25zv

 Moreover, halving is not strictly necessary to respect the spirit of 
 Nakamoto's monetary rule

 It isn't, but many people have performed planning around the current
 behaviour. The current behaviour has also not shown itself to be
 problematic (and we've actually experienced its largest effect already
 without incident), and there are arguable benefits like encouraging
 investment in mining infrastructure.

 This thread is, in my opinion, a waste of time.  It's yet again
 another perennial bikeshedding proposal brought up many times since at
 least 2011, suggesting random changes for
 non-existing(/not-yet-existing) issues.

 There is a lot more complexity to the system than the subsidy schedule.

 --
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development

2014-10-28 21:57 GMT+01:00 Alex Mizrahi alex.mizr...@gmail.com:


 This thread is, in my opinion, a waste of time.  It's yet again
 another perennial bikeshedding proposal brought up many times since at
 least 2011, suggesting random changes for
 non-existing(/not-yet-existing) issues.

 There is a lot more complexity to the system than the subsidy schedule.


 Well, the main question is what makes Bitcoin secure.
 It is secured by proofs of work which are produced by miners.
 Miners have economic incentives to play by the rules; in simple terms, that
 is more profitable than performing attacks.

 So the question is, why and when it works? It would be nice to know the
 boundaries, no?


 --

 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Ferdinando M. Ametrano
  In november 2008 bitcoin was a much younger ecosystem,

 Or very old, indeed, if you are using unsigned arithmetic. [...]

:-) I meant 2012, of course, but loved your wit


  and the halving happened during a quite stable positive price trend

 Hardly,


 http://bitcoincharts.com/charts/mtgoxUSD#rg60zczsg2012-10-01zeg2012-12-01ztgSzm1g10zm2g25zv


indeed!
http://bitcoincharts.com/charts/mtgoxUSD#rg60zczsg2012-08-01zeg2013-02-01ztgSzm1g10zm2g25zv


 There is a lot more complexity to the system than the subsidy schedule.

who said the contrary?

This thread is, in my opinion, a waste of time.

it might be, I have some free time right now...

many people have performed planning around the current
 behaviour. The current behaviour has also not shown itself to be
 problematic (and we've actually experienced its largest effect already
 without incident), and there are arguable benefits like encouraging
 investment in mining infrastructure.


I would love a proper rebuttal of a basic economic argument. If increased
competition will push mining revenues below 200% of operational costs, then
the halving will suddenly switch off many non profitable mining resources.
As of now the cost per block is probably already about 100USD, probably in
the 50-150USD.
Dismissed mining resources might even become cheaply available for
malevolent agents considering a 51% attack. Moreover the timing would be
perfect for the burst of any existing cloud hashing Ponzi scheme.
From a strict economic point of view allowing the halving jump is looking
for trouble. To each his own.
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Neil
Economically a halving is almost the same as a halving in price (as fees
take up more of the pie, less so).

Coincidentally the price has halved since early July to mid-October, and
we've not even seen difficulty fall yet.

I don't think there's much to see here.

Neil
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Gregory Maxwell
On Tue, Oct 28, 2014 at 9:19 PM, Jérémie Dubois-Lacoste
jeremie...@gmail.com wrote:
 The fact that a topic was brought up many times since a long time,
 does not mean it is not relevant.

I am not saying that it is not relevant, I'm saying the discussion
is pointless:

No new information has arrived since the very first times that this
has been discussed except
that the first halving passed without incident.
If people were not sufficiently convinced that this was a serious
concern before there was concrete evidence (however small) that it was
okay, then discussion is not likely going to turn out differently the
50th or 100th time it is repeated...
except, perhaps, by wearing out all the most experienced and
knowledgeable among us as we become tired of rehashing the same
discussions over and over again.

On Tue, Oct 28, 2014 at 9:23 PM, Ferdinando M. Ametrano
ferdinando.ametr...@gmail.com wrote:
[snip]
 As of now the cost per block is probably already about 100USD, probably in
 the 50-150USD.

This is wildly at odds with reality. I don't mean to insult, but
please understand that every post you make here consumes the time of
dozens (or, hopefully, hundreds) of people. Every minute you spend
refining your post has a potential return of many minutes for the rest
of the users of the list.

At current difficulty, with a SP30 (one of the
leading-in-power-efficiency) marginal break-even is ~1144.8852 * $/kwh
== $/btc.

At $0.10/kwh each block has an expected cost right now, discounting
all one time hardware costs, close to $3000.

--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Ferdinando M. Ametrano
On Tue, Oct 28, 2014 at 10:34 PM, Neil kyuupic...@gmail.com wrote:

 Economically a halving is almost the same as a halving in price (as fees
 take up more of the pie, less so).

 Coincidentally the price has halved since early July to mid-October, and
 we've not even seen difficulty fall yet.

because mining profits are many times operational costs. This might change
because of competition, in that case halving in price will become
problematic.

It amazes me that basic economic considerations seems completely lost here,
especially when it comes to mining. We should have learned the lesson of
how a small error in the incentive structure has lead from one CPU, one
vote to an oligopoly which might easily become a monopoly in the near
future.
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Christophe Biocca
 The fact that it is known in advance is no counter argument to me.

But it does change miner behaviour in pretty significant ways.

Unlike difficulty forecasting, which seems near impossible to do
accurately, miners can plan to purchase less hardware as they approach
the revenue drop. You can do some basic cost/benefit calculation and
see that *if* margins are already low as the halving approaches, then
rational miners would cease purchasing any new hardware that wouldn't
be profitable past that point, unless they expect it to pay for itself
by then.

The lower the margins are, the longer in advance they would alter
their buying behaviour. You'd see an increased focus on cost-effective
hashpower (and older units would not be replaced as they break).
Either a significant supply of cost effective hardware shows up
(because it's the only thing that would sell in the last months), or
difficulty would stall long before the halving happens. Either way,
the predictability of the halving can reduce the hashpower on the day.

On Tue, Oct 28, 2014 at 5:34 PM, Neil kyuupic...@gmail.com wrote:
 Economically a halving is almost the same as a halving in price (as fees
 take up more of the pie, less so).

 Coincidentally the price has halved since early July to mid-October, and
 we've not even seen difficulty fall yet.

 I don't think there's much to see here.

 Neil


 --

 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Thomas Zander
On Tuesday 28. October 2014 22.44.50 Ferdinando M. Ametrano wrote:
 It amazes me that basic economic considerations seems completely lost here,
 especially when it comes to mining.

Please don't confuse people dismissing your thoughts with dismissing the basic 
economic considerations. The fact of the matter is that you didn't read the 
archives where these ideas have been brought forward and discussed, a 
consensus was reached. (it wasn't so basic afterall)

The fact that people don't want to repeat the discussion just for your sake is 
not the same as people not listening to those arguments.



--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Ferdinando M. Ametrano
On Tue, Oct 28, 2014 at 11:00 PM, Thomas Zander tho...@thomaszander.se
wrote:

 you didn't read the
 archives where these ideas have been brought forward and discussed, a
 consensus was reached. (it wasn't so basic afterall)
 The fact that people don't want to repeat the discussion just for your
 sake is
 not the same as people not listening to those arguments.


I didn't start the thread and so didn't research the archive. Until two
posts ago there was no reference about the issue being discussed before. A
link would have been much kinder than harsh dismissal. I will research and
read.
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Fwd: death by halving

2014-10-28 Thread Ferdinando M. Ametrano
On Tue, Oct 28, 2014 at 10:43 PM, Gregory Maxwell gmaxw...@gmail.com
wrote:

  As of now the cost per block is probably already about 100USD, probably
 in
  the 50-150USD.

 This is wildly at odds with reality. I don't mean to insult, but
 please understand that every post you make here consumes the time of
 dozens (or, hopefully, hundreds) of people. Every minute you spend
 refining your post has a potential return of many minutes for the rest
 of the users of the list.

 At current difficulty, with a SP30 (one of the
 leading-in-power-efficiency) marginal break-even is ~1144.8852 * $/kwh
 == $/btc.

 At $0.10/kwh each block has an expected cost right now, discounting
 all one time hardware costs, close to $3000.


yes, you're right I meant about $100USD per BTC, i.e. $2500 per block.
Because of my mistake I'll shut up and go back researching the archive on
this issue.

Thank you for the kind summary of the many good reasons why halving is a
non-issue. Very much appreciated, especially considering how precious is
your time.
--
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development