Blog

Tezosハンズオン

Jun 15, 2019
meetup, Blockchain
Hands-on, Tezos

Tezosとは 第3世代のブロックチェーン 2018-09: Mainnet開始 ペーパーで約束されたものをほぼ実装した. 財団がRandDにお金を出してる. PoS Tezosの特徴 プロトコルはステークホルダーの物というのが第一の信条. LPos: Liqid Proof of Stake オンチェーン・ガバナンス: 自己修正投票 安全第一 形式検証を用いている DPoS Proof-of-Stake トークン所有量に応じたブロック生成権が与えらえる. ASICが必要ない 手数料が高騰しない 環境に良い トークンを所有していないマイナーからプロトコルをステークホルダーに解放する. Delegated PoS (委任PoS) ステーク投票により選ばれた少数のノードにブロック生成権を与える. 権利を投票に使う. EOSが代表格 利点 PC持ってないステークホルダーも間接的にブロック生成に参加できる. ノード数を減らすことで合意形成効率を上げられる. 欠点 過度にノード数を減らすと分散性・安全性を損なう. Liquid PoS (Tezos) 選ばれた少数のノードではなく, 誰でもベーキング(ブロック生成)できる. マーケティングにより, マイニングとは言わずにベーキングと言う. ベーカリー(ベーキングの委任を受ける業者のこと), ベーキング権(マイニングする権利), ベーキング(マイニングのこと)という. マイニングを少数ノードに牛耳られることなくステークホルダーに還元するためにLPoSを採用している. ...

BiiLabs Meet up

Jun 6, 2019
meetup
BiiLabs

BiiLabsのミートアップ IOTAに関する目新しいことは特になし. BiiLabsさんのミートアップだった. IoTにDLTを応用してこんなこと出来ます. 便利なAPIを公開しております.

とっても使えるアプリたち

Apr 30, 2019
app

本を作成 Re:VIEW pandoc 質疑応答 sli.do 作図 draw.io マークダウン表示 typora wikiの新しい形 Scrapbox ノートアプリ Notion サーバーレスアプリのホスティングサービス Now JSONの書きミスチェッカー JOSNLint 全文検索 Elasticsearch モニタリング KIBANA Grafana Prometheus

ローカル環境のDocker Hubのパスワードをpassで管理する方法

Apr 23, 2019
Docker, DockerHub

Ubuntu用 なぜDocker Hubのパスワードをpassを使って管理するか? ローカルからDocker Hubにログインすると, その時のパスワードを平文のまま保存されるから. ここからdocker-credential-passの最新バージョンをダウンロードする. tar -zxvf docker-credential-pass.tar.gz (解凍する.) mv docker-credential-pass /usr/local/bin (PATHが通ってるところにファイルを移動する.) sudo apt-get install gpg pass ( gpgと passをインストール.) gpg --generate-keyで新しい秘密鍵と公開鍵の組を作る. gpg --list-keysで出てきた, pubの16進数の40文字(大文字のA-F, 0-9の文字列)をコピーする. pass init AAAAAAAAAABBBBBBBBBBCCCCCCCCCCDDDDDDDDDでpassを初期化する. pass insert docker-credential-helpers/docker-pass-initialized-checkでとりあえずのディレクトリを作成する. docker-credential-pass listで{}と返ってくる. ~/.docker/config.jsonに{"credsStore": "pass"}と書き込む. docker loginでDockerにログインする. うまくいかないときは権限をchmodを使って変更してみる. curl -O https://github.com/docker/docker-credential-helpers/releases/download/v0.6.0/docker-credential-pass-v0.6.0-amd64.tar.gz tar -xvf docker-credential-pass.tar.gz mv docker-credential-pass /usr/local/bin apt-get install gpg pass gpg --generate-key gpg --list-keys > pub rsa2048 2019-04-22 [SC] [有効期限: 2021-04-21] > D7D35B60A7FA571541959AF3C4821C32793D5F5A // ここの公開鍵をコピーする > uid [ 究極 ] solareenlo <test@example. ...

Programming BitcoinをHTMLで読んでみる

Apr 21, 2019
Bitcoin, Python, Ruby

前提条件 RubyがPCにインストールされている. RubyのパッケージマネージャーのgemがPCにインストールされている. HTML作成 git clone git@github.com:jimmysong/programmingbitcoin.git cd programmingbitcoin gem install asciidoctor find . -name \*.asciidoc -print0 | xargs -0 -n1 asciidoctor これで.asciidocが.htmlに変換されて出力されるので, 任意のブラウザで開いて読む. References 「Programming Bitcoin」を読んだ jimmysong/programmingbitcoin 脱Word、脱Markdown、asciidocでドキュメント作成する際のアレコレ

bitbank Drink Meetup #1 〜エンジニア〜

Apr 19, 2019
meetup
bitbank

bitbank Drink Meetup #1 〜エンジニア〜の自分なりのメモ 秘密鍵の安全な生成法 用意するもの 電磁波を通さない物質で囲まれたシェルター 電波が通じてない山奥 完全にランダムで賽の目が出るサイコロ 上記のセットを複数個 とってもセキュアに暗号資産を管理してくれるところ xapo

Plasma × Substrate 勉強会 #1

Apr 18, 2019
Plasma, Rust, Substrate

Plasma × Substrate 勉強会 #1の自分なりのメモ Introducing Plasma Chamber プラズマとは セキュアにトランザクションをさばく. マークル木を使ってデータを圧縮する. 1分ごとに行う. エンドユーザーが出金したいときはルートチェーンに問い合わせる. 他の人にチャレンジされなければ許可されて出金される仕組み. スケーラブル・セキュリティ・ユーザビリの高いDappasが作れるぞ. プラズマの悪い点 受取手はトランザクションの履歴を確認しないといけない. ファイナリティは待たないといけない. Exit期間があるのでUIが悪い Plasma Chamberは上記の3つの悪い点を改善するぞ What I mean by ‘usable’ High TPS, Less Gas, Work on Mobile, Instant Finality, ERC20使える 特徴 Exit Game Operatorが資金をかっさらう事がある. それに対する対策を行った. Gas Const/Proof Size Reduction Instantaneous Finality Fast Finality Contract に供託しておく. ユーザー, マーチャント, オペレーター, Ethereum オペレーターまではhttpsで通信する. オペレーターまでなら2秒以下でファイナリティが得られる. Ethereumのブロックチェーンまで待つと2.5分から7分かかる. Plasma MVP → Plasma Cash → Plasma Cashflow → ? ...

bitcoindへのアクセス方法

Apr 17, 2019
Blockchain
Bitcoin

bitcoindへのアクセス方法3選(bitcoin-cli, curl, POST). 3つとも JSON-RPCで通信してる. bitcoindとは, 名前の通りunixのデーモンとして動作する事を目的とするBitcoinのクライアントで, JSON-RPCで開発者向けのAPIを提供する. したがって, Webサービスとして動作するBitcoinウォレットのバックエンドとしてや, マイニングプールのサーバーとして使われる. Reference: Bitcoinウォレットの比較 1. bitcoin-cliを使ってアクセスする. bitcoin-cliとは, bitcoindへJSON-RPCを使ってアクセスするツールのこと. bitcoindを使ってBitcoinのフルノードを立ち上げて, bitcoin-cli getblockchaininfo とか. 2. cURLを使ってアクセスする. 下記curlを行う要件. ネットワーク: mainnet 接続環境: ローカル ポート番号: 8332 ユーザーの名前: user-name パスワード: user-password 投げつけているbitcoin-cliのメソッド: getblockchaininfo curl --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getblockchaininfo","params":[]}' -H 'content-type:text/plain;' http://user-name:user-password@127.0.0.1:8332/ | jq 3. 自作プログラムでPOSTしてアクセスする. bitcoindはHTTPリクエストメソッドのPOSTに対応しているので, JSON-RPCをPOSTで投げつける. 以下のプログラムはNode.jsを使った例. https://github.com/solareenlo/bc-json-rpc