Back-end technology
What is the intent behind the architecture of Dogeville?
DogeVille is a distributed application ecosystem consisting of on-chain elements that currently live on the Binance Smart Chain and off-chain elements hosted on AWS (Amazon Web Services). The intention behind the architecture is to create a secure, easily extensible, and future-proofed platform that can be leveraged for core functionality as well as extending the ecosystem with independent applications.
On-chain Architecture
DogeVille’s on-chain architecture consists of EVM-compatible upgradeable contracts controlled by two core components, a GM contract that provides overarching status and maintenance of the ecosystem and a Banker contract that serves as the fully secured facilitator of all on-chain transactions. Each core component can be instructed to accept additional contracts only through a multi-sig wallet, ensuring that one of the most common failings of blockchain projects ( compromised private keys ) can at worst be a temporary issue and not lead to loss of project or user funds. Contract architecture is further secured by following best practices to negate concurrency, re-entrancy, and similar blockchain based attack vectors.
What is the off-chain architecture?
DogeVille’s off-chain components are built following the AWS Serverless implementation, a microservices architecture-based solution. In brief, functionality is tied to individual services that are designed to operate independently following the maxim of “Do one thing, and do it well.” These services are built primarily with AWS Lambda which, when combined with the AWS API Gateway and other components, allow AWS to manage all of the typical “server” elements of infrastructure for your project. In practical terms this allows DogeVille to fully leverage the scalability, reliability, and performance of AWS as user transaction volume increases putting it far ahead of most comparable gameFi projects. Game and Account data is stored primarily in DynamoDB, which has a millisecond response time internal to AWS.
Why am I signing something?
You are signing a “cryptographic nonce”, basically a one-off nonsense expression. Utilizing your wallet a specific signed response is generated unique to your private keys that can be translated, on the server, back to your public key. At no point are your private keys exposed. This method allows us to verify in each microservice that the caller is actually the owner of the public key (your wallet address). We utilized this method because exposure of the nonce or your signed response in no way compromises your wallet, and operates at the same security standard as supplying a login and password. Similar to those standards, you may expect an upgrade to 2fa/mfa (Two-Factor/Multi-Factor Authentication) in the future as user options become more customizable.
Why AWS and why not a side-chain like Axie Infinity or other projects?
The purpose of the blockchain is to act as a definitive, trusted ledger with autonomous functionality for applications that require absolute transparency and full trust. This is where the financial elements of gameFi come into play, but the blockchain, even the more optimized chains, was never intended for the “game” elements. When Axie Infinity created a side-chain it is basically a marketing gimmick, since they maintain centralized control of the chain neutralizing its “fully trusted” nature - which is in fact how the recent hack occurred as a “privileged node validator” was compromised. By forcing the blockchain to do what it is not intended to you compromise not only the quality of the project but also your security. DogeVille, and other gameFi apps, are properly compartmentalizing the financial and ownership elements of the gameFi project to the blockchain while the mechanics are maintained off-chain.
What are the differences game performance-wise keeping the game off-chain and interacting with the blockchain as little as possible?
If the game itself lives entirely on the blockchain then the entire architecture of the game must be bent to suit the blockchain itself, primarily through batching transactions and building infrequent and time-consuming loading times during transactions. In addition, each transaction would require gas fees. This would negatively impact the player experience as well as the adoption of new users. By keeping the majority of the game logic off-chain the performance of the site can be comparable to other large web apps and online games.
DogeVille has been built to enterprise-level professional standards with cutting-edge infrastructure support while maintaining the ledger and financialization elements of the blockchain that have made gameFi an explosive sector.
Copy link