Xahauのドキュメント読んだ（2）

# Hooks の概要

## Hooks とは
- ネイティブなスマートコントラクト機能を追加するWebAssembly (WASM) モジュール
- 任意の言語で記述し WASM にコンパイル可能
- トランザクションをよりスマートに制御・自動化する
- 特定のイベントをトリガーして、カスタムロジックによるアクションを実行可能

## Hooks の役割・メリット
1. アカウント同士のトランザクションをブロックまたは許可
2. 内部状態を維持・変更しつつ、プログラム的に次の行動を決定
3. アカウントに代わり自動的に新規トランザクションを送信（※この辺りは少し理解が必要）
4. 幅広いビジネスロジック（スマートコントラクト）を実装できる

## ユースケース例
- 自動貯蓄: 定期的に特定額を別口座に移す
- カーボンオフセット: トランザクションごとに金額の 1% を環境保護用途へ転送
- ファイアウォール: 詐欺アカウントや疑わしいメモ付き取引をブロックし、指定金額以上を拒否する支出制限など

## Hooks と EVM の比較（主観含む）
- Hooks:
  - Xahau 用に最適化した L1 ネイティブ機能
  - WASM による高速・効率的な実行ができる
  - 予測可能な最大実行時間を提供
  - トランザクション承認前の介入が可能（feeが節約できそう？）
- EVM 互換のサイドチェーン
  - サイドチェーン固有のメリットはある（外部接続のため柔軟）
  - バイト処理 + 外部接続することになるので、おそらく処理にある程度の時間がかかる（WASMの方が高速）
  - ネイティブトークンをサイドチェーンに移し、戻す必要があるが、そもそものL1での最初のトランザクションを停止するなどの制御ができない課題がある（トランザクション承認前の介入ができない）

## 今後
- 将来的には Javascript (JSHooks) によるフック開発もメインネットでできるようになる予定