the main problem with sharding is keeping it decentralized. sharding can work with a database easily but blockchain is not a normal database. the current design of a decentralized trustless cryptocurrency is that you literary start from ground zero and download every single transaction that has ever been made and verify them one by one then add to your database. finally you will be left with a blockchain (database) that is cryptographically secured and verified so you can trust it. if you introduce sharding you are removing that trustlessness and would require trusting others.
Thanks for your thoughts on this. Don't you think the process of downloading every transaction and verifying them one by one is a tedious and long process. This requires a lot of time. Instead in sharding, the blockchain will divide into seperate shards. Nodes will have to validate the transactions that are assigned to that node only instead of whole ledger.
And for security risks, Ethereum has proposed a random sampling concept where authorized person will verify the block authentication. This can eliminate the trustlessness. What do you say?