tktechblog

日々の開発学習の進捗確認とテクノロジーに関して考えたことをまとめます(ブロックチェーン学習中)

paper6日目

今日の成果(paper4)

  • PoPow
  • NIPoPow
  • Tendermint
  • Enigma

dev - wallet

反省

  • 睡眠時間が少なかったかつ前日寝るのが遅かったので午前中は結構仮眠をとってしまったこと。
  • タイムトラッキングしなかった。
  • 開発の時間をもっととりたかった。
  • 目標から逆算して迅速に作業を進めるべきだった。
  • もっと早くkpiを達成して開発に集中する時間が欲しい。

考察

今日はサイドチェーンから派生してPoPowとNiPoPowの調査とtendermint、あとはスケーリングとセキュリティの部分を知りたくてenigmaの調査をした。

PoPowではサイドチェーンにpegした時にその中でのコンセンサスの取り方としてPowみたいなコンセンサスアルゴリズム同様単純なマイニングでやっていくとネットワーク遅延が起こるのでスケーリングの必要性があって、それをskiplistみたいなinnerchainを取り込んでhash値探索によって軽量化するっていうのはよく思いついたなと思った。

そこから派生してNiPoPowを調べたけど、「ProverとVerifierの一メッセージのみで簡潔な照明を可能にするもの」ということで、PoPowが「verify entire linearly growing chain of pows」と違って、NIPoPowは「only logarithmic in the length of the blockchain」ということらしい。とりあえず、Innerchain上での対話をスキップできるので、Innerchainを応用してSPVよりも効率よく正当性検証していてすごいなと感じた。

Tendermintに関しては、ABCIでBFT対応させて、POSなので、トランザクション処理が早く、ブロック生成後のfinalityがすぐ終わって、フォークもないので、すごく良いなと感じた。POS*P2Pネットワーク。

Enigmaはセキュアでトラストレスなシークレットコントラクト。プライバシーとスケーリングの課題を解決していて、btcとかethだったらトランザクション時に入出力データとか、実行内容が出ちゃうけど、それを表示させずに、パブリックオフチェーンネットワークで解決しているらしい。

今度、layer1/layer2、オンチェーンオフチェーン、コンセンサスアルゴリズム、アプリケーションとプロトコルなど各レイヤー、セキュリティや、シンプルさ、スケーリングとかを一回整理しようと思った。

あとはRAFTとかPAXOSとかHadoopとかも改めて調べようかなと思った。cryptoeconomicsとかモデリング手法とかゲーム理論とかも同様。