ksnt / book-reading

0 stars 0 forks source link

Pythonで動かして学ぶ! あたらしいブロックチェーンの教科書 #32

Closed ksnt closed 4 years ago

ksnt commented 4 years ago

面白そうなので読み始めてみた。オライリーのイーサリウムの本もそろそろ翻訳されるっぽい。

第1部 ブロックチェーンの概要と構成技術 191115 FR 第2部 Pythonの基本 191115 FR

ksnt commented 4 years ago

第7章 ブロックチェーンの構造 191115 FR

ksnt commented 4 years ago

第8章 アドレス 191116 FR

秘密鍵を生成して、それをもとに公開鍵を生成。公開鍵からアドレスを生成した。実際にコードを書いた。

ksnt commented 4 years ago

第9章 ウォレット 191116

ウォレットについて学習。マスター秘密鍵、マスター公開鍵、チェーンコードを生成した。

ksnt commented 4 years ago

第10章 トランザクション 191117 FR

トランザクションについて学習。特定のアドレスに紐付いているUTXOの収集を行った。トランザクションを実現する(?)スクリプトについてはよく分からなかった。

ksnt commented 4 years ago

第11章 Proof of Work 191117 FR

Proof of Workについて学習。実際に簡易的なProof of Workを実装してみた。

ksnt commented 4 years ago

第12章 実装するブロックチェーンの概要を確認しよう 191117 FR

実用には耐えないが簡単なブロックチェーンをこれから(第13章と第14章)実装するらしい。

ksnt commented 4 years ago

第15章 ブロックチェーン開発の最前線 191117 FR

スケーラビリティに関する対処方法、多様なブロックチェーンの種類、暗号技術の進化について学んだ。ゼロ知識証明の採用が進んでいるとかいないとか。

ksnt commented 4 years ago

第16章 より学びたい人のために 191117 FR

さまざまな情報源があるらしいことを知った。Bitcoin CoreというものがあってEC2上に導入する方法が載っていたが私はやっていない。DApps開発プラットフォームもいろいろとあるらしい。

上記のことをお勉強した。

ksnt commented 4 years ago

第13章 プレーンブロックチェーンを作ろう

ザッと読んだ。まだコードを書きながら考える前段階。なんとなくは分かったような気がする。

ksnt commented 4 years ago

第14章 カスタマイズしてみよう

ザッと読んだ。難易度調整の実装方法とマークルルートの実装方法について学んだ。前者はよく分からなかったが、後者は少しは分かった。Pythonのコード自体は短いし難しいことはやっていないことは分かるので、がんばれば理解できそう。

ksnt commented 4 years ago

第13章と第14章の実装を実際に自分の手でやってみたらとりあえずこの本は終了とする。

Codeacademyとやらのこの講義も似たようなことをやっているとか。気が向いたら見てみる。 https://www.codecademy.com/learn/introduction-to-blockchain

まあ、でもBTCでよいのであればオライリーのこの本を読むのがよさそう。 https://www.amazon.com/Programming-Bitcoin-Learn-Program-Scratch/dp/1492031496/ref=sr_1_1?keywords=programming+bitcoin&qid=1574016987&sr=8-1

ksnt commented 4 years ago

第13章 プレーンブロックチェーンを作ろう

コードも書いてみた。INITIAL_BITSを"1e777777"から"1d777777"に変更するとブロックの作成にかなり時間がかかるようになった。この部分でマイニングの難易度を定義しているらしく、先頭の2バイトが「先頭にどれだけ0が並ぶか(Targetの桁数)」に関係しているらしい。"1e777777"では最低4つの0が並ぶが、"1d777777"では最低6つの0が並ぶことになり、後者の方が難易度が高くなっていることが原因である。

ksnt commented 4 years ago

第14章 カスタマイズしてみよう

難易度調整の実装とマークルルートの実装をやってみた。正直よく分かっていないが、いつか分かるようになるのかもしれないしならないのかもしれない。必要になれば学ぶだろう。

コード自体はかなりシンプルで、かなりシンプルなものでちょっとしたブロックチェーンが実装できるのだということは分かった。

ksnt commented 4 years ago

とりあえず読了とする。