Neutrinoで働くブロックチェーンエンジニアのブログ

渋谷の専門特化コワークNeutrinoに入居してブロックチェーン領域のエンジニアとして働いています。(Neutrino運営企業とは直接関係ありません)

Devcon5で見た面白いプロジェクト

devcon5 エントランス 10月8日〜11日まで大阪で行われたEthereum Devconに参加してきました。面白いプロジェクトをいくつも見つけたのでざっと紹介していきます。 verX verx.ch Ethereumのsolidityコントラクトの形式検証用ツールです。solidityのテストツー…

HAKODATE Developer Conference 2019に登壇します

函館で行われるDeveloper Conferenceに登壇します。開発者向けに行われる函館市のイベントで、先端の技術について知る機会にするイベントです。ブロックチェーンをテーマに話をという事で枠を頂戴しました。 devcon.hakoika.jp 主催の方からお話を伺い、函館…

ganache2.0のコントラクト管理機能を試す

GanacheはGUIでローカルにEthereumのブロックチェーンネットワークを生成できるツールです。 実行方法はとても簡単で、公式サイトからダウンロードして、クリックで起動するだけです。 ganache起動画面 Ganache2系が正式リリースされたのは2019年3月で結構前…

文章力の訓練用に読んでよかった本

今回はブロックチェーンとは少し離れた投稿になります。チーム開発をする中では、コーディング同様に文章を書く機会がかなり多くあります。僕はITコンサル(兼エンジニア)からキャリアを始めました。システムは実装する仕様を明確にする必要がありますが、…

講談社サイエンティフィク様から「Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門 」が発売されます

「Solidity Programming Essentials」という書籍を翻訳し、「Solidityプログラミング ブロックチェーン・スマートコントラクト開発入門 」というタイトルで、講談社サイエンティフィク様から9月7日に発売されます。私が監修し、松本さんと小池さんというエン…

Solidityの構造を可視化してくれるツールPiet

Solidityで書かれたスマートコントラクトを可視化してくれるツールが出てきました。 Pietというツールでとても使いやすく、役立ちそうだったので紹介します。 公式の紹介はこちらです。 blog.slock.it Pietの使い方 MCHのHeroトークンコントラクトを可視化し…

経理業務用にERC20トークンのICOや取引をノード無しでBigQueryで集計する

こんにちは。ERC20のICOや取引をまとめて簡単に集計する方法を話します。 実は、こちらの集計方法でとても困っていると、ある会社から私個人宛に相談を受けて、抽出手法をアドバイスさせていただいたのですが、デモまでしたらこれなら簡単に取れる!とのこと…

ブロックチェーンデータの分析について

しばらくこちらを更新できていなかったのですが、catabiraのMeduimでブログを更新していました。 どちらもNFTマーケットの分析になります。 medium.com medium.com 分析のデータソースについて これらの分析ですが、USD建ての時価以外は、全てブロックチェー…

いまさらビザンチン将軍問題

いまさらながらビザンチン将軍問題を整理し、proof-of-workとどのように絡んでいるかを書いてみました。派生系の問題なども色々ありますが、起源となった問題をまとめています。 ビザンチン将軍問題とは Lamportの解法 - Oral Messageアルゴリズム 前提条件 …

Constantinopleハードフォーク前後のEthereumデータを色々可視化してみる

EthereumのハードフォークであるConstantinopleがブロックナンバー7280000、日本時間の3月1日に行われました。ハードフォーク前後によって変わった事をデータから見てみる趣旨の記事です。 利用ツールは以下です。 Tableau Desktop 2018.3 Google BigQuery C…

Dappsの運用方法を考える - Cosmos-SDKを試す

Dappsの運用方法を考える Cosmos-SDKとは スマートコントラクトについて Cosmos-SDKチュートリアルアプリの実装概要 app(baseapp) Keeper Msg Handler Querier codec Cosmos-SDKチュートリアルアプリの実行 testchainのセットアップ jackとaliceの初期アカウ…

2018年の振り返り。ブロックチェーンに丸の内で関わった前半と渋谷のベンチャー界隈を渡り歩いて感じた今と未来の視点の違い

ここ最近はコードを書いている時間がかなり長かったのですが、学んだ事をまとめるために昨年を少し振り返ってみました。 ほとんど技術的な内容はない雑記です苦笑 なぜ同じ組織でも人によって重要と思う領域は大きく違うのか エスタブリッシュな世界もテクノ…

NEMのモザイクぜんぶ抜く

「池の水ぜんぶ抜く」的な企画です。 NEMの内部データベースはH2dbというRDBでできていて、MySQLやOracleと同じようなRDB(リレーショナルデータベース)で格納されています。NEMはJavaで書かれていて、データベースもRDBなので、コードや内部データベースを…

EthereumのStateについて - Yellow Paper4章より

EthereumのStateについて、EthereumのYellow Paperとgo-ethereumのコードを参照しつつ書いた記事になります。 Ethereumはトランザクションによって更新される状態(state)を保持するマシン stateとはethereum世界における状態のこと world state acccount s…

Ethereumにおけるparityクライアントのstate保存オプションを検証する

RustベースのEthereumクライアントでparityが提供されています。 色々と便利な機能があり、stateを保存するオプション仕様を検証してみます。 stateとは stateを捨てるpruning 全てのブロックのstateを保持するpruning=archiveモード state保持期間を指定で…

「通報」というブロックチェーンのユースケース

ブロックチェーンのユースケース、特に不特定多数が参加するパブリックチェーンでのユースケースとして、「通報」という切り口はあるのではないかと最近思ったのでまとめです。 ブロックチェーンというのは大雑把に言ってしまえば、皆でデータを共有する仕組…

EthereumのRLPエンコーディングについて-Yellow Paper AppendixBより

EthereumのYellowPaperを元に、Ethereum独自のRLPエンコーディングについて実験してみました。 RLPエンコーディングとは 5つのエンコードパターン バイト配列の場合 バイト配列でない場合 実験に用いたコード バイト配列をRLPエンコーディングする場合 1. バ…

最近の活動(2018年9月〜)

お世話になっております。立て込んでいてなかなか更新できなかったのですがブログ以外ではそこそこ活動していました。 お茶をにごすという訳ではないですが、最近の活動というタイトルでブログを更新してみます。 「ブロックチェーンサービスのセキュリティ…

ホットウォレットとコールドウォレットは見分けられるか

知人からホットウォレットとコールドウォレットを見分ける方法がないかと聞かれました。 正直なところ、完璧に見分ける術は思い当たらないのですが、あたりをつけてみる方法を考えてみます。 話題になったきっかけ - Zaif取引所のホットウォレットからコール…

Ethereumトークン標準「ERC1400 Security Token Standard」の提案

セキュリティトークンが盛り上がっていますが、今月「ERC-1400: Security Token Standard」としての提案がEthereum Improvement Proposal上で行われました。なお、この提案はFinalizeされていないため、ERCではなくEIP1400になります。 また、EIP1400は議論…

Ethereumのトランザクション(Message Call)について-Yellow Paper8章より

前回に続いて相変わらずEthereumのYellowPaperを読んで得た仕様をまとめます。 読んでいるYellowPaperのバージョンは「BYZANTIUM VERSION e94ebda - 2018-06-05」です。 今回は「8. Message Call」についてです。特に指定がない場合は、8章からの引用と考え…

EthereumのGasについて-Yellow Paper5章より

Ethereum Ethereum界隈はPlasma、Sharding、PoSと騒がしいですが、このタイミングで逆行してYellow Paperを精読しています笑 White Paperが概念とするなら、Yellow Paperは実装の仕様書に当たります。Ethereumでは相当細かく定義されており、詳細仕様書に近…

株式会社catabiraを共同創業しました

近況報告ばかりですが、catabiraという会社を8月から共同創業しました。 名前は「鎖かたびら」からとってきており、ブロックチェーンに特化した事業をやる予定です。「Security & Analytics Platform for Blockchain Businesses」を掲げてプロダクトを開発し…

「ブロックチェーンサービスのセキュリティを考える」と題して発表してきました

8月17日、ブロックチェーンサービスのセキュリティを考える、と題して発表してきました。 企画時は、Neutrinoのコミュニティマネージャーとは30人くらい来たら良いねと話していましたが、ふたを開けると最大時で120人ほどの申し込みがあり、急遽枠を増やして…

クリプトアナーキスト宣言を今読む

Bitcoinはサイファーパンクの活動の歴史と深い関係があります。 サイファーパンク (cypherpunk)とは、社会や政治を変化させる手段として強力な暗号技術の広範囲な利用を推進する活動家である。 サイファーパンク - wikipediaより サイファーパンクの思想を理…

DEXを動かす〜Etherdeltaのコントラクトを実行する〜

前回、Etherdelta(DEX)のコントラクトをropstenネットワークにデプロイを試しました。 今回はデプロイ済のコントラクトのメソッドを呼び出して動かしてみます。 www.blockchainengineer.tokyo この記事では、 macOS High Sierra 10.13.4 node.js:v9.4.0 web3…

Ethereum上のKYCツール「uPort」を使って分散型ログイン機能を実装する

Blockchain EXE様とConsenSys様が共催のuPortを使うハッカソンにでるという事で、EthereumのKYCツールであるuPortを利用してみます。 uPortの仕組みはこちらのブログが詳しいです。 zoom-blc.com ざっくりいうと、ETHアドレスに名前や電話番号などの付帯情報…

「徹底理解ブロックチェーン ゼロから着実にわかる次世代技術の原則」をご恵贈いただきました

株式会社インプレス様より、「徹底理解 ブロックチェーン ゼロから着実にわかる次世代技術の原則」(原題:「Blockchain Basics: Anon-Technical Introduction in 25 Steps」著:Daniel Drescher)をご恵贈いただきました。 原著は「Banking」や「Storage & …

ブロックチェーンサービスのセキュリティ基準CryptoCurrency Security Standardについて

暗号通貨サービスのセキュリティ検討に利用できる基準 CryptoCurrency Security Standard(CCSS)という暗号通貨セキュリティ基準があります。 こちらはCryptoCurrency Certification Consortium(C4)という非営利団体が提案した基準で、暗号通貨取引所やWallet…

Litecoinのノード環境構築をDockerで行う

Litecoinのノード環境構築を構築します。 LitecoinはBitcoinと比べるとトランザクション量がそれほど多くなく、かつプロトコルがBitcoinとほぼ同じなので、Bitcoin系のテストをするのに手軽にやりやすいと思います。 環境 macOS High Sierra 10.13.4 Docker …