以前に 200 行のコードへのブロックチェーンの実装 というエントリを読み、たった 200 行の Javascript で実装された Blockchain である Naivechain の存在を知った。本エントリは、その Naivechain の Go 版を実装してみたので、本家 Naivechain と合わせてご紹介しますという話。ちなみに、コードの短さは求めずになるべく構造化してわかりやすさ重視で書いた(つもり)なので、200 行ではない。 自分の Naivechain 以外に、300 行で実装された Go 実装 もあったりするので、短いコードがお好みの方はそちらもご参照あれ。 そもそもこれは Blockchain なの? Blockchain の定義についてここで深く議論するつもりはない。界隈でも厳密なコンセンサスが取れているわけではないと思うし。一応、JBA の定義 を紹介しておく