prosopo/provider

Decide whether to run a Provider service per parachain/blockchain

Opened this issue · 0 comments

The eventual aim is to deploy to multiple chains. Therefore, the Provider must be able to determine the chain associated with the captcha request. This is needed to write the results to the correct contract.

Single service

  • Single service origin (X.X.X.X:6767)

Pros

  • Database access more easily regulated with queuing built in
  • Smaller attack surface
  • Easier setup process and upgrade path

Cons

  • More complex internal logic
  • Chain ID (what would this be?) must be passed to provider

Multiple Services

  • One service origin per chain stored in the contract (Chain1: X.X.X.X:6761, Chain2: X.X.X.X:6762)
  • Database side locking required or separate queue layer

Pros

  • Reduced complexity per service
  • Independent chain upgrades possible

Cons

  • Many processes per node
  • Harder setup process and upgrade path
  • Lesser multi-chain adoption due to many services per node?