ネタでしかない仮想通貨「円天(Yenten)」をマイニングして暖を取る話

ネタでしかない仮想通貨「円天(Yenten)」をマイニングして暖を取る話

概要

最近身も心も寒いので,とりあえず身の寒さだけなんとかしようと思い暖房をつけるのですが,最近こんなニュース[1]を見てしまったせいで,

暖房ってめっちゃ無駄なのでは??

と思うようになってしまい,マイニングで暖を取る環境を整えようと決意したのが数日前の話です. しかし,BitcoinやBitcoinCash等の有名所の通貨はもはや新規参入に旨味がない上,送金にも時間がかかるし手数料も高いというのが現状です. それはあまりにももったいないので,マイナーなコインを採掘して小銭を得つつ暖を取るというのが今回の目標です.

円天はCPUでマイニングする暗号通貨

あの2000年代後半の 円天事件の円天ではありません

円天事件はこれ↓

擬似通貨「円天」は電子マネーとして使用可能と公開されていた。10万円以上を預け、あかり会員になると「1年ごとに預けた金額と同額の円天を受け取ることができる」「年利100%の金利が払われる」とされ、受け取った円天は、円天市場で利用することが可能とされていた。

擬似通貨ではない 仮想通貨「円天」 は,2017年10月末に登場したばかりのマイナー仮想通貨です. GPUやASICでは生成しづらい種類のハッシュを使用しているため,基本的にCPUでマイニングを行うという特徴があります. わたしはGPUリッチなPCなど持ち合わせていませんので,手元にある非力なノートPCで手軽にマイニングできるのはアドです. また,マイナー通貨なので,記事を書いている時点ではそこそこ掘れています.

Yenten is made for reducing MEGA WASTE of electricity by ASIC on the earth. When this cryptocurrency spreads, reduction of CO2 emission would be realize by Yenten.

概要にCO2排出量削減とかまじめっぽいことが書いてありますが,これは(たぶん)ネタです. ウェブサイトを見ればわかりますが,「円く円天」とか,「どう払うん?」「円天で」とか完全にネタづくしです. 作者の名前も conan-equal-newone (コナンは新一) とかいうやつで,これもたぶんネタです

これで仮想通貨「円天」の魅力を知ってもらえたと思います(?).

ここから先は,実際に円天ウォレットを作成し,マイニングして報酬を得るところまでを説明していきます.

もし万が一この記事が役に立ったのであれば,ぜひチップをはずんでください.
円天アドレス: YjRBHYAcbmGkvGrKWVqFfXFrKHCRMx4gqp

Read More

ShareComments

[rogy Advent Calendar 2017]「うわっ…わたしのMATLABコード、遅すぎ…?」

[rogy Advent Calendar 2017]「うわっ…わたしのMATLABコード、遅すぎ…?」

rogy Advent Calendar 2017 17日目の記事です. 前の記事はもりゅーのV-REPとC/C++で自作ロボットを動かすでした.

「MATLABは遅い」,ほぅ…

MATLABに対する愚痴として有名なのが,「MATLABは計算が遅い」というものです. 曰く,「MATLABはインタプリタ言語だから」とか,「大規模計算向けに作られていない」とか. 実際の話をすると,MATLABはインタプリタ言語ですが最近のバージョン(R2015b〜)ではJITコンパイラを使った最適化が常時走っていますし,並列計算GPU計算によって大規模な計算も難なくこなせるように作られています.

では,コードが遅いのはなぜなのでしょうか?MATLABの問題なのでしょうか?コードを改善するだけで実行速度を速くできないのでしょうか? 今回はそんな問いに答えていきたいと思います.

この記事の内容の多くはOctaveにも使える話かと思いますので,フリーソフトウェア狂のOctaveユーザの方も参考にしてみてください.

また,大抵のテクニックは公式のドキュメンテーション[1]にも書いてありますが,この記事ではさらに掘り下げてマニアックな方法についても説明していきます.

なぜ遅いのか

なぜ手元のコードが遅いのか. それには大きく分けて以下の3つが考えられます.

  1. 反復回数の多いforループを多用している
  2. 配列の大きさを頻繁に変更している
  3. アルゴリズムが悪い

1. 反復回数の多いforループを多用している

MATLABにはループ処理が遅いという欠点があります. したがって,反復回数の多いforループをなるべく削減することが高速化への第一歩になります[2]

2. 配列の大きさを頻繁に変更している

MATLABの配列(行列やベクトル)は,動的にメモリを確保できるように作られています. したがって,たとえば

x = [0 1 2 3];  % x = [0 1 2 3]
x = [x x];  % x = [0 1 2 3 0 1 2 3]

というように,配列の大きさも動的に変更することができます.

しかし,これには変数にメモリを新たに割り当て直す処理が必要となるので,通常の演算に比べて時間がかかります. 2, 3回なら問題ありませんが,これを1000回,1万回と繰り返してしまうと,全体としてパフォーマンスが低下してしまいます.

これを解消するために,zerosones 等のコマンドを使用して,予め必要なサイズのメモリを確保しておくことが推奨されています[3]

3. アルゴリズムが悪い

計算の遅いアルゴリズムを使用してしまうと,実行時間は長くなります(#それはそう). これはMATLAB側ではどうしようもありませんが,MATLABに予め実装されている高速なアルゴリズムを使って,自作の遅いアルゴリズムを置き換えることができる場合があります.


それではどのようにすればこれらの問題を解決できるのか,具体的な例を使って見ていきましょう. また,これらの問題を解決した上でさらに高速化するにはどのようなテクニックが有効かについても解説します.

Read More

ShareComments

2017年マイクロマウスシーズンを振り返って

2017年マイクロマウスシーズンを振り返って

ふりかえり

2017年の新作 “Vert” についてはこちら: Vertマシン紹介

今年は2年ぶりの新作を引っさげて大会巡りをする予定だったのですが,設計が予定通り進まず(平常運転),全日本大会のみでのお披露目となりました.

研究と並行しながらの設計・製作・調整作業に関しては,今年度は良い手応えを得ることができたので,来年以降も少なくとも出場はしていきたいと考えています. つぎは早めに設計をはじめること(大事),作業の見通しを立ててスケジュール管理をもう少しがんばること,なるべくお金と時間をかけない開発方針を立てること,などが課題でしょうか.

Read More

ShareComments

Vertマシン紹介

Vertマシン紹介

2017年製作の初ハーフサイズマウスです. メイン基板を垂直に立てていることが,ほかのマウスにない大きな特徴です.

Read More

ShareComments

SICE系学会・論文誌向け非公式BibTeXテンプレートファイルを作った

SICE系学会・論文誌向け非公式BibTeXテンプレートファイルを作った

概要

計測自動制御学会(SICE)系の学会や論文誌では,BibTeXテンプレート(bstファイル)が提供されていないため,参考文献を手動・もしくはRefWorksのような専用のツールでフォーマットする必要がありました. 1回の投稿の中で1度だけすれば良い作業なので大して苦にはならないのですが,自動化できるに越したことはありません. ということで,LaTeXユーザのみなさまにはおなじみのBibTeX向けのテンプレートファイルを作成しました.

tokoro10g/sicetran-bst

使い方

bstファイルをtexファイルとbibのあるディレクトリに入れて,texファイルの中で

\bibliographystyle{sicetran}

としてスタイルファイルを指定するだけです. リポジトリにサンプルを入れてあるので,参照してみてください.

どうなるか

SICEのスタイルにだいたい準拠した結果が得られます. 独特なものとして,

  • ページ番号: 始ページ/終ページ
  • 巻号: -号

等の書式に自動的に変換します.こんな感じに:

@inproceedings{rrbf2015icra,
    author={S. Rajappa and M. Ryll and H.H. B\"ulthoff and A. Franchi},
    title={Modeling, Control and Design Optimization for a Fully-actuated Hexarotor Aerial Vehicle with Tilted Propellers},
    booktitle={Proc. of the 2015 IEEE International Conference on Robotics and Automation},
    year={2015},
    pages={4006--4013}
}

注意事項

  • このスタイルファイルは非公式です.
  • @article, @inproceedings 等のよく使用するクラスには対応していますが,私があまり使わない @booklet 等については出力結果がおかしくなる可能性があります.
  • おかしな出力結果が得られた場合は,日本語でIssue報告してください.直したくなったときに直します.
  • 論文誌について,最終版投稿時には,生成されたbblファイルの中身をtexファイルに貼り付けるようにしてください.bstとbibを入れたまま提出すると,出版社から怒られる可能性があります.
ShareComments