Copy-of-Untitled-1024-×-512-px-1024-×-512-px-1024-×-512-px-1024-×-512-px-1024-×-512-px-2023-02-17T230535.272.png
2023-02-18

Nostr + Arweave Exploration

Nostr (Notes and Other Stuff Transmitted by Relays) is a lightweight, underlying, decentralized social protocol with specific rules called NIPs (Nostr Improvement Proposal) which contain a set of mandatory and optional rules.

All messages in the protocol are signed by users using private keys, so they are all verifiable. Users interact anonymously on the network using only public key addresses.

Its goal is to create a censorship-resistant social network where users are truly in control of their social media autonomy.

Relay & client & event

Nostr contains two core components: relay and client.

relay is responsible for storing and processing user messages and is essentially a WebSocket server providing services to users. The Nostr protocol defines relay implementation standards and rules for end-to-end data transfer between the relay and the client.

The user message is called an Event, and each Event is signed by the user with Schnorr (the BIP340 used in Bitcoin Taproot).

// Event structure
{
  "id": <32-bytes sha256 of the the serialized event data>
  "pubkey": <32-bytes hex-encoded public key of the event creator>,
  "created_at": <unix timestamp in seconds>,
  "kind": <integer>,
  "tags": [
    ["e", <32-bytes hex of the id of another event>, <recommended relay URL>],
    ["p", <32-bytes hex of the key>, <recommended relay URL>],
    ... // other kinds of tags may be included later
  ]
  "content": <arbitrary string>,
  "sig": <64-bytes signature of the sha256 hash of the serialized event data, which is the same as the "id" field>,
}

The client is a front-end APP that interacts with relay and can subscribe to any Event from a relay. client is identified only by the public key and interacts with relay completely anonymously, and relay pushes messages to the client using a message filter ([Subscription Filter](<https://github.com/fiatjaf/nostr/blob/master/nips/01.md#communication-between-clients-and-relays>)).

The client can connect to any number of relays, subscribe to different content, and the content client receives is related to the relay.

Nostr is not a p2p network. There is no interaction between relays or between clients. A relay only interacts with the client, and a client can subscribe for content on different relays.

The meaning of Nostr

Nostr is a very open, minimalist protocol, everything is delegated to relay and client, which is the power of Nostr.

Based on Nostr, you can build any kind of relay, no matter it’s for free, paid, private, public, encrypted, etc. You can store data in AWS Cloud, or locally, or on other public chains, Nostr has no limits.

At the same time, Nostr does not have any restrictions on the content of Event, which is closer to a universal storage carrier, so it requires a relay or client to complete the review of the content.

Nostr protocol states that a relay can refuse to forward messages, but cannot tamper with messages, which means that even if a user’s message is blocked by a relay, he can find another relay to forward it, or he can build a relay himself, so that the user’s message can never be completely blocked in the network.

Nostr is a blockchain-less decentralized protocol, which has no chain structure or consensus layer, but can still achieve the purpose of decentralization. It is even a more underlying social protocol than blockchain, and a relay can be built on top of any public chain.

Nostr also has no incentive layer, which is left to relay to decide. relay allows users to pay for advanced services, such as message encryption, video file hosting, etc.

Nostr + Arweave

Although Nostr does not specify data storage for a relay, a storage solution is needed to achieve complete decentralization without loss of content, and Nostr leaves this to the relay implementers.

The relay messages can be stored by Arweave, which achieves complete decentralization. Arweave is a data storage network that guarantees permanent data storage without tampering. After the messages are stored, even if a relay is offline or blocked, another relay can still be activated and pull all the messages from Arweave. The new relay service is created. Furthermore, anyone can start a relay and pull old messages from Arweave, thus it creates a censorship-resistant, decentralized social network.

Arweave is a perfect fit for Nostr and is the perfect decentralized storage solution for Nostr.

 


💡Arweave is the infrastructure that undertakes the important mission in terms of permanently storing the crystallization of human wisdom. As the increasingly development of Web3, Arweave being an infrastructure will be applied by more developers to create a brand new and more diversified ecosystem. Based on this background, PermaDAO is established by a community of some co builders. All of the participants can find their own roles here to contribute to the Arweave ecosystem. Any proposals and tasks about Arweave can be published here as well as the support and feedback from the whole community. Join PermaDAO and build Web3!


🔗 More about PermaDAOWebsite | Twitter | Telegram | Discord | MediumYoutube

Translator: Jazzy @ Contributer of PermaDAO

Reviewer: Xiaosong Hu @ Contributer of PermaDAO


Join our

Telegram / Discord / Twitter

Tagged with In No tags

Sign up for newsletter

Sign up here to get the latest news and updates delivered directly to your inbox.