What is sharding and how is it used in blockchain technology?