Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Block Node #1081

Draft
wants to merge 9 commits into
base: main
Choose a base branch
from
Draft

Block Node #1081

wants to merge 9 commits into from

Conversation

Nana-EC
Copy link
Contributor

@Nana-EC Nana-EC commented Nov 17, 2024

Description:
Abstract
This HIP introduces and proposes the adoption of a new node type that is designed to parse the block stream, store
latest state and serve up additional network APIs such as state proofs and block retrieval that support decentralized
querying and verification of state.

A block node will primarily sit in between a consensus node and a mirror node to serve as a decentralized source of
verifiable network state and transaction information. As an emergent feature a block node will introduce a new node
economy through independent community operations. Anyone will be able to independently run a block node or block
stream parsing product that provides value added services to users e.g. aggregated data insights, data availability.

Block Nodes will have a rich API, allowing consumers to receive a subset of the stream, or the full stream. Block Nodes
can innovate on payment -- they can be commercial and have connectivity rules / rate limits / SLAs for customers.
They can require payment for serving blocks, or they can serve blocks for free.

Related issue(s):

Expands on #1055

Notes for reviewer:

Checklist

  • Documented (Code comments, README, etc.)
  • Tested (unit, integration, etc.)

Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
…nd service definitions

Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
@Nana-EC Nana-EC self-assigned this Nov 17, 2024
Copy link

netlify bot commented Nov 17, 2024

Deploy Preview for hedera-hips ready!

Name Link
🔨 Latest commit 584e303
🔍 Latest deploy log https://app.netlify.com/sites/hedera-hips/deploys/6758feb335d190000890077d
😎 Deploy Preview https://deploy-preview-1081--hedera-hips.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

actions-user and others added 2 commits November 17, 2024 20:27
@Nana-EC Nana-EC mentioned this pull request Dec 2, 2024
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Copy link
Member

@jsync-swirlds jsync-swirlds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

About half way through the hip document so far.

HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
Copy link
Member

@jsync-swirlds jsync-swirlds left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Finally reached the end of the document.

HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Outdated Show resolved Hide resolved
HIP/hip-1081.md Show resolved Hide resolved
Comment on lines +527 to +528
- [ ] Q: Does the block node require or rely on a transmission of full state from a CN? If so what’s the contract between
nodes here? Previously the CN output state every 15 mins
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Block Nodes that manage live state or produce state snapshots require a state snapshot to start up if not active since genesis for that network. That snapshot should, however, be transferred manually (either from cloud storage or another block node).

The consensus node, in a block stream mode, should not ever transmit a state snapshot to another system. State snapshots in this realm are local backup only and should be short-lived ephemeral data (if stored at all).
One of the major benefits of block nodes is that we remove the bandwidth, processing, and complexity of managing state snapshot transfers from consensus nodes entirely.

If a running block node ever needs a state snapshot for some reason, the best place to get one is another block node.

Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Signed-off-by: Nana Essilfie-Conduah <nana@swirldslabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants