[Bitcoin-development] replace-by-fee v0.10.0rc4
gmaxwell at gmail.com
Thu Feb 12 19:49:29 UTC 2015
On Thu, Feb 12, 2015 at 1:18 PM, Mike Hearn <mike at plan99.net> wrote:
> history. Lots of miners have dropped out due to hardware obsolescence, yet
> massive double spending hasn't happened.
How many thousands of BTC must be stolen by miners before you'd agree
that it has, in fact, happened?
On Thu, Feb 12, 2015 at 3:27 PM, Jeff Garzik <jgarzik at bitpay.com> wrote:
> The fundamental engineering truths diverge from that misty goal:
> Bitcoin is a settlement system, by design.
> The process of consensus "settles" upon a timeline of transactions,
> and this process -- by design -- is necessarily far from instant.
> Alt-coins that madly attempt 10-second block times etc. are simply a
> vain attempt to paper over this fundamental design attribute:
> consensus takes time.
> As such, the blockchain can never support All The Transactions, even
> if block size increases beyond 20MB. Further layers are -- by design
> -- necessary if we want to achieve the goal of a decentralized payment
> network capable of supporting full global traffic.
I just wanted to pull this out and say that I agree with this
completely; to the point where I'm continually surprised to see people
expressing other views (but they do).
I don't have much opinion about replace-by-fee; It has pluses and
minuses. In the past I've considered it a "oh perhaps best to not talk
about that" idea. I think making zero conf actively less secure would
be generally regrettable, though it might make building alternatives
for fast and acceptably safe transactions more attractive sooner. I do
favor a version of replace by fee that adds the extra constraint that
all prior outputs must be paid equal or more; which would capture many
of the 'opps paid too little' without opening up the malicious double
spends quite as much (so soon).
One challenge is that without rather smart child-pays-for-parent logic
the positive argument for replace by fee doesn't really work.
On Thu, Feb 12, 2015 at 12:52 PM, Alex Mizrahi <alex.mizrahi at gmail.com> wrote:
> This would be right if you assume that all Bitcoin miners act as a single
> entity. In that case it is true that that entity's goal is to maximize
> overall ROI.
> But each miner makes decisions on his own. Are you familiar with a concept
> of Nash equilibrium, prisoner's dilemma, etc?
> The fact that nobody is using this kind of a behavior right now doesn't mean
> that we can rely on it.
> For example, Peercoin was horribly broken in 6 months after its release
> (e.g. people reported that they are able to generate 50 consecutive blocks
> simply by bringing a cold wallet online) and yet nobody bothered to exploit
> it, and it managed to acquire non-negligible "market cap".
As a point for historical accuracy: PPC was actively attacked with
stake grinding and had to use developer signed blocks to prevent the
attacker from mining all the blocks and then later made a hard fork to
make it harder, and retains the developer block signing to stop it.
This doesn't contradict your point, which I agree with: an absence of
attacks doesn't mean an absence of vulnerability, and people counting
on things that they wouldn't if they understood them better is
something to avoid. And the prior point about game theory is one I
think some people have a hard time with: partipants are looking out
for their own interests, not some global optimum. It may not be the
case that everyone (or even anyone) is maximally short sighted; but
it's even more unreasonable to assume that no one will ever break rank
and do something selfish.
I don't know that RBF even needs to be debated on these terms, since
there is an argument for RBF as good even if we assume miners are all
fully protocol conforming.
More information about the bitcoin-dev