- Will Shardeum maintain atomic & cross-shard composability across different shards?
- Is Shardeum a blockchain or other DLTs like DAG, Tempo, Cerebrus, Cast?
- Will we be trying to solve the trilemma and ESG amiability? (environmental, social, and corporate governance standards applied to corporate investing)
- What is the consensus mechanism/consensus algorithm used in Shardeum?
- How is Shardeum’s sharding different from sharding proposed by Ethereum?
- What database will Shardeum use, and how can we avoid a Foursquare-like incident?
- How many nodes form a shard, and how many will be in a quorum? Is POQ based on the number of nodes or the number of shards?
- Does the network give any priorities for selecting validator nodes?
- When will the source code be open to public?
- What language will Shardeum use for Smart Contracts?
- What kind of BLS signatures does Shardeum use and what is the hash function?
- What are the primary languages in which Shardeum is being built?
Will Shardeum maintain atomic & cross-shard composability across different shards? #
To better understand what Shardeum is, please look at the Shardus project (which serves as the protocol layer of Shardeum) built over the last four years (see https://shardus.com/). In a nutshell, Shardus has developed the software to make it easy to create shared distributed ledgers. Shardus handles the protocol layer, gossip of transactions, consensus, syncing, sharding, etc. Developers can start with Shardus and define the application layer to easily build decentralized networks for a specific application, for example, a game with a very high TPS. So the answer to the first question is YES since Shardus hides from the application layer that the network is sharded. The protocol layer takes care of cross-shard consensus and data sharing. Shardeum will ensure complex transactions and smart contracts are executed effectively in a sharded environment while maintaining the integrity and consistency of the blockchain. In other words, Shardeum will have atomic and cross-shard composability making life easier for developers.
Is Shardeum a blockchain or other DLTs like DAG, Tempo, Cerebrus, Cast? #
It doesn’t quite fit into any of these. Shardus does consensus on each transaction independently without necessarily putting them into blocks. A proof-of-quorum receipt is generated for each transaction to show if it was accepted or not. The processed transactions (after a receipt is generated and accepted txs are committed) are grouped into blocks (we call them partitions) and passed on to archive nodes. This allows the consensus nodes not to have to deal with storing the transaction history and only maintain the current state of the accounts. Once you’ve done the consensus for the transactions, the data structure you use to store them does not matter. It matters for other networks because the data structure is tightly coupled with the consensus.
Will we be trying to solve the trilemma and ESG amiability? (environmental, social, and corporate governance standards applied to corporate investing) #
Short answer: Yes.
As Vitalik has discussed here, the only real solution to achieve scalability, decentralization, and security without compromising any of them is to use sharding. Shardeum is designed from the beginning to be sharded and not as an afterthought or add-on.
One of the goals of Shardus has always been to use an energy-efficient consensus algorithm, mainly because this will result in lower transaction fees and greater sustainability. And being good for the environment is a huge side benefit. What we do on the social and governance aspects is also embedded in Shardeum’s core principle – OCC (Open, Collaborative, Community-Driven) approach Shardeum plans to take will put us on the right path. See the OCC doc in Shardeum’s public google drive here
What is the consensus mechanism/consensus algorithm used in Shardeum? #
Proof of Quorum (PoQ) + Proof of Stake (PoS)
How is Shardeum’s sharding different from sharding proposed by Ethereum? #
Data sharding is on Ethereum’s roadmap for 2023, and the purpose is to increase data availability to allow multiple L2 nodes to write data to the Ethereum network simultaneously. The purpose of data sharding in Ethereum is to optimize for scaling at L2. However, Ethereum does not plan to do execution and network sharding which is needed to gain the benefits of full state sharding. Shardeum shards compute, state and data to achieve dynamic state sharding. By assigning each node to a unique range of addresses Shardeum has demonstrated true linear scaling. Shardeum is the first L1 to increase TPS with each node added to the network while retaining cross-shard composability.
Shardeum’s novel architecture overcomes the challenges faced by existing sharded blockchains while providing a preferred horizontal approach to scaling rather than L2’s and other scaling methods, which use more powerful nodes and hardware to scale vertically.
What database will Shardeum use, and how can we avoid a Foursquare-like incident? #
We are using SQLite. It is an embedded database with no configuration requirements. Also, it is only accessible locally and not over the network; thus no chance of external hacks. https://sqlite.org/
How many nodes form a shard, and how many will be in a quorum? Is POQ based on the number of nodes or the number of shards? #
There will be 128 nodes in a shard. Most nodes in a shard (>64) would have to accept the tx to generate a PoQ receipt. Suppose a tx involves accounts A and B in shards 1 and 2. In that case, the nodes in these shards form a consensus group (256 nodes), and a majority (>128 since consensus group size is 256) need to agree on accepting the tx. It’s pretty simple conceptually, but the implementation is very tricky. The Shardeum dev team is innovating and solving complex challenges as we speak.
Does the network give any priorities for selecting validator nodes? #
You will have network protocols to follow, like the minimum number of coins to be staked and hardware configs. Once nodes have those few prerequisites as determined by network compliance, the network will choose them without any favor or bias on a rotational/random basis.
When will the source code be open to public? #
Shardeum has begun open-sourcing its codebase on 09th March 2023. Public can now access and contribute to these validator source codes considering validator nodes are now run by community since the launch of Betanet. The project intends to open source all the repositories by the time it reaches mainnet in 2023.
What language will Shardeum use for Smart Contracts? #
EVM-based languages – Solidity and Vyper.
What kind of BLS signatures does Shardeum use and what is the hash function? #
Ed25519 and SHA256
What are the primary languages in which Shardeum is being built? #
Node.js + TypeScript + Rust