ラズベリー農家のすすめ/NEM Harvesting on Raspberry Pi 3 B

f:id:Ocknamo_crypt:20161105231141j:plain

この記事を読む前に必要な前知識をざっくりと説明(詳しい人は飛ばしましょう)

  1. NEMという仮想通貨があります
  2. ビットコインでいう採掘(マイニング)がそんなにでかい計算力や電力なくてもできるので、ビットコインより分散性が高くなるんじゃないかと注目してる人がいます
  3. ざっくりいうと採掘(マイニング)とは仮想通貨のインフラを支える仕事をする代わりにその通貨で報酬をもらえる仕組みのことです
  4. NEMでは採掘ではなく収穫(ハーベスト)と呼び、NEM通貨(単位はXEM)を報酬でもらえます
  5. 実際のところ報酬はどこから来るのかというと、通貨のやり取りの際の手数料です
  6. 日本人が農耕民族だからかは知りませんがなんか日本でNEMにはまってる人たちが多いです
  7. とりあえずそれ用のソフト(ウォレット)を入れてXEMを買ってウォレットに入れていろいろやるとバーべストができ報酬(収穫?)がもらえます

ラズベリー農家の会とは

さて、計算力や電力がいらないというなら、どうせならRaspberry Pi3でハーベストしてやろうと考えた人とかがなんかゆるく作った。
「ラズベリーパイでハーベストして報酬をツイートしていいねする」だけの会です(俺じゃなくてミジンコさんが作りました)

 

登録するとブロックチェーンからの情報でハーベスト結果を報告してくれるボットもミジンコさんが作ってくださいました。俺にはそんな技術はございません。

NEM東京様にもなぜか取り上げられました(内部リーク+ゴリ押しだけど)

Raspberry Pi 3(B)でハーベストする方法/How to Harvest

早速セッティング方法について説明します。*1

Raspberry Pi 3自体の初期設定については過去記事参照してください。

アップデートします

f:id:Ocknamo_crypt:20161106000901p:plain

Firefox(iceweasel)をインストール

デフォルトで入っているブラウザではウォレットに入ることもできす白画面が表示され途方に暮れることになります。
そこでFirefoxをインストールします。(Chroniumについては私は試していません)
インストール方法はターミナルを起動して

$ sudo apt install iceweasel

y/nと聞かれたらyを入力してEnter
インストールできていれば、Menu→インターネットの中に「Firefox ESR」が入っているはずです。

NEM公式ウォレット/NCC・NISのインストール

以下のリンク先にウォレットがあるのでダウンロードします。(最新版:nis-ncc-0.6.82.tgz)
http://bob.nem.ninja/

(17/10/25追記:現在NCCは非推奨のためダウンロード出来ません。ウォレットを使用したい場合はNanoWalletをこちらからダウンロードしてください。またどうしてもローカルハーベストをしたい場合はこちらの記事を参考にしてください。

Raspberry Pi3の好きなところに展開するとPackageというディレクトリができます。
Packageディレクトリに移動して、ターミナルに以下のコマンドを入力すればNIS,NCCどちらも起動します。

$ ./nix.runMon.sh

このあとちゃんと起動すると以下のような画面に。
f:id:Ocknamo_crypt:20161106004417p:plain
写真だとNISがまだ動いていませんが、ほおっておくとP2Pネットワークからブロックチェーンの情報をダウンロードし始めます。
その期間1日から3日。直接ネットからデータベースをダウンロードしてしまうと早いらしいですが自分はやらなかったので説明しません。*2

アカウントの作成

上の画像の左側でアカウントを新しく作成します。
ここまで読んでる人に詳しく説明する必要はないと思いますので省略。
ただ、アカウント名はアルファベットが良いようです。

ハーベストの方法

RaspberryPiだからといって特別なことはしていません。
新しいアカウントを作成し、ブロックがすべてダウンロードできたら次は
f:id:Ocknamo_crypt:20161106010127p:plain
写真の赤丸=VestedBalanceが10000以上になるまで待たなくてはいけません。
そのためには10000XEM以上をウォレットに入金ししばらく待つ必要があります。(10万XEM程放り込むとすぐです)
詳しくはこちらをご覧ください。
NEMの説明書 – ハーベスティングとは

VestedBalanceが1000以上になったら「ハーべスティングを開始する」をクリックすればローカルハーベストが開始されます。

継続したバーべストのための対策

上記の方法でバーべストはできるのですが、一定時間でNISかNCCが落ちるという問題があります。
目下対策中ですがこれまでに効果があった対策についてまとめます。

熱対策

完全にハード面での対策ですが、ヒートシンク+冷却ファンでCPUの過熱の問題はかなり解決されます。
以下に説明する対策を行えば「FireFox起動してるだけでだんだん動かなくなる。」みたいな症状はだいぶ軽減されます。
まずヒートシンクはアマゾンで購入
f:id:Ocknamo_crypt:20161106011727j:plain
f:id:Ocknamo_crypt:20161106011749j:plain
f:id:Ocknamo_crypt:20161106011821j:plain
シールで張るだけです。
www.amazon.co.jp

冷却ファンは5Vの小型のものを秋葉原のマルツで購入。ラズパイの「3V」出力とつないで使用。(5Vだとうるさすぎるため)
ラズパイのケースに穴をあけてつけます。
缶コーヒーボトルのフタのサイズがぴったりだったのでそれで円をケガイて穴をあけました。
f:id:Ocknamo_crypt:20161106012902j:plain
f:id:Ocknamo_crypt:20161106013152j:plain
f:id:Ocknamo_crypt:20161106013205j:plain
f:id:Ocknamo_crypt:20161106013701j:plain
f:id:Ocknamo_crypt:20161106013256j:plain
f:id:Ocknamo_crypt:20161106013328j:plain
ファン固定用のねじを通す3.5mm穴をあけます。
f:id:Ocknamo_crypt:20161106013340j:plain
f:id:Ocknamo_crypt:20161106013352j:plain
f:id:Ocknamo_crypt:20161106013402j:plain
f:id:Ocknamo_crypt:20161106013459j:plain
ラズパイのI/Oはオスのピンなのでそれに合うブレッドボード用のメスのコネクタついているワイヤを適当に買ってきて、途中で切ってファンの配線とつなげて絶縁テープでも巻いておきます。
こういうの。
https://www.amazon.co.jp/dp/B00P9BVKOKブレッドボード用JPワイヤー 100mm×10本 10PS-MIXの通販ならマルツオンライン

f:id:Ocknamo_crypt:20161106013513j:plain
f:id:Ocknamo_crypt:20161106013527j:plain
ファンのカバーもあった方が良かったですが、ファンに間違えて指を突っ込んでも指は大丈夫です(ファンは多分壊れる)

 

温度の比較はやっておりませんが体感だと10°ぐらいは下がっているように感じます。
CPUの温度を取得するには以下のコマンドを使用します。

$ sudo vcgencmd measure_temp

この熱対策を行って24時間ほどNIS,NCCを起動した状態で測ったところ37.0度。
対策を行った結果、数時間から十時間ほどで落ちていたNISが1日は連続稼働するようになりました。

メモリの確保

NISが落ちるのはラズパイのメモリが足りないからだという提言をいただきメモリ対策をいろいろと行っています。
実験計画法に基づいた定量的定性的な評価は行えていませんが、おそらく効果があると考えられる方法について列挙します。

1.GPUメモリを64Mから16Mに変更

GPUに使用するメモリを減らすと、アプリケーションに使用できるメモリ量が増やせます。
ビデオ出力は遅くなるでしょうが、ハーベスト中はどちらにしろほかの操作ができる状態でないので関係ありません。削りましょう。
f:id:Ocknamo_crypt:20161107010904p:plain
MENUからraspberrypiの設定に移動。パフォーマンスのGPUメモリはデフォルトでは64Mになっています。
f:id:Ocknamo_crypt:20161107010812p:plain
16Mに変更。再起動すると反映されます。
Before
f:id:Ocknamo_crypt:20161107011616p:plain
After
f:id:Ocknamo_crypt:20161107011638p:plain
totalのメモリが925Mから973Mに増えています。

2.NISのメモリ上限を制限

RaspberryPi3は1Gのメモリを積んでいます。
一方でNISの使用メモリはというと、実行ファイルをテキストエディタで開いてみると、
f:id:Ocknamo_crypt:20161107013048p:plain
初期メモリ(Xms)が512M,最大メモリ(Xmx)が1Gです。明らかに大きすぎますね。
というわけでこのオプションを書き換えます。
f:id:Ocknamo_crypt:20161107013102p:plain
数値は512mとか640mとか諸説あるようですがXmxの値をXmsと同じにして1Gより下げるのが基本です。
*3

稼働時間の測定方法

これは直接の対策ではありませんが、NISの稼働時間を測定するためにメモリを監視する方法について書いておきます。
おそらくもっとスマートな方法がありますので、教えてください(おい)

まずNISとNCCを起動します。
次にターミナルをもう一つ起動してJavaの動いてるプロセスを取得するために以下のコマンドを使用。

$ jps

こういう感じに表示されます
f:id:Ocknamo_crypt:20161107014637p:plain
2つある’CommonStarter’がNISとNCCでどちらがどちらかわかりませんが、いろいろ調べてみると番号が若いほうがNISであるとわかります。
上の画像の場合は1093がNISのメモリです。
これを監視します。

$ jstat -gcutil 1093 3600000

「1093」は毎回違う数字なので起動するたびにjpsで確認しています。
その右の「3600000」は監視するインターバルをミリ秒で指定するオプションです。
3600000msはちょうど1時間なので1時間に1度NISのメモリ使用をリアルタイム監視してくれます。
実際にやるとこんな感じになります。
f:id:Ocknamo_crypt:20161107015507p:plain
一行が1時間なので、この行数を数えれば稼働時間がわかります。

現状報告

  1. 連続稼働は約44時間を確認しています。
  2. ラズパイでの収穫は全て合計して24xemです。

今後の課題

  1. 農家の過疎が深刻
  2. 40時間程度では短すぎる。無限に稼働できるようにするか自動的に再起動かけられるようにしたい
  3. ミスって電源が抜けたり停電で再起動することが多発するのでUPS自作したい
  4. nanoWalletへの移行
  5. 自然エネルギーを用いたハーベストへの挑戦
  6. 収穫少ない

……などなど

 

課題はたくさんありますが、めんどくさい分収穫の味は(多分)格別です!
皆さんぜひラズベリー農家になりましょう。

つづき
ocknamo-crypt.hatenablog.com

*1:しかし、これはあくまで2016年11月現在判明している設定方法であり最長で44時間しか連続稼働を確認していないのでさらに設定を探求する必要があります。

*2:ヒント:ウォレットのあったリンク先

*3:この方法については、オプションを書き換えた後でもリアルタイムで見てみるとメモリ1Gぎりぎりまで使用していたり(NIS+NCCですが)、NISを起動したときのログには「Xms512m,Xmx1G」と記述があったりよくわからないことが多い。ミジンコ氏によると両方512mに設定して効果はある様子

ビットコインは何がすごいのか。ビットコイナー達はどんな夢を見ているのか。

f:id:Ocknamo_crypt:20161014002018j:plain
Creative Commons — Attribution 2.0 Generic — CC BY 2.0

みんな技術の話しすぎ! って話

ブロックチェーン、マイニング、公開暗号鍵、秘密暗号鍵、P2P、DAO、ピザンチン将軍問題、スマートコントラクト……

いや初めてビットコインに触れるような人にそんな話してもわけわかめじゃん!
楽しいのはわかる。新しいおもちゃを人に自慢したい気持ちすごくよくわかる、けど、そういう難しい技術タームなしでもビットコインの魅力は伝えられるはず!

 

というわけで、これは上に書いた単語禁止で、ビットコインの何がすごいのかを説明する記事である。

 

ちなみにビットコインは仮想通貨の一種である。

ビットコイン(仮想通貨)ってなに

『クレジットカード会社や銀行がなくてもネット上でデータとしてやり取りできるお金』
クレカ会社や銀行と書きましたが国や企業すら必要ありません。電気とインターネットは必要です。なのでビットコインか、その他の仮想通貨が本気で普及するとクレカ会社と銀行は潰れるか、なにか他のものに変化するしかありません。

ちょっとまってクレカじゃダメなの?

いいえ。クレカでもいいです。
でも、クレカより簡単で、クレカではできないこともできます。
クレカより簡単というのは「お金をメールで送れるようになった」というイメージです。(実際にメッセージも送れる仮想通貨も多いです)
クレカでできないことというのはメールのように「アドレス」を持っている人ならだれにでも! すぐに! 送れる、という点です。

これまでお金を人に渡す方法は直接手渡す、現金書留で郵送する、ATMで口座に送金する、クレカで支払う(一部法人相手のみ)などの方法がありました。
でも、メールで友達にお金を送る方法はありませんでした。なぜでしょうか?これがわからないと仮想通貨の意味が分かりません
たとえ話で説明してみましょう

 

お金メールで送れないのはなぜか? いや送れる!?

たとえば……
ある学生が生活費を使い込み、月末に1万円を送ってくれと親に泣きつくメールをしたとする。親はメールに「1万円」と書いて送ってきた。そのメールを銀行員に見せて一万円と交換してくれと言っても、交換してもらえません。なぜなら一万円という言葉は一万円ではないから。ここまでは当たり前です。

 

さらに催促すると、親は今度は本物の1万円札をスキャンして送ってきた。そこで学生はコンビニのコピー機で出力して使おうとした。店員に通報された。
当たり前です。当たり前ですが、当たり前でしょうか?
ちょっと先入観をなくして考えてみると、コピーして通報されるのって「お金」か「児童ポルノ」くらい。これにより少なくともお金は「児童ポルノ」くらいに異常なものであることがわかりますね。

 

というのは冗談として、お金はなんでコピーしてはいけないのかという理由は簡単です。
→お金がコピーできたらみんな無限にコピーするのでみんなお金持ちになる。
→みんなお金持ちになるとみんなたくさんモノを買う。でもお金持ちなのでモノを作ったり売ったりする動機もなくなる。
→モノがなくなる。
→モノがなくなるといくらお金があっても何も買えなくなる。
みんな飢えて死ぬ。

 

なのでみんなが飢えて死なないようにお金はコピーしてはいけないと決まっているのです。インフレがどうとかは些末なことです。簡単なことを説明するのに難しい言葉を使うやつは信用してはいけません。

 

そういうわけで、親が送ってきた1万円の画像はお金としては使えません。
ところが、この学生がメールの1万円をお金にする方法があります。

 

友人のお金持ちの学生にメールを見せて、たとえばこういう話を持ち掛けます
「親がこの1万円を送ってくれるが、いろいろあって銀行で受け取れないので時間がかかる。腹が減って死にそうなので今すぐ一万円貸してくれたらあとでこの一万円で返す」
お金もちは大抵いいやつなので9千円くらいなら、お金を貸してくれるでしょう。

お金とは信用そのもの

上のつたないたとえ話で伝えたかったのはこれです。
コンビニの店員は通報したのに、金持ちの友人がメールを見てお金を貸してくれるのは、友人を信用していたからです。
ある人には無価値なメールの内容でも金持ちの友人にはお金をかすだけの根拠になります。
信用があるから。

実は本物の1万円でも同じです。
1万円札が1万円札として通用するのは、それに1万円の価値があるとみんなが信用しているからです。

通用する貨(モノ)と書いて通貨という

実はお金を送る=価値を送るには信頼できる他人が絶対に必要です。
たとえメールでも相手が信用できるのならば、上の例のようにお金を送ることができます。
今回は90%しか送れませんでしたが、100%信用できるなら、100%のお金を送れます!
ただし、自分(学生)と、お金を送ってくる相手(親)だけではなく、お金を次に使う相手(上の例だとお金持ちの学生)、にも信用が必要です。
さらに次の相手にも、次の相手にも使える=通用するならそれは通貨です。

 

でもさっき書いたように簡単にコピーできるものは「みんな飢えて死ぬ」ので信用されませんし、通貨にもなれません。
なのでメールの内容のようなデータは通貨にはなれなかったのです。

これがビットコイン以前の話です。

ビットコインはデータだけど現物、現ナマ、つまり現金

です。

 

信用はもう必要ありません。
なぜかというと、本当にビットコインが自分に渡されたかどうかは公開されているデータベースを参照すれば「自分で」確認できるからです。
その上データベースは特殊な手法で保護されているので、書き込むことができて全部公開されているのにも関わらず後から改ざんすることができません。
理論上は誰にもできないようになっています。
なので自分にビットコインが移動したことを一度確認すればそれは未来永劫確定された事実にであることを確認したことになるわけです。

 

その代わり現金なので、落としたり、間違って誰かに渡しちゃったりしたらビットコインは戻ってきません。
データベースを後から書き換えることは本人にも、ビットコインの創造主*1ですらできないからです。
現金なので拾ったお金は本人に返すこともできるし猫ババして使うこともできます。

 

ちなみにデータベースに書き込むときのルールでコピーを禁止しているので、ビットコインはコピーすることはできません。

なんの意味があるの? どう生活が変わるの?

インターネットで個人の情報発信がこれまでにないほど増え情報のやり取りがめちゃくちゃ盛んになったように
ビットコインなどの仮想通貨が普及すると、個人でのお金のやり取りが増え、個人同士での商取引を含む経済活動がむちゃくちゃ盛んになります
個人でお金を集めることも簡単になるし、誰かに投資することも簡単になります。

 

これまでは個人の「経済活動」はいろんな「自由な消費」と特定の企業に参画しての「自由でない生産活動」が主でしたが、
「自由な消費」と「自由な生産活動」という完全に自由な「経済活動」が行えるようになります。

 

お金を預かる銀行はもちろん、株式会社とかの企業体やらは社会的な必要があんまりなくなっていきます。

未来はどうなるのか?

あなたがもし宇宙に行きたいという夢をもっていた場合、難しい試験を通過してNASAに入る必要も、お金をたくさん持っている必要もなくなります。ただ、あなたが宇宙に行くことが社会的に有意義なことであると多くの人を説得できればそれは可能になります。

 

一方であなたは川に橋を架けたいと思うことがあるかもしれません。橋が少ないせいでいつもひどい渋滞に見舞われるからです。もしそのアイデアに十分多くの人が賛成してくれれば橋を立てることができます。政治家になる必要はありません。

 

またある時、ふと地球環境を守らなければと思いたつことがあるかもしれません。あなたはすぐにプロジェクトに参加することができます。

 

資本主義社会では「お金があれば何でもできる」というのが裏ルールでした。

 

ビットコインの先にある社会では「合意(コンセンサス)があれば何でもできる」という社会になると想像します。

 

それが自分にとって良いものか悪いものかはともかく、社会の変化を感じて興奮しているのがビットコイナー達なのです。

結言

関西人は無知の知を悟っているのでよく言葉の最後にこう言います。
知らんけど。

というわけなのでビットコインに興味を持ったら自分で調べてみましょう。

*1:Satoshi Nakamoto

【拡散希望】金融庁フィンテックサミットでIBMが詐欺まがいのコインを表彰して炎上

まあ今のところ燃えているのは仮想通貨クラスタのみですが。
f:id:Ocknamo_crypt:20160924151024j:plain
Creative Commons — Attribution 2.0 Generic — CC BY 2.0

ことの顛末

・2014-2015年にFutcoinという詐欺まがいコインが出回る。

2014~2015辺りに暗号通貨界隈を騒がせた国産詐欺シットコインに
FUTCOINというのがあります。
このクソコインはセミナーで高額で販売されるも、その後、大暴落。
高額で購入したカモ達は全員泣き寝入り。
高額商材と同じですね。購入は自己責任とか言いながらも買わせる方向にもっていき、
最後は知らぬ顔。*1

調べてみると大量にプレマイン=発行元が通貨の多くをあらかじめ占有する詐欺まがいのコインだったらしい*2

・2016年6月にFutcoinの関係者が関る(名前だけ変えた?)『LastRoots社』というところが『c0ban』という仮想通貨で金を集め始めて、事情を知ってる人たちがざわざわし始める

http://www.lastroots.com/blog/lastroots-c0ban-c0ban

askmona.org


・なぜか自社サイトでクラウドファンディング(?)を行う。(普通は透明性を確保するためkickstarterなどの第三者のサイトで行うもの)

https://c0bantrade.jp/ja

・無事、詐欺が疑われる仮想通貨に名を連ねる

note.chiebukuro.yahoo.co.jp(ページ下段)

・そんな中、金融庁と日経主催のフィンテックサミットでIBM BlueHubが『cOban』に賞を与える

f:id:Ocknamo_crypt:20160924160501p:plain

金融庁と日本経済新聞社が、グローバルなスタートアップエコシステムの構築を目指すフィンテック・サミットをIBM BlueHubがスポンサーしました。
ピッチコンテストでは「新仮想通貨 c0ban(コバン)」を構築・運営する株式会社LastRootsさんへ、IBM BlueHubよりアワードをお渡しいたしました。今後、IBM BlueHubとの協業の探っていきます!
https://www.facebook.com/IBMBlueHub/

http://finsum.jp/#/finsum.jp(2016.9.24現在なぜか何も表示されない)


・IBMが詐欺コインにお墨付きを与えたと仮想通貨クラスタが騒ぎ始める

godtanu.hateblo.jp
←今ここ!!

 

ポイント

仮想通貨はBitcoin含め、極めて不安定な投機界隈なので、『未成熟なベンチャー』と『初めからコイン売りつけて逃げるつもりの詐欺』との見分けがつきにくい。その上、仮想通貨自体がつい先日(2016年5月)法律で定義されて規制が始まった*3ばかりのもので、なにがアウトで何がセーフかはっきりわからないから詐欺の温床になりやすい。日本以外でも「これホントに動くの」というようなコインがよくリリースされている*4
しかしながら、そういう状況で「値段が上がる」と言ってる時点で十分詐欺的である。当たり前だが、通貨はBitcoinや英ポンドですら上がったり下がったりで、まだリリースすらされていない仮想通貨が上がるかどうかは神のみぞ知る。そもそも通貨が広まったからといってイコール値段が上がるかというと、別にそういうわけでもないのだ
つまりこれ、「これから上場する株を買いませんか。上場したら必ず値段が上がります」と持ち掛ける『未公開株詐欺』と同じ構図である。
本来ならばこのフィンテックサミットは、ダメなコインと将来性のあるコインを、技術のことがよくわからない投資家が見分けるための指標、となるべきものであり、そこが胡散臭いコインにお墨付きを与えた罪は重い。

 

問題点

  • 『金融庁』と『日本経済新聞』と『IBM』のお墨付きがあるので投資詐欺だとしたら被害拡大が捗る。見せ金が含まれているが現在1億円。まだまだ増えるだろう
  • たぶん直接審査はしてないんだろうけど、こんな明らかに怪しいコインを登壇させた金融庁の責任は?
  • IBMのイメージが悪化するのはどうでもいいが、Bitcoinやほかの仮想通貨=『詐欺』のイメージが定着すれば仮想通貨の普及の大きな妨げになる。

詐欺に引っかからないために

・お金を儲けること”だけ”が目的になって投資先のことをまとも調べたり理解しようとしない人は引っかかる。自分がピンとこないものに投資するのはギャンブル。
id:xevra 様を信奉する。(まさか言及しているとは思わなかった。流石である)


・闇金ウシジマくん3を見ましょう(宣伝)
ymkn-ushijima-movie.com

 

番外

他の会社も他人ごとではない。

※ツイート等多数引用させていただきましたが、問題あれば消しますのでid-callかTwitterまで御連絡ください。

*1:IBMの衝撃 – 逆襲のタヌ神

*2:フートコインとか言うのを見つけた – Ask Mona

*3:「情報通信技術の進展等の環境変化に対応するための銀行法等の一部を改正する法律案」

*4:それが全部詐欺といっているわけではない