Sharding Architecture

The Local Blockchain introduces a network of networks technique that combines an infinite sharding paradigm with. This approach addresses scalability challenges but allows for different rules applied to different commercial contexts.

Hierarchical Structure#

The structure consists of supergraph, domaingraphs, and subgraphs. The supergraph serves as the top-level chain, ensuring the security and coordination of the entire network. Domaingraphs represent specific applications or use cases and can have their own execution models, consensus rules, and local laws.

Code
1Supergraph2|3|-- Domaingraph 1 (Domain 1)4|   |-- Shard (00)5|   |-- Shard (01)6|7|-- Domaingraph 2 (Domain 2)8    |-- Shard (0)

Supergraph#

The supergraph serves as the top-level chain. It ensures the security and coordination of the entire network, maintains global state (including references to all domaingraphs and their respective validator sets), and validates and records the creation of new domaingraphs. The supergraph is also home to universal / shared assets, like a single USDC instantiation.

Domaingraphs#

Domaingraphs represent specific use cases within the Local Blockchain's supergraph. They are parallel chains that operate independently and can have their own execution models, consensus rules, and other rules. Domaingraphs enable customization and flexibility for different use cases, process transactions and maintain a local state for their respective use case, and generate zero-knowledge proofs (ZKPs) for settlement to the supergraph.

Subgraphs#

Subgraphs are the lowest-level chains and are responsible for processing transactions and maintaining the state within a domaingraph. They dynamically split and merge based on transaction load, maintain a local state of transaction history, and enable parallel processing of transactions within a domaingraph.

Infinite Sharding#

Within each domaingraph, there can be dynamic splitting and merging of subgraphs based on transaction loads. As the number of transactions within a domaingraph increases, it can split into multiple subgraphs.

Code
1Domaingraph 1 (Domain 1)2|3|-- Subgraph (00)4|   |-- Subgraph (000)5|   |-- Subgraph (001)6|7|-- Subgraph (01)8    |-- Subgraph (010)9    |-- Subgraph (011)

Subgraphs as Sharchains#

Subgraphs are implicit to the nature of transacting buyers and producers within domains. Sharding boundaries can therefore be computed based on the increase in time complexity of computing the principal eigenvector at each transaction. Subgraphs are naturally emerging based on the implicit commercial nature of the transactions (geography, market, preferences) within each domaingraph. The sharding technique can be defined as a rule within the domaingraph.

Code
1Domaingraph 1 (Domain 1)2|3|-- Subgraph (00) { San Francisco }4|   |-- [A]----[B]5|   |         /6|   |        /7|   |     [C]8|9|-- Subgraph (01) { New York }10    |-- [D]----[E]

Next Steps#

In the next section we'll discuss settlement, ZK techniques, and how transactions propagate up the hierarchy.

Was this chapter helpful?