DAPP Solutions Great Reddit Scaling Bake-Off Proposal
LiquidApps/DAPP Documentation: https://docs.liquidapps.io/en/v2.0
EOSIO Documentation: https://github.com/EOSIO/eos
DappSolutions Telegram: https://t.me/DAPPSolutionsCommunity
About DAPP Solutions:
DAPP Solutions is a full cycle development ecosystem and DAPP Service Provider (DSP) on the Liquidapps DAPP Network, a universal middleware of powerful services for modern decentralized applications.
Jason Kemp, CEO
John Campbell, CTO
Ami Heines, CIO
Arunima Ray, Developer
Prasanjit Dey, Developer
Ethereum (ERC-20 Token model) https://github.com/ethereum
EOSIO (Network Resources) https://github.com/EOSIO/eos
LiquidLink (IBC) https://liquidapps.io/liquid-link
LiquidOracle (Web-interaction/IBC) https://liquidapps.io/liquid-oracles
LiquidScheduler (CRON) https://liquidapps.io/liquid-scheduler
vRAM (Memory) https://liquidapps.io/vRam
Short Term Goal:
Reddit/Ethereum Scalability and Resource Efficiency via Blockchain Interoperability
Team DAPP Solutions would like to start by saluting Team Reddit for leading the charge in mass adoption of blockchain technologies. We will show our appreciation by developing a Reddit Community Points solution that is verifiably inexpensive, scalable and secure.
Long Term Goal:
Blockchain Agnosticism | One Network
It is a sincere pleasure for us at Team DAPP Solutions to be engaging directly with the Reddit and Ethereum communities. Those of us familiar and engaged with the LiquidApps DAPP Network have waited patiently to showcase our unique and differentiated services towards a positive sum gain for all.
Interoperability | InterBlockchain Communication (IBC)
On July 26, 2019, CryptoTwitter was treated to a demonstration by the LiquidApps Team of blockchain interoperability using a DAPP Network service called LiquidLink.
Our slogan at DAPP Solutions since our inception is “Onboard Everyone”, so we were very excited last July to watch blockchain interoperability come to fruition between the Ethereum and EOSIO-based blockchains.
The DAPP Solutions Team is excited to be able to introduce Reddit and the greater Ethereum community to the LiquidLink bridge between Ethereum and EOSIO. This DAPP Network service leverages the benefits and communities of both technologies in moving towards the greater goal of interoperable, scaleable and decentralized blockchain solutions.
Submission Timeline Explained:
As you review our proposal, please understand that we entered this challenge on July 11, following the LiquidApps July, 6 code upgrade to LiquidLink, and accompanying Medium article,(https://medium.com/the-liquidapps-blog/the-dapp-networks-reddit-scaling-bounty-d60e057de6d) specifically upgraded to take on the challenge of the Great Reddit Scaling Bake-Off.
The article echos our sentiments at DAPP Solutions:
“Despite getting the ball rolling on Ethereum scalability, Reddit isn’t the only one that can benefit from the DAPP Network’s unique cross-chain middleware. Any Ethereum project that wishes to scale without leaving its native ecosystem, could utilize such a mechanism to go where no dApp has gone before — mass usage.”
With limited time and resources available to us, we chose to focus on interoperability, scalability and resource efficiency with the intention of integrating with one or more existing wallets by the time submissions are reviewed and chosen.
Now with an upgraded version of LiquidLink, we set out to show our blockchain brethren what our tools can do. Our solution relies on the EOSIO infrastructure, as well as a L2 solution called the DAPP network to scale the EOSIO network’s capabilities and resource management.
Our goal in providing this POC is to demonstrate how the DAPP Network can act as a live, advanced middleware to scale the Reddit Ethereum model while ensuring resource and cost efficiency.
Demos Should Include:
Comparable metrics will be posted to the demo page, which will be linked from the github. (pending)
EOSIO requires that system tokens be assigned to the contract (EOS on the EOS mainnet) for CPU, RAM, and NET. Both CPU and NET usage limits are returned to the account (linear timeline to return of resources), which is similar to the DAPP token in that once these tokens are staked, you can increase your stake in a given resource when needed, however they can be returned/un-staked and sold - so while there is an initial setup cost, the ongoing costs will be greatly reduced, and largely predictable.
Anyone can add resources to the contract when usage increases, these resources can all be unstaked/sold if usage decreases, or if a new contract is introduced to manage the system etc. RAM on EOSIO is bought and sold on an internal market, and does have an upper-limit.
However, the vRAM solution through the DAPP network will allow us to remove this upper-limit, and convert it into a quota of X number of calls for Y number of DAPP tokens, which can be modified accordingly without requiring more (or in some cases, a minor amount of) EOSIO RAM resources.
Using our reddit simulator, and our demo page (pending), a web UI will be used to trigger the simulation while tweaking variables for efficiency.
Dependent on wallet collaboration/integration for API to connect to reddit.
Our PoC (redditdapp.cpp) and test contract (main.cpp) currently tests and has consumed all necessary services to meet the requirements:
We are in the process of setting up our live demo page to show the system in action, which we will put onto the github repo in the coming days, so be sure to check back!
DSPs are chosen by the EOSIO/DAPP contract owner (which would be reddit in this submission’s case), however many DSPs can be selected by that contract and utilized to create consensus amongst calls, as well as to decentralize the trust desired/required when working with them across many parties.Through a combination of these services, we can decentralize every part of the system.
While we still require a wallet to integrate with our solution, our Reddit Simulation Server is mimicking wallets for the sake of demonstration. Outside of this implementation, the system self-manages assuming there are enough resources (both for gas fees on ETH and for account/network resources on EOSIO/DAPP).
Using LiquidLink and LiquidOracles, we can both sign transactions on, and listen to the Ethereum blockchain as shown in linked examples/articles above.
All systems require private keys to interact with the contracts, and otherwise will only run on a scheduler. So long as private keys are only held for account resource management
Through the usage of vRAM and EOSIO accounts, there are no TX fees outside of moving tokens onto/off of the Ethereum network.
The vRAM/LiquidLink/Oracles/Scheduler model requires that DAPP tokens be staked to a DAPP Service Provider (DSP), which must increase according to usage, but can be un-staked at any time.
Strengths of this approach
Without the need for transaction fees at every interaction in the system on the
Ethereum network, we should be able to bring a majority of system costs to a minimum. None of the fees inside of the EOSIO/DAPP system are “spent” in the sense of transaction fees, and are refundable in the form of EOSIO system and DAPP tokens. These networks provide a much higher throughput at a much lower cost. The only time gas fees would need to be spent would be the update interval for the IPFS hash (sped up for simulation purposes, but this interval can be set to any amount of time), then token minting/issuing/burning gas fees should a user decide to exit or enter the system using an ERC-20 wallet. This implementation is also easily port-able to EOSIO tokens, which would speed up the system and remove transaction fees from the system entirely.
Flow of operations:
User Perspective (Dependent on cross-chain key signing wallet support)
The DAPP Solutions Team welcomes your feedback, technical questions and fair criticism.
We’ll be available via this thread or on our telegram at https://t.me/DAPPSolutionsCommunity
We humbly thank you for this opportunity.
Onward and Upward!
from Ethereum https://www.reddit.com/r/ethereum/comments/i1nc4u/dapp_solutions_great_reddit_scaling_bakeoff/