Grass Block

A Grass Block is a block that generates naturally in the Overworld.

Obtaining
Grass blocks can only be obtained by mining them using a tool enchanted with silk touch, otherwise they will drop dirt.

Natural generation
Grass blocks generate naturally in most biomes in the Overworld.

Endermen
Endermen can pick up grass blocks. In the 1.9 version, endermen will drop the block they are holding when killed, allowing grass blocks to be obtained without silk touch.

Growth
Grass grows spontaneously only during map generation. Afterward, it can only spread to a nearby dirt block. Grass spreading without player intervention depends heavily on the time of day. In order for a dirt block to accept grass from a nearby grass block, the following requirements must be met: Light-reducing blocks include any opaque block, as well as lava, water, ice, and partially transparent blocks like stairs and single slabs. Grass blocks can grow under all other transparent blocks like glass, fences, torches, or pistons. Grass jumps directly from one block to a neighbor and is not affected by gaps or other blocks being "in the way". Grass blocks spread at random intervals and have an equal chance of spreading to any suitable dirt blocks that are in range. Because grass can spread as much as 3 levels downward, it tends to spread down slopes much faster than it spreads up them.
 * 1) The dirt block receiving grass must be within a 3×3×5 range of the source block where the source block is in the center of the second topmost layer of that range,
 * 2) The source block must have a light level of 9 or brighter directly above it,
 * 3) The dirt block must have a light level of at least 4 above it,
 * 4) Any block above the dirt block must not reduce light by 2 levels or more.

The coloration of grass blocks is dependent on the biome they are in. A grass block will always use the hue set to it's location, regardless of how it was placed or of its source.

Death
Grass will die and change to dirt after a random time if covered by any block that reduces the light level above the grass block to 4 or below, including any opaque blocks, or the surrounding area is brought to sufficient darkness. Transparent blocks directly over grass can't kill the grass directly, if the surrounding area provides sufficient darkness, the grass will die.

Tilling a grass block with a hoe will convert it to a farmland block.

Grass blocks also change to dirt when sheep "eat" them.

Usage
Using bone meal on grass blocks will grow tall grass and flowers.

Passive mobs tend to wander towards grass blocks. They also wander towards light, but they ignore light over grass blocks and prefer them to any light levels below 10.

Sheep will eat grass blocks, turning it into dirt and regrowing their wool.

Spawning
Animals will occasionally spawn on grass blocks that have light level 9 or brighter in the space directly above. This is quite rare and requires that there be few other animals nearby or in the spawn chunks. Most animals are instead created along with the terrain.

Data values
A grass block has the ID name. A grass block also has a block state which is expected to replace the functionality of block data in a future version (though grass block doesn't currently use its block data).

Trivia

 * Grass blocks and dirt blocks changing between each other is a very common cause of chunk updates.
 * A grass block has become the favicon for Minecraft.net, and is the icon for the Minecraft launcher and the Pocket Edition app.
 * In MineCon's goodie-bags, grass, along with the creeper, diamond, and the player, were given as foldable decorations.
 * Endermen can pick up and place grass blocks anywhere.