Why Nostr? What is Njump?
2024-09-10 19:13:30

straycat on Nostr: ## What is the Grapevine? The Grapevine enables you and your community to identify ...

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzpef89h53f0fsza2ugwdc3e54nfpun5nxfqclpy79r6w8nxsk5yp0qqxnzdejx5cngves8y6njvecy87amm

What is the Grapevine?

The Grapevine enables you and your community to identify who is the most trustworthy, and in what context, to curate content, facts, and information.

In this article we present an overview of the Grapevine Worldview, a visualization tool and control panel for the management of your grapevine.

How does the grapevine work?

The construction of a Grapevine Worldview can be broken down into the following steps:

Step 1. Decide what question you want to answer or the problem you want to solve. For example: curate a directory of nostr apps. The finished product will be a ranked list, G, of items that may be pubkeys or could be something else, e.g. products from an eCommerce site.

Step 2. Select whatever sources of raw data (usually from within nostr, but in theory, could come from outside nostr) that are both 1) available to you and 2) relevant to the question or problem. (See Table: Sources of Raw Data at [1].)

Step 3. Translate each data source into a format suitable for consumption by the grapevine through the process of interpretation (see [1]).

Step 4. Crunch the numbers using the GrapeRank equations. Each purple arrow in the Worldview represents a single iteration. If the arrow loops around in a circle, iterations repeat until convergence. The finished product will be a list G of items, ranked by GrapeRank score.

Step 5: Consume the list G in whatever way you see fit. If the product is a ranked list of pubkeys, it may be used to curate a feed or you may use it as part of the curation process within other Worldviews.

The Worldview is designed to give a big picture overview of the entire above process. In this post I will walk though a simple example of a hypothetical Grapevine Worldview, designed around the problem of how to curate a list of nostr apps.

Example Worldview: Curation of Nostr Apps

The Worldview in the above figure is designed for a specific purpose: to manage a list of nostr apps. [2]

Each node G on the worldview represents a table of items, each of which is associated with a contextual GrapeRank score, calculated using the GrapeRank algorithm. The blue nodes represent tables of pubkeys, and the grey node represents a list of non-pubkey items, in this case the list of nostr apps.

Each edge (purple arrow) is associated with an array R of ratings r, each of which must follow the Grapevine Ratings format. Each R is generated from raw ratings data that can be from any source, in any format. Multiple categories of data can be merged into a single dataset R. For each R, and for each category of raw data that contributes to R, an explicit Interpretation must be provided.

If we look from left to right in the above figure, we can see information processed through the following stages:

Stage 1: Follows and mutes (raw ratings data) is used to curate G_o: a table of pubkeys that are (probably) not bots or other bad actors

Stage 2: NIP-51 lists entitled “Nostr Devs” (raw data) is used to curate G_devs. Note that authors of these lists are filtered and weighted using G_o from the previous stage.

Stage 3: Content authored by G_devs is used to curate G_nostrApps, the list of Nost Apps.

The source of potential items to initialize the list G_nostrApps is unspecified in the worldview, but one possibility would be to make use of Nostr forms, as seen at formstr.

The content used to initialized R_nostrApps used in stage 3 is also left unspecified. One possibility would be to use NIP-32 labels to endorse submitted items as belonging / not belonging on the list. Anyone could submit labels, but only pubkeys represented in G_0 or G_devs will be given a voice, and that voice will be proportional to that pubkey’s influence score. The relative thickness of the two purple arrows leading to the G_nostrApps node on the right tells us that nostr developers are given a louder voice in the final curation of G_nostrApps.

Values and choices of the end-user

The Grapevine Worldview places the values and choices of the end user center stage. These choices are manifest in several ways:

  • the choice of raw data: what is included, what data is available but ignored
  • the specifics of the interpretation of each category of raw data into a list R of individual ratings r
  • the overall topology of the Worldview, including the choices of which G’s to incorporate
  • the demonstrated willingness to expend computational energy on any given aspects of the above. For now, the computational energy will be trivial. At some point, the energy expenditure will have a nontrivial cost.

Summary

The Grapevine Worldview is a visual overview and a control panel for the process leading up to the curation of some category of content by your grapevine. Construction of any given worldview includes decisions on who should be trusted to curate what. These decisions may or may not be the same from one end user to another.

Each user can manage multiple Worldviews, each one of which is purposed for the curation of a given G. And the output of one Worldview, G, can be consumed by a different Worldview.

Current efforts are directed at creating an open source library for the GrapeRank equations. Next step will be back end services that partner with relays and will enable generation of G_0, the Grapevine Network of “not-bot” pubkeys. We anticipate that future work will build out the front end control panel for Worldviews, including control panels for the interpretation of additional data sources and curation of lists like nostr apps as in the example above.

Notes

[1] https://njump.me / naddr1qvzqqqr4gupzpef89h53f0fsza2ugwdc3e54nfpun5nxfqclpy79r6w8nxsk5yp0qqxnzdejx5urzwp58qcrgdp4dutxqa

[2] Currently, various lists of nostr apps are maintained, e.g. at Awesome Nostr by (Aljaz Ceru?), or at nostrapps.com by (Karnage?).

Author Public Key
npub1u5njm6g5h5cpw4wy8xugu62e5s7f6fnysv0sj0z3a8rengt2zqhsxrldq3