The key difference between a typical database and a blockchain is in the way the data is structured. A blockchain collects information in groups (known as blocks that hold information sets). Blocks have certain storage capacity and when that capacity is full, they are chained to another pre-populated block, thus forming a data chain known as a "block chain". All new information following the newly added block is compiled into a newly created block; in the following process, it is added to the chain after it is filled. When a database is structuring its data in tables; a blockchain (as the name suggests) structures its data into chunks (which are called blocks) chained together. This is the explanation that all blockchains are databases, but not all databases are blockchains. Also, this system naturally creates an irreversible data timeline when applied in a decentralized environment. When a block is filled, it is placed in stone and this becomes part of the timeline. Each block in the chain gets a precise timestamp when added to the chain.