---
# System prepended metadata

title: Verkle分散ストレージアプリケーション(on Lappsnet)

---

# Verkle分散ストレージアプリケーション(on Lappsnet)

# 要件

``💡Lappsnet上で動作するアプリケーションを作成したい。``

Verkle Treeを使った分散ストレージを作成することとする。

# 特徴

- ユーザは`ESEAT`を支払って、VerkleTreeの分散ストレージを利用することができる。
- 複数のユーザのストレージ(N個)に同一のデータがコピーされる。
- 永続保証 - 永続的にデータは保存されるが、1年ごとにストレージの料金を支払わないとデータが消える。(永続的にデータが保存されるとい記述しているが、あくまでも永続保証という言い方をパワーワードとして使いたいためである)
- (APIでも使えるようにする？ = GUI操作他、APIでも使用できるようにしたい。イメージは他のアプリからAPI呼び出してプログラムとして利用できる。)

![](https://hackmd.io/_uploads/rJ4Sju_-5.jpg)

# ユースケース

- ユーザのアプリケーションから、データの保存場所として分散ストレージをAPI経由で利用する。

# 機能

- ユーザはVerkleTreeを作成することができる
- 複数のVerkleTree一覧を確認できる
- VerkleTreeを選択して下記機能を実行することができます
    - keyを指定して値を取得することができる
    - keyとvalueを指定しストレージに値を保存することができる
    - keyを指定して値を削除することができる
    - keyを指定してVerkle Proofを受け取ることができる
    - Verkle Proofを渡してVerify判定を受けることができる
- VerkleTreeの保存時にSATを支払う。
- VerkleTreeは複数ノードにFullコピーが保存される。(Advanced: 上記の機能一覧の実装後)

# メモ

- フロントのサービスサイトは１枚のページで、zkcloudのフロントページとは独立して作成することとする。
- 最初は自分等のストレージのみでサービス提供を行う。
- 将来的には、一般ユーザにストレージ領域を提供してもらう。
- 分散ストレージの作成は、お互いのnodeがProofを提出し合うことで同期の正しさを担保する。
- 5つくらいのノードにデータを分散させたい。
