public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Bob McElrath <bob@mcelrath•org>
To: Bitcoin Protocol Discussion <bitcoin-dev@lists•linuxfoundation.org>
Subject: Re: [bitcoin-dev] [Bitcoin Advent Calendar] Decentralized Coordination Free Mining Pools
Date: Tue, 14 Dec 2021 23:33:05 +0000	[thread overview]
Message-ID: <20211214233305.GB30559@mcelrath.org> (raw)
In-Reply-To: <CAD5xwhgOK6p7fqZPha1jvDgo=4Syti9K46a2A48Eas44dn9v6Q@mail.gmail.com>

This, quite simply, is not a "pool". A pool is by definition a tool to reduce
profit variance by miners by collecting "weak blocks" that do not meet the
difficulty target, so as to get a better statistical measure of each miner's
hashrate, which is used to subdivide profits. These are called "shares" and are
entirely absent here.

The only available information here to decide payouts is the blocks themselves,
I do not have any higher statistics measurement to subdivide payments. If I
expect to earn 3 blocks within the window, sometimes I will earn 2 and sometimes
I will earn 4. Whether I keep the entire coinbase in those 2-4 blocks, or I have
100 other miners paying me 1/100 as much 100 times, my payment is the same and
must be proportional to the number of blocks I mine in the window.  My variance
is not reduced.

Further, by making miners pay other miners within the window N, this results in
N^2 payments to miners which otherwise would have had N coinbase payments. So,
this is extremely block-space inefficient for no good reason. P2Pool had the
same problem and generated giant coinbases which competed with fee revenue.
"Congestion control" makes this somewhat worse since is it is an absolute
increase in the block space consumed for these N^2 payments.

The only thing this proposal does do is smooth out fee revenue. While hedging on
fee revenue is valuable, this is an extremely complicated and expensive way to
go about it, that simultaneously *reduces* fee revenue due to all the extra
block space used for miner payouts.

Jeremy via bitcoin-dev [bitcoin-dev@lists•linuxfoundation.org] wrote:
> Howdy, welcome to day 15!
> 
> Today's post covers a form of a mining pool that can be operated as sort of a
> map-reduce over blocks without any "infrastructure".
> 
> https://rubin.io/bitcoin/2021/12/12/advent-15/
> 
> There's still some really open-ended questions (perhaps for y'all to consider)
> around how to select an analyze the choice of window and payout functions, but
> something like this could alleviate a lot of the centralization pressures
> typically faced by pools.
> 
> Notably, compared to previous attempts, combining the payment pool payout with
> this concept means that there is practically very little on-chain overhead from
> this approach as the chain-load
> for including payouts in every block is deferred for future cooperation among
> miners. Although that can be considered cooperation itself, if you think of it
> like a pipeline, the cooperation happens out of band from mining and block
> production so it really is coordination free to mine.
> 
> 
> Cheers,
> 
> Jeremy
> 
> --
> @JeremyRubin 
> !DSPAM:61b626be345321821816715!

> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
> 
> 
> !DSPAM:61b626be345321821816715!

--
Cheers, Bob McElrath

"For every complex problem, there is a solution that is simple, neat, and wrong."
    -- H. L. Mencken 



  parent reply	other threads:[~2021-12-14 23:44 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-12 16:43 Jeremy
2021-12-12 23:14 ` vjudeu
2021-12-13  1:31   ` Jeremy
     [not found] ` <20211214190524.GA30559@mcelrath.org>
2021-12-14 19:39   ` Jeremy
2021-12-14 19:50     ` Jeremy
2021-12-15  0:12     ` Bob McElrath
2021-12-15 17:25       ` Billy Tetrud
2021-12-15 18:39         ` Jeremy
2021-12-15 18:51         ` Bob McElrath
2021-12-16  9:35         ` vjudeu
2021-12-16 16:57           ` Billy Tetrud
2021-12-17  0:37             ` Jeremy
2021-12-17  6:37             ` vjudeu
2021-12-20 17:18               ` Billy Tetrud
2021-12-23 11:56                 ` vjudeu
2021-12-23 19:05                   ` Jeremy
2022-01-18 18:15                     ` Billy Tetrud
2021-12-14 23:33 ` Bob McElrath [this message]
2021-12-15 21:10 ` yanmaani
2021-12-15 21:53   ` Jeremy
2021-12-13 14:10 vjudeu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211214233305.GB30559@mcelrath.org \
    --to=bob@mcelrath$(echo .)org \
    --cc=bitcoin-dev@lists$(echo .)linuxfoundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox