A k-block in a graph G is a maximal set of at least k vertices no two of which can be separated in G by fewer than k other vertices. The block number beta(G) of G is the largest integer k such that G has a k-block. We investigate how beta interacts with density invariants of graphs, such as their minimum or average degree. We further present algorithms that decide whether a graph has a k-block, or which find all its k-blocks. The connectivity invariant beta(G) has a dual width invariant, the block-width bw(G) of G. Our algorithms imply the duality theorem beta = bw: a graph has a block-decomposition of width and adhesion < k if and only if it contains no k-block.