Re: [bitcoin-dev] A reason we can all agree on to increase block size

2015-08-04 Thread Jorge Timón via bitcoin-dev
On Mon, Aug 3, 2015 at 8:53 AM, Jim Phillips via bitcoin-dev
bitcoin-dev@lists.linuxfoundation.org wrote:

 Yes I've had a couple other people point that out to me as well and the logic 
 is sound. Unfortunately that doesn't help solve the actual issue that mining 
 is currently consolidated within the jurisdiction of a single political body 
 that is not exactly Bitcoin friendly. I don't know how to solve that issue 
 aside from pointing it out and hoping miners outside of China point to 
 different pools and build more farms in smaller countries. Venezuela for 
 example has cheap electricity and could be a good place to mine. Iceland too.

It's interesting how realizing that the blocksize consensus limit does
the opposite of what you initially thought when starting the thread
didn't changed your conclusion from

If you're truly worried about larger blocks causing centralization,
think about how, by restricting blocksize, you're enabling the
Communist Chinese government to maintain centralized control over 57%
of the Bitcoin hashing power.

to

If you're truly worried about larger blocks causing centralization,
think about how, by INCREASING blocksize, you're enabling the
Communist Chinese government to POTENTIALLY INCREASE ITS centralized
control over 57% of the Bitcoin hashing power.

The new conclusion is just somebody should mine from Venezuela and
Iceland instead.

If you were so concerned about mining centralization, now that you
understand how the blocksize maximum influences it (by being the only
consensus rule that limits it) and if you were consequent, now you
would warn about the dangers of increasing the blocksize consensus
limit in this particular moment in time when mining centralization
looks already really bad (ie 57% hashrate in the same jurisdiction).
Another possibility is that you don't really care about mining
centralization and you were only looking for an argument in favor of
increasing the blocksize, which for some other reason you have already
concluded that must be done as soon as possible.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Hector Chu via bitcoin-dev
Mike's position is that he wants the block size limit
to eventually be removed. That is of course an extreme view. Meanwhile,
your view that the block size should be artificially constrained below the
organic growth curve (in a way that will penalize a majority of existing
and future users) lies at the other extreme. The majority position lies
somewhere in between (i.e. a one-time increase to 8MB). This is the
position that ultimately matters.

If the block size is increased to 8MB and things get demonstrably a whole
lot worse, then you will have a solid leg to stand on. In that case we can
always do another hard fork later to reduce the block size back to
something smaller, and henceforth the block size will never be touched
again.

On 4 August 2015 at 11:35, Jorge Timón 
bitcoin-dev@lists.linuxfoundation.org wrote:

 On Fri, Jul 31, 2015 at 4:58 PM, Mike Hearn he...@vinumeris.com wrote:
  How more users or more nodes can bring more miners, or more importantly,
  improve mining decentralization?
 
 
  Because the bigger the ecosystem is the more interest there is in taking
  part?

 As explained by Venzen, this is a non-sequitur.

  I mean, I guess I don't know how to answer your question.

 I don't know the answer either, that's fine. It's the opposite
 question that I've been insistently repeating and you've been
 (consciously or not) consistently evading.
 But that's also fine because I believe you finally answer it a few lines
 below.

  When Bitcoin was
  new it had almost no users and almost no miners. Now there are millions
 of
  users and factories producing ASICs just for Bitcoin.

 The emergence of a btc price enabled the emergence of professional
 miners, which in turn enabled the emergence of sha256d-specialized
 hardware production companies.
 Nothing surprising there.
 By no means it consitutes an example of how a bigger consensus sizes
 can cause less mining centralization.

  Surely the correlation is obvious?

 Correlation does not imply causation. I will better leave it at that...

  I'm sorry, but until there's a simulation that I can run with different
  sizes' testchains (for example using #6382) to somehow compare them, I
 will
  consider any value arbitrary.
 
 
  Gavin did run simulations. 20mb isn't arbitrary, the process behind it
 was
  well documented here:
 
 
 http://gavinandresen.ninja/does-more-transactions-necessarily-mean-more-centralized
 
  I chose 20MB as a reasonable block size to target because 170 gigabytes
 per
  month comfortably fits into the typical 250-300 gigabytes per month data
  cap– so you can run a full node from home on a “pretty good” broadband
 plan.
 
  Did you think 20mb was picked randomly?

 No, I think 20 MB was chosen very optimistically, considering 3rd
 party services rates (not the same service as self-hosting) in the
 so-called first world. And then 20 MB goes to 20 GB, again with
 optimistic and by no means scientific expectations.

 But where the number comes from it's not really what I'm demaning,
 what I want is some criterion that can tell you that a given size
 would be too centralized but another one isn't.
 I haven't read any analysis on why 8GB is a better option than 7GB and
 9GB for a given criterion (nor one declaring 20 GB a winner over 19 GB
 or 21 GB).
 A simulation test passing 20 GB but not 21 GB would make it far less
 arbitrary.

  Agreed on the first sentence, I'm just saying that the influence of
  the blocksize in that function is monotonic: with bigger sizes, equal
  or worse mining centralization.
 
 
  I have a hard time agreeing with this because I've seen Bitcoin go from
  blocks that were often empty to blocks that are often full, and in this
 time
  the number of miners and hash power on the network has gone up a huge
 amount
  too.

 I'm of course talking about consensus maximum blocksize, not about
 actual blocksize.
 Yes, again, when mining becomes profitable, economic actors tend to
 appear and get those profits.
 But don't confuse total hashrate improvements with an increase in the
 number of miners or with mining decentralization.

  You can argue that a miner doesn't count if they pool mine. But if a
 miner
  mines on a pool that uses exactly the same software and settings as the
  miner would have done anyway, then it makes no difference. Miners can
 switch
  between pools to find one that works the way they like, so whilst less
  pooling or more decentralised pools would be nice (e.g.
 getblocktemplate),
  and I've written about how to push it forward before, I still say there
 are
  many more miners than in the past.
 
  If I had to pick between two changes to improve mining decentralisation:
 
  1) Lower block size

 Finally, I think you finally answered my repetitive question here.
 If I say Mike Hearn understands that the consensus block size maximum
 rule is a tool for limitting mining centralization I'm not putting
 words in your mouth, right?
 I think many users advocating for an increase in the 

Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Pieter Wuille via bitcoin-dev
On Tue, Aug 4, 2015 at 3:12 PM, Gavin Andresen gavinandre...@gmail.com
wrote:

 On Tue, Aug 4, 2015 at 7:27 AM, Pieter Wuille via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:

 I would say that things already demonstrately got terrible. The mining
 landscape is very centralized, with apparently a majority depending on
 agreements to trust each other's announced blocks without validation.

 And that is a problem... why?


If miners need to form alliances of trusting each other's blocks without
validation to overcome the inefficiencies of slow block propagation, I
think we have a system that is in direct conflict with the word
permissionless that you use later.


 As Bitcoin grows, pieces of the ecosystem will specialize. Satoshi's
 original code did everything: hashing, block assembly, wallet, consensus,
 network. That is changing, and that is OK.


Specialization is perfectly fine.

 I believe that if the above would have happened overnight, people would
 have cried wolf. But somehow it happened slow enough, and things kept
 working.

 I don't think that this is a good criterion. Bitcoin can work with
 gigabyte blocks today, if everyone uses the same few blockchain validation
 services, the same few online wallets, and mining is done by a cartel that
 only allows joining after signing a contract so they can sue you if you
 create an invalid block. Do you think people will then agree that things
 got demonstratebly worse?

 Don't turn Bitcoin into something uninteresting, please.

Why is what you, personally, find interesting relevant?


I find it interesting to build a system that has potential to bring about
innovation.

I understand you want to build an extremely decentralized system, where
 everybody participating trusts nothing except the genesis block hash.


That is not true, I'm sorry if that is the impression I gave.

I see centralization and scalability as a trade-off, and for better or for
worse, the block chain only offers one trade-off. I want to see technology
built on top that introduces lower levels of trust than typical fully
centralized systems, while offering increased convenience, speed,
reliability, and scale. I just don't think that all of that can happen on
the lowest layer without hurting everything built on top. We need different
trade-offs, and the blockchain is just one, but a very fundamental one.

I think it is more interesting to build a system that works for hundreds of
 millions of people, with no central point of control and the opportunity
 for ANYBODY to participate at any level. Permission-less innovation is what
 I find interesting.


That sounds amazing, but do you think that Bitcoin, as it exists today, can
scale to hundreds of millions of users, while retaining any glimpse of
permission-lessness and decentralization? I think we need low-trust
off-chain systems and other innovations to make that happen.


 And I think the current demonstrably terrible Bitcoin system is still
 INCREDIBLY interesting.


I'm happy for you, then.

-- 
Pieter
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Eli Dourado on governance

2015-08-04 Thread Anthony Towns via bitcoin-dev
On 4 August 2015 at 01:22, Gavin Andresen via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 And the preliminary results of using a prediction market to try to wrestle
 with the tough tradeoffs looks roughly correct to me, too:
https://blocksizedebate.com/


​The scicast prediction market is shutdown atm (since early July?) so those
numbers aren't live. But...

Network hash rate
3,255.17 PH/s  (same block size)
5,032.64 PH/s  (block size increase)

4,969.68 PH/s  (no replace-by-fee)
3,132.09 PH/s  (replace-by-fee)

Those numbers seem completely implausible: that's ~2.9-3.6 doublings of the
current hashrate ( 400PH/s) in 17 months, when it's taken 12 months for
the last doubling, and there's a block reward reduction due in that period
too. (That might've been a reasonable prediction sometime in the past year,
when doublings were slowing from once every ~45 days to once a year; it
just doesn't seem a supportable prediction now)

That the PH/s rate is higher with bigger blocks is surprising, but given
that site also predicts USD/BTC will be $280 with no change but $555 with
bigger blocks, so I assume that difference is mostly due to price. Also,
12.5btc at $555 each is about 23 btc at $300 each, so if that price
increase is realistic, it would compensate for almost all of the block
reward reduction.

Daily transaction volume
168,438.22 tx/day  (same block size)
193,773.08 tx/day  (block size increase)

192,603.80 tx/day  (no replace-by-fee)
168,406.73 tx/day  (replace-by-fee)

That's only a 15% increase in transaction volume due to the block size
increase; I would have expected more? 168k-194k tx/day is also only a
30%-50% increase in transaction volume from 130k tx/day currently. If
that's really the case, then a 1.5MB-2MB max block size would probably be
enough for the next two years...

(Predicting that the node count will drop from ~5000 to ~1200 due to
increasing block sizes seems quite an indictment as far as centralisation
risks go; but given I'm not that convinced by the other predictions, I'm
not sure I want to give that much weight to that one either)

Cheers,
aj

-- 
Anthony Towns a...@erisian.com.au
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[bitcoin-dev] A Transaction Fee Market Exists Without a Block Size Limit--new research paper suggests

2015-08-04 Thread Peter R via bitcoin-dev
Dear Bitcoin-Dev Mailing list,

I’d like to share a research paper I’ve recently completed titled “A 
Transaction Fee Market Exists Without a Block Size Limit.”  In addition to 
presenting some useful charts such as the cost to produce large spam blocks, I 
think the paper convincingly demonstrates that, due to the orphaning cost, a 
block size limit is not necessary to ensure a functioning fee market.  

The paper does not argue that a block size limit is unnecessary in general, and 
in fact brings up questions related to mining cartels and the size of the UTXO 
set.   

It can be downloaded in PDF format here:

https://dl.dropboxusercontent.com/u/43331625/feemarket.pdf

Or viewed with a web-browser here:

https://www.scribd.com/doc/273443462/A-Transaction-Fee-Market-Exists-Without-a-Block-Size-Limit

Abstract.  This paper shows how a rational Bitcoin miner should select 
transactions from his node’s mempool, when creating a new block, in order to 
maximize his profit in the absence of a block size limit. To show this, the 
paper introduces the block space supply curve and the mempool demand curve.  
The former describes the cost for a miner to supply block space by accounting 
for orphaning risk.  The latter represents the fees offered by the transactions 
in mempool, and is expressed versus the minimum block size required to claim a 
given portion of the fees.  The paper explains how the supply and demand curves 
from classical economics are related to the derivatives of these two curves, 
and proves that producing the quantity of block space indicated by their 
intersection point maximizes the miner’s profit.  The paper then shows that an 
unhealthy fee market—where miners are incentivized to produce arbitrarily large 
blocks—cannot exist since it requires communicating information at an 
arbitrarily fast rate.  The paper concludes by considering the conditions under 
which a rational miner would produce big, small or empty blocks, and by 
estimating the cost of a spam attack.  

Best regards,
Peter___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Wrapping up the block size debate with voting

2015-08-04 Thread Hector Chu via bitcoin-dev
On 4 August 2015 at 10:03, Pieter Wuille via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 If you want to let a majority decide about economic policy of a currency,
 I suggest fiat currencies. They have been using this approach for quite a
 while, I hear.

Nearly all the fiat currencies I'm familiar with have their economic policy
dictated by the government or the relevant central bank committee. Ordinary
users of the banking system are not consulted.

 Bitcoin's consensus rules are a consensus system, not a democracy. Find a
 solution that everyone agrees on, or don't.

That's correct. The people who disagree will cease using the system, and
quite possibly move to a different one (i.e. Bitcoin XT). The people left
on the old system will indeed have a solution that they all can agree on.


 On Aug 4, 2015 9:51 AM, jl2012 via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:

 As now we have some concrete proposals (
 https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009808.html),
 I think we should wrap up the endless debate with voting by different
 stakeholder groups.

 -
 Candidate proposals

 Candidate proposals must be complete BIPs with reference implementation
 which are ready to merge immediately. They must first go through the usual
 peer review process and get approved by the developers in a technical
 standpoint, without political or philosophical considerations. Any fine
 tune of a candidate proposal may not become an independent candidate,
 unless it introduces some “real” difference. “No change” is also one of the
 voting options.
 -
 Voter groups

 There will be several voter groups and their votes will be counted
 independently. (The time frames mentioned below are just for example.)

 Miners: miners of blocks with timestamp between 1 to 30 Sept 2015 are
 eligible to vote. One block one vote. Miners will cast their votes by
 signing with the bitcoin address in coinbase. If there are multiple
 coinbase outputs, the vote is discounted by output value / total coinbase
 output value.
 Many well-known pools are reusing addresses and they may not need to
 digitally sign their votes. In case there is any dispute, the digitally
 signed vote will be counted.

 Bitcoin holders: People with bitcoin in the UTXO at block 372500 (around
 early September) are eligible to vote. The total “balance” of each
 scriptPubKey is calculated and this is the weight of the vote. People will
 cast their votes by digital signature.
 Special output types:
 Multi-sig: vote must be signed according to the setting of the multi-sig.
 P2SH: the serialized script must be provided
 Publicly known private key: not eligible to vote
 Non-standard script according to latest Bitcoin Core rules: not eligible
 to vote in general. May be judged case-by-case

 Developers: People with certain amount of contribution in the past year
 in Bitcoin Core or other open sources wallet / alternative implementations.
 One person one vote.

 Exchanges: Centralized exchanges listed on Coindesk Bitcoin Index,
 Winkdex, or NYSE Bitcoin index, with 30 days volume 100,000BTC are
 invited. This includes Bitfinex, BTC China, BitStamp, BTC-E, itBit, OKCoin,
 Huobi, Coinbase. Exchanges operated for at least 1 year with 100,000BTC
 30-day volume may also apply to be a voter in this category. One exchange
 one vote.

 Merchants and service providers: This category includes all bitcoin
 accepting business that is not centralized fiat-currency exchange, e.g.
 virtual or physical stores, gambling sites, online wallet service, payment
 processors like Bitpay, decentralized exchange like Localbitcoin, ETF
 operators like Secondmarket Bitcoin Investment Trust. They must directly
 process bitcoin without relying on third party. They should process at
 least 100BTC in the last 30-days. One merchant one vote.

 Full nodes operators: People operating full nodes for at least 168 hours
 (1 week) in July 2015 are eligible to vote, determined by the log of
 Bitnodes. Time is set in the past to avoid manipulation. One IP address one
 vote. Vote must be sent from the node’s IP address.

 
 Voting system

 Single transferable vote is applied. (
 https://en.wikipedia.org/wiki/Single_transferable_vote). Voters are
 required to rank their preference with “1”, “2”, “3”, etc, or use “N” to
 indicate rejection of a candidate.
 Vote counting starts with every voter’s first choice. The candidate with
 fewest votes is eliminated and those votes are transferred according to
 their second choice. This process repeats until only one candidate is left,
 which is the most popular candidate. The result is presented as the
 approval rate: final votes for the most popular candidate / all valid votes

 After the most popular candidate is determined, the whole counting
 process is repeated by eliminating this candidate, which will find the
 approval rate for the second 

[bitcoin-dev] Wrapping up the block size debate with voting

2015-08-04 Thread jl2012 via bitcoin-dev
As now we have some concrete proposals 
(https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009808.html), 
I think we should wrap up the endless debate with voting by different 
stakeholder groups.


-
Candidate proposals

Candidate proposals must be complete BIPs with reference implementation 
which are ready to merge immediately. They must first go through the 
usual peer review process and get approved by the developers in a 
technical standpoint, without political or philosophical considerations. 
Any fine tune of a candidate proposal may not become an independent 
candidate, unless it introduces some “real” difference. “No change” is 
also one of the voting options.

-
Voter groups

There will be several voter groups and their votes will be counted 
independently. (The time frames mentioned below are just for example.)


Miners: miners of blocks with timestamp between 1 to 30 Sept 2015 are 
eligible to vote. One block one vote. Miners will cast their votes by 
signing with the bitcoin address in coinbase. If there are multiple 
coinbase outputs, the vote is discounted by output value / total 
coinbase output value.
Many well-known pools are reusing addresses and they may not need to 
digitally sign their votes. In case there is any dispute, the digitally 
signed vote will be counted.


Bitcoin holders: People with bitcoin in the UTXO at block 372500 (around 
early September) are eligible to vote. The total “balance” of each 
scriptPubKey is calculated and this is the weight of the vote. People 
will cast their votes by digital signature.

Special output types:
Multi-sig: vote must be signed according to the setting of the 
multi-sig.

P2SH: the serialized script must be provided
Publicly known private key: not eligible to vote
Non-standard script according to latest Bitcoin Core rules: not eligible 
to vote in general. May be judged case-by-case


Developers: People with certain amount of contribution in the past year 
in Bitcoin Core or other open sources wallet / alternative 
implementations. One person one vote.


Exchanges: Centralized exchanges listed on Coindesk Bitcoin Index, 
Winkdex, or NYSE Bitcoin index, with 30 days volume 100,000BTC are 
invited. This includes Bitfinex, BTC China, BitStamp, BTC-E, itBit, 
OKCoin, Huobi, Coinbase. Exchanges operated for at least 1 year with 
100,000BTC 30-day volume may also apply to be a voter in this category. 
One exchange one vote.


Merchants and service providers: This category includes all bitcoin 
accepting business that is not centralized fiat-currency exchange, e.g. 
virtual or physical stores, gambling sites, online wallet service, 
payment processors like Bitpay, decentralized exchange like 
Localbitcoin, ETF operators like Secondmarket Bitcoin Investment Trust. 
They must directly process bitcoin without relying on third party. They 
should process at least 100BTC in the last 30-days. One merchant one 
vote.


Full nodes operators: People operating full nodes for at least 168 hours 
(1 week) in July 2015 are eligible to vote, determined by the log of 
Bitnodes. Time is set in the past to avoid manipulation. One IP address 
one vote. Vote must be sent from the node’s IP address.



Voting system

Single transferable vote is applied. 
(https://en.wikipedia.org/wiki/Single_transferable_vote). Voters are 
required to rank their preference with “1”, “2”, “3”, etc, or use “N” to 
indicate rejection of a candidate.
Vote counting starts with every voter’s first choice. The candidate with 
fewest votes is eliminated and those votes are transferred according to 
their second choice. This process repeats until only one candidate is 
left, which is the most popular candidate. The result is presented as 
the approval rate: final votes for the most popular candidate / all 
valid votes


After the most popular candidate is determined, the whole counting 
process is repeated by eliminating this candidate, which will find the 
approval rate for the second most popular candidate. The process repeats 
until all proposals are ranked with the approval rate calculated.



Interpretation of results:

It is possible that a candidate with lower ranking to have higher 
approval rate. However, ranking is more important than the approval 
rate, unless the difference in approval rate is really huge. 90% support 
would be excellent; 70% is good; 50% is marginal; 50% is failed.



Technical issues:

Voting by the miners, developers, exchanges, and merchants are probably 
the easiest. We need a trusted person to verify the voters’ identity by 
email, website, or digital signature. The trusted person will collect 
votes and publish the named votes so anyone could verify the results.


For full nodes, we need a trusted person to setup a website as an 
interface to vote. The votes with IP address will be published.


For bitcoin holders, 

Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Hector Chu via bitcoin-dev
Things apparently aren't bad enough to prevent the majority from clamoring
for larger blocks.

If the majority agreed that things had got worse till this point, and that
this was to be blamed on the block size, they would be campaigning for the
other direction. Even yourselves aren't asking for a reduction in the block
size, as you know full well that you would be laughed out.

On 4 August 2015 at 12:27, Pieter Wuille pieter.wui...@gmail.com wrote:

 I would say that things already demonstrately got terrible. The mining
 landscape is very centralized, with apparently a majority depending on
 agreements to trust each other's announced blocks without validation. Full
 node count is at its historically lowest value in years, and outsourcing of
 full validation keeps growing.

 I believe that if the above would have happened overnight, people would
 have cried wolf. But somehow it happened slow enough, and things kept
 working.

 I don't think that this is a good criterion. Bitcoin can work with
 gigabyte blocks today, if everyone uses the same few blockchain validation
 services, the same few online wallets, and mining is done by a cartel that
 only allows joining after signing a contract so they can sue you if you
 create an invalid block. Do you think people will then agree that things
 got demonstratebly worse?

 Don't turn Bitcoin into something uninteresting, please.

 --
 Pieter
 On Aug 4, 2015 1:04 PM, Hector Chu via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:

 Mike's position is that he wants the block size limit
 to eventually be removed. That is of course an extreme view. Meanwhile,
 your view that the block size should be artificially constrained below the
 organic growth curve (in a way that will penalize a majority of existing
 and future users) lies at the other extreme. The majority position lies
 somewhere in between (i.e. a one-time increase to 8MB). This is the
 position that ultimately matters.

 If the block size is increased to 8MB and things get demonstrably a whole
 lot worse, then you will have a solid leg to stand on. In that case we can
 always do another hard fork later to reduce the block size back to
 something smaller, and henceforth the block size will never be touched
 again.

 On 4 August 2015 at 11:35, Jorge Timón 
 bitcoin-dev@lists.linuxfoundation.org wrote:

 On Fri, Jul 31, 2015 at 4:58 PM, Mike Hearn he...@vinumeris.com wrote:
  How more users or more nodes can bring more miners, or more
 importantly,
  improve mining decentralization?
 
 
  Because the bigger the ecosystem is the more interest there is in
 taking
  part?

 As explained by Venzen, this is a non-sequitur.

  I mean, I guess I don't know how to answer your question.

 I don't know the answer either, that's fine. It's the opposite
 question that I've been insistently repeating and you've been
 (consciously or not) consistently evading.
 But that's also fine because I believe you finally answer it a few lines
 below.

  When Bitcoin was
  new it had almost no users and almost no miners. Now there are
 millions of
  users and factories producing ASICs just for Bitcoin.

 The emergence of a btc price enabled the emergence of professional
 miners, which in turn enabled the emergence of sha256d-specialized
 hardware production companies.
 Nothing surprising there.
 By no means it consitutes an example of how a bigger consensus sizes
 can cause less mining centralization.

  Surely the correlation is obvious?

 Correlation does not imply causation. I will better leave it at that...

  I'm sorry, but until there's a simulation that I can run with
 different
  sizes' testchains (for example using #6382) to somehow compare them,
 I will
  consider any value arbitrary.
 
 
  Gavin did run simulations. 20mb isn't arbitrary, the process behind it
 was
  well documented here:
 
 
 http://gavinandresen.ninja/does-more-transactions-necessarily-mean-more-centralized
 
  I chose 20MB as a reasonable block size to target because 170
 gigabytes per
  month comfortably fits into the typical 250-300 gigabytes per month
 data
  cap– so you can run a full node from home on a “pretty good” broadband
 plan.
 
  Did you think 20mb was picked randomly?

 No, I think 20 MB was chosen very optimistically, considering 3rd
 party services rates (not the same service as self-hosting) in the
 so-called first world. And then 20 MB goes to 20 GB, again with
 optimistic and by no means scientific expectations.

 But where the number comes from it's not really what I'm demaning,
 what I want is some criterion that can tell you that a given size
 would be too centralized but another one isn't.
 I haven't read any analysis on why 8GB is a better option than 7GB and
 9GB for a given criterion (nor one declaring 20 GB a winner over 19 GB
 or 21 GB).
 A simulation test passing 20 GB but not 21 GB would make it far less
 arbitrary.

  Agreed on the first sentence, I'm just saying that the influence of
  the blocksize in that 

Re: [bitcoin-dev] Wrapping up the block size debate with voting

2015-08-04 Thread jl2012 via bitcoin-dev

Bitcoin's consensus rules are a consensus system


What is your definition of consensus? Do you mean 100% agreement? 
Without a vote how do you know there is 100% (or whatever percentage) 
agreement?



Find a solution that everyone agrees on, or don't.


Who are the everyone?

Pieter Wuille 於 2015-08-04 05:03 寫到:

I would like to withdraw my proposal from your self-appointed vote.

If you want to let a majority decide about economic policy of a
currency, I suggest fiat currencies. They have been using this
approach for quite a while, I hear.

Bitcoin's consensus rules are a consensus system, not a democracy.
Find a solution that everyone agrees on, or don't.
On Aug 4, 2015 9:51 AM, jl2012 via bitcoin-dev
bitcoin-dev@lists.linuxfoundation.org wrote:


As now we have some concrete proposals


(https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009808.html

[1]), I think we should wrap up the endless debate with voting by
different stakeholder groups.

-
Candidate proposals

Candidate proposals must be complete BIPs with reference
implementation which are ready to merge immediately. They must first
go through the usual peer review process and get approved by the
developers in a technical standpoint, without political or
philosophical considerations. Any fine tune of a candidate proposal
may not become an independent candidate, unless it introduces some
“real” difference. “No change” is also one of the voting
options.
-
Voter groups

There will be several voter groups and their votes will be counted
independently. (The time frames mentioned below are just for
example.)

Miners: miners of blocks with timestamp between 1 to 30 Sept 2015
are eligible to vote. One block one vote. Miners will cast their
votes by signing with the bitcoin address in coinbase. If there are
multiple coinbase outputs, the vote is discounted by output value /
total coinbase output value.
Many well-known pools are reusing addresses and they may not need
to digitally sign their votes. In case there is any dispute, the
digitally signed vote will be counted.

Bitcoin holders: People with bitcoin in the UTXO at block 372500
(around early September) are eligible to vote. The total
“balance” of each scriptPubKey is calculated and this is the
weight of the vote. People will cast their votes by digital
signature.
Special output types:
Multi-sig: vote must be signed according to the setting of the
multi-sig.
P2SH: the serialized script must be provided
Publicly known private key: not eligible to vote
Non-standard script according to latest Bitcoin Core rules: not
eligible to vote in general. May be judged case-by-case

Developers: People with certain amount of contribution in the past
year in Bitcoin Core or other open sources wallet / alternative
implementations. One person one vote.

Exchanges: Centralized exchanges listed on Coindesk Bitcoin Index,
Winkdex, or NYSE Bitcoin index, with 30 days volume 100,000BTC are
invited. This includes Bitfinex, BTC China, BitStamp, BTC-E, itBit,
OKCoin, Huobi, Coinbase. Exchanges operated for at least 1 year with
100,000BTC 30-day volume may also apply to be a voter in this
category. One exchange one vote.

Merchants and service providers: This category includes all bitcoin
accepting business that is not centralized fiat-currency exchange,
e.g. virtual or physical stores, gambling sites, online wallet
service, payment processors like Bitpay, decentralized exchange like
Localbitcoin, ETF operators like Secondmarket Bitcoin Investment
Trust. They must directly process bitcoin without relying on third
party. They should process at least 100BTC in the last 30-days. One
merchant one vote.

Full nodes operators: People operating full nodes for at least 168
hours (1 week) in July 2015 are eligible to vote, determined by the
log of Bitnodes. Time is set in the past to avoid manipulation. One
IP address one vote. Vote must be sent from the node’s IP address.


Voting system

Single transferable vote is applied.
(https://en.wikipedia.org/wiki/Single_transferable_vote [2]). Voters
are required to rank their preference with “1”, “2”,
“3”, etc, or use “N” to indicate rejection of a candidate.
Vote counting starts with every voter’s first choice. The
candidate with fewest votes is eliminated and those votes are
transferred according to their second choice. This process repeats
until only one candidate is left, which is the most popular
candidate. The result is presented as the approval rate: final votes
for the most popular candidate / all valid votes

After the most popular candidate is determined, the whole counting
process is repeated by eliminating this candidate, which will find
the approval rate for the second most popular candidate. The process
repeats until all proposals are ranked with the approval rate
calculated.


Interpretation of results:

It is possible that a candidate with lower ranking 

Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Hector Chu via bitcoin-dev
On 4 August 2015 at 14:13, Jorge Timón jti...@jtimon.cc wrote:

 2) It doesn't matter who is to blame about the current centralization:
 the fact remains that the blocksize maximum is the only** consensus
 rule to limit mining centralization.


Repeating a claim ad-nauseum doesn't make it necessarily true. A block size
limit won't prevent miners in the future from buying each other out.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Jorge Timón via bitcoin-dev
On Tue, Aug 4, 2015 at 2:19 PM, Hector Chu hector...@gmail.com wrote:
 On 4 August 2015 at 12:59, Jorge Timón jti...@jtimon.cc wrote:

 That is not my position. Again, I don't know what the right blocksize
 for the short term is (I don't think anybody does).

 You have no position (i.e. neutral). In other words, keeping the existing
 limit.

No, I think 1 MB is just as arbitrary as any other size proposed.
All I want is for consensus change proponents to try harder to
convince other users (including me)

 Therefore how the change can affect mining centralization must be the
 main concern, instead of (also artificial) projections about usage
 growth (no matter how organic their curves look).


 The degree of mining decentralization is only one of many concerns. Users'
 main concern is timely confirmation of low-fee transactions. Miners' concern
 is the amount of profit they make.

No, if the changed rule only serves to limit centralization, then how
that limitation to centralization is affected should be the first
thing to consider.
If miners' concern was only the amount of profit they make they
wouldn't mine free transactions already.
You cannot possibly know what all users' are concern about, so I will
just ignore any further claim in that direction.
Talk for yourself: your arguments won't be more reasonable just
because you claim that all users think like you do.

 Also I don't think hitting the limit must be necessarily harmful and
 if it is, I don't understand why hitting it at 1MB will be more
 harmful than hitting it at 2MB, 8MB or 8GB.


 The limit won't even get to be hit, because all the users that get thrown
 out of Bitcoin will have moved over to a system supporting a larger block
 size.

I disagree with this wild prediction as well.

 I don't know where you get your majority from or what it even means
 (majority of users, majority of the coins, of miners?)


 The majority which the miners are beholden to is the economic majority.
 https://en.bitcoin.it/wiki/Economic_majority

And I assume the way that vaguely defined economic majority
communicates with you through a crystal ball or something

 But there's something I'm missing something there...why my position
 doesn't matter if it's not a majority?


 Your position is only one of many and it does not carry excess weight to the
 others. Individually it won't matter, because you can't control the
 implementation that other people run.

No more, but not less either.
Nobody can't control the implementation that I (or other people
concerned with centralization) run either.

 How is what the the majority has been told it's best an objective
 argument?


 Don't fight the market. The way the system is designed, the miners will
 follow along with what the economic majority have decided.

How is allowing fees from rising above zero fighting the market?
The system is currently designed with a 1 MB limit. I don't think
that's sacred or anything, but I really don't feel like I'm fighting
the market or the way the system is designed.
In any case, what do the market and the way the system is designed
have to do with what the majority have been told it's best (which you
seem to think should be a source of truth for some reason I'm still
missing)?

 So if you say 8, I must ask, why not 9?
 Why 9 MB is not safe for mining centralization but 8 MB is?


 8MB has simply been the focal point for this debate. 9MB is also safe if 8MB
 is, but I suppose the opponents will be even less happy with 9 than with 8,
 and we don't want to unnecessarily increase the conflict.

Why 9 MB is safe but 10 MB isn't?
The conflict won't be resolved by evading hard questions...

 It seems like the rationale it's always the bigger the better and
 the only limitation is what a few people concerned with mining
 centralization (while they still have time to discuss this) are
 willing to accept. If that's the case, then there won't be effectively
 any limit in the long term and Bitcoin will probably fail in its
 decentralization goals.


 A one-time increase to 8MB is safer than a dynamically growing limit over
 time for exactly this reason. Admittedly whenever the next debate to
 increase the block size over 8MB happens it will be even more painful and
 non-obvious, but that is the safety check to prevent unbounded block size
 increase.

Will there ever be a debate that results in further blocksize
increases at this point are very risky for mining centralization?
How will we tell then? Can't we use the same criteria now?
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Venzen Khaosan via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1



On 08/04/2015 08:28 PM, Hector Chu via bitcoin-dev wrote:
 On 4 August 2015 at 14:13, Jorge Timón jti...@jtimon.cc 
 mailto:jti...@jtimon.cc wrote:
 
 2) It doesn't matter who is to blame about the current
 centralization: the fact remains that the blocksize maximum is the
 only** consensus rule to limit mining centralization.
 
 
 Repeating a claim ad-nauseum doesn't make it necessarily true. A
 block size limit won't prevent miners in the future from buying
 each other out.
 

It plays both ways, the technical list requires a proof of concept and
simulation upon which to base judgment going forward, else we'll just
be talking out our backsides (like certain people) without making any
progress.

The tools for simulation exist: Jorge Timon created a variable
blocksize regtest PR here:
https://github.com/bitcoin/bitcoin/pull/6382

No-one needs to postulate what different blocksizes imply  - anyone
can run a simulation and demonstrate what they're talking about.

 ___ bitcoin-dev mailing
 list bitcoin-dev@lists.linuxfoundation.org 
 https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
 
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJVwMFEAAoJEGwAhlQc8H1mo/EH/2USw5YUL/7sgFAsjpXdpcS+
9XZ0M0AK4PNSo36GBBhjaF9rRa76FtK6Vt9nLe+7lgYmeHSkcQ65OLKfP47hCnsz
9XfVR0n7nv+0TqHQKPcjm+WNBoVndKRHGEwNQoQw//bAmO4LOcmQCMXAkk9RfaKm
4olay0nUmAFNqh/7wVOunOUFMJNIRpy/neAlFYxRAHBIJLcc0KQNiLqAHbzwPDZq
e9kLjtIusWwLUCgHFvox01bIEOx+VYIxzjMVRz1MNGyRGwDweg7zk54WA48nYwmx
70Ggdde9kiLytPDwB2ey/IRE4mv/4KS2zivJy36XAsjPExTNeGKxGeGfBqXNwSI=
=aya4
-END PGP SIGNATURE-
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


[bitcoin-dev] Fwd: Re: Block size following technological growth

2015-08-04 Thread Venzen Khaosan via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

correction:

My finance readers, in one camp, and Bitcoin investors, in the other,
want to see the XT 8MB hard-fork testing data that you mentioned for
BIP101 (not 100).


-  Forwarded Message 
Subject: Re: [bitcoin-dev] Block size following technological growth
Date: Tue, 04 Aug 2015 21:30:40 +0700
From: Venzen Khaosan via bitcoin-dev
bitcoin-dev@lists.linuxfoundation.org
Reply-To: ven...@mail.bihthai.net
Organization: Bihthai Bai Mai
To: Gavin Andresen gavinandre...@gmail.com, Bitcoin Dev
bitcoin-dev@lists.linuxfoundation.org



On 08/04/2015 08:12 PM, Gavin Andresen via bitcoin-dev wrote:
 On Tue, Aug 4, 2015 at 7:27 AM, Pieter Wuille via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org 
 mailto:bitcoin-dev@lists.linuxfoundation.org wrote:
 
 I would say that things already demonstrately got terrible. The 
 mining landscape is very centralized, with apparently a majority 
 depending on agreements to trust each other's announced blocks 
 without validation.
 
 And that is a problem... why?
 
 As far as I can tell,

[snip]


It's a big problem. What are you dismissing it for?

With Bitcoin in fledgling 0.x version state this is neither desirable
nor encouraging.

Development did not freeze at some time in the past and now we see how
the userbase reacts. Miners, btw, are arguibly still a class of user
as long as they are guaranteed coinbase.

When they start making and proving themselves useful in a free
floating fee market absent coinbase subsidy, we can revisit this
topic, with the benefit of hindsight.

 As Bitcoin grows, pieces of the ecosystem will specialize. 
 Satoshi's original code did everything: hashing, block assembly, 
 wallet, consensus, network. That is changing, and that is OK.

[snip]

 
 And I think the current demonstrably terrible Bitcoin system is 
 still INCREDIBLY interesting.
 
Pieter never said it wasn't interesting, so this emphatic statement is
strange - like someone is trying to convince an audience - but
anyway... as you, a veritable spring-chicken by your actions and
words, said the other day: having graduated in '88 you're old and
speak from experience. Don't come with that jive, bossy man - bring
facts and testing to the technical list.

My finance readers, in one camp, and Bitcoin investors, in the other,
want to see the XT 8MB hard-fork testing data that you mentioned for
BIP100.

Being ignorant is not so much a shame, as being unwilling to learn.
- - Benjamin Franklin

 -- -- Gavin Andresen
 

Venzen Khaosan
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJVwM93AAoJEGwAhlQc8H1mwcEH/RwxpWyvjlWBrPok5GNRed+/
8O46a4G1T6+Y2+yKWDFQTqG0D2oFEqunHW1A+e7UYABrhijbr1Xwpv0Y//VSuY3p
TnRXPj3+q3j4BdB607y5i0jCo61G4IrXaCUEHpBMzrD5T7SMDC1a31FLgAjx9WDM
etKmT9doWn9aiWzxAl/q8SEY4M04RLyS5kijs95M9YMGp1KVw2jNDfJM37EhPDu2
qDUMQEvcq0qTPCeHn6tCaXC0rWzIpylE6Xaso3VMepmbdzf0Dea92asBmmE0ygsW
Tcfx95UWW+Bb/h2JEO3TCjKpLCwdfiWP/2eXIMKkcdSJIVf/yE32gIxzqPx5ogU=
=BwgG
-END PGP SIGNATURE-
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Alex Morcos via bitcoin-dev
On Tue, Aug 4, 2015 at 9:12 AM, Gavin Andresen via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 On Tue, Aug 4, 2015 at 7:27 AM, Pieter Wuille via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:

 I would say that things already demonstrately got terrible. The mining
 landscape is very centralized, with apparently a majority depending on
 agreements to trust each other's announced blocks without validation.

 And that is a problem... why?

 As far as I can tell, nobody besides miners running old and/or buggy
 software lost money due to outsourced mining validation (please correct me
 if I'm wrong-- I'm looking forward to Greg's post-mortem). The operators of
 bitcoin.org seem to have freaked out and pushed the panic button (with
 dire warnings of not trusting transactions until 20 confirmations), but
 theymos was well known for using an old, patched version of Core for
 blockexplorer.com so maybe that's not surprising.


I'm also looking forward to Greg's post-mortem, because I had a completely
different takeaway from the BIP66 mini-forks.  My view is that despite the
extremely cautious and conservative planning for the completely
uncontentious fork, the damage could and would have been very significant
if it had not been for several core devs manually monitoring, intervening
and problem solving for other network participants.  I don't believe thats
the way the system should work.  Participants in the Bitcoin community have
come to rely on the devs for just making sure everything works for them.
That's not sustainable.  The system needs to be made fundamentally more
secure if its going to succeed, not depend on the good will of any
particular parties, otherwise it certainly will no longer be permissionless.

The BIP66 fork was urgently required to fix an undisclosed consensus bug,
unanimously agreed on and without technical objection, and it was still
fraught with problems.  That's the most clear cut example of when we should
have a fork.  A change to a consensus limit that a significant proportion
of the community disagrees with for economic or technical reasons or both
should be raising a sea of red flags.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Venzen Khaosan via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1



On 08/04/2015 08:12 PM, Gavin Andresen via bitcoin-dev wrote:
 On Tue, Aug 4, 2015 at 7:27 AM, Pieter Wuille via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org 
 mailto:bitcoin-dev@lists.linuxfoundation.org wrote:
 
 I would say that things already demonstrately got terrible. The 
 mining landscape is very centralized, with apparently a majority 
 depending on agreements to trust each other's announced blocks 
 without validation.
 
 And that is a problem... why?
 
 As far as I can tell,

[snip]


It's a big problem. What are you dismissing it for?

With Bitcoin in fledgling 0.x version state this is neither desirable
nor encouraging.

Development did not freeze at some time in the past and now we see how
the userbase reacts. Miners, btw, are arguibly still a class of user
as long as they are guaranteed coinbase.

When they start making and proving themselves useful in a free
floating fee market absent coinbase subsidy, we can revisit this
topic, with the benefit of hindsight.

 As Bitcoin grows, pieces of the ecosystem will specialize.
 Satoshi's original code did everything: hashing, block assembly,
 wallet, consensus, network. That is changing, and that is OK.

[snip]

 
 And I think the current demonstrably terrible Bitcoin system is
 still INCREDIBLY interesting.
 
Pieter never said it wasn't interesting, so this emphatic statement is
strange - like someone is trying to convince an audience - but
anyway... as you, a veritable spring-chicken by your actions and
words, said the other day: having graduated in '88 you're old and
speak from experience. Don't come with that jive, bossy man - bring
facts and testing to the technical list.

My finance readers, in one camp, and Bitcoin investors, in the other,
want to see the XT 8MB hard-fork testing data that you mentioned for
BIP100.

Being ignorant is not so much a shame, as being unwilling to learn.
- - Benjamin Franklin

 -- -- Gavin Andresen
 

Venzen Khaosan
-BEGIN PGP SIGNATURE-
Version: GnuPG v1

iQEcBAEBAgAGBQJVwMyOAAoJEGwAhlQc8H1mho4IAKEHVxE4lAs3aIoLXa2fxLP8
3q7MhfM5vIW9QAM7rjz8YzheMg3Wj2CNfZPuUV7YDTVrLZPrIN/aMY6CIftr7GUS
pjMI9nnwezFwYX5oyRU+gW51AMFhvexV6ITZYpiLRtWHgK1FZtXWMG13eO/6Jb5U
Wjflub7suMDvg+ST2PplhQf7fFmnPHrLZg3ISDqK+hvgw20geW1rXC/wCChlewfd
DqSt9fxqs+NIvbIzS2TgLTkIcHlbKNeI5AeqbaFoaIQtvYALD3Ojt2I/qoCJU1za
rB8Il7UK0B5uf6xxgErGcYAHzjVpR6Zhsdzo6MiBF1j4ClfNPEQAlG49YjrRXpI=
=4nai
-END PGP SIGNATURE-
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Wrapping up the block size debate with voting

2015-08-04 Thread Pieter Wuille via bitcoin-dev
I would like to withdraw my proposal from your self-appointed vote.

If you want to let a majority decide about economic policy of a currency, I
suggest fiat currencies. They have been using this approach for quite a
while, I hear.

Bitcoin's consensus rules are a consensus system, not a democracy. Find a
solution that everyone agrees on, or don't.
On Aug 4, 2015 9:51 AM, jl2012 via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 As now we have some concrete proposals (
 https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009808.html),
 I think we should wrap up the endless debate with voting by different
 stakeholder groups.

 -
 Candidate proposals

 Candidate proposals must be complete BIPs with reference implementation
 which are ready to merge immediately. They must first go through the usual
 peer review process and get approved by the developers in a technical
 standpoint, without political or philosophical considerations. Any fine
 tune of a candidate proposal may not become an independent candidate,
 unless it introduces some “real” difference. “No change” is also one of the
 voting options.
 -
 Voter groups

 There will be several voter groups and their votes will be counted
 independently. (The time frames mentioned below are just for example.)

 Miners: miners of blocks with timestamp between 1 to 30 Sept 2015 are
 eligible to vote. One block one vote. Miners will cast their votes by
 signing with the bitcoin address in coinbase. If there are multiple
 coinbase outputs, the vote is discounted by output value / total coinbase
 output value.
 Many well-known pools are reusing addresses and they may not need to
 digitally sign their votes. In case there is any dispute, the digitally
 signed vote will be counted.

 Bitcoin holders: People with bitcoin in the UTXO at block 372500 (around
 early September) are eligible to vote. The total “balance” of each
 scriptPubKey is calculated and this is the weight of the vote. People will
 cast their votes by digital signature.
 Special output types:
 Multi-sig: vote must be signed according to the setting of the multi-sig.
 P2SH: the serialized script must be provided
 Publicly known private key: not eligible to vote
 Non-standard script according to latest Bitcoin Core rules: not eligible
 to vote in general. May be judged case-by-case

 Developers: People with certain amount of contribution in the past year in
 Bitcoin Core or other open sources wallet / alternative implementations.
 One person one vote.

 Exchanges: Centralized exchanges listed on Coindesk Bitcoin Index,
 Winkdex, or NYSE Bitcoin index, with 30 days volume 100,000BTC are
 invited. This includes Bitfinex, BTC China, BitStamp, BTC-E, itBit, OKCoin,
 Huobi, Coinbase. Exchanges operated for at least 1 year with 100,000BTC
 30-day volume may also apply to be a voter in this category. One exchange
 one vote.

 Merchants and service providers: This category includes all bitcoin
 accepting business that is not centralized fiat-currency exchange, e.g.
 virtual or physical stores, gambling sites, online wallet service, payment
 processors like Bitpay, decentralized exchange like Localbitcoin, ETF
 operators like Secondmarket Bitcoin Investment Trust. They must directly
 process bitcoin without relying on third party. They should process at
 least 100BTC in the last 30-days. One merchant one vote.

 Full nodes operators: People operating full nodes for at least 168 hours
 (1 week) in July 2015 are eligible to vote, determined by the log of
 Bitnodes. Time is set in the past to avoid manipulation. One IP address one
 vote. Vote must be sent from the node’s IP address.

 
 Voting system

 Single transferable vote is applied. (
 https://en.wikipedia.org/wiki/Single_transferable_vote). Voters are
 required to rank their preference with “1”, “2”, “3”, etc, or use “N” to
 indicate rejection of a candidate.
 Vote counting starts with every voter’s first choice. The candidate with
 fewest votes is eliminated and those votes are transferred according to
 their second choice. This process repeats until only one candidate is left,
 which is the most popular candidate. The result is presented as the
 approval rate: final votes for the most popular candidate / all valid votes

 After the most popular candidate is determined, the whole counting process
 is repeated by eliminating this candidate, which will find the approval
 rate for the second most popular candidate. The process repeats until all
 proposals are ranked with the approval rate calculated.

 
 Interpretation of results:

 It is possible that a candidate with lower ranking to have higher approval
 rate. However, ranking is more important than the approval rate, unless the
 difference in approval rate is really huge. 90% support would be excellent;
 70% is good; 50% is marginal; 50% is failed.

 
 

Re: [bitcoin-dev] Wrapping up the block size debate with voting

2015-08-04 Thread jl2012 via bitcoin-dev
As I mentioned, the candidate proposals must go through usual peer 
review process, which includes proper testing, I assume.


Scaling down is always possible with softforks, or miners will simply 
produce smaller blocks. BIP100 has a scaling down mechanism but it still 
requires miners to vote so it doesn't really make much difference


But anyway, this is off-topic, as candidate proposals may include 
mechanism for scaling down.


Venzen Khaosan 於 2015-08-04 05:23 寫到:

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

It is not scientific or sensible to go from proposal stage straight to
voting and then implementation stage.

The proposals you have diligently gathered, summarized and presented
in your document must go through testing, and scenario simulation with
published results, in order for objective evaluation to be made 
possible.


For that matter, even running up against a capacity limit has not
been simulated or tested. Additionally, (and looking the other way)
there is a lack of provision for scaling DOWN in the current proposals
- - hard to envision, yes - but what goes up will eventually come down.
A global credit contraction is not unlikely, nor is natural disaster,
and these scenarios have implications for usage, scale, degree of
decentralization and security.

CS is science, there is no reason for this generation not to apply
rigorous Computer Science to Bitcoin.

Venzen


On 08/04/2015 02:50 PM, jl2012 via bitcoin-dev wrote:

As now we have some concrete proposals
(https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009808.html),



I think we should wrap up the endless debate with voting by different

stakeholder groups.

- Candidate proposals

Candidate proposals must be complete BIPs with reference
implementation which are ready to merge immediately. They must
first go through the usual peer review process and get approved by
the developers in a technical standpoint, without political or
philosophical considerations. Any fine tune of a candidate proposal
may not become an independent candidate, unless it introduces some
“real” difference. “No change” is also one of the voting options.
- Voter groups

There will be several voter groups and their votes will be counted
independently. (The time frames mentioned below are just for
example.)

Miners: miners of blocks with timestamp between 1 to 30 Sept 2015
are eligible to vote. One block one vote. Miners will cast their
votes by signing with the bitcoin address in coinbase. If there are
multiple coinbase outputs, the vote is discounted by output value /
total coinbase output value. Many well-known pools are reusing
addresses and they may not need to digitally sign their votes. In
case there is any dispute, the digitally signed vote will be
counted.

Bitcoin holders: People with bitcoin in the UTXO at block 372500
(around early September) are eligible to vote. The total “balance”
of each scriptPubKey is calculated and this is the weight of the
vote. People will cast their votes by digital signature. Special
output types: Multi-sig: vote must be signed according to the
setting of the multi-sig. P2SH: the serialized script must be
provided Publicly known private key: not eligible to vote
Non-standard script according to latest Bitcoin Core rules: not
eligible to vote in general. May be judged case-by-case

Developers: People with certain amount of contribution in the past
year in Bitcoin Core or other open sources wallet / alternative
implementations. One person one vote.

Exchanges: Centralized exchanges listed on Coindesk Bitcoin Index,
Winkdex, or NYSE Bitcoin index, with 30 days volume 100,000BTC
are invited. This includes Bitfinex, BTC China, BitStamp, BTC-E,
itBit, OKCoin, Huobi, Coinbase. Exchanges operated for at least 1
year with 100,000BTC 30-day volume may also apply to be a voter in
this category. One exchange one vote.

Merchants and service providers: This category includes all
bitcoin accepting business that is not centralized fiat-currency
exchange, e.g. virtual or physical stores, gambling sites, online
wallet service, payment processors like Bitpay, decentralized
exchange like Localbitcoin, ETF operators like Secondmarket Bitcoin
Investment Trust. They must directly process bitcoin without
relying on third party. They should process at least 100BTC in the
last 30-days. One merchant one vote.

Full nodes operators: People operating full nodes for at least 168
hours (1 week) in July 2015 are eligible to vote, determined by the
log of Bitnodes. Time is set in the past to avoid manipulation. One
IP address one vote. Vote must be sent from the node’s IP address.

 Voting system

Single transferable vote is applied.
(https://en.wikipedia.org/wiki/Single_transferable_vote). Voters
are required to rank their preference with “1”, “2”, “3”, etc, or
use “N” to indicate rejection of a candidate. Vote counting starts
with every voter’s first 

Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Gavin Andresen via bitcoin-dev
On Tue, Aug 4, 2015 at 7:27 AM, Pieter Wuille via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 I would say that things already demonstrately got terrible. The mining
 landscape is very centralized, with apparently a majority depending on
 agreements to trust each other's announced blocks without validation.

And that is a problem... why?

As far as I can tell, nobody besides miners running old and/or buggy
software lost money due to outsourced mining validation (please correct me
if I'm wrong-- I'm looking forward to Greg's post-mortem). The operators of
bitcoin.org seem to have freaked out and pushed the panic button (with dire
warnings of not trusting transactions until 20 confirmations), but theymos
was well known for using an old, patched version of Core for
blockexplorer.com so maybe that's not surprising.

As Bitcoin grows, pieces of the ecosystem will specialize. Satoshi's
original code did everything: hashing, block assembly, wallet, consensus,
network. That is changing, and that is OK.

I understand there are parts of the ecosystem you'd rather not see
specialized, like transaction selection / block assembly or validation. I
see it as a natural maturation. The only danger I see is if some unnatural
barriers to competition spring up.

 Full node count is at its historically lowest value in years, and
outsourcing of full validation keeps growing.

Both side effects of increasing specialization, in my opinion. Many
companies quite reasonably would rather hire somebody who specializes in
running nodes, keeping keys secure, etc rather than develop that expertise
themselves.

Again, not a problem UNLESS some unnatural barriers to competition spring
up.


 I believe that if the above would have happened overnight, people would
 have cried wolf. But somehow it happened slow enough, and things kept
 working.

 I don't think that this is a good criterion. Bitcoin can work with
 gigabyte blocks today, if everyone uses the same few blockchain validation
 services, the same few online wallets, and mining is done by a cartel that
 only allows joining after signing a contract so they can sue you if you
 create an invalid block. Do you think people will then agree that things
 got demonstratebly worse?

 Don't turn Bitcoin into something uninteresting, please.

 Why is what you, personally, find interesting relevant?

I understand you want to build an extremely decentralized system, where
everybody participating trusts nothing except the genesis block hash.

I think it is more interesting to build a system that works for hundreds of
millions of people, with no central point of control and the opportunity
for ANYBODY to participate at any level. Permission-less innovation is what
I find interesting.

And I think the current demonstrably terrible Bitcoin system is still
INCREDIBLY interesting.

-- 
--
Gavin Andresen
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Jorge Timón via bitcoin-dev
On Tue, Aug 4, 2015 at 1:34 PM, Hector Chu hector...@gmail.com wrote:
 Things apparently aren't bad enough to prevent the majority from clamoring
 for larger blocks.

Nobody is preventing anyone from claiming anything. Some developers
are encouraging users to ask for bigger blocks.
Others don't want to impose consensus rule changes against the will of
the users (even if they're 10% of the users).
Still, Things apparently aren't bad enough is just your opinion.

 If the majority agreed that things had got worse till this point, and that
 this was to be blamed on the block size, they would be campaigning for the
 other direction. Even yourselves aren't asking for a reduction in the block
 size, as you know full well that you would be laughed out.

1) I don't care what the so-called majority thinks: I don't want to
impose consensus rule changes against the will of a reasonable
minority.
2) It doesn't matter who is to blame about the current centralization:
the fact remains that the blocksize maximum is the only** consensus
rule to limit mining centralization.
3) In fact I think Luke Dashjr proposed to reduced it to 400 KB, but I
would ask the same thing: please create a simulation in which the
change is better (or at least no much worse) than the current rules by
ANY metric.

Please read the point 2 with special attention because it's not the
first time I say this in this thread.

** There's also the maximum block sigops consensus rule to limit
mining centralization.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Venzen Khaosan via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1



On 08/04/2015 06:34 PM, Hector Chu via bitcoin-dev wrote:
 Things apparently aren't bad enough to prevent the majority from 
 clamoring for larger blocks.
 
 If the majority agreed that things had got worse till this point, 
 and that this was to be blamed on the block size, they would be 
 campaigning for the other direction. Even yourselves aren't asking 
 for a reduction in the block size, as you know full well that you 
 would be laughed out.
 

Hector, if you could provide data that convinces why 8MB is better
than 6.18MB or 1MB then we'd get out of the realm of opinion and
pointless rhetoric that threatens to keep this debate in a quagmire.
We'd have actual figures to work with and projections to go by.

But fetching majority agreement (where from?) does not cut it for
setting Bitcoin on a future path. If we go by that then we'd soon be
giving coinbase rewards to users for being loyal supporters because,
as a majority, they think that's what they'd like to see.

If a proposal is demonstrably, and provably, a good idea - and a
developer consensus agrees - then it should go to testing, and
eventually, code. Other than that it's just conjecture and words
without a research paper and data.

In the final analysis, do we want Bitcoin to be steered by an
uninformed and fickle majority, or do we want to use this list as a
forum to present research proposals containing repeatable, verifiable
facts? A progressive process of convincing those most familiar with
Bitcoin's code and operation so they may implement Good Ideas during
the next century and after is surely preferable to Vote-my-code-Coin. :)


 On 4 August 2015 at 12:27, Pieter Wuille pieter.wui...@gmail.com 
 mailto:pieter.wui...@gmail.com wrote:
 
 I would say that things already demonstrately got terrible. The 
 mining landscape is very centralized, with apparently a majority 
 depending on agreements to trust each other's announced blocks 
 without validation. Full node count is at its historically lowest 
 value in years, and outsourcing of full validation keeps growing.
 
 I believe that if the above would have happened overnight, people 
 would have cried wolf. But somehow it happened slow enough, and 
 things kept working.
 
 I don't think that this is a good criterion. Bitcoin can work 
 with gigabyte blocks today, if everyone uses the same few 
 blockchain validation services, the same few online wallets, and 
 mining is done by a cartel that only allows joining after signing
 a contract so they can sue you if you create an invalid block. Do
 you think people will then agree that things got demonstratebly 
 worse?
 
 Don't turn Bitcoin into something uninteresting, please.
 
 -- Pieter
 
 On Aug 4, 2015 1:04 PM, Hector Chu via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org 
 mailto:bitcoin-dev@lists.linuxfoundation.org wrote:
 
 Mike's position is that he wants the block size limit to
 eventually be removed. That is of course an extreme view.
 Meanwhile, your view that the block size should be artificially
 constrained below the organic growth curve (in a way that will
 penalize a majority of existing and future users) lies at the other
 extreme. The majority position lies somewhere in between (i.e. a
 one-time increase to 8MB). This is the position that ultimately
 matters.
 
 If the block size is increased to 8MB and things get demonstrably
 a whole lot worse, then you will have a solid leg to stand on. In 
 that case we can always do another hard fork later to reduce the 
 block size back to something smaller, and henceforth the block
 size will never be touched again.
 
 On 4 August 2015 at 11:35, Jorge Timón 
 bitcoin-dev@lists.linuxfoundation.org 
 mailto:bitcoin-dev@lists.linuxfoundation.org wrote:
 
 On Fri, Jul 31, 2015 at 4:58 PM, Mike Hearn he...@vinumeris.com 
 mailto:he...@vinumeris.com wrote:
 How more users or more nodes can bring more miners, or more 
 importantly, improve mining decentralization?
 
 
 Because the bigger the ecosystem is the more interest there is
 in taking part?
 
 As explained by Venzen, this is a non-sequitur.
 
 I mean, I guess I don't know how to answer your question.
 
 I don't know the answer either, that's fine. It's the opposite 
 question that I've been insistently repeating and you've been 
 (consciously or not) consistently evading. But that's also fine 
 because I believe you finally answer it a few lines below.
 
 When Bitcoin was new it had almost no users and almost no
 miners. Now there are millions of users and factories producing
 ASICs just for Bitcoin.
 
 The emergence of a btc price enabled the emergence of professional
  miners, which in turn enabled the emergence of sha256d-specialized
  hardware production companies. Nothing surprising there. By no 
 means it consitutes an example of how a bigger consensus sizes can 
 cause less mining centralization.
 
 Surely the correlation is obvious?
 
 Correlation does not imply causation. I 

Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Hector Chu via bitcoin-dev
On 4 August 2015 at 12:59, Jorge Timón jti...@jtimon.cc wrote:

 That is not my position. Again, I don't know what the right blocksize
 for the short term is (I don't think anybody does).


You have no position (i.e. neutral). In other words, keeping the existing
limit.


 Therefore how the change can affect mining centralization must be the
 main concern, instead of (also artificial) projections about usage
 growth (no matter how organic their curves look).


The degree of mining decentralization is only one of many concerns. Users'
main concern is timely confirmation of low-fee transactions. Miners'
concern is the amount of profit they make.


 Also I don't think hitting the limit must be necessarily harmful and
 if it is, I don't understand why hitting it at 1MB will be more
 harmful than hitting it at 2MB, 8MB or 8GB.


The limit won't even get to be hit, because all the users that get thrown
out of Bitcoin will have moved over to a system supporting a larger block
size.

I don't know where you get your majority from or what it even means
 (majority of users, majority of the coins, of miners?)


The majority which the miners are beholden to is the economic majority.
https://en.bitcoin.it/wiki/Economic_majority


 But there's something I'm missing something there...why my position
 doesn't matter if it's not a majority?


Your position is only one of many and it does not carry excess weight to
the others. Individually it won't matter, because you can't control the
implementation that other people run.


 How is what the the majority has been told it's best an objective argument?


Don't fight the market. The way the system is designed, the miners will
follow along with what the economic majority have decided.

So if you say 8, I must ask, why not 9?
 Why 9 MB is not safe for mining centralization but 8 MB is?


8MB has simply been the focal point for this debate. 9MB is also safe if
8MB is, but I suppose the opponents will be even less happy with 9 than
with 8, and we don't want to unnecessarily increase the conflict.

It seems like the rationale it's always the bigger the better and
 the only limitation is what a few people concerned with mining
 centralization (while they still have time to discuss this) are
 willing to accept. If that's the case, then there won't be effectively
 any limit in the long term and Bitcoin will probably fail in its
 decentralization goals.


A one-time increase to 8MB is safer than a dynamically growing limit over
time for exactly this reason. Admittedly whenever the next debate to
increase the block size over 8MB happens it will be even more painful and
non-obvious, but that is the safety check to prevent unbounded block size
increase.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] A Transaction Fee Market Exists Without a Block Size Limit--new research paper suggests

2015-08-04 Thread Peter Todd via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256



On 4 August 2015 17:30:28 GMT-04:00, Gavin Andresen via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:
On Tue, Aug 4, 2015 at 2:41 PM, Dave Hudson via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 Fundamentally a block maker (pool or aggregation of pools) does not
orphan
 its own blocks.


Unless the block maker has an infinitely fast connection to it's
hashpower
OR it's hashpower is not parallelized at all, that's not strictly true
--
it WILL orphan its own blocks because two hashing units will find
solutions
in the time it takes to communicate that solution to the block maker
and to
the rest of the hashing units.

That's getting into how many miners can dance on the head of a pin
territory, though. I don't think we know whether the communication
advantages of putting lots of hashing power physically close together
will
outweigh the extra cooling costs of doing that (or maybe some other
tradeoff I haven't thought of). That would be a fine topic for another
paper

I'd suggest you do more research into how Bitcoin and mining works as the above 
has a number of serious misunderstandings.

Or, I could just point out the obvious rather than try to be polite: you know 
exactly why the above makes no sense as a reply to this thread and are 
deliberately lying.

If the situation is the latter, your conduct is toxic to the development 
mailing list discussion, not to mention a waste of all our time, and you should 
leave.

-BEGIN PGP SIGNATURE-

iQE9BAEBCAAnIBxQZXRlciBUb2RkIDxwZXRlQHBldGVydG9kZC5vcmc+BQJVwTKi
AAoJEMCF8hzn9Lnc47AH/0txNyw9dLdsfQOsNE14jLEcQifxOkaKLqTJV1O4gn6O
L4+T6rPo9pVLTBuVWcsm2A24R/gBL+pYaWgaIyk/3fbSRpg4GfVau0xxh54vQU6m
U4L7FPHsdZ2y67frv/+5ExJ2xrVuedhpTciTi2SqSE6C0fioO+YarH0Dvd8I5Wjx
f9GnmxLdKytoj2kUaoriSSxsUzMNzxVzq78jEmhMR85TGy73ApeLdgBC/pdNgxZa
oAQ0CXCMYgsE59HUOO05xFLazGxNh2epPADTbTTgoNQ9py38evlW254okhRmk9p9
v4i1yTzuv/Y6C0qw2RZcEiT/GTdvajkMKCidLEm3LbY=
=W/Ke
-END PGP SIGNATURE-

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] A Transaction Fee Market Exists Without a Block Size Limit--new research paper suggests

2015-08-04 Thread Dave Hudson via bitcoin-dev

 On 4 Aug 2015, at 14:30, Gavin Andresen gavinandre...@gmail.com wrote:
 
 On Tue, Aug 4, 2015 at 2:41 PM, Dave Hudson via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org 
 mailto:bitcoin-dev@lists.linuxfoundation.org wrote:
 Fundamentally a block maker (pool or aggregation of pools) does not orphan 
 its own blocks.
 
 Unless the block maker has an infinitely fast connection to it's hashpower OR 
 it's hashpower is not parallelized at all, that's not strictly true -- it 
 WILL orphan its own blocks because two hashing units will find solutions in 
 the time it takes to communicate that solution to the block maker and to the 
 rest of the hashing units.
 
 That's getting into how many miners can dance on the head of a pin 
 territory, though. I don't think we know whether the communication advantages 
 of putting lots of hashing power physically close together will outweigh the 
 extra cooling costs of doing that (or maybe some other tradeoff I haven't 
 thought of). That would be a fine topic for another paper

Yes, but the block maker won't publish the second block it finds for the same 
set of transactions. It won't orphan its own block. In fact even if it does it 
still doesn't matter because the block maker still gets the block reward 
irrespective of which of the two solutions are published.

It's not about which hash wins, the issue is who gets paid as a result.

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Consensus fork activation thresholds: Block.nTime vs median time vs block.nHeight

2015-08-04 Thread Peter Todd via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256



On 4 August 2015 16:02:53 GMT-04:00, Jorge Timón via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:
One thing I've noticed there seems to be disagreement on is whether
miners' upgrade confirmation (aka voting) is necessary for
uncontroversial hardforks or not.

To be clear, without a strong supermajority of miner support the fork risks 
attack. Requiring 95% approval - which is actually just a 50% majority vote as 
the majority can squelch the minority - is an obvious minimum safety 
requirement.

Another option is Hearn's proposal of using centralised checkpoints to override 
PoW consensus; obviously that raises serious questions, including legal issues.

For forks without miner approval miners have a number of options to defeat 
them. For instance, they can make their own fork with a new consensus algorithm 
that requires miners to prove they're attacking the unwanted chain - Garzik's 
recent 2MB blocks proposal is a hilarious, and probably accidental, example of 
such a design, with the original Bitcoin protocol rules having the effect of 
attacking the Garzik 2MB chain.

-BEGIN PGP SIGNATURE-

iQE9BAEBCAAnIBxQZXRlciBUb2RkIDxwZXRlQHBldGVydG9kZC5vcmc+BQJVwS7F
AAoJEMCF8hzn9Lnc47AH/3926JLE4Rn9Fil+wvfxhfmBqIm0wtfStPDAqsQMDIbh
kbxOw/Mai/AbqNUkYUWvoM2ZfJ/JNkA6HA977CE6huT1ozYVz8TJQmcqN/p1QXfX
w1559UsXXop2fepY1dbnyBUwB6w6VwBrfj3awYkJsblgcdHrEsAesYeAHphAkwL/
kxQ0b+QmttaDCSK76hNloKVcN7AczdCSw1pux2rzmsG9zkwWJrIqR/prAO1nuk9Y
LgQUCvYkZiMmMD8kNx9ZVRG2Y951uLS6594Qy6ZoAMAdA6QxNsP4qyE7s8M2HAon
WjdS0UqTRyJuDVqpNav6WX4jTllK/UuHRUAOmBmYaRs=
=0cKq
-END PGP SIGNATURE-

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] BIP65 / CHECKLOCKTIMEVERIFY deployment

2015-08-04 Thread Pieter Wuille via bitcoin-dev
On Sun, Jun 28, 2015 at 9:50 PM, Peter Todd p...@petertodd.org wrote:

 On Thu, Jun 25, 2015 at 06:33:44PM -0400, Peter Todd wrote:
  Thoughts? If there are no objections I'll go ahead and write that code,
  using the same thresholds as BIP66.

 I've opened a pull-req to deploy CHECKLOCKTIMEVERIFY via the
 IsSuperMajority() mechanism:

 https://github.com/bitcoin/bitcoin/pull/6351

 Final step towards CLTV deployment on mainnet.

 I've copied the logic and tests from the previous BIP66 (DERSIG)
 soft-fork line-by-line for ease of review; any code review applicable
 to
 BIP66 should be applicable to BIP65.


ACK on merging using IsSuperMajority.

-- 
Pieter
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] A Transaction Fee Market Exists Without a Block Size Limit--new research paper suggests

2015-08-04 Thread Dave Hudson via bitcoin-dev
The paper is nicely done, but I'm concerned that there's a real problem with 
equation 4. The orphan rate is not just a function of time; it's also a 
function of the block maker's proportion of the network hash rate. 
Fundamentally a block maker (pool or aggregation of pools) does not orphan its 
own blocks. In a degenerate case a 100% pool has no orphaned blocks. Consider 
that a 1% miner must assume a greater risk from orphaning than, say, a pool 
with 25%, or worse 40% of the hash rate.

I suspect this may well change some of the conclusions as larger block makers 
will definitely be able to create larger blocks than their smaller counterparts.


Cheers,
Dave


 On 3 Aug 2015, at 23:40, Peter R via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:
 
 Dear Bitcoin-Dev Mailing list,
 
 I’d like to share a research paper I’ve recently completed titled “A 
 Transaction Fee Market Exists Without a Block Size Limit.”  In addition to 
 presenting some useful charts such as the cost to produce large spam blocks, 
 I think the paper convincingly demonstrates that, due to the orphaning cost, 
 a block size limit is not necessary to ensure a functioning fee market.  
 
 The paper does not argue that a block size limit is unnecessary in general, 
 and in fact brings up questions related to mining cartels and the size of the 
 UTXO set.   
 
 It can be downloaded in PDF format here:
 
 https://dl.dropboxusercontent.com/u/43331625/feemarket.pdf 
 https://dl.dropboxusercontent.com/u/43331625/feemarket.pdf
 
 Or viewed with a web-browser here:
 
 https://www.scribd.com/doc/273443462/A-Transaction-Fee-Market-Exists-Without-a-Block-Size-Limit
  
 https://www.scribd.com/doc/273443462/A-Transaction-Fee-Market-Exists-Without-a-Block-Size-Limit
 
 Abstract.  This paper shows how a rational Bitcoin miner should select 
 transactions from his node’s mempool, when creating a new block, in order to 
 maximize his profit in the absence of a block size limit. To show this, the 
 paper introduces the block space supply curve and the mempool demand curve.  
 The former describes the cost for a miner to supply block space by accounting 
 for orphaning risk.  The latter represents the fees offered by the 
 transactions in mempool, and is expressed versus the minimum block size 
 required to claim a given portion of the fees.  The paper explains how the 
 supply and demand curves from classical economics are related to the 
 derivatives of these two curves, and proves that producing the quantity of 
 block space indicated by their intersection point maximizes the miner’s 
 profit.  The paper then shows that an unhealthy fee market—where miners are 
 incentivized to produce arbitrarily large blocks—cannot exist since it 
 requires communicating information at an arbitrarily fast rate.  The paper 
 concludes by considering the conditions under which a rational miner would 
 produce big, small or empty blocks, and by estimating the cost of a spam 
 attack.  
 
 Best regards,
 Peter
 ___
 bitcoin-dev mailing list
 bitcoin-dev@lists.linuxfoundation.org
 https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Block size following technological growth

2015-08-04 Thread Jorge Timón via bitcoin-dev
On Tue, Aug 4, 2015 at 3:28 PM, Hector Chu hector...@gmail.com wrote:
 On 4 August 2015 at 14:13, Jorge Timón jti...@jtimon.cc wrote:

 2) It doesn't matter who is to blame about the current centralization:
 the fact remains that the blocksize maximum is the only** consensus
 rule to limit mining centralization.


 Repeating a claim ad-nauseum doesn't make it necessarily true. A block size
 limit won't prevent miners in the future from buying each other out.

But reading it 10 times may help you understand the claim, you will
never find out until you try.
Miners buying each other out is not the only way in which mining
centralization can get even worse.
A Blocksize limit may not be able to prevent such a scenario, but it's
still the only consensus tool to limit mining centralization.
If you want to prove that claim wrong you need to find a
counter-example of another consensus rule that somehow limits mining
centralization.
You could also prove that this rule doesn't help with mining
centralization at all. But that's much more difficult and if you just
claim it (and consequently advocate for the complete removal of the
consensus rule) we will have already advanced a lot.
But you denying that the limits serves limiting mining centralization
and at the same time advocating for keeping a limit at all doesn't
seem very consistent.
If you don't want that rule to limit mining centralization pressures,
what do you want it for?
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Eli Dourado on governance

2015-08-04 Thread Owen via bitcoin-dev
Given there is no money at stake in these prediction games, it is no surprise 
that the results are implausible.

On August 4, 2015 10:22:19 AM EDT, Anthony Towns via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:
On 4 August 2015 at 01:22, Gavin Andresen via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:

 And the preliminary results of using a prediction market to try to
wrestle
 with the tough tradeoffs looks roughly correct to me, too:
https://blocksizedebate.com/


​The scicast prediction market is shutdown atm (since early July?) so
those
numbers aren't live. But...

Network hash rate
3,255.17 PH/s  (same block size)
5,032.64 PH/s  (block size increase)

4,969.68 PH/s  (no replace-by-fee)
3,132.09 PH/s  (replace-by-fee)

Those numbers seem completely implausible: that's ~2.9-3.6 doublings of
the
current hashrate ( 400PH/s) in 17 months, when it's taken 12 months
for
the last doubling, and there's a block reward reduction due in that
period
too. (That might've been a reasonable prediction sometime in the past
year,
when doublings were slowing from once every ~45 days to once a year; it
just doesn't seem a supportable prediction now)

That the PH/s rate is higher with bigger blocks is surprising, but
given
that site also predicts USD/BTC will be $280 with no change but $555
with
bigger blocks, so I assume that difference is mostly due to price.
Also,
12.5btc at $555 each is about 23 btc at $300 each, so if that price
increase is realistic, it would compensate for almost all of the block
reward reduction.

Daily transaction volume
168,438.22 tx/day  (same block size)
193,773.08 tx/day  (block size increase)

192,603.80 tx/day  (no replace-by-fee)
168,406.73 tx/day  (replace-by-fee)

That's only a 15% increase in transaction volume due to the block size
increase; I would have expected more? 168k-194k tx/day is also only a
30%-50% increase in transaction volume from 130k tx/day currently. If
that's really the case, then a 1.5MB-2MB max block size would probably
be
enough for the next two years...

(Predicting that the node count will drop from ~5000 to ~1200 due to
increasing block sizes seems quite an indictment as far as
centralisation
risks go; but given I'm not that convinced by the other predictions,
I'm
not sure I want to give that much weight to that one either)

Cheers,
aj

-- 
Anthony Towns a...@erisian.com.au




___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Consensus fork activation thresholds: Block.nTime vs median time vs block.nHeight

2015-08-04 Thread Jorge Timón via bitcoin-dev
On Thu, Jul 30, 2015 at 8:16 PM, Gavin Andresen gavinandre...@gmail.com wrote:
 I still think using the version and timestamp fields in the block header are
 simplest and best.

To be clear, all options can use the version.

 Advantages:
   Available to SPV nodes with no change to the network protocol
   Available after headers downloaded, before full block data is available
   Once well past a fork, allows all block validation except validation
 against the UTXO to happen in parallel, out-of-order, independent of any
 other block.

All advantages shared with the height option.

 Disadvantages:
   Not monotonically increasing


 I think discussion about transactions in the memory pool are just a
 distraction: no matter what criteria is used (timestamp, height, median
 time), a blockchain re-organization could mean the validity of transactions
 you've accepted into the memory pool (if you're accepting transactions that
 switch from valid to invalid at the consensus change -- Core tries hard not
 to do that via IsStandard policy) must be re-evaluated.

I'm talking about the non-reorg case. Without reorg, you know what the
next height or current median time is, but you don't know what the
next block time is.

 I don't strongly care if median time or block timestamp is used, I think
 either will work. I don't like height, there are too many cases where the
 time is known but the block height isn't (see, for example, the
 max-outputs-in-a-transaction sanity check computation at line 190 of
 bitcoin-tx.cpp -- bitcoin-tx.cpp has no idea what the current block height
 is).

How does bitcoin-tx know about the next block time?
It doesn't. You would need to use the current time as a proxy for the
median time or the block.nTime which you don't know either.
Or just keep the sanity check as it is. Note that this case is
blocksize-specific: other hardforks (like my previous example, or the
code proposal in BIP99) don't share that concern.

One thing I've noticed there seems to be disagreement on is whether
miners' upgrade confirmation (aka voting) is necessary for
uncontroversial hardforks or not.
In BIP99 the advice for uncontroversial hardforks is setting a
threshold (based on height, but we can change it) and then wait for
95% of the hashrate to upgrade to enforce the chain.
But maybe the voting can happen first and then the threshold is
added to the miners' confirmation height/time.
I think that may influence which of the three discussed options
(height, block time and median time) is better, so maybe we should
discuss that first.
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] Eli Dourado on governance

2015-08-04 Thread Eric Lombrozo via bitcoin-dev
Rather than speculating on fake markets, why don’t we use theory, empirical 
data, and engineering to fix the damn problems?

 On Aug 4, 2015, at 11:28 AM, Owen via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:
 
 Given there is no money at stake in these prediction games, it is no surprise 
 that the results are implausible.
 
 On August 4, 2015 10:22:19 AM EDT, Anthony Towns via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org wrote:
 On 4 August 2015 at 01:22, Gavin Andresen via bitcoin-dev 
 bitcoin-dev@lists.linuxfoundation.org 
 mailto:bitcoin-dev@lists.linuxfoundation.org wrote:
 And the preliminary results of using a prediction market to try to wrestle 
 with the tough tradeoffs looks roughly correct to me, too:
https://blocksizedebate.com/ https://blocksizedebate.com/
 
 ​The scicast prediction market is shutdown atm (since early July?) so those 
 numbers aren't live. But...
 
 Network hash rate
  3,255.17 PH/s  (same block size)
  5,032.64 PH/s  (block size increase)
 
  4,969.68 PH/s  (no replace-by-fee)
  3,132.09 PH/s  (replace-by-fee)
 
 Those numbers seem completely implausible: that's ~2.9-3.6 doublings of the 
 current hashrate ( 400PH/s) in 17 months, when it's taken 12 months for the 
 last doubling, and there's a block reward reduction due in that period too. 
 (That might've been a reasonable prediction sometime in the past year, when 
 doublings were slowing from once every ~45 days to once a year; it just 
 doesn't seem a supportable prediction now)
 
 That the PH/s rate is higher with bigger blocks is surprising, but given that 
 site also predicts USD/BTC will be $280 with no change but $555 with bigger 
 blocks, so I assume that difference is mostly due to price. Also, 12.5btc at 
 $555 each is about 23 btc at $300 each, so if that price increase is 
 realistic, it would compensate for almost all of the block reward reduction.
 
 Daily transaction volume
  168,438.22 tx/day  (same block size)
  193,773.08 tx/day  (block size increase)
 
  192,603.80 tx/day  (no replace-by-fee)
  168,406.73 tx/day  (replace-by-fee)
 
 That's only a 15% increase in transaction volume due to the block size 
 increase; I would have expected more? 168k-194k tx/day is also only a 30%-50% 
 increase in transaction volume from 130k tx/day currently. If that's really 
 the case, then a 1.5MB-2MB max block size would probably be enough for the 
 next two years...
 
 (Predicting that the node count will drop from ~5000 to ~1200 due to 
 increasing block sizes seems quite an indictment as far as centralisation 
 risks go; but given I'm not that convinced by the other predictions, I'm not 
 sure I want to give that much weight to that one either)
 
 Cheers,
 aj
 
 --
 Anthony Towns a...@erisian.com.au mailto:a...@erisian.com.au
 
 
 bitcoin-dev mailing list
 bitcoin-dev@lists.linuxfoundation.org
 https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev 
 https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
 ___
 bitcoin-dev mailing list
 bitcoin-dev@lists.linuxfoundation.org
 https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


Re: [bitcoin-dev] A Transaction Fee Market Exists Without a Block Size Limit--new research paper suggests

2015-08-04 Thread Peter Todd via bitcoin-dev
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256



On 4 August 2015 14:41:53 GMT-04:00, Dave Hudson via bitcoin-dev 
bitcoin-dev@lists.linuxfoundation.org wrote:
The paper is nicely done, but I'm concerned that there's a real problem
with equation 4. The orphan rate is not just a function of time; it's
also a function of the block maker's proportion of the network hash
rate. Fundamentally a block maker (pool or aggregation of pools) does
not orphan its own blocks. In a degenerate case a 100% pool has no
orphaned blocks. Consider that a 1% miner must assume a greater risk
from orphaning than, say, a pool with 25%, or worse 40% of the hash
rate.

I suspect this may well change some of the conclusions as larger block
makers will definitely be able to create larger blocks than their
smaller counterparts.

Quite correct; this paper is fatally flawed and at best rehashes what we 
already know happens in the spherical cow case, without making it clear that 
it refers to a completely unrealistic setup. It'd be interested to know who 
actually wrote it - Peter R is obviously a pseudonym and the paper goes into 
sufficient detail that it makes you wonder why the author didn't see the flaws 
in it.

For those wishing to do actual research, esp. people such as profs mentoring 
students, keep in mind that in Bitcoin situations where large miners have an 
advantage over small miners are security exploits, with severity proportional 
to the difference in profitability. A good example of the type of analysis 
required is the well known selfish mining paper, which shows how a miner 
adopting a selfish strategy has an advantage - more profit per unit hashing 
power - than miners who do not adopt that strategy, and additionally, that 
excess profits scales with increasing hashing power.

As for the OP, if this wasn't an attempt at misinformation, my apologies. But 
keep in mind that you're wading into a highly politically charged research 
field with billions hanging on the blocksize limit; understand that people 
aren't happy when flawed papers end up on reddit being used to promote bad 
ideas. You'd be wise to run future work past experts in the field prior to 
publishing widely if you dislike heated controversy.

-BEGIN PGP SIGNATURE-

iQE9BAEBCAAnIBxQZXRlciBUb2RkIDxwZXRlQHBldGVydG9kZC5vcmc+BQJVwSwJ
AAoJEMCF8hzn9Lnc47AH/RknSZpnZ8r4WA4r+S0yJmlo0hKm8gsjUGhaqX7cnuSR
dB1ewrsjC4uPtSc8Ej1hzf37E67DTxiz6STq9XdtFSij+ww7SPx+z8yjEpQ0Ld0K
OIidQ80WRGJ1UPMUt7pFDU3pxNZI/A46Lg3EmqjY+xAe6+wDlOHjT/miO3tv0uws
nNYwrelA4f/KQXkUggGUOW62Sc3fJpUxLurq4eQHflIxtk3KM1reSxwG28KG02j6
lTUEHmMsmE7qoQAl60vwfvVKvvy/RwxpildwNey6IgtCQqWqqEy+WoTsgyVAGIbn
+8gR//W2hEIp+W5OSsiVNZ5S/KpcwaIBqZFcoca8838=
=HJiv
-END PGP SIGNATURE-

___
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev