約1年前にマイニングプールのOceanが誕生してから、マイニングの分散性を守ろうとする動きについて本稿で複数回取り上げてきました。Ocean自体はOrdinals Inscriptionsの検閲という文脈で話題に上がることが多かったかもしれませんが、報酬の支払いをできる限りノンカストディアルにしたり、報酬のボラティリティをマイナーに受け入れてもらう代わりに手数料を安くしたり、ブロックテンプレートをマイナー側で生成できるようにするDATUMプロトコルを開発するなど、マイニングの分散性を守る方面でも活躍しています。

マイナーがプールから収入を得る際の報酬計算方法(PPS, FPPS, PPLNS)によるマイニングの分散性への影響
皆さんはマイニングプールの払い出しの計算方法について考えたことはありますか? 恥ずかしながら、私は先週末までこのトピックについて深く考えたことはありませんでした。しかし、実際にマイニングをしている方にとっては非常に重要な側面です。そして場合によってはマイニング自体の分散性を損なう可能性すらあります! 今日は代表的なマイニングプールの報酬計算方法をいくつか紹介し(PPS、FPPS、PPLNS)、その中でもFPPSが絶大な支持を得ていることとそれによってマイニングプールの集中化が招かれてしまっているという、先週末ラトビアのリガで開催されたBaltic Honeybadger 2024で聞いた主張を考えてみます。 ・PPS、FPPS、PPLNSとは ・FPPSが絶大な支持を得ている理由 ・FPPSの脆弱性がマイニングプールの寡占化を加速させる?
Oceanが発表したマイニングプロトコル「DATUM」は、いわば「リデザインされたStratum V2」
先日東京で開催されたBitcoin Tokyo 2024カンファレンスにも来場していたLuke DashjrをはじめとするマイニングプールOceanが、マイニングの分散性を守るためとしてStratum V2とは異なる次世代マイニングプールプロトコル「DATUM(Decentralized Alternative Templates for Universal Mining)」を発表しました。 本稿では以前にもStratum V2を紹介しています。知識をリフレッシュされたい方はぜひ以下の記事をご覧ください。またOceanについてもマイニングカテゴリ内の記事で度々触れております。 Stratum V2は本当にマイニングプールの検閲耐性を改善するのか?マイニングの話題になると、少なくともここ数年は規制や検閲という部分に関する関心が高まっている実感があります。マイナーがマイニングプールに接続する現状ではプール側が検閲を行えるのではないか、いくつかの大手マイニングプールが検閲を行うと実質的にネットワーク全体が検閲をしているのと同じ状況にならないか、といった疑問です。 ビットコインの検閲耐性は

そんなOceanのハッシュレートはこの1ヶ月ほどはおよそ4EH/sと、ネットワーク全体の0.5%前後で推移しています。

Oceanは従来型のマイニングプールにおけるプール側の権限を最小化していくというアプローチですが、実はより抜本的にマイニングプールの仕組みを変えることで「分散化されたマイニングプール」を実現しようとするプロジェクトがあり、これまでにいくつかのGrantを得て開発が進んでいます。Braidpoolです。

今日はそんなBraidpoolについて紹介していきます。

・マイニングプールの役割を整理する

・Braidpoolは「採掘候補ブロックのブロックチェーン」

・Braidpoolのマイナー獲得戦略としてのマイニング金融化

マイニングプールの役割を整理する

Braidpoolの機能を整理するためには、マイニングプールに求められる役割を整理する必要があります。簡単にまとめると3つあります:

ブロックテンプレートの生成と配信

マイニングプールの最初の役割は、マイナーが採掘するのに使うブロックテンプレートを生成して各マイナーに配信することです。これをプールが担うことによって、個別のマイナーは自分自身でノードを立ててトランザクションを取捨選択したりする必要がなくなり、オペレーションがシンプルになります。

一方で、トランザクションの選択権がプール側にあることがプールマイニングについて中央集権化が指摘される懸念点の1つでもあります。例えば手数料が高いがマイニングプールが好ましくないと考えた特定のトランザクションを検閲することができるためです。

Stratum V2やDATUMではマイナーにもブロックテンプレートを決定する権限をある程度与えようというアプローチが採用されていますが、プール側にも拒否権があります。

ジョブの配信

さて、ブロックテンプレートを作成した後は、マイニングプールは各マイナーに「ジョブ」を割り振ります。全く同じ内容のブロックテンプレートを同時に複数のマイナーが採掘しても作業が重複してしまい無駄が発生するので、無駄が発生しないようにブロックテンプレートの内容を微調整した作業指示をマイナーに与えます。

調整する内容はナンスやタイムスタンプをはじめとするいくつかの欄です。マイナー自身がブロックテンプレートを作成できる状況においては、調整が必要ない可能性もあります。(自身のアドレスを払い出し先に指定している場合などにブロックテンプレートハッシュが他のマイナーと重複しないため)

提出したシェア数の集計と報酬の払い出し

最後に、マイナーから提出された「シェア」(ブロックを発見するほどの難易度ではないが、ある閾値を超えた「惜しい」ブロックテンプレート)を集計し、それに応じてマイナーに報酬を払い出します。支払い方法はいくつかありますが、共通しているのは提出したシェア数に応じた報酬を支払うことです。

基本的にはこの段階でマイナーの報酬を一旦カストディしているため、マイナーはマイニングプールを信用していることになります。

Braidpoolは「採掘候補ブロックのブロックチェーン」

Braidpoolでは上記の3つの役割を分散化された仕組みで実現する試みです。

各マイナーは必ず自身でビットコインノードを運用し、自身でブロックテンプレートを生成する必要があります。ビットコインのブロックを発見するのに必要な難易度の1/1000以上のブロックテンプレート(プールマイニングでいうシェア)が見つかると、マイナーはBraidpool参加者間で共有されているDAG(ブロックチェーンに似たデータ構造)にそのシェアを追加します。このDAGがあることでマイナー間で検証可能な形で提出したシェア数が共有できます。

このDAGを用いてマイナーが提出したシェア数から貢献したハッシュレートを逆算し、「シェアコイン」ともいうべきトークンがそれに応じて割り当てられます。Braidpoolを通して採掘されたブロック報酬は参加者による大きなFROSTマルチシグで保管されており、1回の難易度調整期間ごとに(マルチシグの2/3以上の署名者の合意で)払い出されます。

すなわち、Braidpoolはマイナーが難易度調整期間ごとにマルチシグに参加し、そのアドレスに対して払い出すように採掘を行い、ブロックチェーンのようなものに自身で見つけたシェアを追加していくことで提出したシェアの比率を共有し、マルチシグによってその比率に応じた払い出しを実行するという仕組みになっています。

Braidpoolのマイナー獲得戦略としてのマイニング金融化

いかなる新しいマイニングプールもそうですが、Braidpoolも最初にある程度のマイナーを確保するのが第一障壁となります。例えばOceanも今でこそ期待値としては2日に1ブロックほどは見つかるようになりましたが、当初はブロックの発見間隔が非常に不安定で、収益の安定性向上というマイニングプールの役割を十分に果たせているか微妙なレベルでした。

Braidpoolの取りうる戦略の1つにマイニングの金融化があります。

今や多くのマイニングプールはマイニング報酬をブロックの発見にかかわらずシェア提出に応じて即時支払いしており、採掘より前に「先払い」しているような状況です。これはマイニングの金融化の1つの側面ですが、他にもASIC担保ローンやリースなどといった金融商品を提供するなど、マイニングの金融化はここ5年ほどで高度に進んでいます。一方で、Oceanはこのような機能を一切排することで手数料を下げています。

Braidpoolは「シェアトークン」が存在するため、このトークンを使ってマイニングの金融化、厳密にはBraidpoolの払い出しより前にシェアトークンをBTCと交換することができると期待されています。もちろん多少不利なレートでの交換となるでしょうが、Braidpoolのマイナーはこのような機能を使うか使わないか個別に選択することができます。また、既存のマイニングプールがBraidpoolに接続してこの金融市場に参加することも考えられます。

しかしOceanと比べてオープンソースプロジェクトでしかないBraidpoolのアダプションは困難を極めると予想します。なぜなら、Oceanと比較してマイナーの負担が大きい(ビットコインノードを運用して、Braidpoolの仕組みも理解する必要がある)のと、Oceanは実はかなり地道にマイナーに営業をしてきて成果を上げている一方でそのような営業努力が難しいためです。

また、金融化自体がその資本集約的な性質によりこれまでマイニングプールの中央集権化を進める要因の1つとなっていることも注意が必要で、必ずしもBraidpoolの導入によってその本質が変わらない可能性もあるのではないか?と疑う気持ちも残っています。

個人的な印象としては、現状より悪くはならないので試してみる価値がある試みだと思いますが、成功確率に関してはあまり高くなさそうな気がしています。

そんなBraidpoolはHRFやOpenSats、Spiralからグラントを得て着々と開発を進めているようなので、今後もゆるく追っていきたいプロジェクトの1つです。