プールを使ったクラウドマイニングの方法と、利益を得るための解説

モナーコインがLyra2REv2になりましたが、みなさんいかがお過ごしでしょうか。

今回はみんなよく火傷を負っているクラウドマイニングについて解説していきます。

クラウドマイニングってなんぞ

他人の演算リソースをお金で借りてマイニングすることを、クラウドマイニングと呼びます。借りたリソースで暗号通貨を発行するのです。今回はモナーコインの解説なのでLyra2REv2の貸し出しを行っているNicehashを例に取ってみます。

サイトの仕組み

このサイトで貸し出されているリソースは、ほぼ全て個人が貸しているものです。どうやって演算リソースを貸しているかと言うと、仕事証明の話を挟まなければならないので、後で説明します。すごく意外ですが、貸し出すのに必要な通信速度は100kbpsほどです。強靱なGPUと多少の知識を持っている人なら誰でも貸し出しに参加出来ます。

f:id:urawazakun:20151009152157p:plain

 これで殴るのじゃ

 

貸す側と借りる側のメリット

貸し出す側は、自分でナウいコインを能動的に掘る必要がなく、計算資源をサイトに登録し、貸し出すことによってレンタル料を徴収します。利用者側は、ナウでヤングなコインを見つけ、それを採掘することにより差分の利益を得ています。一件成立しなさそうな関係ですが、貸し出す側は特に暗号通貨についての網羅的な知識を必要とせず、借りる側は知識さえあればお金で殴りつけて利益を得られるというステキなシステムです。お金を溶かしながら体で覚えると良いと思います!!!!(重要)

このレンタル費用は全てビットコインで支払われます。

マイニングプールの設定

このクラウドマイニングを行うには、マイニングプールと呼ばれる採掘集団のアジトに登録しなければなりません。モナーコインを例にしているため、今回はmonacoinpoolを使ってみましょう。(宣伝)

f:id:urawazakun:20151009152455p:plain

 

プールの設定

プールマイニングを行う上で大切なのが、ワーカーの設定です。この設定がうまく行っていないと掘ることが出来ないので、オーダーを出す前に2回くらいは見直して良いと思います。一回オーダー出すのに3円取られるし…

f:id:urawazakun:20151009152756p:plain

この画面まで来たら、適当なuser名とパスワードを付けてワーカーを登録してみましょう。この時に登録するIDとパスワードは、みんなが普段使っているような堅苦しいものではありません。バレても再生成すれば問題ない物ですので、適当に付けちゃいましょう。(バレた場合の考え得る被害は、他人がイタズラで高diffが必要な採掘で殴りつけて来る場合とかなので、個人的に無視しても良いと思います)

個人的には、大金で殴りつける用のIDとか、長い時間待機して安くなった時だけ動かす用のIDとか、用途別に複数登録するのがオススメです。

f:id:urawazakun:20151009153111p:plain

ちなみに私はこんな感じ。

ワーカーの名前に統一性があると、nicehashで混乱せずに済むのでラクです。

Diff表の把握

これ、結構重要なのでみんな間違えない様に設定してあげてね。

マイニングプールで掘られたコインは、掘っている仲間達の仕事量で山分けされます。

今回の話で出て来るDiffは、暗号通貨の採掘難易度であるDifficultyと同じものです。暗号通貨の採掘難易度は、その難易度以上のハッシュを見つけた時に採掘が認証されるという物ですが、ここに書いてあるDiffはプールごとに設定された仕事証明のために報告するハッシュ値の難易度を表しています(採掘難易度と差別化するため、報告難易度として分けて書きます)。

仕事証明は暗号通貨における重要な概念なので、知らない人はみんなで覚えましょう。

簡単に言うと、1万分の1の確率で当たる宝くじを、みんなで当たるまで引きまくった結果、当たりを引き当てた人は、期待値にして5000回宝くじを引いたことが証明される、というものです。

このシステムを借りて、プールマイニングで仕事量ごとに再分配しようって話に繋がります。

ある暗号通貨を掘り出すとき、例えばこのコインの採掘難易度が1000だったとします。

これを採掘している最中、「あっ!このハッシュ値惜しいなぁ!」って数値として、採掘難易度が900のハッシュを生成した場合。このハッシュ値自体はコインにならない単なる紙切れなのですが、これをプールに送信することにより、「採掘難易度が900のハッシュ値を出せる採掘者だ」という証明になり、次回の採掘ハッシュの分配量を少し多めに貰えるようになります。

この「採掘難易度が900のハッシュ値を報告」という所がミソで、この報告難易度を上げるだけで、通信量の増大を抑えながら、莫大な量の仕事証明を報告出来るようになります。

そして、この報告難易度が不当に高かったり、低かったりするとどんな悲劇が生まれるのかというと、サーバーがパンクします。死にます(dead常態になり、採掘が止まります)。

私もよくやらかすのですが、だいたいプールで推奨している数値の10倍を設定すると死にます。また100倍以上の差がある場合、報告難易度の自動調整がうまくいかず、deadと蘇生を繰り返してめっちゃ無駄になります。注意しましょう。

monacoinpoolの公称値はpoot番号と対になっています。このポート番号については次のレンタルの方法の部分で出て来るので、今は気にしなくて大丈夫です。

レンタルの方法

Nicehashに登録します。登録したらメールが送られてくるので、URLをクリックしてアクティブにしましょう。

f:id:urawazakun:20151009160824p:plain

f:id:urawazakun:20151009161047p:plain

 

プールを設定します。ここで先ほど出て来たポート番号についての説明が出て来ます。

まずManage my poolsを選択しましょう。

 

f:id:urawazakun:20151009161637p:plain

 

次に、画面を見ながら解説していきます。

 

f:id:urawazakun:20151009163956p:plain

最初に、右側に書いてある「Scrypt」のタブをクリックし、一番下に出て来た「Lyra2REv2」を選択して下さい。これやってないと最悪お金をドブに捨てます。注意して下さい。私は二度ドブに捨てました。

次に、Description(プールの説明欄、覚え書き)にプールの名前とハッシュレートを書いて下さい。今回は3036ポートを使うので、「monacoinpool_2GHs_ワーカー名」と書いて置けば問題ありません。

次に、プールで設定されているホスト名を入力します。monacoinpool.comと入力しておけばここも大丈夫です。心配ならプールのURLからコピペしちゃいましょう(http://とか巻き込まない様に注意してね。プロトコルはもう既に書いてあります)。

monacoinpoolを使う場合、ポート番号は3036で固定です。ここはプールの指示がない限りいじらないで下さい。ポート番号をひとつでも下げるとサーバー側に莫大な負荷がかかる様になります。

次に、ユーザーネームには「自分のmonacoinpoolのIDdotワーカー名」で登録して下さい。このmonacoinpoolのIDとは、

f:id:urawazakun:20151009162713p:plain

この矢印にある所の物です。

私の場合は、自分のIDのうしろにワーカー名である「1」「2」…「5」を付け加えて、

「urawazakun.1」「urawazakun.2」

といった具合になります。ドットを忘れずにね!

パスワードも同じ様に登録しましょう。これでプールワーカーの設定は終了です。

 

入金

NicehashでAccountからWalletを選択すると、「デポジットアドレスを作るかい!?」みたいに聞いて来るので、青いデカいボタンを殴りましょう。

f:id:urawazakun:20151009163349p:plain

すると、こんな画面が出て来てビットコインアドレスのようなものが出て来ます。

いつもとアドレスの雰囲気が違いますね。ここのデポジットアドレスはマルチシグで動かしていて、それ相応のウォレットアドレスを使って動いています。ビビらずにコピーして入金しましょう。

入金してしばらくすると、Pending BTC balanceの数値が変化し、またしばらくすると完全に入金が完了するので、完了したら次へ。

 

f:id:urawazakun:20151009164248p:plain

 

Orderタブをクリックすると、こんな感じの世界に行き着くと思います。入札のための画面です。ビビらずに入札しましょう。

 

書いてる最中に腹が痛くなってきた

ごめん…途中だけど投稿します…損益分岐点の説明が完成するまで待って…!!

Spells of Genesisのchrome拡張ウォレットがすごい

 

これめっちゃ使いやすいです。

 

f:id:urawazakun:20150906181342p:plain

導入すると右上にアイコンが出てくる様になり、ここを押してパスフレーズを入力するとこの画面になります。BITCRYSTALSがメインで送金、着金確認が出来ます。だけどすごいのはこの部分じゃなくて、次。

 

f:id:urawazakun:20150906181509p:plain

バッグの形をしたアイコンをクリックするとこの画面が表示され、そのパスフレーズ内に存在するコインを全て把握し、送金出来る。めっちゃ便利。

 

f:id:urawazakun:20150906181605p:plain

View Token Transaction Historyをクリックすると、今まで送受信したトークンの取引記録を眺めることが可能。花京院の「魂」も賭けるぜ!!

 

f:id:urawazakun:20150906181714p:plain

そして、それらのトークンを他の暗号通貨に交換してから送金してくれるいつものSHAPE SHIFTさんと、トークンにメッセージ付け加えられるっぽいサービスがタブから使用可能

 

f:id:urawazakun:20150906181852p:plain

その他色々出来るよって所がここ。

 

すごい。めっちゃ高機能で吹いた。素晴らしい。

カウンターウォレットといえば公式のカウンターウォレット.ioとスマホのカウンターお財布くらいしか知らなかったけど、これは使ってみたいと思えるウォレットだなって思いました。

これ、ゲーム内のカードを交換するために開発したって感じすごいけど、カード以外のトークンもちゃんと使えるので、他のトークンサービスを展開したい人にとってもかなり強い味方なのでは。少なくとも私は一瞬で魅了された。これは使います使います!!

ここがすごいよビットコイン

ビットコインってなによ

これ、コミュニティ内でもある程度認識が一致してるけど、ゲーム通貨です。なんのゲームの通貨というと、マジック・ザ・ギャザリングっていうカードゲーム。カードの売買にビットコインが使われ、その結果価値をここまで引きあげました。

この通貨自体の価値を保障する人はいません。みんな独自にこのシステムを気に入って購入、売買しています。保障されていることは、新たなビットコインの発行には大量の電気代がかかること、ビットコインの総量が決められていること、採掘者の多数決で決が採れない場合、システムの変更が不可能なことです。

再度言いますが、ビットコインの所得枚数は保障されますが、ビットコイン一枚辺りの価値は保障されていません。

仕組みとか―行使側―

専用のソフトを立ち上げて、送金したい相手のアドレスを入力し、送金ボタンを押すだけ。手数料として3円相当のビットコインを取引仲介者に渡し、ブロックチェーンにその取引が記録されます。この取引の送信は秘密鍵を使って行われます。

秘密鍵ってなんぞ

結果だけ書くと、公開鍵によって暗号化されたデータは秘密鍵でしか復号出来ない、また秘密鍵によって暗号化されたデータは公開鍵でしか復号出来ない、といった暗号の方式です。動きとしては、公開鍵を受け取った人は、その鍵で暗号化を施すと、公開鍵で復号出来なくなり、秘密鍵を持っている者のみ復号出来るデータとなります。そう出来てるんです(思考停止)

・なんでそれで取引が出来るの

ビットコインのウォレットアドレスは公開鍵で出来ています。「あの人にビットコインを送金したい」と思った時、取引相手の公開鍵と、取引金額、手数料、あと色々なデータをパッケージにし、これを自分の秘密鍵で暗号化した取引データを作成し、ブロックチェーンへ送信します。この取引データは自分の公開鍵でしか開くことが出来ません。一件「なんでそんな無駄なことするの」と思われがちですが、この「秘密鍵で暗号化したデータ」というのがミソで、自分の公開鍵で復号出来るデータを秘密鍵を持たない赤の他人が生成することはとても難しいのです。そう出来てるんです(生命活動停止)

・ブロックチェーンってなんぞ

ブロックチェーンは世界中のビットコインの取引情報を全て把握しているデータ群です。このデータは全ての取引仲介者(採掘者、マイナーと呼ばれます)に渡され、また全体で完全に同期しています。この同期は力業によって成されており、採掘者と名乗る人は一人一人、誰がいくら持っているのかを全て把握しています。採掘者はこのブロックチェーンデータを保持しなければ取引を仲介、採掘出来ません。

・取引の正当性の確保

この取引は、ある特定の取引仲介者によってブロックチェーンに書き込み、そのチェーンデータを取引仲介者全体に渡し、大丈夫だと判断された場合に限りブロックチェーンが同期されます。悪意ある仲介者が改ざんした場合、他の善意の仲介者によってブロックチェーンの同期から弾かれます。

仕組みとか―採掘者側―

ビットコインの生成

ビットコインは善意の採掘者、取引仲介者たちの手によって運営されます。初めのうちはブロックチェーンに取引を記録する度に、取引手数料の他に新たにコインを生成する権利を与えられます。

・採掘

取引仲介者たちは、取引の仲介の他に、採掘と呼ばれる作業を行っています。ビットコインを掘り当てた人達にはコインが分配され、同時にブロックチェーンへの書き込みを許可されます。コインの採掘作業は、ハッシュ関数について理解がないと把握出来ません。

ハッシュ関数ってなに

ハッシュ関数とは、入力されたデータを元に超適当に数値を算出する(基数から乱数を算出する)アルゴリズムの総称です。この関数だけを全体で共有すると、この関数はAという入力に対しBという乱数が得られますよ、といったことを、全体で再試験し、再確認出来る様になります。

・採掘難易度

ブロックチェーンへの書き込みは、乱数がある結果に収束した場合に作成されます。この条件は、「先頭から10桁までがゼロになる数値」といった具合になります。採掘者達はこの「ゼロを10個返す」ハッシュ値を算出する為に、基数のパターンを大量に入力し続けています。

・採掘難易度の自動調整

ビットコインは10分間に一回ブロックチェーンが追加されるよう、二週間に一度のペースで再計算ブロックに接触し、採掘難易度が再計算されます。「あれ?一週間で二週間分掘っちゃったぞ?」となった場合、採掘難易度を倍にするよう求められ、以降は再計算ブロックにぶち当たるまで採掘難易度が倍になったまま動き続けます。ちなみに実際の計算式はもうちょっと複雑です。

 

ここまで書いて力尽きたのでまた今度書くんじゃよ

結果的にどうなるのか

自身が送金したい相手へビットコインを送金するには、ブロックチェーン上にある自分の公開鍵であるビットコインアドレスの取引記録をジェネシスブロック(ブロックチェーンの開始位置)から順に追っていき、そのアドレスへの送金やそのアドレスからの出金、もしくは採掘されたビットコインを段階的に精査していき、最終的な残高を確認してから、送金したい金額以上のコインを所持しているかどうかを判断され、持っていた場合その処理が認証されます。この取引の改ざんは自身の秘密鍵がバレない限り不可能です。

そうして送金されたビットコインは、そのアドレスから送信されたデータであるかどうかを公開鍵であるビットコインアドレスで復号して確認を取り、確認が取れた場合に保持、また取引データを拡散し、採掘出来た人が、自身が採掘した証明と、正当な送金処理だったことを確認してブロックチェーンに書き込み、そのブロックを周りの採掘者に投げ渡し、周りの採掘者が確認出来たら順次新しいチェーンを書き込んでいく、という挙動になります。

つかれた

公開鍵と秘密鍵について呪文みたいな書き方をしてしまったのがとても心苦しい。全体の挙動についてはちゃんと書いたつもりなので、後は後述する本を買って、暗号化処理についての正しい知識を持って、それからビットコインに手を出すととても安心すると思います。(2015年8月26日に改訂されたばっかだよ!ビットコインについての記述も加筆されたそうなのでみんなで読もう!)

Amazon.co.jp: 暗号技術入門 第3版 秘密の国のアリス: 結城 浩: 本