Subject: Re: [Bitcoin-development] New standard transaction types: time to schedule a blockchain split?

From: Gregory Maxwell <[email-masked]>
Date: Wed, 24 Aug 2011 12:46:42 -0400

On Wed, Aug 24, 2011 at 12:15 PM, Luke-Jr <[email-masked]> wrote:

> - Replace hard limits (like 1 MB maximum block size) with something that can
> dynamically adapt with the times. Maybe based on difficulty so it can't be
> gamed?

Too early for that.

> - Adjust difficulty every block, without limits, based on a N-block sliding
>  window. I think this would solve the issue when the hashrate drops
>  overnight, but maybe also add a block time limit, or perhaps include the
>  "current block" in the difficulty calculation?

The quantized scheme limits the amount of difficulty skew miners can
create by lying about timestamps to about a half a percent. A rolling
window with the same time constant would allow much more skew.

> Replacing the "Satoshi" 64-bit integers with
> "Satoshi" variable-size fractions (ie, infinite numerator + denominator)

Increasing precision I would agree with but, sadly, causing people to
need more than 64 bit would create a lot of bugs.

infinite numerator + denominator is absolutely completely and totally
batshit insane. For one, it has weird consequences that the same value
can have redundant encodings.

Most importantly, it suffers factor inflation: If you spend inputs
1/977 1/983 1/991 1/997 the smallest denominator you can use for the
output 948892238557.

Not to mention that the idiots writing financial software can only
barely manage to not use radix-2 floating point on everything. Asking
them to use arbitrary rational numbers with mixed radix will never
fly.

> - Remove the 100 confirmation requirement for spending generated coins. If
>  they are respent before 100 confirmations, clients can/should flag the new
>  outputs as also "generated" or "recently generated" so recipients are aware
> of the risk.

Please lets not make bitcoin _less_ trustworthy.

The 100 block maturity on generated coins is good. The generation from
an orphaning is lost forever like the losing side of a double spend,
but far far worse... because orphaning happens all the time on its own
without any malice.

I agree it's obnoxious that you can't pad your generation payouts
without creating more transactions, but I don't see a solution for
that. Repeat the addresses... make up for it by increasing your payout
threshold.