2017-05-01から1ヶ月間の記事一覧
ソースコードを読んでいて、CAmount ってなんだったっけ? てよくなるので、メモamount.h #ifndef BITCOIN_AMOUNT_H #define BITCOIN_AMOUNT_H #include <stdint.h> /** Amount in satoshis (Can be negative) */ typedef int64_t CAmount; // 1BTC = 100000000satoshi</stdint.h>…
暗号を学ぶ上で、オススメの書籍をまとめてみます。暗号は現代のネットワークセキュリティで欠かせない技術ですので、学んでおく意義は十分あると思います。暗号を本格的にやるのであれば、理解するには代数学の知識は欠かせないので、数学も真面目にやる必…
C++の基本的な機能をある程度おさえたので、STL、標準テンプレートライブラリ、の勉強も本格的に始めました。とりあえず、2冊手に入れて、勉強しております。STL―標準テンプレートライブラリによるC++プログラミング 第2版作者: ディビッド・R.マッサー,アト…
pybitcointoolsについては、github.comで見てください。ちなみにブテリンはEthereumの創業者です。 import pybitcointools as bitcoin # learn more: https://python.org/pypi/pybitcointools # 秘密鍵を作成 valid_private_key = False while not valid_pri…
difficulty target は係数部/指数部形式で表す。指数部(exponent),係数部(coefficient)で target = coefficient * 2^(8 * (exponent - 3))^はXORです。またDifficultyはブロックの生成期間を10分に保つように動的に変化します。Difficultyは2016ブロックごと…
ビットコインのマイニング報酬のコードを見ていきます。マイニング報酬は、トランザクション手数料の総額 + coinbase報酬coinbase報酬(BlockSubsidy)は50bitcoinから始まって、210000ブロックごとに半減していきます。以下のコードでcoinbase報酬を出します…
ビットコインの発行量は時間とともに少なくなっていきます。新しいビットコインはマイニングの報酬という形で生成されます。210000ブロックごと、およそ4年ごとに発行量は半減されていきます。以下のスクリプト(Python2)で総発行量を求めてみます。 # マイニ…
アセンブラの勉強をさぼっていたので、一回ちゃんと勉強しなおすことにしました。とりあえず、アセンブリ言語スタートブック作者: 高田美樹出版社/メーカー: 技術評論社発売日: 2015/08/08メディア: Kindle版この商品を含むブログを見るをやっております。も…
アルゴリズムとデータ構造は極めて重要です。C言語の勉強をした後に、アルゴリズムとデータ構造の勉強をすれば、一気にプログラミングというものがどういう概念のものなのかが、わかるようになると思います。なおCのポインタがわかっていることが前提です。…
ある程度、C++やデータ構造、暗号、P2P、の基礎を理解できたので、本格的にBitcoinやEthereumの研究を始めて、しばらくはフルタイムのコントリビューターになろうと思います。だいたい2020年くらいまで、研究を続けて、その後、なにか本格的なビジネスが始め…
暗号の勉強を始めて少し経ちまして、いままでは結城氏の暗号技術入門を読んで、ある程度基礎的なことは分かった(?)つもりなので、暗号技術大全をやり始めました。暗号技術大全作者: ブルース・シュナイアー,山形浩生,Bruce Schneier出版社/メーカー: ソフト…