Gas and transaction speed. Anyone remotely acquainted with custodial wallets is aware of how big an impact gas prices can have on the usability of the system. Users don’t trade, dApps make tradeoffs in platform designs due to potential user costs and games become unplayable.
The core tenets of the Lootverse (data on-chain, composability of derivatives) by their nature rely on high gas operations - and as future gaming mechanisms evolve - these requirements will only increase.
Our mission from the genesis of the Bibliotheca project was to build a completely on-chain game that could scale to 1m+ concurrent users. No infrastructure needed other than a UI client to run.
At Realms x Bibliotheca we have developed and released an alpha version of our on-chain Settling game- currently developed on Arbitrum, and incorporating various elements such as:
- ERC20, ERC721 and ERC1155 tokens
- Staking NFT + yield contracts
- 2-way NFT bridge from Ethereum to Arbitrum
- Raiding mechanisms (P2P gaming contracts)
- AMM to trade resources
The game has been developed with extensive community input - with Realms holders shaping the mechanics that they would like to play in the future. Great ideas have spawned out of the community such as building complex army formations and constructing structures affecting statistics, incorporating other tokens (mLoot, OG Loot, gLoot etc) in various ways so that the entire Loot community can participate, wars between the Orders discovered by the Genesis project, hidden on-chain cryptex puzzles, and turn/physics based games.
After hitting fee limits and encountering structural barriers - constantly forcing reevaluation (simplification) of our implementation, we realised that to enable complex composability (with fees the user can stomach)- both within a derivative and between projects - the Lootverse needs a cheaper method of shared on chain logic. The ability to cheaply store and interact with data is vital to a vibrant decentralised community of assets like Loot
The Solution
By bundling transactions on an L2 (like Arbitrum, Optimism, StarkNet or zKsync) before submitting to layer 1 - user’s are able to make substantial savings in gas fees - but still have the consensus security and interoperability of layer 1. Layer 2s can currently be categorised as one of two main mechanisms; Optimistic, and ZK (Zero Knowledge) Rollups .
Which Layer 2
Vitalik gives a good overview of the rollup solutions at An Incomplete Guide to Rollups
For a brief overview:
Optimistic
Pros
- First to launch
- More developer tooling
- Complete EVM
- Established TVL
Cons
- 7 Day lockup period to withdrawal
- Less transaction per second
- High fees - and increasing relative to ETH fees
ZK Rollups
Deep dive into Zks - Ethereum-powered ZK-Rollups: World Beaters - HackMD
Pros
- Lower fees and more scalability (fees decrease with more transactions on the network)
- Instant withdrawals to L1
- Each transactions is validated by cryptographic proof - not “optimistic” reliance on fraud proofs - therefore finality means transactions cant be reordered like in Optimisic’s 7 day dispute period
Cons
- Less tooling - not as established e.g user account interaction not yet implemented by MetaMask, no subgraphs
- Not EVM
- Developers need to learn a new language
Although developing on Arbitrum has allowed many possibilities not available on mainnet - such as raiding transactions for USD$1-6 instead of up to $60 - as we have built out further complexity and our community’s vision for the gaming aspects has grown - the cumulative effect of these (still much lower) fees become unpalatable, and recent volatility in Eth gas fees have been reflected - with base transactions rising to $10 at times.
This volatility will only increase as ethereum grows, and until sharding from ETH2 happens the L1 calldata cost will continue to increase.
After a thorough analysis of other solutions - we believe StarkWare’s StarkNet platform (mainnet launch end Nov ‘21) is the most promising long term solution for Loot’s L2 gaming needs.
StarkNet
- StarkWares validation mechanisms and Cairo language has been used in production for over 6 months by high volume applications such as Dydx (largest defi derivatives trading) and Immutable X (NFT platform powering God’s Unchained and TikTok) - settling over 40M transactions and $150B of trades
- Approaching EVM compatibility (through transpiler)- but core language is Cairo -optimised for high transaction validation. Although Cairo is somewhat of a technical barrier - it allows far greater flexibility than Solidity - especially for gaming interactions such as provable physics simulations and turn based applications (https://twitter.com/guiltygyoza/status/1454657064555499522 ) .
- Unique “volition” hybrid on-chain/off-chain data solution - which greatly expands developer capabilities due to not having to worry about Eth storage costs for every operation
- Cairo enables expressive provable gaming engines that is not possible with solidity. See Dopewars Cairo engine https://github.com/dopedao/RYO
Tools
https://starknet.io/playground/ = Online Code Playground
https://voyager.online/ = Block & Contract explorer
Hello, StarkNet — Cairo documentation = Starknet/Cairo language docs
https://github.com/seanjameshan/starknet.js = Javascript library for contract interactions like web3.js or ethers.js
https://github.com/Shard-Labs/starknet-hardhat-plugin = Hardhat plugin
https://github.com/OpenZeppelin/nile/ = Contract compiler/deployer like Hardhat
Resources
Cairo | Perama’s notes. - Gold standard of notes (Dope wars developer)
What is required for the Lootverse on Starknet
The end goal is ease of interoperability between projects, and for (all not just whale) users to participate in a wide array of experiences across projects. This will require
- Effective bridging/ proof of ownership for L1 assets to be used on L2
- L2 marketplace for cheaper trading of assets (NFTs and ERC1155s)
- More effective minting (8000+ * 0.05 Eth of fees is a lot of wasted excess that would have been better spent on community building) and distribution of assets to stakeholders
- Best practices for developers on StarkNet (Cairo vs Warp EVM, composability between projects, on-chain vs off-chain)
All these tools and developer experience can be shared across Lootverse projects once built and we can all live in the Lootverse cheaply and efficiently.
If we gain enough support for this proposal, we will set up a special purpose DAO to help fund this initiative.