Introduction

Powerloom Protocol is a decentralized data protocol designed to address the increasing data demands of innovative contract-based applications, including DeFi applications, games, and other user-centric platforms. Powerloom incentivizes different categories of peers to generate rich information and actionable insights on raw blockchain data.

Powerloom serves as a peer-validated and accurate information source by enabling rich data applications such as dashboards, bots, aggregators, and insights trackers that utilize data compositions on smaller, consensus-reached data units.

Some Basics

https://docs.powerloom.io/assets/images/protocol_workflow-c251e7a9d366b95efc26c25624c205a7.png

Snapshotter Peers

A Snapshotter is like a note-taker for significant data changes and events on the blockchain, just like stock traders keep track of stock prices. Snapshotter Peers take "snapshots" of the data at set time intervals or epochs in the Protocol. They are a vital part of the Powerloom ecosystem; playing a main role in decentralizing this data.

Reference Example: Think of Snapshotter Peers like photographers at a party. They take pictures - or "snapshots" - of the party (which is like the data on the internet) at different times to remember what happened.

<aside> 💡 You can read more about Snapshotter Peers in our developer docs here

</aside>

Prost Chain

The "Prost Chain" refers to the foundational blockchain infrastructure utilized by the Powerloom Network, serving as the anchor chain for managing consensus and coordination among different categories of peers on the network as well as incentives, rewards and penalties.

Protocol State (on Prost Chain)

Protocol State represents the current state of the network, which Snapshotter Peers or anyone else can refer to if the entity needs access to current or historical data references. The protocol state is constantly updated as new epochs are released, and data gets submitted to the protocol state contract residing on the Prost Chain.

Reference Example: The protocol state is like the current score in a sports game. It represents the current condition of the game, including all the points scored, fouls, etc., and is constantly updated as the game progresses.

<aside> 💡 You can read more about Protocol State in our developer docs here

</aside>

Epochs

An Epoch in the context of blockchain typically refers to a range of block heights on the data source blockchain where smart contract applications run, or more simply; it is a specific period in the blockchain's life.

Each Snapshotter makes observations specific to the state transitions spanning all blocks between two given block heights termed Epochs. Check out our developer docs here to learn more about Epochs.

<aside> 💡 You can read more about Epochs here

</aside>

Snapshots

In every epoch, each Snapshotter Peer reports their observation of blockchain state transitions to the protocol state contract for consensus. This observation is known as a snapshot.

Reference Example: Imagine photographing a city from a high point every hour. Each photo represents the town's state at that specific hour, capturing the movement and changes. In the same way, snapshots capture the state of the blockchain at particular points in time.

How it works

The Protocol State contract releases an Epoch after a fixed interval and emits an EpochReleased event. Snapshotter peers listening to these events generate snapshots for that epoch. These snapshots then get uploaded to a decentralized storage system like IPFS, and the content identifier (CID) is submitted to the network for consensus. If a majority of the submissions from each peer match, consensus for that Project at that Epoch gets achieved, and the data is marked as finalized. Upon finalization, the protocol state contract emits a SnapshotFinalized event which notifies Snapshotter peers to update their local state with the finalized data.

Problem Statements