NFT(オンライン上のアートに対して唯一無二を証明するブロックチェーンの技術)を調べていた時に、IPFSという技術、プロトコルに触れる機会がありました。

で、そこからファイルコインのマイニングをやってみようと思い立ったのですが、そこまでの経緯とか結論どうしたのかをつらつらと書いていくことにします。

ほとんど備忘録。メモ的なモノ。

まずはNFTに関して、

NFTを使って個人でビジネスが出来ないか模索してみた

●NFTとは?

デジタルデータに唯一無二を付与できる技術

イーサリウムネットワーク上にブロックチェーンで記録できる。(データそのものは外部のURLを指す)

●NFT周りで起こっている事

・ドット絵が高額で取引された
・ツイッターの最初のツイートに億の値段が付いた
・日本人VRアーティストの映像が1300万で売れた
・アイドル、スポーツ、著名人のデジタルデータ

など。

●NFT周りのビジネス

①マーケットプレイス事業
OpenSea、GMO Adam、など。

NFTのECサイト
NFTのプラットフォームが必要

②個人アーティストの販売

著名人のデジタルデータをNFTとして売る

③転売

投機的なNFTの扱いに乗じて転売益を得る

●結論

①大きな企業でないとマーケットプレイス事業が難しい

コインの扱い、データの流出への対処が盤石にできないとリスクが大きい

金融等の関連法規も確認しないといけない

②現状アーティストではないので、NFTで売るのが難しい

元々著名な人がNFTをブースト的に使うと効果的だが、一般人には難しいだろう

こっぱのアーティストがNFTをやっても、大した稼ぎにはならない。

ドット絵の何の価値も無い(と思われる)画像がたいそう大きな金額で取引されているのに魅力を感じて自分もと思う人はいるかもしれないが‥

③はやる気が無い。

ということで、NFTに個人でスモールビジネス的に参入するのは難しいと結論づけた。

ファイルコインとIPFSはどこで見つけたのか

NFTの画像データを保存する先はイーサリアムネットワーク上ではなくて、やはりWEB上のどこかのストレージ上に配置することになります。

NFTマーケットプレイスで自分が作成した画像データをアップロードするときに、マーケットプレイスが場所を用意してる場合もあるけど、アメリカの方ではIPFSという分散ストレージに保存するケースが見られました。

そこでIPFSって何だろうと思って調べ始めたのがきっかけです。

IPFSとは何なのか?

https://docs.filecoin.io/about-filecoin/ipfs-and-filecoin/

これはProtocolLab社が開発した分散WEBストレージでファイルを保存するプロトコルのこと。

IPLDというデータ形式や、libp2pという通信プロトコルを使っている。

IPFS上に保存したデータにはCID(Content ID)と呼ばれる一意のIDが付与される。データは256kbごとにいくつかの断片に分割され、ネットワーク上に分散されたIPFSノードのストレージに格納されていく。

IPFSノードというのはIPFSのネットワーク上にストレージを提供しているサーバーとかのこと。

あるコンテンツを編集して更新したとするまた別のCIDが付与される。1度作成したコンテンツをコピーしたりして配布したり、ローカルPCに保存したりする必要が無い。分散WEBのどこかにあるのだからCIDさえあればそのコンテンツを入手できる。

ファイルストレージとして使うには、IPFSデスクトップアプリケーションをインストールして使うことができる。
https://docs.ipfs.io/install/ipfs-desktop/

これを入れるとIPFSにファイルをアップロードするイメージが理解しやすい。

おそらくIPFSに提供しているノードは善意のボランティアで、保存したファイルは時間とともに失われるので、長期保存をしたい場合はファイルコインネットワークにお金を支払って保存することになる。

費用を払うという意味ではGoogle Driveや、Dropboxや、Amazonが提供しているストレージサービス等と同じと考えてよい。(むしろそれら一元管理のストレージサービスよりセキュリティ高く、金額は安くなることを目指している)

FilecoinはIPFS上に構築され長期保存のための分散ストレージマーケットプレイスということになる。

●ノードとは、ネットワークに接続されている端末のこと。Filecoinに接続しているノードはIPFSノードでもある。

Filecoinで報酬を得るにはマイニングをする

Filecoinネットワークに空きストレージを提供してユーザーに借りてもらうことによって報酬を得ることが出来る。

→これがストレージマイナー

ビットコインのマイニングとは異なる形で、計算能力を提供するマイニングではなくて、空きスペースを貸し出すことでマイニングをする。

この他、選出されたマイナーがProof-of Strageを提出するとFILを貰えるのもある。

・Proof of Repliation(PoRep)複製の証明

クライアントからデータを受け取ったら、それを複製してストレージに格納する。その時の処理。

1.セクターの充填とCommD生成
ストレージマイナーがクライアントデータを受信すると、セクターに配置する。
(セクター ファイルコインのストレージの基本単位)
セクターがいっぱいになるとCommD(Commitment of Data)が生成され、セクターに含まれるすべてのピースCIDのルートノードを表す。
2.セクターの封印とCommR作成
これはシーリングと呼ばれるプロセス。
セクターデータはエンコードされ一意のレプリカが作成される。Merkle TreeのルートハッシュはCommRLast。CommRLastはCommCと一緒にハッシュされる。これによりCommR(Commitment of Replication)が生成されパブリックブロックチェーンに記録される。 CommRはマイナーがクライアントデータを物理的に保存していることを証明するために必要。(CommRLastは非公開でマイナー側が保存)

シーリングプロセスではzk-SNARKを使用して複製証明を圧縮し検証目的でFilecoinネットワークの全てのメンバーが保存できるようにする。

・Proof of Spacetime(PoSt)時空の証明

保存したデータがあり続けていることを証明する。繰り返し実行する必要がある。
PoStはシーリングプロセス時のCommRLastとCommRに基づいて構築される。
Zk-SNARKに圧縮。

-Window Proof-of-Spacetime(WindowPoSt)
は、制約を監査するメカニズム。24時間に少なくとも1回監査される。失敗すると没収される。

-Winning Proof-of-Spacetime(WinningPoSt)
は、ファイルコインネットワークへの貢献に対して報酬を受け取るメカニズム。選出されたマイナーがProof-of-Strage(詳細が見つけられない)を提出するとFILを貰える。

Filecoinマイナーのハードウェア要件

FilecoinをマイニングするにはLotusというLinuxかmacで動作するアプリをインストールして動かす必要がある。

Lotusには「Lotusノード」「Lotusマイナー」「Lotusワーカー」の3つのアプリがある。

Lotusノードのハードウェア要件と、マイニングするための3つのアプリの要件はまた少し異なる。

ファイルコインのマイニングにおいてはビットコインのような計算能力は不要で、ストレージの空き容量の多ささえあれば大丈夫、みたいな風潮があるがとんでもない。

Protocol Labsのマイニングアーキテクチャの事例を見ると3台のマシンでやってるように見える。シーリングプロセスの各フェーズを各マシンに割り振ることができる。

・ストレージマイナー+ノード
・PC1 シールワーカー(セクターの封印機能)PreCommit1フェーズ
・PC2 コミットワーカー PreCommit2

●ハードウェア要件

・CPU 8コア以上
AMDのZenシリーズが強くお勧めされている。IntelでもよいがSHA拡張機能を備えたAMDの方がよく動くらしい。

・RAM
最小128GBのRAM

・GPU
強力なGPU

・ディスク
少なくとも1TBのNVMeのSSD

・HDD
任意の数

●パソコン工房やドスパラやOTTに相談

→これらの販売所はすでに自社で決まった構成のものしか販売していないようで、BTOでカスタマイズできることはできるけど、世界的なPCパーツ(半導体)需要のために構成ができない。あるいは4週間~半年かかると言われたため断念。

●いろんな調査

Zenマイクロアーキテクチャ以降のAMDのCPUの意味がわからなかった。

RAMは128GB以上あればいいと理解したが、「NVMe SSDでの256GBスワップが必要」の意味がわからなかった。

強力なGPUが必要とのことだが、GeForceのRTXやGTXシリーズは供給不足ですぐ手に入らないと言われた(そのくせamazonとかに売ってるのみかけるんだけど?)

GPUを探してると同じGeForce RTX 2080なのにGigabyteやMSIや玄人志向などのメーカーが分かれていて性能や価格が異なる意味がわからない。チップはNVIDIA製だけどグラフィックボードにして販売してるのでメーカーが異なるようになってるようだ。台湾のGigabyteやMSIがよさそう。

色々調査して徐々にパーツがわかってきた。

●ハードディスクを200~1000TBもどうやってつなげるのか

こういうのを買ってハードディスクを入れれば大容量のストレージを構築できる。
http://www.ctsolution.co.jp/products/raid_storage/4ujbod_alpha/
https://bto.applied.ne.jp/c12-c2314-pm478.html

いわば外付けHDDのように接続できる。接続方式はUSBやSAS接続になる。USBは遅いのでSASがよく。「PCIe x8」の空きがあれば導入できる。

ハードウェア方式のRAIDカードが組み込まれていて、1つのHDDとしてふるまうことが出来る。RAIDは6がよさそう。

RAIDについて説明
https://note.cman.jp/server/raid/raid6/

DISK本数に対して+2本で計算すればよく、48TB欲しければ16TBのDISK×5本ということになる。

●パソコンを買えばよいのか?サーバーなのかワークステーションなのか?

パソコンと言えば縦型のもの。サーバーと言えば横型のものと想定。
HDDにもエンタープライズ版があり振動に強い物とかを購入した方がよいらしく。

作ったパソコンはデーターセンターに預けるのか、専用の部屋を借りてやるのかでも変わってくる。

場所代、電気代、ネット代など考えなきゃいけない事もたくさんある。

●私が購入したハードウェア

とはいえパソコン組み立て素人なので、誰かに相談できる相手もいないし。パソコンショップの人に問い合わせしながら自分の無知を埋める作業をしていった。

最小構成のハードウェア要件に加えて小規模マイニングに適しているマシンの概要が出てたので、確認しつつ以下の構成のハードウェアを購入した。

ここに至るまでに古いPCを使ってLinuxのOSのインストールやWEB接続、SSH接続のテストを繰り返してできるようにした。

・CPU AMD Ryzen 7 5800X【3.8GHz/8C16T】 / 70800円
・CPUクーラー / SCYTHE 忍者五 / 7500円
・マザーボード / ASRock X570 Pro4 / 24800円
・ビデオカード / ASUS ROG-STRIX-RTX3070-O8G-V2-GAMING / 126800円
・メモリ / G.SKILL F4-3600C18D-64GTZNx2【128GB】 / 120800円
・SSD(システム用) / Samsung 980 PRO MZ-V8P2T0B/IT【M.2/2TB】 / 55800円
・電源 / CORSAIR RM850x 2021 (CP-9020200-JP)【GOLD/850W】 / 21800円
・PCケース / Fractal Design Meshify 2 XL Black TG Dark TintL / 33800円
・ケースファン / SCYTHE WONDER SNAIL WS1225FD12-P / 1800円

合計45万円以上かかった。これにモニターとキーボードを購入。残念ながらこのマシン、モバイルモニターが接続できなくてもう1台購入するハメになった。HDMI接続可能な所謂普通のモニターを購入。

重要なのはストレージ容量だと思ってて、少なくとも100TBは欲しいと。
また将来の拡張性を考えて200~1000TBまで増やせる可能性も考えた。

このPCケースは大きめのタワー型で、なんとHDDを12本もさせるそう。だから後からHDDを買って200TBまでは1台のマシンで増やせるぞ、と目論見ました。

●買った後に失敗に気づいた

想定はしてたけどエイヤで買ったので失敗があった。それが電源。

停電するとパソコンが壊れる可能性があるのでUPSという無停電電源を用意しておかないといけない。

電源選びとして

・まずは消費電力電圧の計算が必要

参考
https://www.dospara.co.jp/5info/cts_str_power_calculation_main

パーツ 消費電力(W)
CPU Ryzen 7 5800X 105
CPUクーラー 忍者五 5
マザーボード X570 Pro4 50
ビデオカード ROG Strix GeForce RTX 3070 V2 OC Edition 8GB GDDR6(LHR版) 220
メモリ F4-3600C18D-64GTZNx2【32GBx4】 28
NVMe SSD 980 PRO MZ-V8P2T0B/IT【M.2/2TB】 25
SATA HDD 10 240
ケースファン WONDER SNAIL WS1225FD12-P 3
DVD 0 0
電源 RM850x 2021 (850W)
676

理想の電源 x2 1352
UPS電源 x1.2 811.2

計算してx2倍の電源を用意すると理想の電源になる。1352W。HDD10本挿しを考えると全然足りないことが発覚

HDDが0なら消費電力436Wなので、×2をしても872Wだから現状の電源850Wで足りそう
HDDを10個(24*10≒240W)とすると、合計676Wになるので、×2をすると1352W必要になり、電源850Wでは足りない。

UPSはx1.2割のUPS電源を用意する。「811W」。

というか普通にマイニングを考慮すると1200W以上は必要らしい。

結論、現状電源が足りない。
Platinumの1200Wが欲しい。

・UPSに関して選ぶポイント

シャットダウンに必要な時間

シャットダウンだけなら5分でいいとか、
設備点検が必要だから1時間必要とか

UPS選定ツール
https://ups.ecbuyers.com/product/ups_selector.html

・供給方式の選び方

UPS(無停電電源装置)の給電方式は、

「常時商用給電方式」
「ラインインタラクティブ給電方式」
「常時インバーター給電方式」
の3種類

瞬断なしで給電可能なのは最も高価な「常時インバーター給電方式」のみ。

じゃ他の2つは何の意味があるの?

瞬断してもPCには影響がない模様。

じゃぁ常時商用の安いやついでいいんじゃない?ということになった。

・波形

正弦波と矩形波があるが、正弦波を選んでおくのがよさそう

ということで、現状の構成ならテストまでは可能だけどHDDを10本搭載しはじめると電源が足りないことが発覚。

ファイルコインのLotusをインストール

https://lotus.filecoin.io/docs/set-up/about/

ここを参考にLotusをインストールしてみた。

●マイナーになるにはソースからの構築

sudo apt install mesa-opencl-icd ocl-icd-opencl-dev gcc git bzr jq pkg-config curl clang build-essential hwloc libhwloc-dev wget -y && sudo apt upgrade -y

この間ズラズラと画面に文字が出てきた。

・Rustup

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

・Go環境のインストール

wget -c https://golang.org/dl/go1.16.4.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
go version

でバージョン確認しようと思ったけど、Command ‘go’ not found, but can be instailed with:
と出た。

・パスの追加

echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc

をしたら、

go versionと入力して、go version go1.16.4 linux/amd64と出た。

●ビルドとインストール

まずはテストネットに接続してみよう。

Lotusは単一のネットワークでのみ動作する。ネットワークを切り替える際にはlotusをコンパイルし直すようだ。

リポジトリのクローンを作成し、lotusフォルダへ移動

git clone https://github.com/filecoin-project/lotus.git
cd lotus/

最新のリリースにチェックアウトする

メインネットの最新バージョンはココ [latest]のバージョンを使用
https://github.com/filecoin-project/lotus/releases

チェックアウトの記述方法

git checkout v1.13.1

全てのブランチを一覧表示する

$git branch - a 

CPUモデルに応じて環境変数をエクスポートする
AMD ZenでSHA拡張機能をサポートしてるCPUの場合はさらにビルド前に以下の変数を設定しておく。これで高速化。

export RUSTFLAGS="-C target-cpu=native -g"
export FFI_BUILD_FROM_SOURCE=1

↓この記述は自分にあてはまるのかわからない

a. Some older Intel and AMD processors without the ADX instruction support may panic with illegal instruction errors. To solve this, add the CGO_CFLAGS environment variable:
export CGO_CFLAGS_ALLOW=”-D__BLST_PORTABLE__”
export CGO_CFLAGS=”-D__BLST_PORTABLE__”

↓この記述がわからないけどやっておいた。

a. By default, a ‘multicore-sdr’ option is used in the proofs library. This feature is also used in FFI unless explicitly disabled. To disable building with the ‘multicore-sdr’ dependency, set FFI_USE_MULTICORE_SDR to 0:
export FFI_USE_MULTICORE_SDR=0

特定のネットワークに向けたビルドを行う

$ make clean all ←本番ファイルコインネットワーク
$ make clearn calibnet ←テストネットワーク

$sudo make install

これでlotus、lotus-miner、lotus-workerが/usr/local/binに入る。

bash: line 1: go: command not found

途中、goコマンドが見つからないというエラーが出たが、
https://github.com/filecoin-project/lotus/issues/2463
を見ながら解決。

/etc/sudoersに/usr/local/go/binを追加した。
$sudo visudoで、このファイルを編集し、Ctrl+O→Enter→Ctrl+Xで保存。

$sudo make install

をもう1度実施。

$lotus -version

lotus version 1.13.1+calibnet+git.8943de27e
と出た。

適切なネットワークにロータスがインストールされていることを確認。

ここは何を言ってるかわからない

Systemd service files Lotus provides generic Systemd service files. They can be installed with:

make install-daemon-service
make install-miner-service

Provided service files should be inspected and edited according to user needs as they are very generic and may lack specific environment variables and settings needed by the users.

One example is that logs are redirected to files in /var/log/lotus by default and not visible in journalctl.

●Lotusデーモンを起動し、チェーンを同期

lotus daemon

これでズラズラと画面に出てくる。
プルーフパラメータのダウンロードが行われるが、数ギガバイトあるので半日~1日ぐらいかかったと記憶している。

途中、

net/http: TLS handshake timeout

のメッセージが出て終了していた。ウチのWifiが駄目だったのか何かわからず次に進んだ。

lotus sync wait

を実行したが、
ERROR: could not get API info for FullNode: could not get api endpoint: API not running(no endpoint)
が出てしまって、どこで上手くいってないのか不明。

続けて

systemctl start lotus-daemon

を実行したが

ERROR: could not get API info for FullNode: could not get api endpoint: API not running(no endpoint)

AUTHENTICATING FOR org.freedesktop.systemd1.manage-units
Authentication is required to start ‘lotus-daemon.service’.

と出ていみがわからない。パスワードを求められたので入力。

Failed to start lotus-daemon.service: Unit lotus-daemon.service not found.

が出た。

もう限界かもしれない。(´・ω・`)

もう1回lotus daemonを実行した。

ここからまた画面にズラズラ出て来て半日以上たってもまだやってるから、とりあえずTeratermからログオフした。

次の日Teratermで接続し直してみると、接続前の画面に戻ることが出来ず、実行中のプロセスがどうなってるのかわからなくなってしまった。

ps -aux | grep lotus

を入力すると

20058 149 17.5 70084828 23095872 ? SI Dec10 1315:0 lotus daemon

と出てくるので、lotus daemonは起動中のように見える。

何度かpsしてみてもRAMやCPUが動かないので、プロセスは停止しているような気がする。

元のスクリーンにつなげる方法を探したがもう無理だった。

次に進んだ。

同期して待つ

lotus sync wait

このコマンドで

Worker: 0; Base: 0; Target: 502730 (diff: 502730)
Worker: 0; Base: 0; Target: 502730 (diff: 50230) 68307
State: message sync; Current Epoch: 434436; Todo: 68294
Validated 2658 messages (77 persecond)

のようなメッセージが出て、Valdiatedの数字がぐるぐる進んでいく。

よくわからないので、Ctrl+Cで終了してしまった。

もう1度lotus daemonを入力したところ

ERROR: initializing node: applying node options failed: repo is already locked (lotus daremon already runing)
というメッセージが出た。どうやらlotus daemonの起動は成功してたようだ。

同期ステータス確認

lotus net sync

このコマンドは、動かない。ミスか?
No help topic for ‘sync’
と出てしまう。

ステータスを確認

lotus sync status

worker 0:
Base: [bafy2bzacecz3trtejxtzix4f4eebs7dekm6snfsmvffiqz2rfx7iwgsgtieq4]
Target: [bafy2bzaceb7sgj5iexijxduj5atljwt2art5nvxnlm2aw55nmqhbnxc5pvcwy bafy2bzacean7rakhnowindqhmhr5cx35iy6o3s6apmnaxzwjz5h3se5k4nvq2 bafy2bzacedqh4sdffovllf6g2nkbyv4fzhahbsaj2dwceqq4rm5uyl7hrcdle bafy2bzaceburltvdmpfqttjlnn7vhti2wr7kmlkqzw3jvz4dws77u4dlbi37a bafy2bzacecrrjfdxznyyvl46waz6hbchtfgzoafdjvh4ajihdl6fgqe646hbw] (502730)
Height diff: 502730
Stage: message sync
Height: 432737
Elapsed: 14h45m47.37627263s

これが出た。

途中で停止してしまったので、同期して待つをもう1度実行。

lotus sync wait

ずっと待ってたら画面は次のような感じで停止してた。

Worker: 0; Base: 0; Target: 502730 (diff: 502730)
State: fetching messages; Current Epoch: 496585; Todo: 6145
Validated 477967 messages (0 persecond)

何かが終わったらしい。

lotus sync waitが終了したことをどうやって知るのだろう?調べてみるとDONEが出力されるというブログを見かけたが、私のターミナルにはDONEが出てきていない。

まただよ。今どういう状態なのか正常終了したのかさっぱり情報がとれない。

ps -aux | grep lotus

をやると
lotus daemon
lotus sync wait
の2つがいる。

lotus sync status

をもう1度うってみると

Height diff: 502730
Stage: fetching message
Height: 496585
Elapsed: 18h37m44.404661494s
と出てきた。

さらにもう1度

lotus sync wait

をやると

Worker: 0; Base: 0; Target: 502730 (diff: 502730)
State: fetching messages; Current Epoch: 496585; Todo: 6145
Validated 0 messages (0 persecond)

と出てきた。Ctrl+Cで終了。Exit by user

他のピアの数を確認

lotus net peers

ロータスネットワークとバージョン確認

lotus version

lotusデーモン停止(デーモンを再起動してロータスを更新するときに必要)

lotus daemon stop

この時点でもうどうでもよくなった

テストネットに接続する段階でこんな状況なのでだんだんイライラしてきました。

うまくいってるのか、うまくいってないのか判断する情報が無さ過ぎて。
これちゃんとやれてる世界のマイナー達はすごいなぁ。
自分が英語ができないというのは抜きにしても情報少なすぎんだろ。トラブルシューティングの章もあるけどメッセージ少なすぎて。。

ファイルコインマイニングに必要な担保はいくら?

ここにきてファイルコインをマイニングするために必要な担保について調べ始めた。

ファイルコインではストレージを提供する訳だけど、そのストレージに格納したデータが失われたり、必要な時に取り出せない事態におちいると、ユーザーに大迷惑をかけることになるので、そういう事態に備えてマイナーからコインを没収する仕組みがあります。

これによってマイナーが確かなストレージを提供することを契約書無しで約束させるような仕組みになっている訳です。

なので事業としてマイニングを始める前にファイルコイン(FIL)を預け入れておく必要があります。
必要なFILは提供するストレージ容量に応じて増えていきます。

担保として預け入れるFILはどれほどかを計算するには、https://filfox.info/en/にアクセスして、「Current Sector Initial Pledge」の項目を確認する。

0.1476FIL/32GiBとなっていたら、
0.1476×32×コミットするテラバイトで計算。

もし1TBなら、0.1476×32×1=4.7232FIL 1FIL @7000円とすれば、33062円
もし100TBなら472.32FIL = 3,306,200円
これだけの担保が必要になる。

自分の場合は200TBなのでおよそ650万円の担保金が必要になるということになる。

正常にマイニングが出来るなら650万円のお金を入れてやりがいもあるかもしれないけど、いまテスト環境でこの体たらくでは、ストレージを正常に提供できる気がしませんでした。

また次の重要事項もこれから考慮しなくてはいけません。

●重要事項
・高速、安定なネットワーク。少なくとも1日1回はデータがあることを証明することが求められる。
・バックアップ、交換、修理体制。これはRAIDによるHDDの維持。修理時の対処についての知見と経験。
・2重通信回線。ネットワークが切断されたときの予備として。
・lotusがバージョンアップしたらどうすんのか、1日1回の証明タイミングを除いてバージョンアップしないといけないのか。
・linuxのアップデートが来たらどうすんの?1日1回の証明タイミングを除いてバージョンアップしないといけないのか。
・セキュリティ対策。侵入やウォレットの維持をどうするのか
・停電などで電源が落ちた時に、どうやって接続し直すのか

ここにきて事業判断としてこれ以上の取り組みは無用と考えて撤退することにしました。

IPFSという考え方自体は素晴らしいと思ったのですが、ファイルコインのマイニングには参入障壁が高すぎるように思います。障壁を超えてしまえばあとは超えた人たちだけでウハウハになれると思いますが、

もっとインフラまわり、Linux関連の経験がある仲間が出来たらやりたいなと思いました。