# Progress Report April 2022

By [Bakuchi](https://paragraph.com/@bakuchi) · 2022-04-29

---

こんにちは、ばくちーです。

今月はinputが多めで、形として見せられるoutputはあまりないです。 最近は、SolidityのEVMに近いオペコードやバイトコードレベルの理解を進めつつあります。一方で、ZKPやノード実装を理解するための学習も始めました。それから、英語を話せるようになるために、発音に重点を置いた勉強を始めました。

### 今月の音楽

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=Gh8Gl2GwB6s)

### 今月の記事

**ETH Amsterdam** [mev.day](http://mev.day/) もちろん、YouTubeにもアップロードされている。 まだ見れてないが、興味深い話が聴けることを期待してる。

[https://flashbots.notion.site/flashbots/mev-day-836f88806995412dabc1c7bb7ce4e830](https://flashbots.notion.site/flashbots/mev-day-836f88806995412dabc1c7bb7ce4e830)

**Announcing the Winners of the Underhanded Solidity Contest 2022**

[https://blog.soliditylang.org/2022/04/09/announcing-the-underhanded-contest-winners-2022/](https://blog.soliditylang.org/2022/04/09/announcing-the-underhanded-contest-winners-2022/)

優勝した人が提出したバグのトリックはシンプルなもので、正直関心した。やはり、上にはさらに上がいる。

[https://twitter.com/0xbakuchi/status/1513711797597270017?s=20&t=gaAZFRhs6fttHPTI0zpOnQ](https://twitter.com/0xbakuchi/status/1513711797597270017?s=20&t=gaAZFRhs6fttHPTI0zpOnQ)

参加したバウンティの結果
------------

今月は参加していない.

なぜなら、そこそこ戦えることが分かっているので、お金のために勝てるバウンティを無理に取りに行く必要もないと思った。年度が変わる4月ということもあり、イレギュラーなイベントに時間を取られたので、インプットに専念した。

今月の開発
-----

**Idle Finance Perpetual Yield Trancheを使った、YearnのStrategyの開発**

先月からの仕事の続き

**Idle Finance Best Yieldを使った、YearnのStrategyの開発**

先月からの仕事の続き

**Idle Finance Best YieldためのAave v3のラッパーコントラクトの開発**

[https://github.com/Idle-Finance/best-yield-aave-v3/tree/main/src/test](https://github.com/Idle-Finance/best-yield-aave-v3/tree/main/src/test)

**コントラクトのバグの学習**

Underhanded solidityの優勝者の真似をして、同じバグがあるコントラクトを書いた。

[https://github.com/massun-onibakuchi/smart-contracts-vulns-hacking/tree/main/contracts/EvaluationOrder](https://github.com/massun-onibakuchi/smart-contracts-vulns-hacking/tree/main/contracts/EvaluationOrder)

**オペコード、EVMレベルの理解を進めた**

Solidityのコードを書きながら、どのオペコードにコンパイルされるかを想像できるようになれば、ガスの最適化はある程度、自ずとできるようになると思う。

参考になる資料などはこちら

[https://www.notion.so/Reading-List-8657ab777b384f96a6e344108393bbc6](https://www.notion.so/Reading-List-8657ab777b384f96a6e344108393bbc6)

**ZKSNARKの理解を進めた**

*   ZKP とか Arithmetic Circuit → QAPへの変換はVitalikの記事と自分がまとめた記事で理解できるはず。その記事の行間を埋める程度の内容だが、[Mediumに記事を公開した](https://medium.com/@0xbakuchi/quadratic-arithmetic-programs-from-zero-to-hero-%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B-67afd66c6860)。
    

[https://twitter.com/0xbakuchi/status/1513352031850811394?s=20&t=scrzsNoeSap5QXrbg-PQ5A](https://twitter.com/0xbakuchi/status/1513352031850811394?s=20&t=scrzsNoeSap5QXrbg-PQ5A)

[https://medium.com/@0xbakuchi/quadratic-arithmetic-programs-from-zero-to-hero-%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B-67afd66c6860](https://medium.com/@0xbakuchi/quadratic-arithmetic-programs-from-zero-to-hero-%E3%82%92%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8B-67afd66c6860)

**その他**

*   Rust
    
*   プライベートな案件
    

次のステップ
------

*   CTF (一旦中断)
    
*   ZkSyncのコードを理解
    
*   RustとZk

---

*Originally published on [Bakuchi](https://paragraph.com/@bakuchi/progress-report-april-2022)*
