The heavy technical burden of the original Pocket Network session design has led the implementation team to try to find another more feasible solution to validation (consensus). In addition, a conversation with the B2B team has introduced two possible product problems:
- The current model doesn’t validate the data until after the client receives it
- Clients don’t want to trust a system to validate their data. They want to validate their own data.
Creating and maintaining a stateful, distributed shard for each individual Pocket Network Session is inefficient, complicated, and only provides ‘after-the-fact’ validation to the response data the client receives. Client-Side validation allows a stateless, communicationless, shard which executes in parallel and allows real-time validation for the clients.
- The client sends X requests to X nodes
- The client receives X independent responses from X nodes
a. Each nodes response is weighted by their karma score
- The client chooses the majority answer
- The client sends X requests + validation grade to X nodes
a. The validation grade and request is signed by the client
- The nodes submit their batch transaction after the session is concluded.
a. The nodes are paid based on their karma score (meaning little mint goes to low karma score etc.)
- Client-side validation is more client signature data on the blockchain (signature < 75 bytes)
- Burden on the client: more signatures are required for each request / response
- Clients will have to wait for a certain timeout before making the next request