Author: Kautuk Kundan, Manan @Stackr Labs; Compiled by Leia @TEDAO
翻訳者紹介: 翻訳者ガイド:
ポイントシステムは、ユーザーとプロトコルの相互作用を促進するためのインセンティブとして機能します。これはツールであり、ゴールではありません。ポイントだけがユーザーが製品を使う理由であってはならず、製品そのものが魅力的でなければなりません。同時に、ユーザーはポイントの獲得方法を理解するために明確で予測可能なルールを必要としており、オンチェーンポイントは従来のポイントシステムの「ブラックボックス」問題を回避することができる。
マイクロ・ロールアップ、
これは開発者に新しいツールを提供するだけでなく、暗号エコシステム全体についての新しい考え方でもあります。これは開発者に新しいツールを提供するだけでなく、暗号エコシステム全体にとっても、ユーザーのエンゲージメントとインセンティブを向上させるために技術革新をどのように適用できるかを考えるためのものです。
最近、ポイントは急速に暗号エコシステムにおけるユーザーエンゲージメントを促進する触媒となり、多くのトップチームやプロトコルの成功事例をリードしています。ポイントは、暗号エコシステムにおいてユーザーエンゲージメントを促進する触媒となり、多くのトップチームやプロトコルを成功へと導いています。コンセプトは複雑ではありません。ユーザーはその開発に貢献することでプロトコルと対話し、ポイントという形でプロトコルから報酬を得ます。この仕組みは、多くのビデオゲームで一般的な経験ポイント(XP)システムに似ており、プレイヤーは経験ポイントを貯めてランキングを上げ続け、ランキングが上がることでプレイヤーはより高いランキングを目指して努力し続けるモチベーションを得ることができます。
多くのプロトコルは、プロトコルが管理するトークン(トークン)の導入の前段階としてポイントを使用し、トークンの配布がユーザーによって蓄積されたポイント数に基づいて行われることを示唆しています。この戦略は、プロトコルやチームがトークンの詳細を事前に発表するための貴重な時間を稼ぐと同時に、彼らが不手際を起こした場合に直面する精査を遅らせることができる。ポイント蓄積は畑作と似たような仕組みだが、直接的な金銭的インセンティブの代わりに、ユーザーのエンゲージメントと報酬に対するより幅広いアプローチを提供する。
現在、ポイントを使ってユーザーにインセンティブを与え、契約を促進するという新しいトレンドがある。興味深いことに、ポイントの供給は理論上無制限であり、従来のエアドロップの仕組みに新たなひねりを加え、実際のトークンとは一線を画している。
ポイントの問題点
ポイントの問題点
PMFをポイント・マーケット・フィットと解釈すべきではありません。ポイントシステムなしでユーザーを獲得できない製品であれば、その上にポイントシステムを追加してPMFと呼んでも何の役にも立ちません。ポイントは、ユーザーが製品Xと製品Yのどちらを選ぶかを決める重要な要素ではなく、製品XとYの両方がユーザーに提供する本質的な価値であるべきです。
もうひとつの大きな問題は、ほとんどのポイントシステムは「ブラックボックス」であり、時間の経過とともにどんどん複雑になっていることです。そして、時間とともにどんどん複雑になっていくのです。この不透明さには利点と欠点の両方があります。利点は、チームがシステムのルールをより柔軟に調整できることであり、欠点は、ユーザーが知覚するコントロールや影響力をも奪ってしまうことです。
ゲームで経験値(=ポイント)を獲得する方法のルールは、明確で予測可能であるべきです!
ポイントシステムが監査可能で、透明性があり、予測可能でありながら、チームがそれを中心に活動をデザインできるほど柔軟性が保たれていたらどうでしょうか?
On-Chain Points
On-Chain Points
On-Chain Points
オンチェーンポイントシステムを実装することは魅力的なアイデアですが、別のERC-20トークンを作成するための隠れ蓑であってはなりません。プレリリーストークンを導入し、それを最終的に別のトークン(本質的には偽装ポイント)に変換することを約束したプロトコルがありましたが、結局エコシステムに不必要なトークンが溢れるだけでした。
オンチェーンクレジットをERC-20トークンとは異なる種類の存在として想定することで、クレジットシステムのコンビナトリアルな性質を通じて、ユーザーにユニークな経験をもたらすことができます。しかし、レイヤー1またはレイヤー2レベルでオンチェーンポイントトラッキングシステムを実装するには高いコストがかかるため、「なぜERC-20トークンを使ってポイントを表現しないのか」という重大な疑問が生じます。
このシナリオは、なぜオンチェーンポイントシステムがStackrのマイクロロールアップとして開発するのに理想的なのかを浮き彫りにしています。既存のポイントシステム・インフラが直面している問題を深く掘り下げ、チームは夜通し社内研究スプリントに取り組み、プロトコルのポイントを追跡・管理する専用の仮想マシン(VM)を開発するに至った。align:center">
Micro-Rollup end-to-end workflow
Micro-rollups は本質的にステートマシンです。チェーンの下流で特定の論理演算を実行し、その実行の検証を「Vulcan」と呼ばれる検証レイヤーに委託することができます。バルカンは、状態の更新を検証し、計算されたデータをチェーン上に送信する責任を負う。
- ステートマシンは定義された状態形態を持ち、ステートマシンの開始状態を決定する一連の発生条件に従って初期化される。
- ステートマシンは、呼び出されるとステートマシンの状態遷移関数をトリガーするアクション(トランザクションタイプと解釈できる)のセットを含む。
- 状態遷移関数(STF)は、計算の実行とステートマシンの状態の更新を担当し、STFが終了すると、アクションはブロックにパッケージ化されます。アクションはブロックにパッケージされ、Vulcanに送信されます。
最終的に、Vulcanは:
STFの計算が間違っているか、悪意を持って改ざんされているかもしれないと悲観的に考え、ブロック内のアクションを再実行して、結果が正しいことを確認します。
検証されたブロックのメタデータを生成します。
レイヤー1とDAで決済を完了します。
マイクロロールアップの更新された状態がDAに送信されます。
検証されたブロックのメタデータと更新されたステートルートは、レイヤー1上のマイクロロールアップの受信トレイコントラクトに配置されます。
これらのプロセスを合わせて、StackrのMicro-Rollupフレームワークの動作を構成します。
Micro-Rollup for Points Systems
では、なぜマイクロ・ロールアップはポイントシステムの構築に特に適しているのでしょうか?
マイクロ・ロールアップは、ポイントシステムを構築するための高速で柔軟な方法を提供します。rollupsは、高速で柔軟な、セルフホスト型の実行環境を提供します。
これにより、「インチェーン」のオーバーヘッドなしにポイントが発行され、すべてのステータス更新が可能な限り迅速に行われます。可能な限り迅速に行われます。
Micro-rollups support verifiable off-chain calculations.
セルフホストであるにもかかわらず、フレームワークは、システムに入ってレイヤー1に落ち着く前に状態が変化するデータを完全に検証できるようにします。検証できる。これは、システムが予測可能な方法で動作し、改ざんできないことを保証します。
Micro-rollups make state auditable.
一度ステートマシンが展開されると、STFのロジックは変更できません。これは、システムのルールがプロバイダーの気まぐれで変更されないという保証をユーザーに提供します。
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の交差点で大きな可能性を示しており、その実現には斬新なハイブリッド・アーキテクチャが必要です。そこで、マイクロロールアップがチャンスを提供します。
マイクロ・ロールアップは、分散化の程度を柔軟に選択する自由を提供します。開発者は、完全な分散化、完全な分散化、あるいはまだ明らかになっていないまったく新しいモデルなど、自分の好みに合わせてアプリを構築することができます。