rollkit / docs

Documentation for Rollkit - a modular framework for rollups.
https://rollkit.dev
34 stars 49 forks source link

Comments on rollkit stack page #88

Closed musalbas closed 1 year ago

musalbas commented 1 year ago

General comments:

The Rollkit Stack

Rollup Application Dependencies

State Fraud Proofs

P2P-Layer

Sequencer node

Light node

Block-Manager

RPC Layer

S1nus commented 1 year ago

We don't have censorship resistance for the centralized sequencer yet right, because there's no way to force transaction inclusion currently?

We don't have it yet, but it's probably possible.

What's "Pure Fork-Choice Rule" btw?

anything without any privileged sequencers, e.g defer to Celestia ordering and apply "first-come-first-serve" fork-choice

jcstein commented 1 year ago

thanks @S1nus! It looks like the table has "Eventual ⏳" for the "censorship resistance" column on the "Centralized Sequencer" -- @musalbas what do you think we should put here instead (if something else)?

I addressed the second comment here: 9bbc8ba27b7bb2c22931331ffd1ee3b7bdf16a57 / a02105f6c25d16558b19cfe4e53b9d1309c897ad

musalbas commented 1 year ago

"Eventual" means that it has delayed censorship resistance (eg transactions will eventually be included).

If it doesn't currently have that implemented, then the current table is misleading because it suggests that's the current status quo (it says "Implemented"), and should therefore be clarified of fixed in some way.

jcstein commented 1 year ago

Understood, thank you. Is this implemented yet @S1nus, AFAIK centralized sequencer is? maybe no checkmark, or "Planned"?

gupadhyaya commented 1 year ago

@jcstein we can remove this statement: In future, we plan to support other key APIs such as rollup state validation (optimistic) and make the Rollkit RPCs generalizable beyond Tendermint. I was referring to exposing some of the rollup validation data like fraud proofs, but this information is not stored on rollup blocks and it is mostly at the node/client level. Until we have more clarity, we don't need to mention anything. Also, same for generalizing beyond tendermint rpcs. We don't to mention right now.

jcstein commented 1 year ago

thanks @gupadhyaya - done 186cfcf33ca3b086de7dcd216201f5d920fc83df

S1nus commented 1 year ago

If it doesn't currently have that implemented

it's not currently implemented, but it is possible to achieve with that configuration, so i think it should be included. Other unimplemented possibilities are documented, such as "deploying a new chain as easy as deploying a smart contract" and "deploy rollups on existing settlement and execution layers"

musalbas commented 1 year ago

it's not currently implemented, but it is possible to achieve with that configuration, so i think it should be included

It can be included but it should be clarified that it's not implemented/planned, because the table says "Implemented", so it's objectively not true:

image

such as "deploying a new chain as easy as deploying a smart contract"

This is a mission statement (as well as this being a subjective statement), and this statement is actually true using Ignite: https://docs.celestia.org/developers/gm-rollmint/

It can also be prefaced as "Our goal is to [make deploying a new chain as easy as deploying a smart contract]".

"deploy rollups on existing settlement and execution layers"

That should be fixed by clarifying that this is a future goal.

jcstein commented 1 year ago

It can be included but it should be clarified that it's not implemented/planned, because the table says "Implemented", so it's objectively not true:

what do you think of "In Progress" in this instance? (8ad47fb84ab3ee8a0f058b498bb151a9bc4cb626)

musalbas commented 1 year ago

Here's my concrete suggestion. I still think it's a good idea to show that at least one type of sequencer is implemented. So we can keep that row as Implemented.

However, we could add an asterisk next to Eventual, and then under that table put ( Implementation of this property is in progress), or similar.

That way, people know exactly what's implemented about centralized sequencers or not.

jcstein commented 1 year ago

Thank you. For the asterisk, you mean for Implemented* not for Eventual, right? As Eventual refers to delayed censorship resistance

musalbas commented 1 year ago

No I mean for Eventual, to indicate that this property (Eventual censorship-resistance) isn't implemented yet

jcstein commented 1 year ago

done in 1a40568f7a544a49005072ee1d9eb90e0980e1a8