or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Syncing
xxxxxxxxxx
Ceramic Points WG
The Ceramic Points Working Group (WG) had its first kickoff meeting on Feb 5, 2024 to discuss the opportunity for points within the Ceramic ecosystem, assign tasks, and discuss next steps. We have modified the notes from that original meeting into this document, which continues to improve with additional community exploration and contribution.
1. Introduction
Points are like scorecards: one or more values assigned to a subject by an issuer, typically determined by computing an algorithm over various sources of onchain and offchain data.
1.1. Opportunity
Currently, points are being implemented by almost every major web3 project in a trustful, opaque, web2, Postgres way. Not only does this have obvious centralization downsides and risks, but it also makes it impossible for other projects to compose and reuse the points elsewhere, making it impossible for users to have any ownership and agency over their points data.
We believe that points can be the ERC-20 moment for Ceramic and the verifiable web. The opportunity before us is to specify a simple, standard points abstraction that everyone can integrate with and customize for their use case. Ultimately, this will provide the early standardization required to give birth to a new composable web3 data primitive and ecosystem. As a result, we expect the universal points standard (and its implementations) to generate a flurry of developer activity and experimentation using points on Ceramic as the backbone.
1.2. Use Cases
Points are an extremely useful primitive that have applications across a variety of industries and use cases. Here are some of the ones already relevant to Web3. Rohhan is compiling a list of projects and will be reaching out to conduct research and validation.
Loyalty & Marketing
Composable Reputation
Trust & Safety
1.3. Principles
Protocol design is all about tradeoffs; here's what we strongly considered for UPS. To support the use cases above, we believe that points need to be:
1.4. Design overview
The points stantard consists of the points protocol and an ecosystem of data sources and integrations that can be used by points developers.
This working group recognizes that multiple formats/interfaces for points will exist and aims to support the most common and useful ones. Keep in mind that even if one or two popular points interfaces per format emerge, it's still possible to transform between different schemas using some compute service such as Orbis plugins. The goal though is to have as few interfaces as required.
2. Ceramic-Native Points
Points should be stored on Ceramic as model instance documents that conform to the following model interface:
2.1. GraphQL Schemas (Mark)
Here's a quick example designed using Ceramic GraphQL Models. "Been messing around with building a simple local package using a 'site trigger' as a specific type that would implement a generic point":
Then I was thinking it might be nice to have a "context" that could serve as the point of entry (representing an app or something even more granular):
Load the relation back to all points for the context:
3. Verifiable Credential Points
3.1. IPSP (Newcoin)
Newcoin has an interesting approach they've been working to specify called Immutable Points Standard Protocol (IPSP) (video) that makes use of verifiable credentials (JSON-LD) to model points that are then stored on Ceramic.
3.1.1. IPSP Point
3.1.2. IPSP Context
Issuer Types
Merit Types
Verifiability Types
Environment Types
2.2.2. Example (Ludo)
Ludo committed to working on an interface design, I think based on VCs.
4. Ethereum Attestation Service Points
2.3.1. Example (Eshaan)
Eshaan took on the task of thinking through the EAS inplementation.
3. Roles
There are four primary roles: issuer, subject, consumer and verifier.
3.1. Issuers
Points issuers are services that source data, run their algorithm, compute points, and write scores back to Ceramic. Points issuers are in the business of producing points with their algorithm. In order for their algorithm to work, they need to inregrate with data sources, either proprietary or third-party. One big opportunity to explore in this area is automating point generation/creation.
Points Algorithms
Points algorithms are essentially reputation algorithms that have parameters/weights assigned to various data sources. In this protocol, the aim is to have points algorithms be configurable. Not all points issuers need to make their algorithm public, so this is completely up to each implementer.
Issuer Reputation
A fairly large open question in this area is the role of reputation for points issuers…
Issuer Examples
3.2. Consumers
Consumers are entities that consume points data.
3.3. Verifiers
Points consumers are often required perform extra verification beyond signature verification when considering how to evaluate the merits of a point. In many cases, consumers need to consider additional metadata about the issuer such as identity and reputation.
Theoretically, consumers can be their own point verifier; this is likely true in only the most simplistic cases. Most verifications will be performed by specialized verifiers (reputation services) who provide additional context. Additional reputation-based verification methods are out of band of the core protocol. However, the existence of one or more verifier/issuer identity/reputation services would certainly be useful to the overall protocol. In the most basic sense, these could be delivered as an API, SDK, plugin, dataset, etc that expose additional issuer and verification metadata that complements and augments the original points dataset.
4. Integrations
In order to have a maximally useful points protocol, we should ensure that there are a large variety of data sources and integrations available for points developers to use. Points developers may use one or more data sources at a time.
4.1. Source 1: Verifiable Event Dataset on Ceramic
This option describes integrating with the
Verifiable Event
dataset on Ceramic. This dataset allows Ceramic to function as a universal data integration layer and middleware, enabling all kinds of indirect data integrations.Many different kinds of data sources can be used by points algorithms: some verifiable and some not, some onchain and some offchain, some served by web2 API, etc… which presents a challenge. How can I prepare an/my input data source/dataset for maximum integration with as many points systems as possible?
On Ceramic we need to collectively generate a new dataset, defined by the following model interface, which stores verifiable events using Ceramic as a data warehouse – an intermediate step for later computing these events into points.
Verifiable Event
InterfaceCan we create a simple schema/interface for events that is universal so that all new builds can work from a used standard (similar to ERC20/ERC721)? One approach could be storing all input datasets as events in a larger, global Verifiable Event Dataset on Ceramic. Ceramic as a decentralized, verifiable event warehouse. In this model, points issuers would consume their data from Ceramic in the form of a universal verifiable event. Can we design a model interface that can provide the required information for a historical event such that a third party can trustlessly take it and use it?
Specify the universal event interface
Use Cases
4.2. Source 2. Miscellaneous Datasets on Ceramic
Technically all Ceramic data is already fully-verifiable so can be considered a legitimate data source for use by points developers. Since the data already exists on the network but is not part of the Verifiable Event dataset, devs will have to do more manual work when gathering the dataset, applying content and meaning, and computing over it, since schemas could differ.
4.3. Source 3. Onchain Data
Onchain data is already strongly verifiable, so as long as you can easily query the onchain dataset(s) you need for your point algorithm, there's no explicit need to store data intermediately as an event on Ceramic. For onchain data, developers will usually consume data directly from chain or some index of the chain, such as The Graph's subgraphs.
One highly relevant onchain dataset is EAS attestations. In this case, I'm not referring to the attestations stored on Ceramic; I'm referring to the ones stored onchain.
4.4. Source 4. Offchain Data
Offchain data is all the data generated and/or used by applications that does not exist on a public blockchain network. Can offchain data be quantified in a standard format to be used as input for points? (e.g., interests). In these cases, it might be easier to use Ceramic's Verifiable Event dataset to facilitate these integrations.
5. Implementations
5.1. MVP
It might be a good idea to dogfood the MVP ourselves, by logging offchain interactions with the Ceramic Docs site, so that we can give points to our top engagers. In my mind, it could be extremely simple andd straightforward to create an MVP to serve this use case with the following components:
5.2. Additional Implementation Ideas
Onchain Data
6. Additional Info
6.1. Privacy Considerations
6.2. Possible Value Flows
What are the business models enabled by this standard? How can an ecosystem of valuable businesses develop? What are the possible incentives?
7. Next Steps
- Follow up with Newforum and invite to this WG. New foundation is working on: IPSP (immutable point system). (Hira)