I am learning about blockchain and I have a general question. Let's say that I want to build my custom blockchain based on Ethereum. My implementation has many nodes and few of them are chosen regularly to implement a functionality. Let's say that those nodes are chosen by a smart contract which once mined publishes on the blockchain the addresses of these chosen nodes. Other nodes then can connect to these node to obtain certain services for example write to a Database. This interaction would be completely offchain and done through Remote Procedure Calls. Is this a proper way to build a blockchain solution? Are there any major security risks I am not considering especially with the RPC interface?