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

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

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 …

DEXを動かす〜Etherdeltaのコントラクトをropstenネットワークにデプロイする〜

ERC20のトークンを交換できるDEXであるEtherdeltaについて、ropstenネットワークにデプロイして遊んでみます。 他のチェーンを触ることが多く、Ethereumからしばらく離れてしまっていたので手触り感を掴んでおく趣旨です。 この記事では、macOS High Sierra …

6月1日よりフリーランスになりました

6月1日よりフリーランスになりました。ブログでもご挨拶をさせていただきたく。 これまで何をしてきたか 僕自身を少し自己紹介させてもらうと、アプリサイドでエンジニアを5年くらいやった後、機械学習などに寄り道していたところ、2017年5月頃からブロック…

ERC20トークンの取引イベントログを抽出してネットワーク図を作成する

ERC20トークンは送金(transfer / transferFrom関数が呼ばれる)とevent Transferによってログが発行されます。ログは、Bloomフィルタという構造で格納され、ブロックチェーン自体には刻まれませんが、トランザクションを受け取った相手から受領するTransact…

セキュリティ分析ツールMythrilで、一部のERC20トークンで問題の関数を解析する

Mythrilとは Mythrilでチェックできるコントラクトの問題について batchTransferのオーバーフロー問題について batchTransferを解析してみる MythrilのDockerイメージ作成 問題のあったコントラクトを取得 コンテナを起動してMythrilを実行 分析結果を確認す…

coinmarketcapのデータをgrafanaとprometheusで可視化する

暗号通貨の価格や市場規模を見れるcoinmarketcapデータを取得して可視化するレポジトリが公開されていたので使ってみます。 この記事は以下の元記事にそって実施してみたものになります。 medium.com 事前準備 事前準備として、dockerとdocker swarmをインス…

ブロックチェーンエンジニアは実際どのくらい必要とされているかを求人要件から考えてみる(2018年春版)

前の記事を書いた10月の時と比べて、「ブロックチェーンエンジニア」という職種が徐々にメジャーになってきたように感じます。 仮想通貨が2017年11月頃から急騰し、取引所ビジネスの利益率が高いということも広まりました。それに伴って、金融庁の仮想通貨交…

「Ethereum Community Fund」創設発表イベントに行ってきました〜Ethereumエンジニアが必要とされそう〜

3月29日、「Ethereum Community Fund」創設発表イベントが東京で行われました。 Ethereum Community Fundとは、Ethereumのインフラ整備やDappsの普及のためのファンドとのことです。 イーサリアムを支援する6つのプロジェクト——Cosmos、OmiseGO、Golem、Make…

ブロックチェーンエンジニアを目指す方へお勧めの技術書・サイト

最近、ブロックチェーンエンジニアを目指すためにどのようなスキルセットを身につければ良いかや、初心者向けの技術書執筆の話などを頂くことが増えてきました。 ブロックチェーン業界で働くという事に興味をもつエンジニアの方が増えてきたように感じます。…

仮想通貨取引所のハッキング(GOX)と攻撃手法一覧【随時更新】

仮想通貨取引所のセキュリティが非常に話題になっています。 仮想通貨は中央管理者のいないシステムのため、一度盗まれると取り返しがききません。フォークを話し合って決めた後でさえ、ハードフォークの場合、ハッキング自体を受け入れる世界線としてチェー…

Blockchain EXE様に寄稿させていただきました:ERC721について

「日本発ブロックチェーンTechコミュニティ」であるBlockchain EXE様に寄稿させていただきました。 blockchainexe.com 内容はERC721の話になります。

Ethereumトークン規格のERC20,ERC223,ERC721について

Ethereum上で発行されるトークンには標準規格があります。 最も有名な規格はERC20で、Augur,OmiseGO,Qtumなど多くのトークンがEthereum上で発行されています。 ERCはEthereum Improvement Proposalで提案されて採決されます。 ERC20に続いて、現在ERC20を発…

Moneroの環境構築(フルノード)をDockerで行う

この記事では、Mac OS High Sierra 10.13.1を使っています。 個人的に匿名性最強の一角だと思っている匿名系仮想通貨のMoneroです。 Dockerでフルノードを作成する方法をまとめました。 はじめに(Dockerを使わない方法) Dockerfileの作成(ダウンロード) …

Bitcoin Cashの環境構築をDockerで行う

この記事では、Mac OS Sierra 10.12.6を使っています。 Bitcoinのsegwit2xの取りやめ、ビッグブロックの再評価などでBitcoin Cashが非常に盛り上がっていますね。Bitcoin Cashのマイニングをしたい方向けにBitcoin Cashのノード構築をdockerで行います。 Doc…