storj試してみた
本当はEthereumをマイニングしてみる(2017夏) - MOLのようなかっこいい mining rig が欲しいけど、とりあえずmacbookでやってみたら熱くなって電池が痛みそうなのでやめてOSXですぐ動くstorjを試してみました。
storjは計算するわけでなくストレージを貸すだけでGPUもCPUもいらなくてマシンが熱くなったりもしません。アーキテクチャはブロックチェーンを利用したストレージサービス「Storj」に詳しく紹介されています。
Storj - Pricingを見るとamazon S3の2/3くらいの価格。安定したlatencyで確実にread/writeできるならおもしろいかもねというわけで試してみました。
farming
storjはストレージの貸し出しのことをfarmingと呼んでいます。 OSXで動くGUIのクライアントがあってすぐに始められますが、これはElectronのラッパーになっていてウインドウを閉じるとdaemon自体も止まるので真面目にやるならCLIのStorj/storjshare-daemonにしましょう。
READMEに書いてある通りにやったら動いた気がします。
write
Storj/core: Implementation of the Storj protocol for Node.js にあるexampleで認証/アップロード/ダウンロードとひととおりのことができます。
bucketはwebで予め作ったほうが楽です。APIで使うのはbucket名でなくbucketIdなのでメモりましょう。同様にuploadしたファイルもファイル名でなくidでアクセスします。(なので不便です)
1.1Gのファイルを書き込んでみたところ、書き終わるまで4分。S3の場合2分でした。
もうひとつ880Mのファイルを書き込んでみたら3分だったのでだいたい 300M/min くらいのスループットです。
read
読みます。
アップロード時に鍵を生成して暗号化したものをアップロードするので、ダウンロード時にも同じ鍵が必要です。アップロードした1.1Gのファイルをダウンロードしてみようとしたら、すぐに Missing shard と出てきてダウンロードできませんでした。
壊れてるのかなと思って60バイトのファイルをアップロードしてみたら今度は正しくダウンロードできました。
880Mのファイルは15分で90Mくらいがダウンロードされたので400M/1hくらいです。
まとめ
- 書き込みは 300M/min くらい。そこまで遅くない。
- 読み込みは 400M/h くらい。書き込みの1/50くらいの速度です。
- アップロード/ダウンロードする環境で共通の暗号化用の鍵が必要。
- ファイルが読めないこともありそう
適用できるアプリケーションを選ぶストレージです。ちなみにはじめの1年は25Gまで無料です。
farming儲かるの?
STORJ.IO — How much will I make from DriveShare? のはじめに投げやりな感じで we don't know と書いてあります。
そのあとちょっとまじめな試算があって、13Tのスペースを貸し出してアメリカの電気代を払ってハードウェアを3年で減価償却したとして$67/monthの利益が出る、と書かれています。
自分のところでは昨日から1日動かして9Gしか貸し出されないので、今のペースで行くと13Tのスペースを貸し出せるようになるには4年後になります。