マイニングプールの集中化と戦う分散型マイニングプールBraidpool
約1年前にマイニングプールのOceanが誕生してから、マイニングの分散性を守ろうとする動きについて本稿で複数回取り上げてきました。Ocean自体はOrdinals Inscriptionsの検閲という文脈で話題に上がることが多かったかもしれませんが、報酬の支払いをできる限りノンカストディアルにしたり、報酬のボラティリティをマイナーに受け入れてもらう代わりに手数料を安くしたり、ブロックテンプレートをマイナー側で生成できるようにするDATUMプロトコルを開発するなど、マイニングの分散性を守る方面でも活躍しています。
そんな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つです。
It took 6 years, but our roster finally has a Bob (@BobMcElrath). He works on @Braidpool, a decentralized mining pool that decouples problems like transaction selection, variance reduction, device monitoring, plus mining payouts to enhance profitability and censorship resistance. pic.twitter.com/OslWonnhVA
— Spiral (@spiralbtc) November 27, 2024
次の記事
読者になる
一緒に新しい世界を探求していきましょう。

ディスカッション