Bridge Champ Integration - part 1 - design goals

Now that the Bridge Champ - Play Bridge Online project is in beta and users can register freely, play, and experiment, we started to look more closely at the crypto integration with Ardor and Ignis. After all, this is a play-to-earn game and one of our main goals, when we launched the project almost two years ago, was to integrate it with our blockchain platform.

I would like to use this forum to explain our design goals and how we plan to implement them. We can think together with you about ways to not only make Bridge Champ a success but also create reusable crypto integration components that other Ardor-based dapps developed by 3rd parties can reuse.

But let's start from the beginning, what are our main design goals?

  1. First and foremost, we want to make this platform secure, since most of our users won't be crypto experts. It is required for us to save users' private keys by the application; however, we intend to implement a secure platform that will be difficult to hack. We won't keep private keys in clear text and will always rely on multiple forms of authentication.
  2. We want to create a significant on-chain activity that will demonstrate the strength of Ardor and Ignis as well as help us identify some real limitations that we should focus on improving.
  3. We need to comply with all local regulations so that no one can use our play-to-earn platform for illicit activity.
  4. We want to make the platform simple to use for non-crypto users that just want to play and have fun. So, while the crypto component is mandatory, users who are not familiar with blockchain should be able to play.

From these design goals, we derived the following technical requirements:

  1. Never save private keys in clear text. Always require more than one form of authentication before accessing any private key.
  2. Most activity should be on-chain. Every in-game activity is also a blockchain transaction (no external DB of user balances, at least not until we reach some scale limitations).
  3. Power users should be able to access and use their funds directly without our permission.
  4. Some ability to recover lost credentials.
  5. More to come.

We intend to rely on the following Ardor features:

  1. HD wallet to derive account private keys and addresses from a secure seed only when we need them.
  2. Secret Sharing to split private data into pieces that are never stored together.
  3. Blockchain account per Bridge Champ user.
  4. Interface with a secure node to sign transactions.
  5. Participation fees and prize rewards are posted as transactions on chain.
  6. User balances are stored on-chain.

In the next parts, I will explain some of the techniques we are using to implement our technical requirements. Learn about private keys in part 2