The gaming part is of course important, because we have to expect participants to game the system. So for me the best way is to analyse similar projects (in the link mentioned by rafa there are apparently a lot of examples in the wild already ℹ️ TPP Frequently Asked Questions), identify best practices and start experimenting with smaller amounts.
I am not sure I fully understand how this will work yet, but my gut feeling is that we should set up TPPs that foster competition between protocols and only hand out ZK if certain metrics are hit over a longer period of time.
Example:
Instead of
“protocol X will receive Y when KPI 1 is hit”
we should go for
“if one of the protocols A B or n hit KPI 1 (e.g. amount of ETH in smart contract) x ZK are paid out per block for the time the KPI is maintained”
Like that people can’t just move their ETH because of one time effects, we are not incentivizing short term deposits, but long term commitment + competition creates incentives to be fast. Will there be loopholes in this system? Likely! But with time we will find setups that are at least less gameable.