自分の思いを確認することの難しさ

あるテーマについて、自分の思いを正直にまとめようとしている。 けど、これが難しい。 普段、誰かに認識してもらうことを第一に自分を表現することがほとんどだから、 完全に自分に向けてメッセージを綴るっていうのは特殊だ。 日記は7年以上ずっと書いているけれど、それも「社交モードの自分」にむけて書いているというか、すんなりわかることしか書いていない。 自分の思考を表出させることには、新しいレベルの困難がある。 多分、難しい理由は色々存在している。 ある種の恥ずかしさが抜けないこと。これを言ったらどうなる?という恥ずかしさは、対自分にさえも存在しているということに気づいた。 このこと(自分の思考を表出させる)をしていなかったことにより、それ自体が発散していること。思考自体がぶつ切りになっているので、 »

atomのnode.js用設定

色々詰め込んでいい感じになってきた。 デバックには atom-ide-debugger-node ideにはatom-ide-ui オートコンプリートにはternjs linterにはlinter-eslint 実行にはplatformio-ide-terminal 適時追加していくと思うけど、一旦はこれらがあれば困らない。 »

ACTONE完成!

ついにactoneを作れた。 長かったが、通常のcrypto moduleを拡張したbcrypto moduleが非常に便利で、一気に速度が上がった。ここからはnoiseを一気に作れると思う。 const secp256k1 = require('bcrypto/lib/secp256k1'); const sha256 = require('bcrypto/lib/sha256'); const hkdf = require('bcrypto/lib/hkdf'); const »

Binance Dexについて

Binanceは人類史上最速で成長を続けていて、仮想通貨の流通量も最大、仮想通貨の取引が取引所を介しているものだとすると、仮想通貨はBinanceとともにある行っても大げさではない。 そのBinanceがDexに本格的にかじ切っている。tendermint baseらしい。 tendermintといえばatomとphotonというトークンがあったと思うけど、これは関係してくるのか。 単純に投資対象として気になる。 バイナンスはあくまでSDKを元にブロックチェーンを作ることを発表をしており、他のブロックチェーンと接続性を得ることについて言及していないが、もしそうなればこの2トークンの価値は重要だと思う。 »

アートへの投資について

なんとなく、アートへの投資に興味が出てきた。 仮想通貨もそうだけど、デジタルなものへの関心があまりのも大きいから、揺り戻しがあるんじゃないかなあ。 資産の5〜20%をアートへ ほんっとうにちょこっとだけ情報収集してみた。 まず基本になるのは目利きだけど、金融危機のあとに混乱があって高騰騒ぎもあって、今はちょっと落ち着いているらしい。 欧米のプライベートバンクが、資産の5〜20%をアートへの投資を進めるっていうこともあるみたい。 絵画担保ローンもあるみたい。 「死」 それこそゴッホとかみたいに死後に強烈に評価される場合もあるし、アーティストが生身の人間である以上、よりドロドロした世界にはなりそうだけど、面白い。 グエルとガウディみたいな関係も素敵だし、応援できる人を探してみようかな。 »

encryptWithAD

HKDFによりk,ckを入手したら、kを利用して暗号化(encrypt)する。それは良いが、何がADなのか、というと、おそらく、associated data。 boltで定義されているそれを見てみると、 encryptWithAD(k, n, ad, plaintext) Where encrypt is an evaluation of ChaCha20-Poly1305 (IETF variant) »

Handshake

hkdfのboltにおける使い方を追っていたら偶然見つけたプロジェクト。 ソースを見るかぎりjsでごりごり書いており、健全なプロジェクトには見える。 Joseph Poonが関わっているらしい。 ピーター・ティールのFounders Fundも出資している。 接続にはnoise protocolが利用されていて、lightning networkのノウハウを活用しているものと思われる。 jsでどうやって書こうかずっと悩んでいたコードも、例えばしっかり書いてある。 https://github.com/handshake-org/hsd mixKey(input) { const info = EMPTY; const secret »

HKDF

そもそものhkdfとはなにか、っていうのを理解しないと行けない。 hkdfとは、hmacをベースにしたシンプルなkdfである。 hmac、kdfの意味がわからないのでそれを調べる。 kdf Key Derivation Functionのことで、日本語でいうと鍵導出関数となる。 鍵導出関数 (Key Derivation Function: KDF)は,与えられたパスワードから共通鍵暗号用の鍵を生成する関数である. 同一パスワードから異なる鍵が生成できるようにsalt Sと繰り返し数cの2つのパラメータを用いる. saltは秘密の値ではなく、辞書攻撃等を防ぐためにある。 hmac hmacはmacの一派らしい。 mac »

たった一通の手紙が、人生を変える

夢を叶える像、ラブ理論など、現代的な自己啓発本を書いている水野敬也の本。 人は嘘に対して非常に敏感です。次のことを守ってください。「本音であること」。テクニックだけで文章を書くと、「本音を隠した文章を書く難しさ」があります。 夏目漱石の手紙があまりにも秀逸で、こんな物言いをできるようになりたいものだと思う。 ご希望に添えず申し訳ないけれども今貸してあげる金はない。僕の親類に不幸があって、そのため葬式その他の費用を少し援助してやった。だから今うちにはなにもない。僕の財布に金があればあげるのだが、財布も空だ。 君原稿料の支払いを出版社が伸ばすように、君も家賃の支払いを伸ばしなさい。家主がグズグズ文句をいったら、出版社から原稿料が取れた時に支払うより他に、致し方ありませんと言って、相手にしないでいなさい。 君が悪いんじゃないから構わないじゃないか。 そして、 財布を見たら1 »

Lightning NetworkにおけるNoise(Noise_XK)

Lightning Networkの仕様書としてはBOLTがある。noise protocolはLightning Messageのやりとりをするのに必要な「事前のやりとり」の定義であり、それはbolt8に記される。 しかし、全ての詳細が記されているわけではなく、かつ文章だけでは理解が難しいため、必要に応じ、LNDの挙動を観察している。 概要 Lightning Node間での全てのやりとりは秘密で実施されるべきで、そのために事前に暗号化される。bitcoin同様のsecp256k1で作成されたpublic keyは長期的なlightning nodeのアイデンティティとして作用し、この暗号化にも利用される。 下記は公開鍵作成のコード例。 const ecdsa = new elliptic. »