We all know that Gaia-X (Pierre) wants to have some kind of validation for the SD (DDO) on chain. And there are several hypothesis:
bring SHACL validation to solidity - impossible
use WASM - impossible (language more powerful, but how do you maintain the list of graphs? Federated Catalogue has endpoint for adding/remove schemas)
offchain workers - could work, but: hard to implement, makes Ocean dependent on a specific network (how to bring off chain workers to mainnet/polygon?)
oracles - could work, but: medium to implement, hard to maintain the oracle node, hard to bring chainlink to GX network and other private networks. Super expensive on gas, because you must store the SD (DDO) on a variable on chain (that's the most expensive OP) before the oracle can fetch it (GX will be cheap at the beginning , but once it has a lot of transactions, gas fees could skyrocket (see polygon)
What if there is a simple, elegant solution?
publisher must validate their SD (DDO) to a remote FederatedCatalogue(Aquarius), using a simple HTTP endpoint. FD validates the SD, and responds with :
signature (v, r, s),
FD_public_key
hash (sha256) of data
when publishing on chain, setMetaData functions takes those parameters as well:
if FD_public_key is not address_zero, performs ec_recover. If all well, emits the MetaData event (containing SD(DDO), hash, signature,FD_public_key,). So anyone can see who validated that and also do ec_recover to double check.
if FD_public_lkey is address_zero, no ec_recover was performed. -> MetaData event is emitted, but FD_public_key is address zero , so noboby validated the SD (your choice if you are going to use it or not)
Benefits:
anyone can check if a SD was validated by a FC. You just need to check if you trust that FD_public_key.
opens new ways of isolated markets for Ocean: IE: My Aqua will cache only DDOs signed by Daimler & Bosch.
We all know that Gaia-X (Pierre) wants to have some kind of validation for the SD (DDO) on chain. And there are several hypothesis:
What if there is a simple, elegant solution?
Benefits: