wp.bmemo.pw

自分のための覚書・備忘録

Storj 暗号通貨

余ったHDDを貸し出して利益を得るStorj(Beta)をセットアップして儲かるか確かめる

投稿日:2020年3月30日 更新日:

Storj(ストレージ)は、ユーザの余ったストレージ領域を貸し出すことにより、ユーザには格安でストレージ領域を提供し、貸し出し者には利益の一部を分配するサービス/システムの名称です。

今回は実際にHDDの一部領域を貸し出してみて、どの程度儲かるのか、継続してご報告していきたいと思います。

Windows、Linuxのプラットフォームがサポートされていますが、今回はUbuntu(Linux)上にDockerでインストールしていきます。

Storjとは?

Amazon S3 API互換の分散型ストレージサービスです。世界中の余剰ストレージ領域を使用して、Amazon や Googleより格安にストレージ領域を提供しています。ファイルは暗号化と分割化されて世界中のノードへ配信されます。ノードには完全なファイルはなく、更にそれぞれ暗号化されているためセキュアですよということらしいです。

最近、そのStorjプラットフォームを利用したサービス、Tardigrade.ioがローンチしました。

https://tardigrade.io/

主要ストレージサービスより格安であることがアピールされていますね。

Amazon(Tokyoリージョン)で ストレージ0.025USD/GB、転送料は0.114USD/GBなのでかなりの格安っぷりです。因みにStorjは転送料は0.045USD/GBです。

ストレージノードを構築してHDDを貸し出す

それではいよいよ、構築していきたいと思います。今回、筆者が用意した環境はこちらです。

OSLinux (Ubuntu 16.04)
HDD1.7TB (1700GB)
CPUCore i3-6100 CPU @ 3.70GHz
RAM8GB
LAN1Gbps
WANフレッツ光 (PPPoE) IPv4
WAN速度DL: 450Mbps / UP: 380Mbps @PM.9

1. 利用登録

https://storj.io/

から、「Become a Host」を選択して、利用登録を行います。

要件を満たしているかチェックします。エンタープライズ向けのサービスですので普段使っているパソコンと同居しないほうが良さそうです。

  1. CPUコアは1コア以上か
  2. 最低500GBのディスクスペースがあるか(貸出領域のことなのかは不明)
  3. 最低2TBの帯域が確保できるか
  4. アップロード速度が最低5Mbpsを満たせるか
  5. ダウンロード速度が最低25Mbpsを満たせるか
  6. 1ヶ月のダウンタイムは5時間以内に抑えられるか

仮想通貨のマイニングのように計算リソースの要求はない分、帯域やストレージ、可用性への要求が厳しいです。

特に2TB/月の帯域は、ご使用のインターネットプロバイダによっては規制がかかります。2000GB / 30日 ≒ 66GB/日 となり、いくつかのプロバイダでは余裕で規制値を上回ります。

速度については下手なプロバイダでなければ問題ないでしょう。夜間ゴールデンタイム帯に著しく速度が低下するようなプロバイダでは運用はきついかもしれません。

また、ダウンタイム1ヶ月5時間以内も人によっては厳しい要件です。普段から自宅サーバ運用している希有な人(!)であれば問題ないかと思いますが、普段使いのデスクトップの余りを提供しようと考えている人は注意が必要です。

チェックを入れたらメールアドレスを入力してトークンを取得します。


2. 初期セットアップ

メールでトークンを受け取ったら、メールに記載のドキュメントへアクセスします。

https://documentation.storj.io/

まず、サービス公開のためのポート開放と、固定IPでない場合はダイナミックDNSのセットアップをしましょう。公式ではNoIPが推奨されています。ダイナミックDNSの設定が終わったら、ポート28967 をルータで開放しておいてください。

Ethereumのアドレスも持っていないようであれば取得してください。ERC-20対応のものを作成します。storjにもおすすめのウォレットがあるのでそちらを参考に。

3. セットアップ

ノードのユニークキーを作成するため、以下のコマンドを入力します。非root

かなり時間がかかります。Rasapberry piのようなARMベースのマシンの場合は異なるバイナリを使用するので、それはドキュメントを確認してください。

キーが作成できたら、キーとトークンを連携させてオーサライズします。

作成したキーがあるか確認する。レスポンスが帰ってきたら成功。identityはバックアップしておくように、とのこと。

4. ノードの起動

Dockerを使用します。

  • WALLET: 支払先のEthウォレット
  • EMAIL: 登録したメールアドレス
  • ADDRESS: DDNS登録したドメインとポート
  • STORAGE: 提供ストレージ容量(GB, TB)
  • BANDWIDTH: 帯域制限(GB, TB) 最新バージョンだと認識しないかも
  • <identity-dir>: ~/.local/share/storj/identity/storagenode/ の絶対パス
  • <storage-dir>: storj用ディレクトリ。ここに各種ファイルが格納されます

/app/dashboard.sh を叩くと簡易的な統計データが閲覧できます。

  • Available:利用可能データ = 割当容量 – 使用済み容量
  • Used: 使用済み
  • Egress: Nodeからクライアントへのデータ転送(アップロード)
  • Ingress: サテライト(後述)からNodeへのデータ転送(ダウンロード)

また、http://storagenode:14002/から、ブラウザベースの簡易ダッシュボードが使えます。

運用と報酬

これで放置していると、各種値が増えていき、月次で実績に応じて報酬が支払われます。

1. 支払いはUSD換算のStorj

支払いはEthereumブロックチェーン上のStorjで支払われます。実績とStorjの時価に応じます。課金はUSD換算となりますが、ルールは以下となります。

Egress Bandwidthは、Nodeからクライアントへのデータ転送に対する報酬で、$20/TBとなります。

Repair Bandwidthは、Nodeの消失や可用性の確保のため、他のノードからデータを転送する際の報酬となります。こちらは$10/TBです。

最後にDisk Spaceは、文字通りディスクの消費量です。ディスク消費量は日々変化しますので月平均の計算となります。$1.5/TB

なので、2TBの領域を月平均で専有し、1TBのアップロード転送が発生した場合は$23相当の報酬となります。逆に、クライアントからNodeへのファイルダウンロードに対しては課金されません。


2. 本格的なファイルの流入はサテライトから承認を受ける必要がある。

数日稼働させてみると、ほんの僅かしかデータ転送が行われていないことに気づきます。これは、サテライトから承認が行われていないからです。サテライトとは、クライアントからファイルをやり取りする際にノードとやり取りするための中間サーバです。

現在5サテライト(2020年3月)が稼働しており、承認はサテライト個別に行います。Vettingが100になれば承認が行われたことになります。いつ、Vettingされるのかは完全ランダムで、およそ1ヶ月ほどかかるようです。

Vettingを確認する方法が公式のDashboardからかは提供されていないので、もっとイケてるDashboardを別記事で紹介します。

3. Egressのファイル提供は早いもの勝ち

申し訳程度の仮想通貨マイニング要素。Storjのファイルは分割されて各Nodeに配信されます。当然ですが、可用性確保のためにファイルのピースは1つずつNodeに配信されるのではなく、同じピースを複数のNodeが所有する形になります。このピースのアップロードが速いNodeだけ報酬が支払われるルールのようですので、実際に使用した帯域がそのまま報酬になる、というわけではありません。

このファイルの提供成功率を出すスクリプトがあります。

https://github.com/ReneSmeekes/storj_success_rate

ちなみに私の成功率はこんな感じ

UploadのAcceptが低めです。他の人は20%~30%を推移していて、特に異常な値ではなさそう。(そもそも地理的にアジアはちょっと不利)

開始から一週間の状況

一週間連続稼働させたところです。ストレージ159GBで、Egress bandwidthは38.4GBでした。予想収益が0.78ドルとなっていますね。この調子だと割に合わないですが、どのサテライトもVettingが100になっていないので、このまま1ヶ月連続稼働させて収益がどうなるのかを観察していきます。うまくいくようであれば、1700GB貸出中ですがこれを6TBほどに拡張してみます。

このダッシュボードの構築方法は別記事で解説します。

-Storj, 暗号通貨

執筆者:


comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

関連記事

StorjでHDDの空き容量を貸し出して仮想通貨を得る【コマンドライン編】

ビットコインやイーサリアムが登場してから色々なコンセプトの仮想通貨が登場しました. Storjコインもその一つです.Storjは世の中のストレージの空き容量をクラウドストレージにしてしまおうというコン …

[実験的] ブログに暗号通貨の寄付ボタンを設置しました

以前こんな記事書きました 絵師に投げ銭する方法:https://wp.bmemo.pw/1060 上記の記事でネット上の人物を支援する方法を紹介しました.これらはリアルマネーで取引したものを支援金(物 …

Storjノードを2つに増やした

約1ヶ月ちょっと運用しているStorj。もともとHDDの交換を考えていた矢先に始めたので、ちょっと大きめのHDDに交換しました。 既存のノードストレージとはマウントが異なるのと、領域の拡張ではなくノー …

Storj を1ヶ月稼働させて気づいたことまとめ

Tardigrade.io として正式稼働したStorjですが、1ヶ月動かして気付いたこと、フォーラムを覗いて気付いたことを可能な限りまとめました。 もくじ1. ノードからみて Ingress は入力 …