ビットコインマイニングを分散化するOcean MiningのDATUMプロトコル
下の動画でDATUMプロトコルを開発したJason Hughesさんが説明してくれているので、興味深く視聴しました。
https://www.youtube.com/watch?v=LQfAyzfp_kU
gladia.io という文字起こしサービスを使って文字起こしして、さらにAIで翻訳してもらったものから、特に重要だと思われたごく一部を抜粋します。
他にも、JasonさんがTeslaのシステムをハックして電話越しにサポート担当者の車を動かしたエピソードなどもあり、観て損はない動画なので興味のある人はぜひ元の動画を観ることをオススメします!
17:50 基本的にはStratum V2をフォークし、分散型のブロックテンプレートのアイデアを進めました。自分のリグでブロックを発見した場合、どのトランザクションを含めるかを自分で決定できるという能力をユーザーに提供するものです。
(※AI翻訳の間違いかも知れませんが、一応補足しておくと、ブロックを発見してからそこに含めるトランザクションを決めるのではなく、実際には含めたいトランザクションを集めた「ブロックテンプレート」を作ってからハッシュ計算をおこなって"ブロックを発見"するのだと思います。重要なのは、プールのユーザー=マイナーが自分でブロックテンプレートを作成するという点です。従来のプールではプールのシステム側がブロックテンプレートを作成してユーザーに配布します。)
20:46 ここで最初の問題は、ゲーム理論的なインセンティブの観点から考えると、例えば私たち3人が独自のブロックテンプレートを提出しており、私がブロックを見つけたとしましょう。しかし、私は最悪のトランザクションを含めており、他の2人は不満を抱いている。プール内での報酬の分配はどうなるのでしょうか?
21:35 これはよくある質問です。例えば、誰かが空のブロックや低手数料のブロックを採掘し続けた場合、その行動によって他のマイナーが損をしないようにするために、Datumを使用している人は、あたかもソロでマイニングしているかのように報酬を受け取る仕組みになっています。
23:01 長期的に見ると、あなたがソロマイニングしているかのように、同じ割合で報酬が支払われます。つまり、あなたが採掘しているブロックが1年に1回見つかると仮定すると、その年にはそのブロックの報酬を得ることになります。例えば、空のブロックを採掘し続ければ、その年の報酬は3.125ビットコインになりますが、他の人が採掘している高手数料のブロックとは異なります。このように、報酬は異なりますが、それはマイナー自身が採掘したブロックに基づいています。
25:08 なるほど。つまり、基本的には他のマイナーが損をしないように調整されているということですね。
25:28 はい、それが公平であると私たちも考えています。私たちは、他の人が行った何かに対して自分が代償を払わないようにするためのシステムを作り上げました。
25:32 そうですね、もし放任主義で「誰でも好きなブロックを採掘していい」とすれば、プールはすぐに攻撃にさらされるでしょう。たとえば、大手のマイニング企業が空のブロックだけを採掘し、それがプールの半分を占めるような場合、他のマイナーはその報酬の半分を失ってしまうため、プールはすぐに崩壊してしまいます。だからこそ、私たちは一定のガイドラインを設ける必要があるのです。
(※ 現在は手数料よりもブロック報酬の3.125 BTCの方が十分に大きいので顕在化しないが、半減期を何度か経て手数料が占める比率が増えると問題が大きくなってくるだろうとのこと。)
27:08 私が理解しているのは、もしジェイソンが非常に低手数料のトランザクションを含むブロックテンプレートを提出し続け、私は常に最高手数料のトランザクションを選んでいたとします。最終的にブロックが発見されたとき、その報酬はその履歴に基づいて異なるのですか?
28:29 はい、オーシャンの報酬システムは基本的にPPL&Sに似ています。私たちは「潮の満ち引き」(tides)と呼んでいますが、これは直近の8ブロック分の作業に基づいて報酬が分配されます。したがって、1つのブロックに対する報酬が必ずしも50%というわけではなく、直近8ブロックの作業に基づいてスムーズに分配されます。また、低手数料のブロックを採掘した場合、そのブロックに対して支払われる報酬もそれに応じて異なります。
30:26 実際の例を使って説明しましょう。ビットコインの取引所があり、日々のオンチェーントランザクションが多く発生しているとします。毎日1000人が引き出しを行い、それをまとめて1日50件のトランザクションを行うとします。もしこの取引所が、ある(DATUMを採用した)プールで採掘をしていて、ブロックを発見するたびに自分のトランザクションを手数料ゼロで含めることができれば、その取引所は手数料を支払わずに済むでしょう。しかし、その取引所が自分のブロックに収益性の高いトランザクションを入れない場合、(同じプールで採掘している)他のマイナーがその行為に対してコストを負担することは避けられなければなりません。そのため、手数料が低いトランザクションを入れるマイナーのシェアは、その分少なくなります。利益を最大化しようとしている他のマイナーのシェアと比較して、彼らの報酬は減少するでしょう。
32:21 それはフェアですね。納得です。
そうですね、全てが公平であるべきです。他人の行動のために損をするべきではありません。
(...中略...)
52:00 このシステムは非常に軽量で、ビットコインノードの上で動作します。設定もほとんど必要なく、非常に簡単に実行できます。私のクライアントでは、既にすべてが動作しています。マイナーは自分のローカルで作成した作業を行い、その作業が正しく行われたことをDatumサーバーを通じてオーシャンに送信します。そして、オーシャンはそれを検証し、他のブロックに対するシェアを得ることができるという仕組みです。
これがまさに私たちが目指している理想的なプールマイニングの形です。そして、それが今、実際に稼働しています。セットアップも非常に簡単で、ビットコインノードの上にDatumをインストールするだけです。Datumをインストールすると、自動的にビットコインノードと連携して動作し、あとはマイナーをそのサーバーに向けるだけで済みます。
もしブロックを発見すれば、あなたの名前がブロックに刻まれます。そして、そのブロックはオーシャンを通じて報酬が分配され、他のブロックと一緒に報酬を得ることができます。重要なのは、プールに送信するのではなく、あなた自身がブロックをネットワークに直接伝播させるということです。これによって、ビットコインの分散性が確保されます。誰かがオーシャンに「特定のトランザクションをブロックしろ」と言っても、私たちは「それは私たちが決めることではない」と答えることができるのです。
54:03 素晴らしいですね。それこそが、ビットコインを分散型で運営し続けるために必要な仕組みです。誰もが許可を求めずに自由に参加でき、政府もそれを阻止することができないという、ビットコインの本質的な使命を守り続けるための仕組みですね。
以下は私の感想です。
戦争、災害、貧困、差別などで困難な状況にある人たちに第三者を介さずに直接的に支援を届けるためのツールとしてビットコインの存在はこれからますます重要になると思います。
その役割を果たすためには、「誰にもトランザクションを止められない」ということが最も重要です。少数の大規模マイニングプールによってどのトランザクションをブロックに含めるかを決められるという状況を変えてくれるOcean MiningとDATUMプロトコルが広く普及・発展することを大いに期待しながら今後も注目していきたいと思います。✌️