Micro-rollups can be billing directly on Layer-1.
マイクロロールアップはレイヤー1で直接決済できるため、状態証明を契約内で直接使用して、オンチェーン操作を可能にすることができます。オンチェーン操作を可能にする。検証レイヤーは決済前の保証を提供することで、決済サイクルを大幅に短縮できる。align: left;">Disclaimer: このデモはフレームワークの機能を示しているに過ぎず、最適化されていないバージョンであり、実稼働での使用を意図したものではありません。これは例示であり、最終製品ではないと解釈してください。
マイクロロールアップを開発する場合、ステートマシンの観点からロジックを考えることが重要です。これには、マイクロロールアップの状態 (つまり、保持するデータ) と、STF の動作を決定するアクション (状態に対して動作する関数) を慎重に考慮する必要があります。

ステートマシンの観点からアプリケーション構築について考える
これを念頭に置いて、StackrのSDKを使用して、マイクロアームの状態の設計を開始しました。マイクロロールアップの状態を設計し始めました。
Design
ユーザーがプラットフォーム上でオフチェーンまたはオンチェーンのアクションを実行すると、イベントがトリガーされます。管理者はユーザーにイベントを割り当てることもできます。
ポイントはチェーンの下のステートマシンに保存されます。
システムには、ユーザーにいつ、どれだけのポイントが与えられるかを決定するSTFが含まれています。
イベントがSTFをトリガーし、ユーザーの最新のポイントに基づいてステータスが更新されます。
設定された期間(エポック)ごとに、ユーザーのイベントの詳細と更新されたスコアテーブルのステータスを含むブロックが生成されます。
ブロックは検証のためにバルカンネットワークに送信されます。
ブロックがステートマシンのルールを満たしていれば、承認されます。
ブロックデータは2つの部分に分割され、レイヤー1とDAで決済されます。

次のようになります。マイクロ・ロールアップ・アーキテクチャにおけるポイント・システム
ベース状態の定義
最初に。admins(アドミン)とeventRegistry(イベントレジストリ)を追加します:
admins: イベントエンティティを登録し、ユーザーにポイントを割り当てることができるアドレス。
event: ユーザーがポイントを獲得できるあらゆるタイプのエンティティ。連鎖したイベントでも、手動で追加したカスタムイベントでもかまいません。例えば、"サインアップ "登録イベント(カスタム)は200ポイント、"スワップ "交換イベント(連鎖)は500ポイントなどです。
Event: ユーザーがポイントを獲得できるあらゆるタイプのエンティティ。

次に、ユーザーがポイントを獲得できるイベントを追跡する方法が必要です。
ユーザーは、1つのサインアップ・イベントと5つのスワップ・イベントを行うことができます。各イベントは eventLogのエントリになります。

各ユーザーに対応するすべての連鎖イベントと、各イベントの最大ポイント数を記録するために、ステートにeventLogを追加しました。現在は、eventRegistryから取得できるため、accumulatorフィールドは必要ありません。しかし、将来の拡張のためにシステムをより柔軟にするために、とにかくフィールドを追加しました。
Add status update handling
Add status update processing
実行可能な最小状態を設定した後、状態を更新するリデューサーを定義する必要があります。
ユーザーイベントのログエントリを作成するlogEventReducerを追加します。

を追加します。
管理者は、イベント名とユーザー識別子を使用してlogEventアクションを呼び出します(この記事には、このアクションの詳細な説明は含まれていません)。
このアクションは、ステートマシンをトリガーし、logEventReducer.
イベント名とユーザー識別子を使用して、管理者がlogEventアクションを呼び出します。style="text-align: left;">このReducerは次のようになります:
例:
管理者はlogEvent({user: mg-labs.eth, event: "deposit"})
ReducerはeventRegistryでdepositアクションを見つけ、depositイベントと対応するクレジットをログに記録します。イベントと対応するクレジットを記録します。
この時点で、最小限のポイントシステムを構築しました。
Smart Contracts vs Micro-rollup
ユーザーの合計ポイントを計算するには、ユーザーのイベントログを繰り返し、合計ポイントを計算するたびにこのプロセスを繰り返す必要があります。
ポイントシステムがスマートコントラクトとして構築されている場合、これは実行可能なアプローチかもしれませんが、EVMのストレージコストはマイクロロールアップに比べて非常に高く、この設計は理想的ではないかもしれません。設計は理想的ではないかもしれない。
私たちは、比較的低コストで、状態と計算をより自由に柔軟に管理できるマイクロ・ロールアップを構築しています。コストです。
計算されたポイントの保存
ステータスにユーザーポイントを追加する
ユーザーに割り当てられたポイントの合計数を保持する役割を果たします。

イベントを記録する際、logEventReducerも更新してユーザーのポイントを更新します。

LogEventReducer を更新して、ユーザーのポイントを更新します。="font-size: 18px;">完了しました!
チェーン内トレーサビリティを備えたイベント駆動型ポイントシステムの構築は、とても簡単です!バックエンドサーバーにオンチェーンのスーパーパワーを与えるのは簡単ではありませんか?
Off-chain points on-chain - エアドロップとさらなる可能性✨
このシステムの優れた点は、コストのかかるオーバーヘッドなしに、オンチェーンでシームレスにポイントを使用できることです。
記事の冒頭で述べたように、マイクロロールアップのステートルートはレイヤー1で決まります。開発者は、どのステートデータがレイヤー1に落ち着き、どれがメタデータとしてDAに置かれるかを選択することができ、したがって、混合されたセキュリティの仮定を可能にすることは注目に値する。
この例では、userPointsを抽出し、そのMerkle化されたルートをLayer-1に解決するためにMerkle化すると、ユーザーの包含証明を直接実装することができます。を直接実装できる。

この機能により、信頼性のないトークン交換、ポイント報酬、ポイントのオンチェーン流通市場など、さまざまなオンチェーン体験をシームレスに構築することができます。プルーフを含む方法でユーザーのポイントデータをチェーン上に持ち込むことで、オンチェーン体験の可能性は劇的に広がるでしょう!
このアプローチにより、ポイントを完全にオンチェーンに配置することなく、ポイントをオンチェーンに配置することができます(コストを大幅に削減し、ユーザーエクスペリエンスを最適化します)。
Think Big
この記事で現在構築されているポイントシステムは氷山の一角に過ぎず、多くの機能を果たすために大きく拡張することができます。
Multipliers (Multipliers ().マルチプライヤー
チームはしばしば、特定のイベントやアクティビティの基本クレジットに、時間制限付きのマルチプライヤーを設定したがります。チームはしばしば、特定のイベントや活動に時間制限付きの倍率を設定したがりますなぜなら、それは他のプロジェクトと協力したり、コミュニティやプロトコルの活動を増やしたりするのにとても効果的なメカニズムだからです。ポイントシステムのこのバージョンでは、ある時点でイベントに割り当てられるべきポイントを保存しているので、反復して 倍率 を実装するのはとても簡単です。
まず、EventRegistry を更新して、各イベントの 乗数のリストを格納します。

上記のように、各イベントには、チームによって有効化および無効化できる 乗数のセットがあり、柔軟なイベント設計が可能です。
上記のステータス更新をサポートするために、有効な倍率を適用するようにlogEventReducerを更新しました。

上記のロジックは、イベントに割り当てるポイント数を計算する際に、1つの倍率だけでなく、複数の倍率を重ねる場合にも適用できます。
Recommendations
multipliers と似ています。レコメンダー・システムもまた、多くのポイント・システムの鍵となります。レコメンダー・システムは、その構造が非常に複雑になる可能性があるため、完全にチェーンで構築するのは困難です。
たとえば、MarginFiにはマルチレベルのレコメンダーシステムがあります--

ポイントシステムをマイクロ・ロールアップとして構築することで、上記のメカニズムがどんなに複雑であっても、自己完結型の実装環境で自由に実装することができます。
ポイントの自動化
ポイントの自動化
ポイントの自動化
上記のシステムは多くの柔軟性を提供しますが、追加のインフラを必要とし、ユーザーポイントを更新するための管理者(またはボット)の作業負荷が増えます。
L1Syncer(SDKの組み込みモジュール)を介して、選択したコントラクトからすべてのユーザーイベントをマイクロロールアップにインポートできます。のSTFはユーザークレジットを計算するアルゴリズムに焦点を当て、クレジットがどのように計算されるかを透過的に示すので、システムの自律性を高めることができます。span style="font-size: 18px;">ポイントは、ソーシャルエコノミーにおける経験や評判のポイントと考えるとわかりやすい。これは、合意や製品に価値を提供したことに対する評価の一形態である。ソーシャル・エコノミーにおけるレピュテーション・トラッカーとしてポイント・システムを使うことは、オン・チェーン・エクスペリエンスを創造するための広大なスペースを提供する。
Reddit のカルマポイントは、例えば、マイクロロールアップで構築された場合、冗談で「役に立たないインターネットポイント」と呼ばれるものを即座に利用できるようになるかもしれません。「無駄なインターネット・ポイント」を即座にチェーン上で利用できるようになるかもしれません。
このフレームワークを使えば、既存のKarma Pointsシステムをチェーンに移植するのに数日の作業で済むでしょう。
Conclusion
ポイントシステムは、Web2とWeb3の交差点で大きな可能性を示しており、その実現には斬新なハイブリッド・アーキテクチャが必要です。そこで、マイクロロールアップがチャンスを提供します。
マイクロ・ロールアップは、分散化の程度を柔軟に選択する自由を提供します。開発者は、完全な分散化、完全な分散化、あるいはまだ明らかになっていないまったく新しいモデルなど、自分の好みに合わせてアプリを構築することができます。