- Is there a Shardeum whitepaper available for me to read?
- 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?
- Why is it that adding new nodes to other blockchains does not lead to an increase in transactions per second (TPS), whereas Shardeum demonstrates an increase in TPS when new nodes are introduced?
- 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?
Is there a Shardeum whitepaper available for me to read? #
Here is the link to Shardeum whitepaper.
To better understand what Shardeum is, please look at the Shardus project (which serves as the protocol layer of Shardeum) built over the last five 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 question is YES since Shardus hides from the application layer that the network is sharded.
On Shardeum, transactions are processed on a FCFS basis individually. That means consensus happens at the transaction level and not at the block level as you see with typical blockchains. Processed transactions are then grouped together and passed onto archive nodes on the network. The protocol layer takes care of cross-shard consensus and data sharing. Shardeum will ensure complex transactions and smart contracts are executed effectively and parallelly 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.
Why is it that adding new nodes to other blockchains does not lead to an increase in transactions per second (TPS), whereas Shardeum demonstrates an increase in TPS when new nodes are introduced? #
First of all, Shardeum scales linearly. On Shardeum, transactions are ordered in a time based way i.e. FCFS basis, followed by consensus and processing done at the transaction level instead of the block level as you see with typical blockchains. And, through dynamic state sharding, the network will shard its state by evenly and dynamically distributing compute workload, storage, and bandwidth among all the nodes. Every node on the network will be assigned dynamic account spaces across multiple shards with sufficient level of overlaps between address ranges. This allows for parallel processing of transactions while maintaining atomic and cross shard composability.
Further, validator nodes will store only the state data of transactions/accounts they are involved in while the individually processed transactions are grouped and passed onto archive nodes on the network who will be responsible to store historical data. Low overhead for validators translates to the network scaling horizontally with low gas fees forever. Autoscaling will enable Shardeum to make efficient use of resources and the consensus mechanism will ensure validators are auto-rotated with standby nodes asides from ensuring validity of transactions with immediate finality and low latency.
Ultimately, linear scaling is the main X factor that impacts every other outcome on a blockchain network favorably including throughput, decentralization, security, and constant transaction fees irrespective of the demand in the network. Shardeum is proving that scaling linearly (through sharding) combined with an optimal consensus algorithm, transaction ordering, and autoscaling, can help you in overcoming scalability trilemma. We will soon open-source the codebase of Shardeum protocol. Asides from staying true to our ethos of decentralization, we are open-sourcing to inspire other blockchain networks to overcome the scalability issues and start onboarding the world to Web3.
What database will Shardeum use, and how can we avoid a Foursquare-like incident? #
Shardeum will utilize a decentralized, sharded blockchain network. This is different from the Foursquare incident, which was related to issues arising from MongoDB’s sharded but centralized database. Due to our decentralized architecture, the risks associated with centralized databases, like in the Foursquare case, are not applicable.
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) needed to agree on accepting the transaction. 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 fulfill the prerequisites, the network will choose nodes 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.
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