After a meeting with @cwgoes and @ArtemG we have decided in the short term we shall side step private solving and instead offer the following the solution:
Basically, we shall offer a wrapper data type that is submitted that puts the data that is required to solve them into the wrapper structure. The exact details of this structure is currently up in the air however it should be able to have the following properties:
- It should be able to offer all the constraints that is required to solve a particular program. I.E. for Kudos we need to list the offering and acceptance constraints and what key the new resources should be created to.
- It should be verifiable, basically we can verify it by showing that the data inside hashes to the same value, this mechanism is important for weeding out improperly encoded intents.
I believe the first stab should be done by @cdetroye, with more important details being fleshed out later.
This is not the long term plan, I have another post in the works (TODO: Link when I post it) that talks about a longer term strategy on how we can make this much nicer without the wrapper structure at all.