I think I get it now. Below is my understanding - I like to summarise to understand things - and a few questions that came to mind. I’m not qualified to comment on the technical feasibility of what you’re suggesting, or the possible security issues, but is this more or less it?
What is a plugin? – an external script that talks to the outside world and also to the Safe Network
How can we know if the plugin is trustworthy? – same sort of mechanism of Node Age, whereby a misbehaving plugin loses trust.
A plugin could extend the functionality of the network by allowing individual Elders to run a script, or download a blockchain, or prove that data is trustworthy before uploading it to Safe.
Q: What happens to the plugin if the Elders supporting it are demoted or go offline?
Any Elder can configure their config file to support e.g. bitcoin_plugin, Java computation plugin, Youtube video download plugin, etc.
‘Supporting’ Elders don’t run any computation, they just indicate in their config file that they support e.g. bitcoin_plugin. Computation is done by the plugin, with the results of any computations passed to supporting Elders. [See @Antifragile comment below: computation can be done anywhere, but it is external to the network].
Elders are rewarded for processing a valid result but punished if they fail to deliver the consensus result. After being punished they also lose the ability to support the plugin for a certain period of time.
Clients (ie users) can also call on the plugin functionality. Requests will be forwarded to supporting Elders by the network, which retains a list of supporting Elders for that particular plugin. The Elders then pass the request to the plugin and return the result.
The results returned by the plugin are validated by Elders in one section if there are enough Elders that support the plugin, and by additional sections if not.
Q: Is this cross-sectional consensus currently possible?
If the results returned by an Elder differ (from those of the majority, supermajority?), then that Elder is demoted, and this information is propagated around the network.
In this way a result (yes/no) is generated by parallel computation (quorum of Elders of sections agreeing). The result can then be cryptographically signed and returned to the plugin.
The client receiving the signed result can trust that it has been through the validation process.
The client can then (if they choose) upload the data to Safe, with the attached certification showing the data (whatever it is) has passed the validation process and can therefore be trusted, to an extent, by other applications.
Q– would this process be sufficient to say the uploaded data is valid forever? Looks like a security hole in the case of bugs.
With this mechanism any user can download external data, e.g. the Ethereum blockchain, a website or a database and have them validated by the network as trustworthy. This means other users and apps can trust them too.
So plugins can be used to download data from the web and upload it to Safe, and in doing so verify the data is trustworthy in that it has been validated by the network.
Q: It could still have bugs and malware though. So the limits of that trustworthiness would need to be spelled out.
Plugins would extend the functionality of Safe to pull in blockchain transactions in real time, kind of like a platform or middle layer holding wallets, exchanges etc.
It can also be a simple mechanism for decentralising data that is currently centralised.
“Do you want others to trust your centralised data? Write a plugin, let the data collect on safe network via plugins and others will trust your data instantly. Plugins + singing of the results with network owned key are proof of data validity.”