Sharding is the process of splitting a database horizontally to spread the load – a common concept in computer science. Sharding reduces network congestion and increases transactions per second by creating new chains, known as “shards”.
Sharding allows for more decentralization, as the alternative is to scale by increasing the size of the existing database. As we have seen in other blockchains, this makes participation less accessible for network validators because they need powerful and expensive computers. With sharded chains, validators only need to store/run data for the shard they're validating, not the entire network. This speeds things up and drastically reduces hardware requirements.
Sharding will eventually allow individuals to run Quai Network on a personal laptop or phone, allowing more people to participate in Network governance. This directly increases security -- the more decentralized the network, the less prone it is to attacks.
Shards are able to store/execute code and handle transactions, as each shard would contain its unique set of smart contracts and account balances. Cross-shard communication in Quai Network occurs natively through Coincident Blocks.