Minecraft wiki entry for Block_and_item_duplication, associated text: Sometimes a block won't lose its name when broken into an item, such as shulker boxes which are meant to keep their name, or just randomly the name may stay with a regular block and repeating the process will remove the name. However, some items may break into different items, such as an ender chest dropping obsidian, and the obsidian will each retain the ender chest's name (this was likely a glitch).
TNT Duplication
1. Put a TNT anywhere
2.Put a chest aside the TNT
3.Put the item that you want to duplicate in the chest
3.Light the TNT and at the same time the TNT explodes take out the item in the chest(this requires correct timing and good armor if you want to stay alive after the explosion)